Датчик Wi-Fi своими руками — не требует программирования или пайки

Датчик Wi-Fi своими руками — не требует программирования или пайки

1 марта 2023 г.

Программные платформы без кода/малокода позволили создавать приложения, написав всего несколько строк кода, а в некоторых случаях вообще без кода! Это сокращает усилия по разработке и время развертывания.

Этот проект сочетает в себе две идеи: программную платформу без кода/с низким кодом и быструю и надежную систему прототипирования, не требующую пайки. В этом духе можно за несколько часов перейти от идеи к материализованному устройству, работающему в реальной среде.

Wi-Fi sensor developed using rapid prototyping tools for both software and hardware, operating in real-world conditions.

Ключевой компонент: ESP 32 D1 MINI

Быстрое и надежное программно-аппаратное прототипирование

В качестве примера будет создано следующее приложение: WiFi-термометр на базе ESP32, датчик температуры DS18B20 и локальный индикатор I2C. Все это заключено в водонепроницаемую настенную коробку и питается от 5В. Это будет достигнуто с помощью следующих проектов:

* ОБОРУДОВАНИЕ: быстрая, надежная система прототипирования с открытым исходным кодом: MISISTEMITA * ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ: протестировано TASMOTA, а также ESPHome.< /p>

Список материалов

Parts used in the project

Техническое описание компонента — ссылка для покупки.

Компоненты, необходимые для сборки требуемых модулей мисистемита.

Техническое описание компонента — ссылка для покупки.

Печатные платы, необходимые для сборки требуемых модулей мисистемита

ХРАНИЛИЩЕ ФАЙЛОВ ИСТОЧНИКОВ ПЕЧАТНОЙ ПЛАТЫ – ССЫЛКА НА ПОКУПКУ

РЕПОЗИТОРИЙ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ – ССЫЛКА ДЛЯ СКАЧИВАНИЯ

Сборка оборудования

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

Boards placed on the backplate

Второй шаг – подключение различных модулей в зависимости от изначально предложенного проекта. Можно использовать как сплошной медный кабель, так и многожильный медный кабель. Рекомендуется загрузить минимальную тестовую прошивку для проверки возможности подключения компонентов.

Boards placed on the backplate and wired

Третий шаг — снять внешние соединения, найти заднюю панель в корпусе и закрепить ее саморезами. Пропустите силовые кабели через кабельные вводы и снова подключите их к плате.

Backplate fixed to the enclosure and external cables connected again

Последний шаг состоит в закрытии крышки, регулировке кабельных вводов и установке на стену.

Lid closed, ready for wall installation

Настройка прошивки

Следующие пункты не предназначены для исчерпывающего руководства по установке или настройке. Для получения дополнительной информации обратитесь к документации каждой используемой платформы (Tasmota и ESPHome). Вкратце, будут представлены некоторые подсказки о том, как создавался сенсор на каждом из них.

Тасмота

Sensor Firmware using Tasmota

Философия Tasmota заключается в базовой предварительно скомпилированной прошивке, которая загружается на устройство и после загрузки настраивается с использованием шаблонов. Программа установки Tasmota основана на веб-браузере, поэтому дополнительное программное обеспечение не требуется. Использовались следующие параметры:

* Базовая прошивка: дисплей * Настройка шаблона: выводы порта I2C, вывод датчика DS18B20 * Режим отображения: 0 * Тип дисплея: SSD1306 * Правило визуализации температуры: правило 1 ON DS18B20#Temperature DO Displaytext[zs2y20] %value% C ENDON

ESPГлавная

Sensor Firmware using ESPHome

Философия 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. У каждой платформы есть свой способ сделать это. В обоих случаях это была всего одна строка.

:::информация Также опубликовано здесь.

:::


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE