1 October 2019

ESPboy гаджет для ретро игр и экспериментов с IoT

ProgrammingGame developmentProgramming microcontrollersDeveloping for ArduinoDIY
Sandbox
ESPboy гаджет я сделал на основе известного микроконтроллера ESP8266 80/160Mhz, 4/8Mb с TFT цветным экраном 128х128, звуком, RGB светодиодом, аккумулятором с зарядкой и WiFi на борту.


Получилась автономная, модульная платформа, которую можно спаять за пару часов из деталей, стоимостью примерно 12$ и носить в кармане.

Инструкции по сборке



Базовая плата нарисована в easyeda.com, произведена jlcpcb.com.
Все компоненты стандартные, легко доступны за копейки на aliexpress.com.


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


Есть разъем на который выведены все интерфейсы (SPI, I2C, UART и прочее), куда можно подключать родные модули и свои собственные расширения.


Программируется ESPboy обычным путем через Arduino IDE, так как ESP8266 практически полностью совместим с ардуииновской экосистемой и библиотеками. Для продвинутых есть родные SDK от Espressif Systems NONOS или RTOS. Различные дополнительные среды для программирования и сборки прошивок тоже доступны, типа LUA, Micropython, scratch, wifi-iot.com, fl-prog, Visuino и тыщи других.

На борту ESP8266 есть встроенный WiFi, что добавляет сетевых возможностей и для коммуникаций между девайсами и для экспорта данных в сеть и много для чего еще. Например можно запросто коммуницировать с таким онлайн сервисами, как RemoteXY, Blynk, Thingspeak, HiveMQ, CloudMQTT, NarodMon, MajorDoMo, ThingerIO, Google cloud IoT, dweet.io, Temboo, Xively, IFTTT, LORA-WAN.

Технические детали и инструкцию по сборке можно посмотреть на hackaday



Проект вырос из любви к самоделкам и ретро девайсам, возни с Arduino и знакомства с такими штуками, как: Arduboy, Gamebuino, Pokitto, m5stack.



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

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

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

То есть учить в обратном направлении, не с безликих плат и проводков к готовому устройству черт знает когда, а от полноценно работающего гаджета, через любопытство: “а как это устроено и работает”. Что-то подобное ощущается у проекта m5stack.com, но он на мой взгляд черезчур цельный и закрытый.

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



Облегчает дело то, что китайцы с pcbway.com помимо производства основной платы, могут вполне аккуратно запаивать все мелкие детали, после чего остается собственноручно припаять только динамик, модуль зарядки батареи, плату микроконтроллера, дисплей и прицепить батарейку.

Как показали эксперименты, с этим справляются менее чем за час люди, которые далеки от DIY, радиоэлектроники и в руках паяльник порой ни разу в жизни не держали.



Далее открывается простор в изучении геймдева или IoT.

По разработке игр это отдельное дело, можно использовать LGE движок Игоря например.
Игра «TankCity», порт известной «BattleCity» (перейдите по ссылке, нажмите «compile», затем «run»)
Описание виртуальной машины LGE
Руководство по LGE компилятору «C» образного языка
Другие замечательные игры LGE
LGE онлайн среда разработки с компилятором и эмулятором

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


Предпрошивать пока что предполагается или ESP little game engine со встроенными играми от Игоря, который любезно портировал свою разработку на ESPboy или эмулятор CHIP8/SCHIP игр с примерно 90шт встроенными играми, который мне удалось написать не так давно.


Уже сейчас доступны готовые модули, вставляя которые в разъем расширения ESPboy и заливая прошивку, можно получать полнофункциональный гаджет на выбор: метеостанция, mp3 плеер, fm приемник, навигатор, клавиатура, GSM телефон. Код естественно доступен на GitHub.


Планируется сделать еще несколько прикольных модулей: LORA мессенджер (который работает без какой бы то ни было связи вообще на 8км), монитор окружающей среды (с дозиметром, датчиком фенола, CO2 и прочим), сканер штрихкодов, термовизионную камеру, wifi радио и несколько подобных.

Так же в процессе написание простого браузера и twitter клиента, создание онлайн каталога с прошивками, чтобы можно было загружать софт, подключившись к онлайн каталогу через WiFi. Без проводов, возни с настрокой IDE, компиляций (по типу, как сегодня происходит поиск и установка софта на смартфонах с Google play или Apple store).

Дальнейший процесс постижения всей этой DIY микроконтроллерно-программерской магии может идти через интернет и youtube классическим путем, благо учебного материала сегодня на эту тему предостаточно. В случае затруднений, в форуме сообщества ESPboy подcкажут.

Время покажет, насколько идея и концепция окажутся жизнеспособными, но пока что тестирование и отзывы обнадеживают!

Всем добра и успехов в творчестве.

С уваженеием,
Роман С.
Tags:ESP8266ArduinogamedevIoTretrogaminggame consoleeducation projectsentertainment
Hubs: Programming Game development Programming microcontrollers Developing for Arduino DIY
+69
13.8k 82
Comments 23
Popular right now
VFX В GAMEDEV
February 6, 202150,000 ₽VFXLAB
SEO-специалист
December 7, 202064,900 ₽Нетология
iOS-разработчик с нуля
December 7, 202070,740 ₽Нетология
UX-дизайнер
December 7, 202047,940 ₽Нетология
Top of the last 24 hours