Flprog scada подключение по wifi

Обновлено: 06.07.2024

Одним из самых бюджетных вариантов шлюза связи для комплекса DispSky, является использование Wifi-модуля, основанного на чипе ESP8266, совместно с модулем-преобразователем, основанном на чипе MAX485.

ESP8266 подключается к серверам DispSky через WiFi-канал связи, затем полученные пакеты преобразуются и передаются по шине интерфейса RS485, при этом не требуется "белый" IP-адрес. В свою очередь, к шине интерфейса RS485 могут быть подключены различные устройства для опроса, такие как: контроллеры, модули, считыватели, счётчики электроэнергии, расходомеры и прочее.

Для подключения могут использоваться различные модули, основанные на чипе ESP8266: ESP-01, ESP-07, ESP12, NodeMcu и другие. В качестве преобразователя UART TTL в RS485 также возможно использовать модули, основанные на различных микросхемах, в том числе и неуправляемых. Для стабильной работы мы рекомендуем использовать модули, основанные на микросхеме MAX485.

Дальнейшие инструкции описывают подключение контроллера Овен ПЛК110-M v2 по интерфейсу RS485, с помощью модуля ESP-01 и преобразователя на основе микросхемы MAX485. Опрос происходит по протоколу Modbus RTU. Аналогичным образом к комплексу DispSky можно подключить и другие устройства, поддерживающие интерфейс RS485, при этом обеспечивается широкий спектр различных протоколов опроса. Такими устройствами могут быть контроллеры и модули ввода-вывода, счётчики электроэнергии, регистраторы, считыватели, расходомеры и другие устройства.


Для подключения к комплексу DispSky необходимо:

В контроллере:

Для того, чтобы контроллер опрашивался комплексом DispSky, необходимо сформировать на нём модуль Modbus RTU Slave. При этом, будет опрашиваться любой контроллер, любого производителя, поддерживающий указанный стандарт - Modbus RTU.

Для работы с контроллером Овен ПКЛ110-М v2 необходимо запустить среду разработки CoDeSys v2.3

Создайте пользовательское программное обеспечение в контроллере Овен ПЛК-110.

Перейдите: «Ресурсы» (1) -> «Конфигурация ПЛК» (2) -> «Modbus (slave)» (3) -> «RS-485» (4), обратите внимание на настройки интерфейса (5), протокол (6) и добавьте регистры для опроса (7):

Сформируйте прошивку и запустите контроллер.

.
В модуле ESP8266:

Скачайте скетч и откройте его при помощи среды разработки Arduino IDE:

Соедините модули между собой согласно схеме:

Подключите линию интерфейса RS485 к контроллеру, и подайте питание на модуль ESP8266. Обратите внимание, что для стабильной работы модулю требуется качественное питание 3,3 В.

В личном кабинете DispSky:

Перейдите в раздел «Конфигурация» (1) -> «Устройства» (2), добавьте (3) новый узел связи (4) (Для этого нажмите правой кнопкой мыши на свободной области поля "устройства"):


Во всплывающем окне введите параметры узла связи:


  1. Придумайте название
  2. Выберите режим настройки - HF2211
  3. Введите код, который вы указали в скетче

Во всплывающем окне введите параметры устройства:

  1. Придумайте название
  2. Выберите протокол - Modbus поверх TCP (RTU)
  3. Введите идентификатор (адрес) устройства. Устанавливается в среде разработки, по умолчанию - 1

Для просмотра и добавления регистров для опроса в контроллере нажмите на кнопку «Теги»:

Для добавления тегов нажмите кнопку «Добавить» (1) и введите параметры регистров (2):


При выборе адресов учитывайте расположение регистров в разделе «Конфигурация ПЛК»:

Проконтролировать передачу данных возможно в настройках соединения, путем выбора вкладки «Диагностика»:

Для удобного и наглядного контроля за параметрами программы Вы можете сделать мнемосхему и видеть все показатели в ОнЛайн режиме в личном кабинете из любой точки в мире.

«Домашняя» SCADA для Arduino

Arduino больше предназначено для использования бытовых и рутинных задач. В основном эти контроллеры рассматривают для создания различных игрушечных прототипов. Всё таки можно найти действительно стоящее применение данных девайсов. SCADA для arduino — это одно из решений, позволяющее вести полный контроль за каким-либо процессом в любой точке мира. Это решение ещё называют «Интернет вещей». Существует великое множество сложных и неподъёмных SCADA — систем для различных проектов. Давайте рассмотрим некоторые из них.

Из этой статьи вы узнаете:

Всем привет друзья, с вами Гридин Семён. В этой статье я хотел поделиться с вами своими мыслями по поводу применения SCADA систем вкупе с Arduino.

Мы на природе

Мы на природе

Теперь давайте вернёмся к нашему диалогу. Теоретически можно подключить любую SCADA — систему к любому оборудованию, лишь бы был OPC — сервер и нужный протокол для передачи тех или иных данных.

Мы с вами рассмотрим два варианта подключений. Вариант с нашей любимой Master SCADA и с готовой системой RemoteXY для Arduino. Рассмотрим их различия, достоинства и недостатки.

Подключение MasterSCADA и Arduino

Что нам для этого нужно:

  1. Установить Master SCADA 3.7 на 32 точки — бесплатная версия;
  2. Установить Master OPC universal Modbus на 32 тега — тоже бесплатная версия;
  3. Конечно Arduino UNO;
  4. Написать скетч и настроить обе программы;

Дистрибутивы программ вы можете скачать с официального сайта ИНСАТ . Устанавливаете на компьютер и идём дальше.

SCADA Master

Пример будет с измерением длины. Реализован он будет с помощью Ардуино и датчика дальномера HC-SR04 .

modbus_configure ( & Serial , 115200 , SERIAL_8N2 , 1 , 2 , HOLDING_REGS_SIZE , holdingRegs ) ; //вводим скорость опроса

Далее настраиваем OPC-сервер. Создаём устройство в дереве объектов. Добавляем подключение через COM-порт. В моём случае 3 порт. Обязательно указывайте в настройках.

Настройки ОРС

Далее добавляем устройство:

Добавляем устройство

После этого вносим теги, которые вы хотите опрашивать:

Настройки тега

Нулевой адрес обязателен. Так как без него произойдёт смещение адресации. Нажимаем на кнопочку пуск , и выскочит вот такая вот картинка:

Результат опроса

Это всё конечно здорово! Но нам надо увидеть эти данные на мнемосхеме, правильно. Тогда поступаем следующим образом — открываем MasterSCADA, создаём проект и делаем следующие настройки.

SCADA_1

Ищем ОРС-сервер и добавляем его:

SCADA_2

Добавляем ОРС-переменную нашего любимого датчика-дальномера:

SCADA_3

Далее добавляем Связываем теги и выводим это всё на мнемосхему. После этого запускаем всё хозяйство.

SCADA_4

А теперь давайте рассмотрим другую не менее интересную SCADA-систему для плат Ардуино.

Подключение Arduino и Remote XY

Remote XY — это специально разработанная программа для небольших контроллеров. Есть три типа подключений — это через bluetooth, WI-FI и Ethernet. Мнемосхему можно создавать прям в браузере. Главная фишка ПО — это управление с телефона или планшета. Для более подробного изучения заходите на официальный сайт разработчиков.

А мы с вами попробуем написать программу. Соединиться с помощью Ethernet-шильда W5100 по LAN-кабелю. Запустим процесс измерения влажности и температуры с помощью датчика DHT11 . Ну что, поехали.

  1. контроллер Arduino UNO;
  2. Ethernet W5100 шильд;
  3. датчик DTH11;
  4. Доступ к программе Remote XY;
  5. Хорошее настроение;

Ethernet W5100 шильд соединяется с Arduino, разместив их одну над другой. Необходимо обеспечить подключение Ethernet-шильда к локальной сети.

Шильдик

Скачайте библиотеку RemoteXY . И загрузите такой скетч в контроллер:

/* RemoteXY select connection mode and include library */ /* this structure defines all the variables of your control interface */ unsigned char connect_flag ; /* =1 if wire connected, else =0 */

Потом скачайте приложение Remote XY на PlayMarket или AppStore. В открывшемся окне необходимо указать IP адрес, который был выдан Ethernet шильду роутером. В WEB-интерфейсе роутера можно посмотреть список подключенных устройств. Девайс можно идентифицировать по MAC-адресу в скетче.

В итоге должна получиться вот такая картинка:

Интерфейс DHT11

С уважением, Гридин Семён

* Нажимая на кнопку "Подписаться", я даю согласие на рассылку, обработку персональных данных и принимаю политику конфиденциальности.

Вам так же может быть интересно

Под рукой нет платы Arduino? Не проблема. Эмулятор на ПК

Что делать, если у вас под рукой нету платы Arduino UNO, или любой другой …

Как подключить шаговый двигатель к Arduino Uno?

На производстве иногда применяют станки ЧПУ (Числовое Программное …

Как подключить дальномер на Ардуино??

В робототехнике очень часто стоит задача находить препятствия, измерять …

Двигатели постоянного тока робота. Драйвер движка L293D и Arduino

Двигатель постоянного тока потребляет очень большой ток. И для того, чтобы …

Семен! Мне нужна Ваша помощь. Я — бывший полковник, доцент, 66 лет. Преподаю в Академии Можайского. Заинтересовался системами SCADA. Как программист, практик я 0. Но хочу, чтобы дипломник соединил Master SCADA с ARDUINO, а еще с каким либо ARM, апример,STM 32. дипломника пока не получается по Вашим инструкциям. Готов заплатить за помощь.

Добрый день, давайте начнём с того, что пытается соединить ваш дипломник. Arduino или STM 32? Arduino как он соединяет с MasterSCADA? По Modbus? У ребят от Simple-SCADA есть замечательные видеоуроки. Посмотреть можете здесь «Как мне помогла SCADA в автоматизации производства?». Я думаю, должно помочь.

Ищите проект FLProg. Там и скада своя есть.

Вообще не знал, что у FLProga есть SCADA. И как она? Как интерфейс? Есть графики? Архивы? Тренды?

Здравствуйте! Занимаюсь подключением Ардуино MEGA 2560 к SCADA-системе и у меня возникло несколько камней преткновения:

2) В моем проекте управление Ардуино осуществляется также с сенсорного экрана(TFT3.2» с алиэкспрес за 600 руб) и я столкнулся с тем, что когда я добавил программный код для работы с OPC-сервером, я потерял возможность ввода температура с сенс. дисплея. Как я понял, это связано с ходом программного кода, т.е. когда я присваиваю переменной gradus значение температуры с сенс.экрана, то возникает конфликт логики и внизу кода значению graus заново переприсваивается значение OPC-переменной gradus = holdingRegs[2]. Я сумел обойти этот конфликт логики, кинув строку holdingRegs[2] = gradus в блок программы отвеч. за ввод температуры (в этот момент мы наоборот присваиваем ОРС-переменной значение температуры). Но такой «маневр» выручает не везде, т.к. программа у меня многоопциональная, так скажем, и конфликт порой никак нельзя разрешить! Скажите можно ли вот эти варианты строк gradus = holdingRegs[2] и holdingRegs[2] = gradus написать в программе так, чтобы они работали в обе стороны без описанных выше ухищрений. Или подобное подключение к SCADA, описанное в данной статье, не предполагает одновременного задания параметров и со SCADA-системы и с сенсорного экрана?

3) OPC-переменная для Ардуино holdingRegs[], как я понял, работает только с целыми числами, т.е. если мы переменную типа float или double равную 23,8 кинем в holdingRegs[], то она сразу отсечет десятичную часть и оставит только число 23. Можно ли как-то записывать в эти ОРС-переменные дробные числа? Как я пришел к такому выводу — долгая история (ели интересует, могу написать), если я не прав — поправьте меня!

Скетч не работает. Постоянно вываливает ошибку «expected unqualified-id before numeric constant»



Источник

Предыдущий пост, посвящённый связке FLProg и ESP8266, был обзорным, а теперь рассмотрим работу в программе с этим контроллером более подробно.

Как и для ардуино, работа над проектом начинается с выбора контроллера. В отличие от предыдущих версий, для удобства пользователей контроллеры были перенесены в древовидную структуру папок.


При выборе конкретного контроллера или платы можно посмотреть его изображение, распиновку, а так же технические характеристики.
Основная работа при создании web интерфейса настройки производится в дереве проекта.
Для начала настроим точку доступа.
Раскрываем дерево проекта до пункта “Точка доступа” включительно и двойным кликом по ветке “Отключён” включаем точку доступа в работу.


В открывшихся ветках настраиваем параметры точки доступа. Для изменения необходимого параметра производим двойной клик на соответствующей ветке.


Имя сети (SSID) – Имя сети которую будет организовывать точка доступа.
Пароль для подключения – пароль для подключения к точке доступа. Если оставить пустым, то точка доступа будет без пароля со свободным подключением.
IP адрес – IP адрес который будет иметь контроллер в сети созданным точкой доступа. По этому адресу потом можно будет подключиться к контроллеру.
Остальные параметры (Маска подсети и Сетевой шлюз) заполнятся автоматически после установки IP адреса, но при необходимости их можно изменить, если требуются нестандартные значения.
В результате должно получиться, что то подобное.


С точкой доступа закончили, можем свернуть этот узел, и переходим к клиенту. Так же разворачиваем его узел, и включаем его в работу двойным кликом по ветке “Отключён”


Настраиваем клиента. Возможны два варианта настройки клиента. Непосредственное задание настроек сети, и получение настроек по DHCP. Для начала используем второй вариант.


Обратите внимание, что в целях безопасности пароль подключения в дереве проекта не показывается.
С настройкой Wi-Fi интерфейсов закончили. Сворачиваем (если нужно) узел клиента и переходим к настройке режима обновления прошивки по Wi-Fi (если это требуется). Данный узел появляется только при включённом в работу клиенте.
Включаем этот режим двойным кликом по ветке “Отключён”


Задаём необходимые параметры (изменение значения параметров производится с помощью двойного клика на соответствующей ветке).


Пароль – при задании пароля перед заливкой новой прошивки потребуется его ввод.
Имя устройства – Это имя будет фигурировать в названии порта соединения в Arduino IDE.
Подробнее о режиме Arduino OTA можно почитать здесь.

Теперь переходим непосредственно к созданию web интерфейса настройки. Открываем узел “Web интерфейс настройки” и включаем его двойным кликом по ветке “Отключён”


Web интерфейс настроек представляет собой набор страниц с параметрами. Если страниц более одной, автоматически формируется меню для доступа к ним. Для каждой страницы можно задать собственные стили CSS, если использовать общие стили для всего Web интерфейса настройки.
Для настройки общих стилей CSS для всего web интерфейса совершаем двойной клик по ветке «Общий стиль»


Откроется окно настроек общего стиля.


На закладке «Описание стилей» находится поле ввода непосредственно описания стилей применяемых для всех страниц настройки. По умолчанию это поле уже заполнено стилями для создания стандартного интерфейса. Но если есть желание изменить дизайн страниц, то можно их изменить.
На закладке «Стили» можно задать названия стилей используемых для конкретных элементов страницы.


Эта закладка так же заполнена по умолчанию.
На закладке «Тексты» можно ввести тексты основных элементов используемых на странице.



По умолчанию всегда присутствует одна страница. Раскрыв её узел, получаем доступ к её настройкам.


Адрес главной страницы – адрес основной страницы настроек. По умолчанию – host – то есть адрес контроллера в сети. При необходимости можно сменить. Сменим его на адрес host/setting (двойной клик по данной ветке).


Имя страницы – название страницы в меню. Оставим ей название – "Главная"
Стиль страницы — двойной клик по данной ветке вызывает диалог настройки стиля для конкретно этой страницы.




В этом диалоге можно дописать дополнительные стили CSS для данной страницы и назначить стили и тексты для элементов дизайна. Так же можно переопреописать стили, описанные в диалоге общих стилей.
В узле “Параметры” задаются параметры, отображаемые на странице. На главной странице мы зададим отображение IP адреса полученного от роутера по DHCP в виде простого текста. Параметр добавляется с помощью двойного клика по ветке «Добавить параметр»


Открывается диалог создания нового параметра. В нём для начала нажимаем кнопку выбора системного параметра.


Откроется список доступных системных параметров. Выбираем параметр “ Wi-Fi клиент – IP адрес”.


В поле надписи вводим текст лейблы для этого параметра, а в поле тип параметра выберем значение “Текст”


После создания параметра появится новый узел дерева проекта, в котором можно настроить стиль для данного параметра, изменить настройки параметра или удалить его.


Узлы «Кнопка “Save”» и «Кнопка “Reset”» задают наличие кнопок сохранения данных и перезагрузки контроллера на странице. Поскольку никаких изменяемых данных на главной странице у нас нет, отключим эти кнопки на странице двойным кликом на ветке «Используется» (по умолчанию кнопки присутствуют на странице).


Добавим новую страницу двойным кликом по ветке «Добавить страницу»


Откроется диалог создания новой страницы. В нём заполним имя страницы (как она будет называться в меню интерфейса настройки) и адрес. Адреса вспомогательных страниц всегда продолжают адрес главной страницы. На данной странице мы будем настраивать параметры точки доступа.


Так же как и для главной, в узле новой страницы можно поменять адрес страницы, имя, настроить стили для конкретно этой страницы, задать отображаемые параметры и наличие кнопок. Ну и дополнительно есть возможность удаления страницы.


Добавим на страницу параметр “ Wi-Fi точка доступа – имя сети (SSID)”


И выберем для него тип «Поле ввода» и лейблу «Имя сети»


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


Если параметров на странице более одного в узлах параметров появляются ветки позволяющие изменить порядок вывода параметров на странице.
Поскольку на странице есть изменяемые параметры, оставим на ней кнопки сохранения и перезагрузки контроллера.
Для данной страницы в диалоге стилей зададим заголовок для данной страницы


По такому же сценарию создадим страницу с настройками клиента. Для параметра « Wi-Fi клиент – получение IP по DHCP» зададим тип параметра «Чек бокс»


При наличии в интерфейсе более двух страниц в узлах страниц так же появляются ветки управляющие положением страниц в меню интерфейса. Но главная страница всегда остаётся первой.


В данный момент доступ к интерфейсу и всем страницам свободный. Введём ограничение доступа. Для этого сделаем двойной клик по ветке «Свободный доступ» узла «Доступ к интерфейсу»


Теперь для доступа к интерфейсу необходимо будет авторизоваться. Время активной авторизации можно задать. По умолчанию оно составляет 15 минут. Через это время после последней активности пользователя будет произведён автоматический сброс текущего пользователя. Это время можно изменить путём двойного клика по соответствующей ветке.


В узле «Пользователи» можно задать необходимое количество пользователей. Там всегда присутствует супер пользователь (по умолчанию логин — admin). Ему всегда доступны все страницы и параметры. Как и для любого пользователя в его узле можно задать логин и пароль.


Создадим нового пользователя, который будет иметь право настраивать точку доступа. Для этого произведём двойной клик по ветке «Добавить пользователя». Откроется диалог добавления пользователя. В нем мы зададим логин и пароль нового пользователя


И создадим ещё одного пользователя, который сможет настраивать клиента.


После включения доступа по логину и паролю на всех страницах появилась кнопка «Exit», которая служит для выхода текущего пользователя. Оставим ее на всех страницах.


Теперь настроим доступ на страницах. Главная страница всегда доступна всем пользователям. А в узлах остальных страниц появилась новая ветка «Доступ». Дважды кликнем на этой ветке в узле страницы «Точка доступа».


Откроется диалог выбора пользователей для доступа к странице. По умолчанию доступ открыт всем пользователям. Снимем галочку с пользователя «User_Client» тем самым ограничив его доступ к данной странице.


Таким же способом ограничим доступ к странице настроек клиента пользователю «User_Tochka»


Создадим ещё одну страницу для настроек логинов и паролей


Добавим на эту страницу параметры логинов и паролей для всех пользователей. Эти параметры появились в списке системных параметров после включения доступа по логину и паролю.


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


К параметрам админа запретим доступ обеим пользователям, а к параметрам пользователей оставим доступ только тому пользователю, которому эти параметры принадлежат.

На этом настройку web интерфейса считаем законченной.

Нажимаем кнопку «Компилировать проект» в главном интерфейсе программы и получаем готовый скетчь в Arduino IDE.



В Arduino IDE выбираем нашу плату.


И порт, к которому подключен контроллер


После чего заливаем прошивку в контроллер


Итак, что у нас получилось…

После загрузки появляется новая точка доступа.


Подключаемся к ней и заходим по заданному нами в проекте адресу. Появляется страница авторизации.


Вводим пароль и логин администратора, и попадаем на главную страницу


Видим в меню все страницы



А на странице логина и пароля все параметры.


Выходим и логинимся под User_Tochka. Видим в меню только доступные страницы, и только свой логин и пароль


Перелогиниваемся под User_Client и картина соответствующая – видим только то, что положено


Открываем Arduino IDE и в настройках порта видим, что контроллер готов к обновлению прошивки «по воздуху».



Ранее ещё на хабре я рассказывал о реализации поддержки протокола Modbus в программе FLProg. К сожалению как показала практика его использования, реализация получилась не очень удачная. Если Slave работал ещё более менее уверенно, то мастер работал очень неустойчиво. Кроме того задание адресов регистров было возможно только в виде непрерывного массива, и не было разделения на области памяти. Мастер в той реализации мог обращаться только к Holding Registers слейвов, что очень ограничивало возможности его применения. Достаточно долго я искал нормально реализованную библиотеку Modbus RTU для Arduino, но поиски не привели к успеху. Поэтому было принято решение написать реализацию обмена по Modbus RTU самостоятельно. И вот в недавно вышедшей версии программы FLProg с номером 1.12 это сделано. Что изменилось:

  1. Реализация Modbus RTU полностью совместима с промышленным стандартом.
  2. Реализованы четыре таблицы переменных – Coils, Discrete Inputs, Input Registers, Holding Registers. Для каждой переменной, можно задавать любой адрес (не обязательно последовательно).
  3. Реализована возможность задания адреса слейва, скорости порта и отключения/включения опроса конкретного слейва мастером программным путём с запоминанием этих данных в EEProm.
  4. Реализована возможность одновременной работы мастера и слейва на одном контроллере (на разных портах).
  5. Реализована возможность применять в качестве порта SoftwareSerial
  6. Благодаря динамически генерируемому коду одновременная работа мастера и слейва возможна даже на плате Pro-Mini.
  7. Реализована прямая совместимость со старыми версиями – ранее созданные проекты будут работать на новой версии без переделки.

В данном уроке я решил сделать, что ни будь реально полезное. Пробежавшись по онлайн – магазинам, я нашёл жертву – будем дублировать датчики и исполнительные устройства на шину RS-485 продающиеся в магазине Wiren Board. Почему они? Да меня просто убили их цены. Особенно возмутила цена на датчики DS18B20. На сайте они честно говорят о китайском их происхождении, и при этом запрашивают 400 рублей. Хотя в Китае даже при розничной продаже их цена 102 рубля. А при оптовой наверняка намного дешевле. Интересно – наценка более 300% — это за поход на почту?

Для начала попробуем повторить «Модуль реле Modbus-RTU Relay Module (WB-MRM2-mini)» – цена 2000 рублей.


Комплектующие для создания модуля:

  1. Arduino Nano – 145 рублей
  2. Двухканальный модуль реле – 114 рублей
  3. Модуль RS-485 – 48 рублей

Итого – 307 рублей. Как то дешевле двух тысяч рублей. Я думаю из рассыпухи по оптовым ценам на своей плате себестоимость ещё меньше будет.
Принципиальная схема:


Архив с проектом FLProg и скетчем

Датчик WB-MS-THLS — Измеряет влажность, температуру, освещенность, звуковое давление. – 4900 рублей.


Описание не нашёл. Будем изобретать сами.

Комплектующие для создания модуля:

  1. Arduino Nano – 145 рублей.
  2. Модуль RS-485 – 48 рублей
  3. Датчик DHT-22 -202 рубля
  4. Датчик освещённости — 66 рублей
  5. Датчик звука — 66 рублей

Итого: 527 рублей. Чувствуете разницу? Дорогой корпус уж очень получается, зато красивый.
Принципиальная схема:


Архив с проектом FLProg и скетчем

Ну и теперь напоследок соберём устройство, которое будет собирать данные и управлять этими блоками. Для отображения информации и управления будем использовать смартфон на Андроиде. Соединение будет производиться с помощью Bluetooth, а в качестве программного обеспечения будет программа HMI-KaScada. На плате Arduino будет организованна работа Modbus Master (для сбора информации с блоков) и Modbus Slave (для работы с программой HMI-KaScada) одновременно.

Комплектующие для создания модуля:

  1. Arduino Nano – 145 рублей.
  2. Модуль RS-485 – 48 рублей
  3. Модуль HC-05 -234 рубля.

Итого:427 рублей.
Принципиальная схема:


Архив с проектом FLProg и скетчем

Ну что сказать напоследок? Если у Вас есть прямые руки, то многое что продается за большие деньги, можно сделать самому и намного дешевле.

Читайте также: