Микроконтроллеры и 1С

iot
wirenboard

#1

Коллеги, добрый день.
Мучают меня два вопроса.

  1. Почему конкретный комерс может выбрать для своей автоматизации / интеграции микроконтроллерную плату (условную arduino) а не промышленное решение от Овен, Сименс и т.д?
  2. Оптимальный интерфейс интеграции условной arduino с решениями на платформе 1С? Немного расшифрую. Аппаратные интерфейсы isp, i2p,uart хороши в микроконтроллерном мире но не применимы в десктопных решениях. Высокоуровневые интерфейсы типа tcp, udp тяжелы для микроконтроллера и сложны ля 1С.

#2

Мои варианты ответов.

  1. Комерс не должен делать решения на “рассыпухе”. Только промышленные решения. Дорого и богато.
    2.Ничего в голову кроме промежуточного слоя не приходит. Как вариант mqtt. Но может я не вижу всех возможностей прямого подключения микроконтроллера к платформе 1С?

#3

Мои ответы так или иначе уже давно сформулированы

  1. Условный Ардуино позволяет не иметь вендорлок - причем если в софтверном мире он не такой тяжелый, то на уровне микроконтролелров он я бы сказал жесточайщий. Политика ОВен, Сименс и т.д в части ценовой политики, а также в части клиентоориентированности просто ужасная. Поэтому при наличии паяльной станции и нормальных выпускников радиотехнического факультета гибче, быстрей и главное дешевле сделать на условной Ардуино.

  2. Оптимальный интерфейс также известен - он называется amqp. Соответственно чтобы получить его в 1С с устройств необходим брокер amqp-mqtt. коим из коробки является rabbitmq, хотя про из коробки соврал - нужен плагин RabbitMQ-MQTT - соответственно оный преобразует имена mqtt в amqp - заменяя “слеши на точки”. Соответственно сбор телеметрии идет с очередей, а управляющие воздействия идут в точки обмена - все как обычно собственно. https://www.rabbitmq.com/mqtt.html

Я активно пытаюсь исследовать возможности wirenBoard https://contactless.ru/ - они хотя бы заявляли о том что будут поддерживать устройства в том числе по шине modBUS и наверх отдавать mqtt.
Но на текущий момент как и все производители устройств очень сильно пофигичтически относятся к клиентам :wink: (смотри пункт 1)


#4

Вот насчет дорого и богато мне до конца непонятно - как показала практика изучения: вот эти вот промышленные решения таже рассыпуха, собранная из палок на морально-волевых. Как только оно собрано - у Овена, Сименса и других морально волевые усилия заканчиваются и дальше уже работают комерсы в формате “Покупайте наших слонов”. Микроконтролеры устаревают в течении года и приходится либо жить на старом “палочном поделье”, либо искать другого вендора у которого еще не кончились морально волевые.

Я пока не видел микроконтролеров с услугой планового обновления с обеспечением обратной совместимости по железу.

у wirenBoard прошивка хотя бы обновляется раз в 2 недели https://forums.contactless.ru/t/aktualnye-versii-po/1387

и есть определенная модульность, но вот замена старого контролера на обновленный пока не предусмотрена. например зимой пытался как-то выйти на вот этих товарищей http://kaskad-asu.com/ - как-то не вышло: никому не интересна гибкость на уровне микроконтролеров, все хотят срубить по быстрому и по легкому.


#5

Вести с полей - для начала скриншот, а затем объяснение подсистемы для 1С

Итак - напишу в терминах метаданных 1С.

В целом у нас есть

Справочник.Сенсоры с реквизитами

  • наименование
  • место размещения - ссылка на МестаРазмещения (предположительно тоже справочник)
  • код
  • имя устройства - уникальное: назначается контролером протокола mqtt.

дальше у нас есть

Справочник.КонтролерыУстройств

  • контролер имеет адрес в сети брокера сообщений с сенсоров
  • контролер имеет точку обмена в брокере для сенсора

Соответственно уникальность достигается связкой “АдресБрокера.ИмяУстройства”

В подсистеме есть несколько команд

  • ПодключитсяКСерверуКонтролера(АдресВСети)
  • ВключитьАвтоматическоеОпределениеНаличествующихСенсоров(СсылкаНаСерверКонтролера)

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

у Сенсора есть еще несколько команд

  • ПодписатьсяНаИсториюЗначений()
  • ОтправитьУправляющееВоздействие() (например ВключитьАлярмСигнал)

реализуется на “малинке”, “ардуине” и “варенбоарде” одинаково по архитектуре - различие только в объеме паяния и красноглазия для сборки прошифки контролера.

Выше скриншот датчика/сенсора и его очередь в yrmq которую мы уже умеет в 1С.