Датчик Wi-Fi своими руками — не требует программирования или пайки
1 марта 2023 г.Программные платформы без кода/малокода позволили создавать приложения, написав всего несколько строк кода, а в некоторых случаях вообще без кода! Это сокращает усилия по разработке и время развертывания.
Этот проект сочетает в себе две идеи: программную платформу без кода/с низким кодом и быструю и надежную систему прототипирования, не требующую пайки. В этом духе можно за несколько часов перейти от идеи к материализованному устройству, работающему в реальной среде.
Ключевой компонент: ESP 32 D1 MINI
Быстрое и надежное программно-аппаратное прототипирование
В качестве примера будет создано следующее приложение: WiFi-термометр на базе ESP32, датчик температуры DS18B20 и локальный индикатор I2C. Все это заключено в водонепроницаемую настенную коробку и питается от 5В. Это будет достигнуто с помощью следующих проектов:
* ОБОРУДОВАНИЕ: быстрая, надежная система прототипирования с открытым исходным кодом: MISISTEMITA * ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ: протестировано TASMOTA, а также ESPHome.< /p>
Список материалов
Техническое описание компонента — ссылка для покупки.
- ESP32 D1 MINI - купить
- OLED-дисплей 0,96 I2C
- Водонепроницаемый датчик температуры DS18B20
- 1/4 Вт резистор TH 1%
- Универсальный водонепроницаемый корпус Sonoff 100x68x50 мм
Компоненты, необходимые для сборки требуемых модулей мисистемита.
Техническое описание компонента — ссылка для покупки.
- Нейлоновая прокладка с обратным замком
- Саморез M2,6 типа B< /li>
- Винтовая клемма kf350 3,5 мм (2,3 контакта) для печатной платы
- гнездовой разъем 2,54 мм
Печатные платы, необходимые для сборки требуемых модулей мисистемита
ХРАНИЛИЩЕ ФАЙЛОВ ИСТОЧНИКОВ ПЕЧАТНОЙ ПЛАТЫ – ССЫЛКА НА ПОКУПКУ
- A06 — задняя панель для стандартного водонепроницаемого корпуса 100 x 68 x 52 мм ли>
- B02 — соединительная плата 2x7 с винтовыми клеммами 3,5 мм
- C12 — 3,5 мм разъем с винтовой клеммой для ESP32 D1 MINI
- C10 – 3,5 мм разъем с винтовой клеммой для дисплея I2C
РЕПОЗИТОРИЙ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ – ССЫЛКА ДЛЯ СКАЧИВАНИЯ
Сборка оборудования
Пайка не требуется*, если используемые модули были изготовлены или приобретены заранее. Первым шагом является размещение плат на задней панели, что является хорошей практикой. платы для подключения клеммных проводов должны располагаться где-то на краю задней панели и как можно ближе к точке ввода кабеля.
Второй шаг – подключение различных модулей в зависимости от изначально предложенного проекта. Можно использовать как сплошной медный кабель, так и многожильный медный кабель. Рекомендуется загрузить минимальную тестовую прошивку для проверки возможности подключения компонентов.
Третий шаг — снять внешние соединения, найти заднюю панель в корпусе и закрепить ее саморезами. Пропустите силовые кабели через кабельные вводы и снова подключите их к плате.
Последний шаг состоит в закрытии крышки, регулировке кабельных вводов и установке на стену.
Настройка прошивки
Следующие пункты не предназначены для исчерпывающего руководства по установке или настройке. Для получения дополнительной информации обратитесь к документации каждой используемой платформы (Tasmota и ESPHome). Вкратце, будут представлены некоторые подсказки о том, как создавался сенсор на каждом из них.
Тасмота
Философия Tasmota заключается в базовой предварительно скомпилированной прошивке, которая загружается на устройство и после загрузки настраивается с использованием шаблонов. Программа установки Tasmota основана на веб-браузере, поэтому дополнительное программное обеспечение не требуется. Использовались следующие параметры:
* Базовая прошивка: дисплей * Настройка шаблона: выводы порта I2C, вывод датчика DS18B20 * Режим отображения: 0 * Тип дисплея: SSD1306 * Правило визуализации температуры: правило 1 ON DS18B20#Temperature DO Displaytext[zs2y20] %value% C ENDON
ESPГлавная
Философия ESPHome заключается в компиляции пользовательской прошивки с использованием файла конфигурации YAML. Это означает, что необходимо установить Home Assistant, а после его запуска ESPHome необходимо установить в качестве надстройки. После этих двух шагов уже можно создавать датчики. Здесь показана часть конфигурационного файла в наиболее значимых разделах.
# GPIO setup
dallas:
- pin: 26
i2c:
sda: 21
scl: 22
# Sensor setup
sensor:
- platform: dallas
address: 0x8c01131b44162184
id: outside_temperature
name: "External temperature"
font:
# gfonts://family[@weight]
- file: "gfonts://Roboto"
id: roboto
size: 20
display:
- platform: ssd1306_i2c
model: "SSD1306 128x64"
address: 0x3c
lambda: |-
it.printf(90, 35, id(roboto), TextAlign::BASELINE_RIGHT , "%.1f °C", id(outside_temperature).state);
Конечный результат
аппаратное обеспечение:
Сборка оборудования, начиная с готовых модулей, заняла около часа.
прошивка:
Настройка прошивки датчика с помощью Tasmota заняла примерно 10 минут. Внесение изменений в конфигурацию, например контакт ввода-вывода или правило визуализации, занимает примерно 1 минуту.
Та же задача с использованием ESPHome в первый раз заняла примерно 2 часа, потому что необходимо установить Home Assistant (на Raspberry Pi или другом компьютере). После установки ESPHome внесение изменений в конфигурацию занимает от 5 до 10 минут в зависимости от скорости Rpi для компиляции кода.
На обеих платформах первая настройка проводная (ESP32 подключен к ПК). После этого все обновления выполняются по беспроводной сети (OTA).
Единственный «код», который был набран на обеих платформах, — это минимум, необходимый для визуализации температуры на дисплее I2C. У каждой платформы есть свой способ сделать это. В обоих случаях это была всего одна строка.
:::информация Также опубликовано здесь.
:::
Оригинал