Смарт часы (smartwatch) на ESP-12E (ESP8266) своими руками
Смарт-часы это замечательное устройство, в своём маленьком корпусе он таит большие возможности и функционал, который ограничен только фантазией. Но самый лучший способ персонализировать функции смарт часов (smart watch) это создать свои собственные уникальные умные часы. Я решил для их создания использовать модуль с Wi-Fi ESP-12E на чипе ESP8266.
Основные функции этих смарт часов это — отображать время, погоду и, самое главное, вы можете управлять другими устройствами, нажимая кнопки на часах. Часы получают все данные через Интернет, поэтому для его полноценной работы он должен быть подключен к Интернету.
Что нам понадобится, чтобы сделать смарт-часы:
- Модуль ESP-12Е (ESP8266) — https://alii.pub/6pucim;
- OLED дисплей SSD1306 — 0.96″, 128X64 — https://alii.pub/6x2wsj;
- 3 SMD тактовые кнопки;
- Микросхема стабилизатор на 3.3V;
- Плата зарядки аккумулятора TP4056 — http://ali.pub/3o20jg;
- 2 SMD светодиода, типоразмера 0603 (взяты с платы заряда аккумулятора TP4056);
- 2 SMD резистора на 1 кОм, типоразмера 0603 (взяты с платы заряда аккумулятора TP4056);
- 1 SMD переключатель;
- 8 SMD резисторов на 10 кОм, типоразмера 0805;
- 2 SMD конденсатора на 10 МкФ, типоразмера 0805;
- 1 SMD резистор на 1,1 кОм (112), типоразмера 0603;
- Маленький Li-ion аккумулятор, можно взять от дешёвого MP3 плеера.
Что могут эти умные часы:
— Время: часы подключаются к ближайшему NTP-серверу, чтобы получить время и дату.
— Погода: данные температуры получаются по API из сайта Yahoo Weather.
— Удаленное управление другими устройствами: часы подключаются к серверу Blynk и используют функцию моста для прямого управления другим модулем с реле на основе ESP8266.
Как сделать смарт часы своими руками, пошаговая инструкция:
Я не хотел, чтобы часы были громоздкими и тяжелыми, поэтому я подумал, что лучший способ уменьшить количество проводов и избавиться от бутерброда из плат — это сделать печатную плату и разместить на неё все компоненты из всех модулей. Я разработал схему и печатную плату с помощью сайта EasyEDA а, затем я заказал печатные платы в JLCPCB.
Здесь я выкладываю схему смарт часов и печатную плату с gerber файлом для заказа плат в Китае или в другом месте.
На моей странице в Github вы также найдёте свежую схему, gerber файл печатной платы и код для Arduino. https://github.com/theTechnowright/DIY-Smartwatch-using-ESP8266
Шаг 1
После того как мы заказали и получили готовые печатные платы, начинаем пайку наших умных часов. Я использовал для запаивания компонентов SMD термо-воздушный паяльный фен, им мне паять легче SMD детали и они проще становятся на свои места, но можно обойтись и обычным паяльником с тонким жалом.
После запаивания компонентов я обнаружил ошибку в разводке платы и вывод GPIO 9 не может использоваться в качестве входа, поэтому я разрезал дорожку ведущую к этому пину и напаял тонкий проводок от кнопки к контакту GPIO 14, но Вы не беспокойтесь в схеме и файле с печатной платой уже всё исправлено.
Шаг 2
Всё спаяно и готово к программированию, но прежде чем это сделать мы должны получить API погоды от Yahoo Weather API (https://developer.yahoo.com/weather/). Для этого посетите страницу, там внизу под названием YQL Query Вы увидите зелёный текст, который можно редактировать, поставьте курсор на него и прокрутите строчку до конца, пока не найдете текст «nome, ak». Здесь вы должны добавить название своего города и буквенный код страны. Например, я разместил «Bengaluru, IN», где «Бенгалуру» — это город и «IN» для Индии. После этого нажмите кнопку «Тест» ниже и скопируйте ссылку, указанную под строчкой «Endpoint», начиная с «/ v1» до конца ссылки.
Затем загрузите код Arduino от сюда — https://github.com/theTechnowright/DIY-Smartwatch-using-ESP8266/blob/master/ESP8266__SmartWatch.ino
Откройте код проекта в среде Arduino и сначала вставьте код аутентификации Blynk, который будет отправлен вам по электронной почте после создания нового проекта Blynk. Затем введите WiFi SSID и пароль.
Вставьте скопированную ранее ссылку с сайта API Yahoo в том месте, где говорится: const String url = “” и затем в BLYNK_CONNECTED введите код аутентификации другого ESP8266, который управляет реле. Наконец прокрутите страницу вниз до тех пор, пока не найдете «TimeChangeRule». Здесь добавляются или вычитаются минуты из UTC в соответствии с вашим часовым поясом.
Затем скачайте и установите все эти библиотеки для среды Ардуино:
Time.h и TimeLib.h: https://github.com/PaulStoffregen/Time
Timezone.h: https://github.com/JChristensen/Timezone
SSD1306.h и SSD1306Wire.h: https://github.com/JChristensen/Timezone
NTPClient.h: https://github.com/JChristensen/Timezone
ESP8266WiFi.h и WifiUDP.h: https://github.com/JChristensen/Timezone
От сюда мжно скачать последнюю версию библиотеки Blynk: https://github.com/blynkkk/blynk-library/releases/latest
Теперь подключите 4-контактный шлейф от USB-TTL конвертера к ESP-12Е по такой распиновке:
ESP-12Е —> USB-TTL Конвертер:
GND —> GND
RST —> RTS
RX —> TXD
TX —> RXD
На IDE Arduino выберите ваше устройство именуемое как NodeMCU 1.0 и выберите правильный COM-порт, затем загрузите код в часы. При загрузке кода обязательно нажмите и удерживайте кнопку «Flash» на Ваших смарт часах.
Шаг 3
Теперь давайте сделаем ремешок для умных часов. В качестве ремешка я использовал резинку из старых защитных очков и прикрепил ее к часам. Вы можете посмотреть на фотографии, чтобы понять, как я это сделал. Батарею я сначала хотел расположить под самими часами, но смарт-часы при этом получались слишком толстыми и неудобными, поэтому я зажал её между ремешками, дополнительно приклеив их клеем, чтобы никуда не выпадали, часы при этом стали тонкими.
Шаг 4
Всё, смарт часы которые мы сделали своими руками готовы, пора приняться за их тестирование. Включите часы, сдвинув рычажок переключателя. Затем он должен показать сообщение «Подключен к Wi-Fi». Если это так то поздравляю, Вы успешно сделали свои Smartwatch!
При нажатии средней кнопки на часах будут отображаться температура, время и дата. А две другие кнопки управляют по Wi-Fi модулем с двумя реле с подключенными к ним нагрузками. Вы подключаете реле к любому электроприбору и управляете ими с помощью своих смарт часов. Как сделать такой модуль с реле которые управляются через Wi-Fi и Интернет я расскажу в другой статье.
Вот так вот из простых модулей мы сделали очень дешёвые смарт-часы своими руками, причём чем Вы захотите ими управлять и какие функции они будут Выполнять зависит только от Ваших пожеланий, а в этой статье я затронул только малую часть от этого функционала показав, что Smartwatch это доступная для каждого вещь.