Умные часы своими руками на ESP8266 #1

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

Умные часы своими руками на ESP8266 #1 Esp8266, Smart-watch, Oled, SSD, Esp8266 ssd1306, Умные часы, Часы с wifi, Видео, Длиннопост
Умные часы своими руками на ESP8266 #1 Esp8266, Smart-watch, Oled, SSD, Esp8266 ssd1306, Умные часы, Часы с wifi, Видео, Длиннопост

Монитор выбрал OLED на драйвере ssd1306, так как он работает по интерфейсу I2C, а значит займет всего 2 пина микроконтроллера и это то что надо! Платой с ESP8266 изначально была ESP-07, но позже ей стал модуль ESP-01, хоть на нем и мало разведенных пинов, но их вполне хватит даже для подключения нескольких датчиков (пульс, температура тела...), ведь даже RX и TX можно использовать как GPIO любого назначения.

Первым этапом стало написание скетча, умеющего получать из интернет данные о погоде и времени, далее задумался "куда же засунуть RTC для счета времени" и в итоге решил вообще от него отказаться, пусть сам микроконтроллер считает время, а когда появится "родная" WIFI сеть, время синхронизируется и снова станет точным. За десять часов работы часов, они отстали примерно на минуту, что вполне приемлемо (ужин с обедом уже не перепутаешь).

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

На этом этапе устройство отображает в течении 10 секунд время, за тем 3 секунды температуру, что берет из интернета, за тем влажность в течении 3-х секунд, источник данных тот же.

Для корректного отображения русского шрифта и вообще для работы ESP8266 с OLED 128X64 библиотеки adafruit слегка модифицированы и прилагаются к статье вместе со скетчем ессно

https://yadi.sk/d/l7dh85d932YizK


Продолжение конечно же следует!


Видео по статье:

Arduino & Pi

1.4K постов20.6K подписчиков

Добавить пост

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу

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

[оффтоп] Кто нибудь программировал ESP8266 на си? Нашёл SDK, собрал компилятор(делал всё по этой инструкции https://geektimes.ru/post/241842/), программируется, работает, но как вывести данные для отладки на пк так и не разобрался. В документации к SDK есть функции для работы с uart, как я понял, это то, что мне нужно, но в заголовочных файлах их нет :(

раскрыть ветку (5)
1
Автор поста оценил этот комментарий
В общем , проблему решил подключив драйвер для работы с uart из другого примера
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Мне в ESP8266_NONOS_SDK понравилс IoT_Demo пример. Там и uart и i2c и json с сервисами. Весьма наглядно для быстрого старта. 

1
Автор поста оценил этот комментарий

Я плюнул писать на си, проще прошить nodemcu и фигачить на луа.

раскрыть ветку (2)
1
Автор поста оценил этот комментарий
Так это ж медленно, интерпретатор как никак, да и память лишнюю кушает. Хотя если проект аля будильник по wifi или умная розетка, тогда норм, для чего-то более серьёзного лучше использовать си.
раскрыть ветку (1)
Автор поста оценил этот комментарий

От задачи зависит, проснутся раз в 10 минут и по i2c обновить значение на дисплейчике хватает за глаза. Большой плюс в том, что это не прошивка и её легко менять. Я умею в си, но такую простую штуку проще на луа накидать и не париться.

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