Умная техника своими руками: поэтапное создание смарт-часов на ESP8266
В 1972 году компания Hamilton Watch разработала первые смарт-часы. Теперь вы можете сделать их сами. Разбираемся, как.
28К открытий29К показов
Ещё в 1972 году компания Hamilton Watch разработала первые умные часы под маркой Pulsar. Изначально у таких часов было довольно мало вычислительной мощности. Её хватало только на калькуляторы, игровые устройства и тому подобные незамысловатые гаджеты. Но с развитием технологий мощность начала стремительно увеличиваться. Современные смарт-часы — это полноценные компьютеры. Некоторые могут работать автономно, а другие функционируют только в сопряжении со смартфоном.
В этой статье будет описан принцип создания собственных смарт-часов на базе популярного микроконтроллера ESP8266.
Определение функциональности часов
В этой статье мырассмотрим часы, которые смогут выводить текущее время и дату, отображать погоду в вашем городе и позволят удалённо управлять Wi-Fi реле. Это означает, что прямо с часов вы сможете управлять любым прибором, подключённым к розетке, будь то музыкальный центр или электрочайник.
Чтобы получать текущее время, необязательно использовать модуль реального времени. Если смарт-часы будут иметь доступ к интернету, то понадобится ближайший NTP-сервер. С его помощью можно достаточно точно узнать текущее время. Чтобы контролировать Wi-Fi реле в часах, будет использоваться Blynk.
Blynk — это облачный сервис, позволяющий с помощью приложения для Android или iOS контролировать устройства на Arduino, Raspberry Pi или же, в данном случае, ESP8266.
Подбор элементов
В часах элементами управления будут 3 тактовые кнопки. Экран тут используется доступный — двухцветный OLED 0’96. Для питания нужен аккумулятор, а для зарядки — специальный контроллер. В этих часах используется литий-ионный аккумулятор и соответствующий для него контроллер TP4056.
Не стоит забывать, что ESP8266 работает на 3-вольтовой логике. Для получения необходимого напряжения питания можно использовать любой доступный стабилизатор напряжения на 3,3 В. Остаётся лишь немного деталей: разъём для зарядки, переключатель, несколько светодиодов, набор резисторов и пара конденсаторов.
Создание и распайка печатной платы
Если хотите, чтобы итоговый вариант часов был надёжным и компактным, лучше всего распаять часы на печатной плате. Для создания рисунка печатной платы подойдут, к примеру, Sprint Layout или же EasyEDA.
Вы можете создать печатную плату в домашних условиях либо заказать её у специализирующихся сервисов — те же EasyEDA или JLCPCB. К этим смарт-часам в свободном доступе уже есть Gerber PCB файлы печатной платы.
После получения/создания платы стоит распаять на ней все компоненты. Монтаж SMD компонентов удобнее делать паяльной пастой и паяльным феном. Но такую работу можно будет выполнить и обычным паяльником с тонким жалом.
Подготовка прошивки часов
После того, как все компоненты будут распаяны, можно приступить к программной части. Вначале следует разобраться с API для получения погоды. К примеру, можно использовать Weather API Yahoo.
Примечание С января 2019 года процесс работы с Weather API Yahoo немного изменился. Однако API всё ещё в бесплатном доступе. О том, как получить доступ, детально расписано на их странице.
После получения ссылки с API можно приступить к прошивке микроконтроллера. Сам скетч для Arduino можно взять здесь.
В первую очередь подставьте ваш код аутентификации Blynk в char auth[]
. Этот код будет выслан вам на почту сразу после создания нового приложения в Blynk.
Затем введите SSID и пароль от вашей точки доступа Wi-Fi в char* ssid
и char* password
соответственно.
Скопированную из Weather API ссылку необходимо вставить в const String url
.
В BLYNK_CONNECTED()
можно вставить код аутентификации Blynk другого ESP модуля, управляющего электрическим прибором (если такой имеется). Этот процесс можно увидеть в видео о создании Wi-Fi реле. И под конец не забудьте в TimeChangeRule
указать параметры вашего часового пояса (в методе tellTime()
).
Прошивка микроконтроллера
Теперь в Arduino IDE нужно установить все необходимые библиотеки:
- Time.h и TimeLib.h.
- Timezone.h.
- SSD1306.h и SSD1306Wire.h.
- NTPClient.h.
- ESP8266WiFi.h и WifiUDP.h.
- Последняя версия Blynk.
Чтобы прошить ESP8266, нужно подключить его к мосту USB-UART. Все необходимые контакты уже выведены на торец печатной платы. Обратите внимание, что RX контакт одного подключается к TX контакту другого и наоборот. Более подробно о прошивке микроконтроллеров серии ESP8266 можно почитать тут:
Потом в Arduino IDE нужно будет выбрать текущую плату и COM-порт. Зажав кнопку flash на микроконтроллере, начните прошивку. После удачной прошивки остаётся лишь присоединить аккумулятор и ремешок.
Включите часы. Должна высветиться надпись «Connected to Wi-Fi». Если это так, то микроконтроллер прошит, а значит, ваши смарт-часы готовы.
При нажатии на среднюю кнопку на часах будет отображаться текущая дата, время и температура. Две боковые кнопки управляют двумя подключёнными к Wi-Fi реле электрическими приборами.
28К открытий29К показов