11270

Мой открытый проект метеостанции с монохромным дисплеем

Дописал документацию к своей железке. Хотел бы показать чего получилось

Метеостанция Волна 2BW42

Метеостанция Волна 2BW42

Если вкратце про сам проект - метеостанция рассчитана на интеграцию в систему умного дома - данные о внешнем датчике устройство получает через Home Assistant или Domoticz, и так же может отправлять свои данные по MQTT (в HA девайс подхватывается через Auto Discovery, в Domoticz через виртуальные датчики)

Прошивка совместима с ESP8266 и ESP32 (Arduino Framework, C++, PlatformIO); внутренний датчик температуры \ влажности BME280. Прошивка работает с дисплеями на электронных чернилах 4.2' и 1.54' дюйма (таблицы совместимости с теми производителями с которыми тестил можно найти на сайте с документацией). Сами E-Ink дисплеи своеобразны в работе и значительно медленней отрисовывают всю область экрана в сравнении с обычными жк, но не требуют постоянного питания для отображения картинки и для автономного девайса подходят хорошо, позволяя очень существенно экономить расход батареи. В живую картинка на таком экране читается приятно, как с обычного листа бумаги.

В режиме работы от аккума устройство просыпается раз минуту для обновления области часов на экране и раз в 10 минут для полного обновления (датчики температуры и другая статистика), WiFi-соединение (синхронизация данных по внешнему датчику, отправка своих данных по MQTT) раз в час в целях экономии заряда; аккума 18650 2000 мА*ч хватает на ~несколько месяцев. Все таймауты при желании можно перенастроить.

Оформление интерфейса изначально делал под дисплеи 4.2' (400х300), с котиком-индикатором который меняется от погодных условий \ времени.

интерфейс по умолчанию

интерфейс по умолчанию

Некоторые зарисовки иконок которые делал для проекта, часть задействованы для индикатора :

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

Пример настройки кастомного оформления (фоновая картинка может быть и на весь экран) :

редактор интерфейсов

редактор интерфейсов

интерфейс для мелких дисплеев 1.54'

интерфейс для мелких дисплеев 1.54'

Еще некоторые фотографии с процесса сборки под разные варианты корпуса

Основание корпуса-подставки

Основание корпуса-подставки

вариант полностью закрытого корпуса (чуть промахнулся с размерами, в исходниках модельки 3д принта уже поправил)

вариант полностью закрытого корпуса (чуть промахнулся с размерами, в исходниках модельки 3д принта уже поправил)

Опционально в прошивке реализована возможность вывода картинок c 4 цветном режиме (2-bit). Если сам e-ink экран поддерживает такой режим работы, то можно загрузить картинку фона в таком режиме.

Пример отрисовки фона в градациях серого :

Тестовый "толстый" корпус с доступом к внутренностям. Использовался экран с двойным слоем чернил (красный \ черный), к сожалению они значительно медленней в плане отрисовки

Тестовый "толстый" корпус с доступом к внутренностям. Использовался экран с двойным слоем чернил (красный \ черный), к сожалению они значительно медленней в плане отрисовки

Такой проект получился. Более детально по каждому аспекту, касательно сборки, скорости отрисовки, совместимости с конкретными модулями экранов, процессу прошивки и первичной настройки, примерам моделек корпусов и т.п. постарался подробно описать на сайте проекта.

Проект полностью открытый, можно использовать как для коммерческих так и для личных целей. Если вдруг есть идеи с какими открытыми сервисами погоды можно было бы еще добавить интеграцию (например если кому то захочется использовать вне системы "умного дома"), можно так же написать или мб еще есть какие идеи; поизучаю апишки, мб что-нибудь выберу для дальнейших доработок.


Сайт с документацией (Метеостанция Волна 2BW42)
GitHub страница с прошивкой

Вы смотрите срез комментариев. Показать все
2
Автор поста оценил этот комментарий

Как выбрать новичку на каком железе делать проект? Есть ли что почитать на эту тему?

раскрыть ветку (1)
20
Автор поста оценил этот комментарий

Зависит от задумки. Микроконтроллеры что 8266 что 32 для новичков в самый раз. espшки 8266 для нетребовательных задач подходят хорошо - хоть и старые но стоят дешевле ESP32, можно без особого страха косячить при практике пайке. Быстро упрешься в лимиты железа (оперативки там не больше 80kb) если будешь писать неоптимизированный код. Есть много моментов которые реализованы иначе чем в ESP32 - есть энергозависимая память \ нюансы при использовании конкретных пинов, но переносить проекты с одной железки на другую не так сложно если понадобится в дальнейшем.

Сам я в основном просто на ютубе что то на тему смотрю, постепенно много в рекомендациях всплывает, потом можно уже гуглить на конкретную тему. У того же Гайвера отличный сайт с кучем материалов по работе c Arduino Framework https://alexgyver.ru/lessons/

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку