Разработка границ IIoT - Использование Modbus
Примечание редактора. Промышленный Интернет вещей (IIoT) обещает обеспечить глубокое понимание промышленных операций и повысить эффективность подключенных машин и систем. Крупномасштабные приложения IIoT полагаются на многоуровневую архитектуру для сбора данных с широкого диапазона датчиков, надежного и безопасного перемещения данных в облако и выполнения анализа, необходимого для обеспечения такого понимания и эффективности. В статье «Разработка промышленных Интернет-приложений» авторы подробно исследуют архитектуру IIoT и обсуждают подходы для удовлетворения широких требований, связанных с этими системами.
По материалам Industrial Internet Application Development, авторы:Алена Траукина, Джаянт Томас, Прашант Тяги, Кишор Реддипалли.
Глава 3. Разработка IIoT Edge (продолжение)
Авторы:Алена Траукина, Джаянт Томас, Прашант Тяги, Кишор Реддипалли
Промышленные протоколы M2M - Modbus
В этом разделе мы попытаемся создать простое приложение IoT для отправки данных из модуля симулятора датчика на устройство-приемник (ПК или облако) с использованием концентратора Raspberry Pi и протокола Modbus:
Поток данных от имитатора датчика к приемному устройству
Для устройств с ограниченными аппаратными ресурсами имеет смысл использовать протокол Modbus для последовательной связи. Несмотря на простоту, он имеет несколько открытых и проприетарных реализаций, которые различаются по функциональности.
Обратите внимание, что этот протокол можно использовать на транспортном уровне, но в нашем примере мы собираемся использовать Modbus TCP, работая на уровне приложения.
В следующей таблице вы можете найти более подробное описание протокола, чтобы понять, подходит ли он для ваших нужд:
Ключ Значение Открытый исходный код Да * Уровень OSI Транспорт или приложение Типы данных Целое число, с плавающей точкой, строка, BooleanLimitations • Нет поддержки больших двоичных объектов• Главный узел регулярно опрашивает каждое устройство на предмет изменения данных *
• Максимум 254 устройства, адресованных по одному каналу передачи данных *
• Разрешены только непрерывные передачи
Возможные операции:чтение и запись регистров и катушек, диагностика, задержка, высокое использование, SMS, GPRS, проводная, беспроводная, ячеистая связь, безопасность, отсутствие сжатия, нет.Таблица 4:Характеристики протокола Modbus
Значения, отмеченные *, не применимы ко всем реализациям протокола Modbus.Для сборки приложения нам потребуется следующее:
-
Требуемое программное обеспечение:
-
Node.js 6+ ( https:/ /nodejs.org/en/download/ )
-
PostgreSQL ( https://www.postgresql .org / скачать / )
-
Интерфейс командной строки Cloud Foundry ( https:// github.com/cloudfoundry/cli#downloads )
-
Запрос ( https://www.npmjs .com / package / request )
-
Modbus ( https://www.npmjs .com / пакет / modbus )
-
Docker ( https://docs.docker .com / engine / installation / )
-
-
Требуемое оборудование:
-
Raspberry Pi 3 (модель B)
-
Адаптер питания (2A / 5V)
-
Карта microSD (более 8 ГБ) и адаптер SD
-
Кабель Ethernet для проводного сетевого подключения
-
Подготовка SD-карты
Чтобы подготовить SD-карту, выполните последовательность действий, как описано:
-
Загрузите последний образ Raspbian LITE (доступен по адресу https://raspberrypi.org/downloads/raspbian/ ).
-
Подключите SD-карту к компьютеру и используйте Etcher ( https:// io / ) для прошивки Raspbian . img файл на SD-карту.
-
Включить SSH:
cd / Volumes / boot
touch ssh
-
Чтобы включить Wi-Fi, создайте conf со следующим содержанием:
network ={
ssid =”YOUR_SSID”
psk =”YOUR_WIFI_PASSWORD”
}
-
Создайте / home / pi / hub
-
Создайте / home / pi / hub / package.json файл со следующим содержанием:
{
«name»:«hub»,
«version»:«1.0.0»,
«description»:«»,
«main»:«index.js», «scripts»:{
«start»:«node index.js»,
«test»:«echo« Ошибка:тест не указан » &&exit 1 ″
},
«автор»:«»,
«лицензия»:«ISC», «зависимости»:{
«modbus»:«0.0.16 »,
« запрос »:« ^ 2.81.0 »
}
}
-
Создайте / home / pi / hub / index.js файл со следующим содержимым, заменив REMOTE-SERVER-ADDRESS.com и АДРЕС ДИСТАНЦИОННОГО ДАТЧИКА с реальными значениями:
-
Создайте / home / pi / hub / Dockerfile файл со следующим содержанием:
ОТ hypriot / rpi-node:boron-onbuild
RUN apt-get update &&apt-get install -y libmodbus5
-
Создайте / home / pi / sensor
-
Создайте / home / pi / sensor / package.json файл со следующим содержанием:
{
«name»:«sensor»,
«version»:«1.0.0»,
«description»:«»,
«main»:«index.js», «scripts»:{
«start»:«node index.js»,
«test»:«echo« Ошибка:тест не указан » &&exit 1 ″
},
«автор»:«»,
«лицензия»:«ISC», «зависимости»:{
«modbus»:«0.0.16 ”
}
}
-
Создайте / home / pi / sensor / index.js файл со следующим содержимым, заменив REMOTE-HUB-ADDRESS.com с реальной стоимостью:
-
Создайте / home / pi / sensor / Dockerfile файл со следующим содержанием:
ОТ hypriot / rpi-node:boron-onbuild
RUN apt-get update &&apt-get install -y libmodbus5
Интернет вещей
- Гиперконнектность требует более широкой перспективы
- Периферийные вычисления:5 потенциальных ловушек
- Перспективы развития промышленного Интернета вещей
- Обновление Индустрии 4.0 с помощью пограничной аналитики
- 10 лучших платформ IIoT
- Тенденции и проблемы IIoT, за которыми стоит следить
- Меняют ли периферийные вычисления и IIoT наше представление о данных?
- Что такое Интернет вещей?
- Использование искусственного интеллекта и машинного обучения для извлечения полезной информации в погранич…
- Автомобилестроение на грани