Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
В этом руководстве я покажу вам, как я сделал клавиатуру с батарейным питанием, чтобы включать и отключать домашнюю сигнализацию. В будущем я планирую сделать более совершенный, в который будет включен считыватель RFID и который не будет питаться от батареи. Также я планирую читать клавиатуру через микросхему I2C, поскольку моя текущая установка использовала большинство открытых контактов GPIO моего модуля ESP8266 (ESP12F).
Корпус напечатан на 3D-принтере. Он имеет выключатель питания и светодиодный индикатор WS2812b. Он общается через MQTT и имеет веб-интерфейс для просмотра статуса и обновления прошивки.
Запасы
Я купил свои комплектующие на Алиэкспресс
16 клавишная клавиатура: ссылка
Модуль ESP12F: ссылка
LiPo аккумулятор: ссылка
Пины для загрузки: ссылка
доска для загрузки: ссылка
Шаг 1. Как работает сигнальная клавиатура - программное обеспечение
Код опубликован на моем Github.
В прилагаемых потоках поясняется программа.
Запись последовательности клавиш начинается с нажатия клавиши «*» и заканчивается нажатием клавиши «#». Если введена правильная предустановленная последовательность клавиш, сигнал тревоги включается или выключается.
Клавиатура сигнализации связывается через MQTT с моей системой домашней автоматизации, работающей под управлением Openhab. Клавиатура тревог подписана на тему MQTT «Состояние тревоги» и публикует ее в теме «Тревожные команды».
Если моя домашняя автоматика получает команду ВКЛЮЧЕНИЯ в теме «Тревожная команда», она включает аварийную сигнализацию и подтверждает это в «теме состояния аварийной сигнализации». Таким образом, я уверен, что команда тревоги получена и обработана правильно.
Сообщения по «теме состояния тревоги» сохраняются. Поэтому, если вы выключите и снова включите тревожную клавиатуру с батарейным питанием, вы увидите состояние тревоги по светодиодному индикатору, когда она снова будет подключена к брокеру MQTT.
Шаг 2: загрузка кода
Код программируется и загружается через Arduino IDE.
Я подготовил коммутационную плату ESP с pogo-контактами, чтобы я мог легко загрузить код в пустой модуль ESP-12F, см. Прилагаемые изображения. Просто используйте программатор FTDI, настроенный на 3,3 В, подключенный к:
- Модуль FTDI в ESP
- 3,3 В для VCC и EN
- GND на GND, GPIO15 и GPIO0 (для установки ESP8266 в режим вспышки)
- RX в TX
- TX в RX
После того, как устройство включено и подключено к вашей сети Wi-Fi, вы можете подключиться к его IP-адресу и увидеть состояние будильника и батареи на веб-интерфейсе, а также обновить код OTA, загрузив файл.bin через
Шаг 3: оборудование
Аппаратное обеспечение довольно простое. Смотрите комментарии к прикрепленным картинкам. Я предпочитаю использовать женские заголовки, чтобы легко собрать и разобрать устройство для отладки и обновления.
- Устройство питается от LiPo аккумулятора (заряжается извне).
- С помощью ползункового переключателя питание подается на регулятор напряжения, чтобы получить 3,3 В на VCC ESP8266, используя колпачки.
- Напряжение батареи также подается на АЦП ESP8266 через делитель напряжения (20 кОм и 68 кОм).
- 8 контактов клавиатуры подключены к 8 контактам ESP8266.
- Светодиодный индикатор WS2812b подключен к батарее, GND и GPIO15 ESP8266.
Если вам нужна схема электронной схемы, дайте мне знать в комментариях.
Шаг 4: Сборка
Файлы STL кейса опубликованы на моем Thingiverse.
Кейс легко открывается для зарядки аккумулятора.
Аккумулятор приклеен к задней части клавиатуры. Ползунковый переключатель и светодиод приклеены к корпусу.
Компоненты подключаются через контакты заголовка.