1-Wire
Рисунок 1. Общий вид контроллера Lavritech с подключённым датчиком DS18B20.
Опция 1-Wire позволяет получать данные о температуре с датчиков DS18B20, DS1820 и DS18S20. Поддерживается работа как с одиночными датчиками, так и сетью из нескольких датчиков (до 20 штук).
Рисунок 2. Подключение датчика DS18B20 к контроллеру при помощи модуля LTE2-DIO2-IO (V).
В контроллерах Lavritech датчики DS18B20 обычно подключаются при помощи модулей LTE2-DIO2-IO, которые выпускаются в «вертикальном» и «горизонтальном» (для экономии места внутри контроллера) исполнении.
Рисунок 3. Внешний вид модулей LTE2-DIO2-IO в вертикальном и горизонтальном исполнении.
Подключаются эти модули в SOCKET1 в разъёмы WB1.1 или WB1.2. Обратите внимание: разъём, в который подключается модуль, должен быть сконфигурирован (резисторами на плате) как UART. Электрически, эти модули подключают напрямую выводы микроконтроллера ESP32 к выходным колодкам контроллера.
Рисунок 4. Распиновка региона SOCKET1 и места подключения модулей LTE2-DIO2-IO и датчика DS18B20 (1-Wire).
В нашем случае мы будем подключать модуль LTE2-DIO2-IO в разъём WB1.1 и будем использовать 1-й канал (CH1) и GPIO26 (см. иллюстрацию выше).
Подключение датчика DS18B20 к 1-й выходной колодке:
O1.1 — GND
O2.1 — DATA (CH1)
O3.1 — не используется
O4.1 — 3V3
Преднастройки в конструкторе прошивок
В контроллерах Lavritech преднастройки 1-Wire в конструкторе прошивок по умолчанию имеют следующий вид:
При необходимости их можно изменить, заново перекомпилировать прошивку и загрузить её в контроллер (см. соответствующий раздел документации).
Здесь задаётся максимально поддерживаемое количество датчиков (10 шт.) и прочие опции: «Использование аппаратного RMT» — это экспериментальная функция, в некоторых случаях улучшающая стабильность работы 1-Wire сети.
Настройки в прошивке
Настройка работы 1-Wire начинается с включения этой функции и задания номера GPIO (26), к которому подключён датчик DS18B20 (на странице «Hardware» веб-интерфейса контроллера).
Обратите внимание: если в системе присутствуют конфликты распределения GPIO (можно увидеть на странице «GPIO»), то возможны проблемы с инициализацией работы 1-Wire. В этом случае нужно устранить конфликт распределения номеров GPIO в конструкторе прошивок.
Настройки 1-Wire находятся в соответствующем пункте меню:
Здесь можно просканировать доступные 1-Wire датчики и узнать с какой точностью они определяют температуру (в данном случае — 12 бит).
В случае правильного подключения датчика(ов) на главной странице можно увидеть их текущую температуру:
А на странице «Metrics» появляется соответствующая метрика температуры, которую можно использовать в других опциях системы и при написании скриптов.
Сетевые команды
Управлять точностью измерения температуры можно при помощи GET запросов.
http://[ip_adr]/config1wire?set=Y&bits=X, где Y — номер датчика, X — битность 9-12.
Связанные темы
Настройка опций
ModBus
LoRa
MCP23008
Где купить
Купить оборудование Lavritech можно в официальном интернет-магазине.