Как стать автором
Обновить
1
0

Пользователь

Отправить сообщение

Программирование игры для embedded-устройства на ESP32

Время на прочтение25 мин
Количество просмотров11K

Часть 0: мотивация


Введение


Я искал для себя хобби-проект, над которым можно было работать вне моих основных задач, чтобы отвлечься от ситуации в мире. По большей мере меня интересует программирование игр, но также мне нравятся embedded-системы. Сейчас я работаю в игровой компании, но раньше в основном занимался микроконтроллерами. Хотя в конце концов я решил сменить стезю и перейти в индустрию игр, мне по-прежнему нравится с ними экспериментировать. Так почему бы не совместить оба увлечения?

Odroid Go


У меня завалялся Odroid Go, с которым было бы интересно поиграться. Его ядром является ESP32 — очень популярный микроконтроллер со стандартной функциональностью МК (SPI, I2C, GPIO, таймеры и т.д.), но также имеющий WiFi и Bluetooth, что делает его привлекательным для создания IoT-устройств.

Odroid Go дополняет ESP32 кучей периферии, позволяя превратить его в портативную игровую машину, напоминающую Gameboy Color: ЖК-дисплей, динамик, крестовина управления, две основные и четыре вспомогательные кнопки, аккумулятор и устройство чтения SD-карт.

В основном люди покупают Odroid Go для запуска эмуляторов старых 8-битных систем. Если эта штука способна эмулировать старые игры, то справится и с запуском нативной игры, предназначенной специально для неё.

Всего голосов 34: ↑34 и ↓0+34
Комментарии11

Чиним замедление YouTube на уровне роутера

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров554K

Всех категорический приветствую. Буквально первого августа, прямо в ночь, стал у меня жутко лагать YouTube. Естественно, мне это сильно не понравилось. Ну, что же, давайте разбираться, почему и как это исправить в условиях моей личной сети.

Что случилось?

Хорошо описано произошедшее здесь, на Хабре. Если совсем кратко, своими словами - во время установки SSL соединения в открытом виде домен передается к которому мы подключаемся(так называемое SNI). И если это googlevideo.com то начинают твориться "интересные вещи". Можно проверить это локально коммандами из статьи.

$ curl https://speedtest.selectel.ru/100MB -o/dev/null

Читать далее
Всего голосов 356: ↑353 и ↓3+407
Комментарии1001

Raspberry Pi Pico 2: что нового в одноплатном компьютере за $5?

Время на прочтение4 мин
Количество просмотров12K

Источник.

Представьте себе миниатюрный компьютер, который легко умещается на ладони. Стоит как билет в кино и при этом способен на удивительные вещи — от управления домашними устройствами до обучения программированию школьников. Raspberry Pi Foundation представила обновленную версию своего популярного одноплатного компьютера Raspberry Pi Pico ценой $5, теперь с поддержкой архитектуры RISC-V.
Читать дальше →
Всего голосов 30: ↑24 и ↓6+27
Комментарии43

ШИМ в ESP32

Время на прочтение7 мин
Количество просмотров23K


С момента своего появления микроконтроллер ESP32 получил заслуженную любовь своих поклонников и активно применяется во множестве самоделок. Основной причиной такой любви фанатов является его «упакованность» всевозможными функциями и беспроводными способами подключения в том числе. В этой же статье мы поговорим о такой полезной функции, как ШИМ — «широтно-импульсная модуляция».

Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии3

5 экспериментов с WiFi на ESP32

Время на прочтение11 мин
Количество просмотров107K
Привет Хабр.

Платы ESP32 весьма популярны в виду низкой цены, неплохой вычислительной мощности (процессор 200МГц), развитого SDK с поддержкой как MicroPython так и Arduino IDE, наличием GPIO c поддержкой периферии (SPI, I2C и пр) и беспроводной связи (WiFi, Bluetooth). Сегодня мы посмотрим, что можно сделать на такой плате ценой всего лишь около 12$.



Мы рассмотрим разные варианты использования WiFi, от простого коннекта к сети до WiFi-сниффера. Для тестов понадобится любая плата с ESP32 (лучше с OLED-экраном, как на картинке) и Arduino IDE.

Для тех кому интересно как это работает, продолжение под катом.
Читать дальше →
Всего голосов 32: ↑30 и ↓2+41
Комментарии43

ESP32-CAM Video Streaming Server Подключение I2C и SPI дисплеев

Время на прочтение8 мин
Количество просмотров68K
ESP-32 CAM модуль с камерой от Diymore

ESP32-CAM Video Streaming Server


Пример использования находится тут.

Предварительно надо установить библиотеки: Esp32 board in Arduino Ide Windows / Esp32 board in Arduino Ide Linux and Mac

Подробные настройки есть в статье.

В моем случае я использовал модуль AI-THINKER поэтому раскомментировал
#define CAMERA_MODEL_AI_THINKER

У меня не заработала функиональность распознования лиц. Коментарий в статье был полезен.
Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии0

Игры с Wifi на ESP32

Время на прочтение6 мин
Количество просмотров22K

image


На мысль сделать карманный инструмент для анализа WiFi сетей меня подтолкнула эта статья.


Спасибо им за идею. Мне как раз было нечем заняться.


Вся работа была выполнена в рамках хобби с целью получения удовольствия и расширения своих знаний в области сетевых технологий. Не торопясь, по 1..4 часа в неделю, с начала этого года.
Прикладное использование не планировал. Т.е. это НЕ инструмент для хакера.


На данный момент весь задуманный функционал работает. Все исходники, полностью готовые для сборки, выложены здесь. Там же инструкция по сборке и пр. В данной заметке я не буду дублировать информацию, выложенную на github. Расскажу только то, что считаю нужным описать отдельно.

Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии7

Программирование игры для embedded-устройства на ESP32: накопитель, аккумулятор, звук

Время на прочтение20 мин
Количество просмотров8.3K
image


Начало: система сборки, ввод, дисплей.

Часть 4: накопитель


Odroid Go имеет слот карты MicroSD, который будет полезен для загрузки ресурсов (спрайтов, звуковых файлов, шрифтов), а возможно, даже для сохранения состояния игры.

Устройство чтения карт подключено по SPI, но IDF упрощает взаимодействие с SD-картой благодаря абстрагированию вызовов SPI и использованию стандартных функций POSIX наподобие fopen, fread и fwrite. В основе всего этого лежит библиотека FatFs, поэтому SD-карта должна быть отформатированной в стандартом формате FAT.

Она подключена к той же шине SPI, что и ЖК-дисплей, но использует другую линию выбора чипа. Когда нам нужно выполнить чтение или запись на SD-карту (а такое случается не очень часто), драйвер SPI будет переключать сигнал CS с дисплея на устройство чтения SD-карты, а затем выполнять операцию. Это значит, что во время отправки данных на дисплей мы не можем выполнять никаких операций с SD-картой, и наоборот.

На данный момент мы выполняем всё в одном потоке и используем блокирующую передачу по SPI на дисплей, поэтому одновременных транзакций с SD-картой и с ЖК-дисплеем быть не может. В любом случае, есть большая вероятность того, мы будем загружать все ресурсы во время запуска.
Всего голосов 7: ↑6 и ↓1+9
Комментарии5

Работа с «Ягодой» для новичков: подключение пяти микроконтроллеров ESP32 к микрокомпьютеру Raspberry Pi 4 Model B по SPI

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров5.6K

Данная статья создана с ознакомительной целью и служит рекомендацией по работе с Raspberry Pi 4 Model B ("Ягода"), WEMOS WiFi & Bluetooth ESP32 ("ESP32") при настройки Serial Peripheral Interface (SPI).

Читать далее
Всего голосов 6: ↑4 и ↓2+2
Комментарии4

Telegram бот на ESP32 для удаленного мониторинга и управления насосной станцией

Уровень сложностиСредний
Время на прочтение63 мин
Количество просмотров21K

Делаем дешево и сердито!

История создания данного девайса следующая: есть очистная станция, в которой шкафы управления насосами и компрессорами на ПЛК Schneider Electric. При отключении городской электросети и переходе на дизель генератор и обратно оборудование уходит в ошибку, для квинтирования которой необходимо на месте нажать кнопки сброса аварии и запуска компрессоров. В случаи не работы компрессоров бактерии в емкостях умирают. И если рабочий день окончен некому произвести данную процедуру.

Готовые решения есть, но стоят они в десятки раз дороже данного решения.
Ни сказать чтобы компания не могла бы позволить себе купить готовые контроллеры с облачным управлением... Так как еще на своем опыте не почувствовал любовь инициативы к инициатору, решил сам сделать данный девайс.

читать далее...
Всего голосов 21: ↑21 и ↓0+21
Комментарии20

ESP32 в окружении VSCode

Время на прочтение15 мин
Количество просмотров42K

В нескольких следующих статьях я хотел бы детально рассмотреть настройку окружения VSCode для работы с фреймворком ESP-IDF. Не совсем популярная комбинация ПО обладает как преимуществами, так и недостатками, которые при детальном рассмотрении мы попытаемся исправить, обойти или превратить в достоинства.

Изыскания проводятся в рамках разработки программно-аппаратного комплекса полетного контроллера на чистых кватернионах, без применения углов Эйлера.

Поскольку предполагается многопользовательская удаленная разработка, то мы решили вначале отработать выбор и настройку самой среды разработки. После нескольких экспериментов с Eclipse, Visual Studio и QT Creator выбор пал на кроссплатформенный VSCode и плагин от разработчика Espressif IDF для работы с фреймворком ESP-IDF.

В качестве «сердца» контроллера рассмотрим двухъядерный микроконтроллер ESP32, который обладает рядом преимуществ, и которые планируется использовать и раскрыть в проекте, а именно:

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии17

Чуть подробнее о настройке среды разработки esp-idf для разработки приложений Esp32

Время на прочтение43 мин
Количество просмотров55K

Эта заметка посвящена установке Eclipse и Visual Studio Code под Linux и Windows. Особенность состоит в том, что для всех IDE и для работы в консоли используется одна и та же установка esp-idf.

Читать далее
Всего голосов 13: ↑13 и ↓0+13
Комментарии12

Как Orange Pi вернула мне Ютуб

Время на прочтение5 мин
Количество просмотров58K

Привет, Хабр!

В связи с последними событиями вокруг видеохостинга YouTube, ситуация вынуждает искать технические решения для восстановления доступа к сервису. В этой статье я хочу поделиться своим техническим опытом по восстановлению доступа к сервису с помощью дешевого одноплатника Orange Pi Zero2 от компании Xunlong Software.

Читать далее
Всего голосов 83: ↑79 и ↓4+83
Комментарии131

Telegram Боты на Aiogram 3.x: Простой бот на вебхуках с локальным запуском и деплоем

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров2.8K

Друзья, приветствую!

Если вы следите за моими статьями, то знаете, что на Хабре у меня опубликовано более 10 объемных публикаций на тему разработки телеграмм ботов через замечательный Python-фреймворк Aiogram 3.

Так получилось, что всю разработку я описывал в формате поллинга и, если для учебных и небольших проектов это подходит, то для крупных проектов нет, так как такой метод не оптимальный, медленный и требует больших ресурсов.

И, как вы догадались из названия статьи, сегодня я расскажу вам как, без особых заморочек и трудностей, перейти от поллинга к вебхукам. Прочитав эту статью у вас больше не будет страха перед настройкой, запуском и работой с такими ботами.

Из необычного, я продемонстрирую как без трудна запускать бота на вебхуках с локального компютера и как, в пару команд, развернуть такого бота на удаленном хостинге, не заморачиваясь с NGINX, протоколами, настройками серверов и прочее.

В общем, будет интересно и позновательно!

Читать далее
Всего голосов 16: ↑15 и ↓1+14
Комментарии4

Энциклопедия контроллеров и обучающий проект (на Хабре)

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров16K


Я давно занимаюсь микроконтроллерной тематикой и делюсь своими изысканиями (частью изысканий) в блоге на Хабре. Делаю я это довольно давно и количество статей уже перевалило за сотню, и, в полном соответствии с воззрениями (старины) Гегеля, количество явно переросло в качество.

Сам я уже пользуюсь своим блогом как справочником, когда мне нужно найти ту или иную информацию по контроллерам, но делать это не очень удобно, поскольку не так легко найти нужную статью среди десятков других.

Настало время как-то систематизировать эту информацию, прокомментировать и поделиться своими мыслями на эту тему. А в практическом плане этот каталог (мини-энциклопедию) можно использовать для выбора DIY контроллеров для своих проектов или, учитывая опубликованные примеры кода и переводы туториалов, как обучающее пособие по их программированию.

Итак…
Читать дальше →
Всего голосов 60: ↑60 и ↓0+61
Комментарии11

Основные настройки для управления ресурсами в PostgreSQL: настройка памяти, CPU и I/O

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров11K

Привет, Хабр!

При работе с PostgreSQL (да и в целом с любой БД) важно правильно настраивать и управлять ресурсами, такими как память, процессорное время и дисковые операции, и так далее для обеспечения лучшей производительности и стабильности работы БД.

В этой статье мы как раз и рассмотрим кратко о том, как управлять ресурсами в PostgreSQL.

Читать далее
Всего голосов 13: ↑12 и ↓1+14
Комментарии17

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность