Как стать автором
Обновить

Комментарии 8

Вот gist.github.com/belovictor/76e696c06b7c239447ea скетч для CC3200 Launchpad как раз для работы с openHAB по MQTT. На Arduino будет всё то же самое (ну только библиотеки сетевые по другому могут называться). На стороне openHAB всё настраивается по документации на mqtt binding — github.com/openhab/openhab/wiki/MQTT-Binding
Смотреть раздел «Event Bus Binding Configuration», чтобы на каждый item не прописывать конфигурацию mqtt.
С последовательным портом в linux главное достоинство — драйвер есть в операционной системе и не требует установки
// если нажата, то buttonState будет LOW:

Почему не наоборот?
На схеме один из выводов кнопки подключён к земле, а второй ко входу контроллера и через подтягивающий резистор 10 кОм к питанию, кнопка имеет нормально разомкнутые контакты, так что при нажатии кнопки вход контроллера замыкается на землю, что соответствует логическому 0 (LOW).
Ну да, а что-то поменяется, если резистор переставить к земле, так чтоб при нажатии кнопки вход контроллера замыкался на HIGH? Так вроде логичнее
А как слать команды с OpenHAB на устройство через COM порт?
Я ничего умнее не придумал как писать правила типа:
rule "Send Switch CMD"
	when	
		Item MySwitch received command
	then
		MyCOMString.sendCommand("Switch_"+MySwitch.state)
end

Но как-то это напряжно для каждого итема писать правило. Или по другому никак?

И второй вопрос: в документации биндинга сериал порта (https://github.com/openhab/openhab/wiki/Serial-Binding) есть такой пример:

Switch HardwareButton     "Bell"               (Entrance)      { serial="/dev/ttyS0" }
String AVR                "Surround System"    (Multimedia)    { serial="/dev/ttyS1@115200" } 
Number Temperature        "My Temp. Sensor"    (Weather)       { serial="/dev/ttyS1@115200,REGEX(ID:2.*,T:([0-9.]*))" } 

Как я понимаю можно напрямую слать команды итемам? Например итем Temperature должен обновится если сработает регулярка?
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.