Интелектуальный дом



Умный Дом на Modbus

Smart Home modbus web project  Июль 30, 2017 – 07:01

Строится все по такой схеме:Долго мучил сторонний шлюз Modbus RTU - Modbus TCP и в конце-концов решил написать свой шлюзовый сервер Modbus RTU - TCP Client. Хочу сразу отметить на стороне TCP клиента, сервер использует свой протокол и не является Modbus TCP протоколом!

шлюз TCP to Modbus RTU
-
Программа написана специально для работы с Arduino по протоколу Modbus RTU.
Для слэйв устройств является мастером, для TCP клиентов соответственно - сервером.

Название: web.png Просмотров: 10529 Размер: 25.8 КбИспользуются только 2-е функции Modbus RTU:
- Modbus function code 0x03 (03) - чтение всех регистров
- Modbus function code 0x10 (16) - запись всех регистров
(в данном проекте запись идет только одного регистра)

Получает запросы от клиента (php) по TCP протоколу и преобразует полученную
строку параметров в протокол Modbus RTU для обмена со слэйв устройством.

Программа работает максимум с 20-ю регистрами на устройство.
Пока думаю хватит

Итак для затравки картинка web страницы.
Конечно страница больше тестовая и полностью не отражает работу умного дома. Но на данном этапе я и не стремился делать все и сразу. Это как пример реализации управления, мониторинга. Дальше нужна только фантазия...

Что можно делать.
- Опрашивать устройства меняя их ID.
- Устанавливать значения регистров, при установке checkbox в "авто" - в реальном режиме постоянно читать состояние устройства, опрос идет раз в сек.
Нажмите на изображение для увеличения Название: arduino_web_project01.jpg Просмотров: 1795 Размер: 277.8 Кб ID: 1026 Слева в полях на сером фоне показаны текущие значения состояния регистров (не редактируются). Справа - заносятся новые значения. Кнопка "очистить" - очищает эти поля.

Схема для подключения Arduino по RS485
Вот еще вариант подключения с обвязкой

Возможно подключение к роутеру через преобразователь USB-RS485 (не "коверкая" роутер).
Одна ардуина имеет ID=1, другая ID=2. К ардуине с ID=1 подключен температурный датчик. Значение температуры заносится в регистр 1. Т.к. температура имеет дробное значение, а регистры целочисленные чтобы сохранить дробую часть, я умножил это значение на 100 и привел его к целочисленному. На web странице я не делал обратного преобразования.

Source: cyber-place.ru


тамада на свадьбу тверь

постоянная и временная постоянная прописка в сочи за Час | Линолеум Таркетт Ищешь линолеум дешево? Заходи poli.by
Видео на тему:
Pyrite - программное обеспечение для умного дома. Pyrite
Pyrite - программное обеспечение для умного дома. Pyrite ...
Умный дом своими руками. Модуль диммирования
Умный дом своими руками. Модуль диммирования ...
Умный дом своими руками Переход на протокол modbus
Умный дом своими руками Переход на протокол modbus
Охрана дома Ant Mobile Red + Modbus + Управление
Охрана дома Ant Mobile Red + Modbus + Управление ...

Похожие публикации:

  1. Умный Дом Датчики
  2. Умный Дом Одесса
  3. Умный Дом Орел
  4. Умный Дом Windows