РЕКЛАМА НА ФОРУМХАУС На ПЛК можно запустить выполнение разных сценариев - они как раз для этого предназначены и у них развитая поддержка различных графических языков программирования и хорошие возможности отладки. А Распберри с OpenHAB можно использовать как шлюз для различных интерфейсов - Интернет, беспроводные протоколы.
У меня есть опыт работы с плк немаленький и с тем же Овном (плк100 скорее всего ОВЕН). Но вот с линуксом на борту плк как-то не попадались. Там место в плк скорее freertos (там где время исполнения критично). Язык графический типа лестничных диаграмм. Если ставить скада-программу то сервер не нужен она прекрасно по modbus-tcp будет отображать данные с плк и управлять плк (запуск того же сценария например). Есть OpenScada - бесплатный софт но с ним дел не имел. Плк дорогие и малость они не для этого сделано..мое мнение.
Там вроде пишут про среду Codesys. В любом случае возможностей I/O в данном контроллере явно недостаточно для умного дома, поэтому я и предлагаю к нему прикрутить openhab на малинке через тот-же Modbus, которая расширит I/O возможности ПЛК. Что в OpenHAB плохо - программирование и отладка сценариев. Свой синтаксис, отсутствие нормальных графических возможностей написания правил (а-ля для домохозяек), невозможность той же нормальной отладки (пошаговой, с точками останова и т. д). ПЛК в этом плане гораздо лучше, поэтому я и предлагаю использовать его для правил.
Codesys Он самый для овнов и некоторых других. Сейчас пишу сценарии для хаба - неудобно конечно только по логам можно ориентироваться где накосячил. Есть HabMin там вроде как в графике сценарии можно рисовать но это не для меня-) Только хардкор-). Из ограничений бесплатной версии commandfusion я так понял что только один экран можно создать - ошибаюсь или не?
Да он и не работает толком - так, бета версия. Да, похоже, есть такой лимит. Там пишут, что портретная и лендскейпная ориентация идут за один экран - то есть можно 2 экрана, если девайс поворачивать.
Ну как-бы 50 и не сумасшедшие деньги за хороший софт..но давненько смотрю он не обновлялся commandfusion. В инете видел один товарищ сделал попытку на JavaFx интерфейс к хабу делать..но похоже тормознул с этим делом
Дело в том что у меня уже есть OpenHab на winXP и ПЛК100 (который на CodeSys) - работают они в связке через modbus, все нормально. Увидел на Авито объяву - купил Еще один ПЛК 100 - с целью расширения, а выяснилось что это некий гибрид - Начинка ПЛК100,операционка у него стоит Linux, а среда исполнения EnLogic вмеcто Codesys. В общем думаю надо его обратно отдать, т. к. зоопарк из разных сред для ПЛК смысла нет устраивать. Но решил все-таки прозондировать - а нельзя ли на него поставить OH - похоже что смысла нет даже заморачиваться с этим, т. к. за такие-же деньги распбери лучше взять.
Нетривиальная задача совсем будет ставить openhab на эту штучку. Интересно даже что за железка - поищу в инете. Расширение чего? портов ввода-вывода? просто интересно
ну да. 6 реле на боту, 10 входов и возможность управления по TCP Modbus, собственные мозги на борту. и все это за 3 тыс и в исполнении на дин рейку. У меня изначально была идея его для автоматизаци парника применить - к езернет подключить Wi-Fi роутер дешевый в режиме сетевого моста. и управлять им напрямую из OH, либо залить в него самостоятельную логику управления, а из OH только смотреть за ним.
Такие деньги за плк это даром-) и нормальное решение правда роутер еще нужен будет. Плата малинка вам заменит большой компьютер с ОН. Проект который мне понравился http://www.wifi-iot.ru. Как раз думаю сделать управление поливом на базе этого решения. Правда это работа с паяльником будет. Но цена устройства смешная. Вся логика работы на опенхабе будет висеть. Управление я в данном варианте по mqtt делаю.
У меня тоже лежит ESP8266 - надо просто начать им заниматься. Единственное, что мне не нравится - достаточно много пайки - блок питания, релюшки. Много надо допиливать, прежде чем в подрозетник засунуть
У меня долго валялась потом за пару дней сделал систему благодаря конструктору прошивки. Есть такие дела u-m.biz/shop/index.php?route=product/product&product_id=59. Но реально приятно поразился возможностям этой малышки при ее цене.
Пару дней для меня слишком много. Дешевле тогда купить. По поводу CF и MQTT. Покурил спецификацию, подсмотрел Wiresharkом, как оно с MQTT клиентами разговаривает и сэмулировал в CF MQTT клиент - на первый взгляд показалось не сложно - надо только Connect message послать, да подписаться на топик. Publish тоже легко прописывается. Вроде все заработало, но...проблема с распознаванием приходящих топиков - брокер может в одном TCP сообщении прислать несколько топиков и значений. Они разделяются байтом "Publish" т. е. 0x30. А это в Ascii кодировке 0. То есть если допустим внутренняя температура равняется 21, то имеем типа такого сообщения (абстрактно) /in/Inside_Temp210/in/Outside_Temp17.3 И в итоге парсер палится на разделительном нуле. Реальную длину данных можно выцепить, вычев длину топика из длины сообщения, но тут моих знаний regex выражений пока не хватает. Возможно надо применить javascript для разбора. Кстати вроде как в этом случае можно сделать всю MQTT функциональность из скриптов и тогда по идее снимается ограничение на один экран в бесплатной версии iViewer.
MQTT - это бинарный протокол и для него есть куча библиотек https://github.com/mqtt/mqtt.github.io/wiki/libraries
Я это прекрасно понимаю. Вопрос - как проще всего реализовать клиент в Commandfusion и по возможности без программирования.