Первый тяп-ляп на STM32 + ESP8266
Важное замечание, занимаюсь этим в свободное от основной деятельности время :)
Изучаю электронику и микроконтроллеры ~2 месяца, с веб бекендом знаком относительно давно.
Для ЛЛ: штука с которой можно отправлять сообщения на удаленный сервер (сайт), по командам что-то включать/выключать, стать успешным стримером на собственной стриминговой площадке! (точнее сказать... html страничка отображающая графику из склеенных пикселей на удаленном сервере на который они приходят от STM32).
Видео-версия поста:https://rutube.ru/video/a8dc0cf622f6ba1cd9ab055a7aba4fc0/
+ Тоже самое видео только ютуб:
https://www.youtube.com/watch?v=PIxWcxboZJY
Попытка оформить пост в текстовом формате:
Убедительная просьба посмотреть видео, так как писать я не умею, а нейрослоп за свой текст выдавать не хочу, да и в конкретном случае видео нагляднее.Все начиналось с чтения «Чарльз Платт — Электроника для начинающих», попутно заказывая всякие непонятные штуки с Алиэкспресс, которые требуются в книге (а которые не требуются, летели в корзину заказов по принципу «дешево и прикольно выглядит», почти всё ценой до 200 р).
Прочитав примерно половину книги, детали, которые требуются дальше, еще не успели приехать.
Но успели приехать: паяльный набор
дуракановичка(привет синий паяльник), какой-то набор начинающего ардуинщика (как оказалось, огрызок) и куча всяких плат/флюсов и мешок электронных компонентов (начиная от таймеров, заканчивая самими нераспаянными микроконтроллерами и подложками для них).Вот и решил, что помигаю светодиодом через плату, это же ненадолго... Ага.
После мигания захотелось уже пощелкать реле через кнопку, потом попробовать вывести текст на дисплейчик двустрочный LCD1602, потом сделать импровизированный калькулятор и т. д. В конце концов я кое-как подключил уже другой экранчик 128*160 по SPI (спасибо логическому анализатору за 300 рублей) и вывел первую картинку Windows XP.
И тут меня посетила мысль... У меня же есть джойстик! Что если поверх картинки будет другая двигаться, которой я буду управлять джойстиком?!
Так я изобрел велосипед.За этой идеей, помимо страшнючего для новичка интерфейса 3-х всадников апокалипсиса от компании ST (Cube IDE, Cube MX, Cube Programmer), меня ожидало еще и знакомство с FreeRTOS (а там и LVGL), так как на тот момент уже понимал, что дело пахнет писюнами и всё крутить в цикле на флагах не прокатит вдолгую. Хотя как я понял freeRTOS тоже цикл, но на стероидах.
Так началось приключение длиною почти в месяц... Сопли, слезы, DMA. Короче, заработала шайтан-машина.
Что можно: менять цвет фона экрана, управлять яркостью ползунком (ШИМ), включать музыку, отправлять сообщения на удаленный сервер (или на локальный ПК, если указать порт), отправлять команды на запуск задач с удаленного сервера (или с локального ПК, предварительно установив импровизированное рукопожатие).Ну и конечно же, запустить стрим :)
На чем работает железо: LVGL графика, freeRTOS ОС (шутка про GNU), язык C (и храни господь HAL).
Сервер: Nginx, Docker, FastAPI (Django админка будет, наверное)
Что дальше? Скорее всего попытаюсь сделать что-то многофункциональное(возможно, даже полезное) и запихнуть это в плату за 100-200р ради спортивного интереса. Как дополнительный квест - утилизировать 100% времени микроконтроллера.
А вообще хочу попробовать спроектировать свою кривую-косую плату(это же вроде ПЛИС? не?), где все будет на одном месте, а не то что stm32 -> esp8266, хотя я думал при покупке что это просто какой-то голый wifi модуль.































