Шлюз для умного дома Ethernet -> rs485 или управление по web. Часть 1

Не было времени заниматься проектом, так как лето и стройка дома в полном разгаре. Но нашлось несколько свободных часов, и была реализована возможность управлять нашим первым модулем «МУС-7» (Модуль управления светом на семь групп по RS485) через http-запросы. Сразу хотелось бы сказать, что это только начало, поэтому часть первая, так как реализован шлюз только в одну сторону от WEB -> RS485, вторым этапом будет реализация опроса модулей по запросу и возврат ответа по RS485 -> WEB.

Почему я решил использовать RS485, а не Ethernet – все очень просто RS485 обеспечивает связь по двум проводам на расстояние до 1200 метров, при этом позволяет подключить последовательно до 127 устройств. Стоимость Ethernet shield – приличная, да и стоимость самой микросхемы, на которой он построен W5100 (для самостоятельного изготовления) совсем немного дешевле стоимость Ethernet shield. Еще один минус при изготовлении модулей на Ethernet, не позволяет подключать последовательно, а только топология звезда, то есть это или нужно к каждому модулю отдельно вести витую пару или городить огород из свитчей.

На картинке ниже изображена структурная схема, как на данном этапе выполнено тестовое управление модулем через Web –интерфейс, позволяющие управлять модулем с любого устройства имеющего интернет браузер.

 

Далее несколько фото тестового стенда.

 

 

На этом изображении вы можете увидеть Arduino Mega с установленным Ethernet shield-ом и самодельным шилдом RS485 (собранным на макетке, на скорую руку :)).

 

 

На который загружен скетч с WEB-интерфейсом осуществляющий перенаправление команд пришедших по Ethernet в сеть RS-485.

WEB-интерфейс доступен по адресу http://192.168.0.100, либо по любому другому который вы укажите в скетче.

 

 

Сам WEB-Интерфейс сделан для примера, на самом деле чтобы послать команду достаточно в адресной строке вбить команду «192.168.0.100/com?ADD=127&REG=1&ZN=1&CD=16».

Так как в последующем роль визуализации будет выполнять сервер на Raspberry PI (одноплатном компьютере) с установленным на нем системой для управления умным домом «Majordomo», а шлюз будет только перенаправлять данные. Сам Web-интерфейс не понадобится.

 

Разберем адреснуюстроку - «192.168.0.100/com?ADD=127&REG=1&ZN=1&CD=16».

 

  • Где 192.168.0.100 – адрес шлюза.
  • ADD=127 – адрес устройств в сети RS485 от 1 до 127 (в нашем случае адрес устройства по умолчании 127).
  • REG=1 – номер регистра в модуле.  
  • ZN=1 – значение присваиваемое регистру.
  • CD=16 – команда означающая что нужно записать значение регистра (при чтение значения регистра, то есть снятия статуса или значения температуры будет команда “CD=3”).

                                     

То есть для того, что бы включить лампу подключенную к каналу «1» необходимо в строке присвоить значения параметрам REG=0, ZN=1, для выключения лампы просто заменить значение ZN с «1» на «0» и т. д.

 

Видео всего этого безобразия.

 

Сам скетч:

Категории

Теги

Последние записи

Статистика

Яндекс.Метрика
© 2014 - 2018 OKbit.ru - умный дом. Все права защищены.