Подключение 1-wire датчиков температуры в систему.

Интересные кейсы Комментариев нет

Для подключения 1-wire устройств в системе MajorDoMo есть соответствующий модуль, модуль взаимодействует с tcp сервером owserver из состава пакета owfs, установка и настройка достаточно хорошо описана. Но при настройке в одном из проектов стандартные настройки owserver с i2c микросхемой ds2482 работал не корректно. При том, что при ручном запуске

датчики через вэб интерфейс доступны, но через модуль системы MajorDoMo работают так же не корректно, можно сказать, что не работают совсем, такое поведение так же замечено при подключении по UART через микросхему ds2480.

Причины такого поведения не понятны, копать не стал, пошел другим путем. Будем брать из того что есть. Можно это сделать двумя способами, через web переменные используя страницу owhttpd, или запустить owfs и брать значения из файлов, я пошел вторым путем. Запускаем owfs с следующими параметрами

в данном примере строка с параметрами адаптера i2c, параметры с другими устройствами можно посмотреть на официальном сайте пакета. Для того, чтобы не занимать ресурсов отключаем не нужные сервисы

для того, чтобы при старте системы  owfs стартовал добавляем в кронтаб запуск (для добавления в кронтаб надо выполнить команду crontab -e)

смотрим появились ли наши датчики, адрес температурных датчиков 18b20 начинается с 28, для этого выполним команду

Теперь нам надо считывать в MajorDoMo данные с датчиков, для этого делаем сценарий с именем 1wire со следующим содержимым

и добавляем запуск скрипта, например в метод onNewMinute

теперь в указанных в скрипте переменных будут появляться значения.

Поделитесь в соц сетях

Теги: