В этой статье я излагаю концептуальные принципы применения систем с устройствами TinyOneWireNet. Затрагиваю технические и коммерческие вопросы. Привожу мое видение относительно коммерческой реализации компонентов системы, вопросы представления технической информации, рассказываю о ближайших планах.
Предыдущая статья Навигация по рубрике Следующая статья
Цель проекта.
Разработка и серийный выпуск большого набора различных
- датчиков,
- устройств ввода-вывода,
- устройств согласования с объектом управления,
- периферийных контроллеров,
- промежуточных сетевых устройств,
- программных продуктов
для создания распределенных систем сбора и обработки информации, управляющих систем.
Проект может быть использован:
- в системах управления технологическими процессами,
- в области растениеводства,
- в системах “Умный дом”,
- в системах малой автоматизации
- и многих других областях.
В качестве программного обеспечения верхнего уровня могут быть использованы программные среды SCADA.
Технико-коммерческая концепция проекта.
Коммерческая целесообразность проекта основана на следующих принципах:
- Продажная цена компонентов системы в десятки раз ниже стоимости аналогичных профессиональных устройств на мировом рынке. По цене датчики системы вполне конкурируют даже с аналогами на Али Экспресс, значительно превосходя их по параметрам и функциональным возможностям. По крайней мере, цена комплектующих для компонентов системы ниже, чем для аналогов из Али Экспресс. Для большинства датчиков это в пределах 100 руб.
- Простота разработки новых компонентов системы. Например, для датчиков и управляющих устройств существует сетевой (TinyOneWireNet) контроллер, который представляет собой 8ми выводную микросхему стоимостью 50 руб. В нем уже реализован обмен данными по сетям системы. Остается добавить собственно датчик. Таким образом, большинство сетевых датчиков состоят из 3-4 компонентов общей стоимостью 60-70 руб и разрабатываются за один рабочий день.
- Система должна быстро и гибко подстроиться под реальные требования потенциальных заказчиков, благодаря предыдущему пункту. Набор компонентов системы создается ”на лету” по мере необходимости, адекватно отражает потребительский рынок.
- Система может комплектоваться огромным числом типов датчиков и управляющих контроллеров. Что позволяет оптимально решать любые задачи.
- Система легко устанавливается на реальных объектах благодаря дешевым и технологичным линиям связи. Стандартные цифровые сети системы это обыкновенные 2х проводные линии. Например, можно использовать кабели в двойной изоляции, применяемые для питания сетевой аппаратуры. Они допускают применение на открытом воздухе без дополнительной защиты, и даже могут быть закопаны в землю. Токи потребления сетевых устройств порядка 0,5 мА. Поэтому сечение кабеля имеет значение только исходя из механической прочности.
- Даже установленная на объекте система легко расширяется и переконфигурируется. Новые компоненты включаются в систему очень просто. Устройства подключаются параллельно к линиям связи. Питание большинство компонентов получают от этой же сети. Таким образом, подключение нового датчика сводится к присоединению 2х проводов к уже существующей линии.
- Любые сегменты системы, а также отдельные компоненты допускают подключение к промышленным стандартным сетям, например ModBus. Стандартным сетевым интерфейсом системы является собственный интерфейс с протоколом TiniOneWireNet. Но существуют конвертеры интерфейсов, позволяющие объединять различные сети и протоколы, в том числе и беспроводные. Это позволяет создавать гигантские сети, как по количеству устройств, так и по удаленности компонентов.
- Благодаря наличию конвертеров для стандартных интерфейсов (ModBusRTU, ModBusTCP, MQTT и т.п.) компоненты TinyOneWireNet являются идеальным набором для создания систем SCADA.
- Очень простая и дешевая реализация цифровой сети в системе. Самый простой вариант сети TiniOneWireNet это просто 2 провода, подключенных к земле и выводу микроконтроллера. Питание устройства получают через эти же провода от вывода микроконтроллера. Тем не менее, к такой сети может быть подключено до 15-20 датчиков. Идеальный вариант для создания системы контроля, например, десятка контейнеров на подоконнике или маленькой теплички.
- Компоненты системы легко внедряются в собственные проекты. Существуют библиотеки, поддерживающие протокол TiniOneWireNet в популярном фреймворке Arduino. Таким образом, программная реализация измерения любой физической величины сводится к 3-4м строкам кода. Есть примеры готовых проектов. При необходимости могут быть созданы библиотеки для других сред разработки программных продуктов, например для серии STM32.
- В числе потребителей компонентов системы явно просматриваются люди увлекающиеся самостоятельным изготовлением систем контроля выращивания растений. Так называемые “самодельщики”, “ардуинщики”. Все необходимые условия для этого есть: низкая цена, легкость и дружественность подключения, поддержка программными средствами и т.п.
- Существуют аппаратные и программные средства конфигурации и диагностики системы, в том числе с помощью персональных компьютеров.
- Все выше перечисленное позволяет реализовывать готовые системы управления, например, выращиванием растений от контроля влажности грунта пары горшков на подоконнике, до крупных хозяйств. Цена и потребительские возможности вне конкуренции.
Пример разработки системы.
В качестве примера расскажу, как я за час из готовых датчиков собрал систему контроля за своими 4мя контейнерами с инжирами.
Конечно, система не полная, в основном информационная, собрана для примера.
Воткнул в горшки 4 датчика влажности, добавил датчик температуры воздуха DS18B20, датчик температуры и влажности воздуха AHT10, люксометр и диммер для управления лампами.
С каждого сетевого устройства выходит по 2 провода. У конвертера WiFi TinyOneWireNet 2 канала. Датчики влажности я подключил к одному каналу, остальные датчики к другому. Конвертер подключил к блоку питания 5 В от телефона.
Работа с аппаратурой на этом закончились.
Конвертер WiFi TinyOneWireNet подключился к моей домашней сети WiFi.
Я обратился к Web-интерфейсу конвертера через компьютер. Набрал в адресной строке браузера его IP-адрес. Можно было использовать телефон, планшет, смарт-телевизор - любое устройство из домашней сети.
Сделал поиск устройств сети в обоих каналах. Конвертер автоматически записал в свое EEPROM текущую конфигурацию.
На всякий случай сделал диагностику сети. Убедился, что все работает без ошибок.
Открыл мониторинг. Убедился, что все параметры измеряются правильно.
Дальше работа с конвертером будет происходить через регистры ModBus TCP. Они стали доступны в сети WiFi после включения конвертера.
На старый планшет за 5 минут установил бесплатную среду NodeRed. Это среда визуального программирования для интернета вещей. Простая, но достаточно мощная система. Я сделаю несколько уроков создания прикладных систем на ней в последующих статьях.
После установки NodeRed отложил планшет во включенном состоянии в сторону и больше его не трогал.
С компьютера запустил браузерное приложение, которое установлено на планшете. Просто набрал в адресной строке браузера IP-адрес планшета.
В открывшемся IDE установил нужные виджеты, задал в них параметры, IP-адрес конвертера, адреса регистров ModBusTCP, цвета, размеры и т.п.
Через час с начала работы я получил действующую систему с таким графическим интерфейсов.
В нее легко можно добавить связь с внешним интернетом через MQTT, электронную почту, Твиттер и прочее.
Для того, чтобы система работала, требуется постоянно включенный планшет. Можно использовать Рапсберри, можно старый смартфон с треснутым экраном. Последнее – самый дешевый вариант.
Текущее состояние системы.
Система все время развивается. Не только за счет увеличения количества сетевых устройств, но и за счет расширения областей применения.
Еще месяц назад я не думал об использовании в системах SCADA. Сейчас все для этого есть.
Здесь я коротко приведу текущее состояние на конец апреля 2023 года. А в ближайшем будущем создам статическую страницу на сайте и буду содержать ее в актуальном состоянии.
И еще, я рассматриваю 2 состояния готовности устройства.
- Собран макет, разработано и проверено резидентное ПО, устройство включено во все библиотеки, конвертеры, диагностические программы. Т.е. устройство полностью разработано и проверено, за исключением окончательной конструкции.
- К предыдущему пункту добавлена разработанная печатная плата, корпус, если надо.
Сейчас в разных степенях готовности существуют следующие компоненты.
Компонент | Готовность | Пояснения |
Сетевые устройства |
||
Датчик влажности почвы | Завершен | Емкостной датчик влажности почвы в виде узкой печатной платы длиной примерно 10 см. Герметизирован, втыкается в почву. |
Датчик температуры DS18B20 | Завершен | Точный цифровой датчик DS18B20 (-55 … + 125 C°). |
Датчик освещенности | Завершен | Датчик приблизительного измерения освещенности.
В качестве измерителя используется фоторезистор. |
Диммер для светодиодных ламп и ламп накаливания. | Без печатной платы | Управляет мощностью сети 220 В за счет ШИМ модуляции. Один канал. Очень компактное и дешевое устройство. По сути – умная розетка. |
Люксометр | Без печатной платы | Точный измеритель освещенности в люксах с использованием микросхемы BH1750. |
Датчик температуры и влажности воздуха. | Завершен | Точный датчик температуры и влажности воздуха на микросхеме AHT10. Крайне дешевое устройство с высокими характеристиками. |
Конвертеры интерфейсов |
||
Конвертер UART TinyOneWireNet | Завершен | Формирует шину TinyOneWireNet из интерфейса UART.
Используется для подключения сетевых устройств TinyOneWireNet к различным микроконтроллерам. |
Конвертер USB TinyOneWireNet | Завершен | Предыдущее устройство с конвертером USB/UART. Используется для подключения персонального компьютера к шине TinyOneWireNet. |
Конвертер WiFi TinyOneWireNet | Без печатной платы | Формирует 2 шины TinyOneWireNet. Обеспечивает Web-интерфейс для локальной настройки сети и сетевых устройств, а также поддерживает протокол ModBus TCPдля подключения к промышленным системам, в том числе SCADA. |
Диагностические средства |
||
Монитор сети TinyOneWireNet на Ардуино | Без печатной платы | К плате Ардуино подключен маленький OLED-дисплей и энкодер. Устройство позволяет конфигурировать сеть, настраивать сетевые устройства, осуществляет мониторинг измеренных значений. |
Конвертер WiFi TinyOneWireNet | Без печатной платы | Эти же функции отладки есть в конвертере, только для 2х сетей TinyOneWireNet и в более удобном виде. |
Блок формирования TinyOneWireNet от микроконтроллеров с уровнем 3.3 В. | Без печатной платы | Формирует 2 шины TinyOneWireNet от 3-вольтовых микроконтроллеров, например ESP32. |
Библиотеки. |
||
TinyOneWireNet | Завершен | Библиотека для поддержки сетевых устройств на Ардуино |
TinyOneWireNet_Buf125 | Завершен | Библиотека для поддержки сетевых устройств на Ардуино с блоком формирования 2х шин TinyOneWireNet на буферной микросхеме 74HC125. |
Для нескольких сетевых устройств может быть использована одна и та же плата с разными номиналами компонентов. Например, датчик DS18B20 и измеритель освещенности на фоторезисторе выполнены на одном типе платы. Эта плата поддерживает:
- датчик DS18B20;
- датчик DHT22;
- датчик света (фоторезистор);
- дискретный датчик (сухой контакт);
- управляющее устройство диммеров;
- управляющее устройство модулей дискретных выходов;
- управляющее устройство любых модулей ввода/вывода (дискретных, аналоговых, кодовых);
- аналоговый вход;
- измеритель сопротивления;
- ШИМ-выход;
- приемник/передатчик I2Cустройств;
- приемник/передатчик UARTустройств.
По необходимости я буду расширять число сетевых устройств. Некоторые из них можно добавить за пол дня.
Коммерческая реализация проекта.
Проект открытый за исключением резидентных программ сетевых устройств.
Если кто-то захочет использовать проект, он должен будет купить сами сетевые устройства. В июне они должны появиться на Али Экспресс и в России.
Я думаю, может быть востребован вариант покупки запрограммированных PIC-контроллеров для сетевых устройств.
Все остальные программы будут в открытом источнике.
Коммерческой реализацией проекта занимается мой знакомый из Москвы по имени Юрий. Возможно, он предложит еще какие-нибудь решения.
Техническая информация.
Конечно, я дам полную техническую информацию по использованию компонентов системы, приведу примеры работы с библиотеками, при необходимости разработаю новые библиотеки и т.п.
Еще, собираюсь написать несколько уроков по использованию системы с программными средами SCADA.
Ближайшие планы.
Они очевидны.
- Увеличение числа типов сетевых устройств. На очереди несколько простых датчиков и модулей управления мощной нагрузкой. Собираюсь разработать PH метр.
- Увеличение количества функций конвертера WiFi TinyOneWireNet, как одного из основных компонентов системы. Планирую добавить протокол MQTT, работу в качестве TCP-клиента, режимы сна, возможно передачу данных через UDP.
В следующей статье расскажу об общих для всех TinyOneWireNet -устройств сетевых функциях. Приведу примеры подключения датчиков к Ардуино.