На примере NODE-RED
подключаем считыватель
SAUK по протоколу MQTT
подключаем считыватель
SAUK по протоколу MQTT
Для интеграции со сторонней информационно-учетной системой любой из RFID-считывателей SAUK может иметь дополнительную программную надстройку, позволяющую UHF RFID-считывателю работать по протоколу MQTT, подключение возможно по Wi-FI или Ethernet.
MQTT (Message Queuing Telemetry Transport) - сетевой протокол для обмена сообщениями между устройствами по принципу "издатель-подписчик". Создан для систем с низкой пропускной способностью и нестабильной связью. Идеально подходит для IoT проектов, где важна скорость и надежность при ограниченных ресурсах.
Наиболее просто один из вариантов интеграции - отправку уведомлений об RFID-метках, можно продемонстрировать на примере node js в программной среде под названием NODE-RED. Простота заключается в визуализации и наглядности, в этой среде программирования есть большое количество так называемых программных модулей-блоков, каждый из которых решает свою задачу, а все вместе реализуют алгоритм.
MQTT (Message Queuing Telemetry Transport) - сетевой протокол для обмена сообщениями между устройствами по принципу "издатель-подписчик". Создан для систем с низкой пропускной способностью и нестабильной связью. Идеально подходит для IoT проектов, где важна скорость и надежность при ограниченных ресурсах.
Наиболее просто один из вариантов интеграции - отправку уведомлений об RFID-метках, можно продемонстрировать на примере node js в программной среде под названием NODE-RED. Простота заключается в визуализации и наглядности, в этой среде программирования есть большое количество так называемых программных модулей-блоков, каждый из которых решает свою задачу, а все вместе реализуют алгоритм.
Как это работает:
- Для работы применяется любой из сетевых интерфейсов Wi-Fi или Ethernet.
- UHF RFID-считыватели SAUK подключаются к брокеру (серверу-посреднику).
- Считыватели являются Издателями и отправляют сообщения в топики.
- Подписчики получают сообщения из топиков, на которые подписались.
Преимущества:
- Экономия трафика (маленький размер пакетов).
- Асинхронность (устройствам не нужно знать друг о друге).
- Масштабируемость.
- Надежность.
Где применяется:
- Умный дом.
- Промышленный интернет вещей.
- Телеметрия.
- Надежность.
Пункт 1. Выбираем брокера
- В качестве брокера MQTT можно выбрать один из серверов из интернет, которые практически всегда на связи, есть как платные, так и бесплатные.
- Мы остановимся на бесплатном тестовом сервере от mosquitto, который расположен по адресу test.mosquitto.org, порт 1883. При выборе бесплатного сервера для тестирования обратите внимание, что сервер-брокер MQTT может периодически сбрасывать подключения, а также быть лимитированным по времени оказания сервиса.
- Можно инсталлировать и настроить локальный брокер.
Популярные брокеры MQTT
- Mosquitto,
- EMQX,
- HiveMQ
Пункт 2. Настройка брокера MQTT
- В графическом пользовательском интерфейсе выдерите группу Управление каналами уведомлений. Если эта группа отсутствует, нажмите на кнопку "Режим Эксперт"
- Установите галочку Включить MQTT.
- Введите адрес MQTT сервера test.mosquitto.org.
- Введите номер порта 1883
- Поля с именем пользователя и паролем нужно оставить пустыми.
Пункт 3. Создайте простейший проект NODE-RED MQTT
- В палитре компонентов в группу Network выберите MQTT in и другие вспомогательные компоненты (как на картинке)
- Переместите компоненты на форму и объедините их связями.
- Можете скачать код потока, который приведен немного ниже по тексту, в пункте №8
Пункт 4. Настраиваем параметры MQTT in
Пункт 5. Указываем брокера MQTT
Пункт 6. Включение непрерывного сканирования
- После включения непрерывного сканирования считыватель будет производить мониторинг меток.
- Как только метка впервые попадет в поле действия прибора, её данные будут отправлены в брокер MQTT.
- Далее данные будут отправляться периодически с таймаутом "время повторной реакции на метку". Эта настройка производится в меню "RFID-метки. Идентификация и фильтрация".
Пункт 7. Проверка результата
- Убедитесь, что RFID-считыватель включен, также включено непрерывное сканирование.
- Поднесите метку к антенне.
- В NODE-RED в программной вкладке Debug (Отладка) появится уведомление от RFID-считывателя
Пункт 8. Код потока NODE-RED
Важно! В тексте скетча, в разделе подписки на управление реле, не забыть поменять серийный номер считывателя 9CEEF8 на серийный номер Вашего считывателя!
[
{
"id": "6b1ae35111928ebc",
"type": "tab",
"label": "Flow 2",
"disabled": false,
"info": "",
"env": []
},
{
"id": "ebbaab565f692ea6",
"type": "mqtt in",
"z": "6b1ae35111928ebc",
"name": "RFID Tags",
"topic": "rfid/#",
"qos": "1",
"datatype": "auto",
"broker": "local-mqtt",
"nl": false,
"rap": false,
"inputs": 0,
"x": 220,
"y": 140,
"wires": [
[
"7beefd2663ea5125"
]
]
},
{
"id": "7beefd2663ea5125",
"type": "debug",
"z": "6b1ae35111928ebc",
"name": "Raw MQTT",
"active": true,
"tosidebar": true,
"console": false,
"statusVal": "",
"statusType": "auto",
"x": 430,
"y": 140,
"wires": []
},
{
"id": "inject-relay1-on",
"type": "inject",
"z": "6b1ae35111928ebc",
"name": "Relay 1 ON",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "9CEEF8/relay",
"payload": "1",
"payloadType": "str",
"x": 250,
"y": 300,
"wires": [
[
"5d5ff635a4915786"
]
]
},
{
"id": "5d5ff635a4915786",
"type": "mqtt out",
"z": "6b1ae35111928ebc",
"name": "Publish Test",
"topic": "",
"qos": "1",
"retain": "false",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "local-mqtt",
"x": 470,
"y": 300,
"wires": []
},
{
"id": "local-mqtt",
"type": "mqtt-broker",
"name": "Test Mosquitto",
"broker": "test.mosquitto.org",
"port": "1883",
"clientid": "node-red-test",
"autoConnect": true,
"usetls": false,
"protocolVersion": "4",
"keepalive": "15",
"cleansession": true,
"autoUnsubscribe": true,
"birthTopic": "",
"birthQos": "0",
"birthPayload": "",
"birthMsg": {},
"closeTopic": "",
"closePayload": "",
"closeMsg": {},
"willTopic": "",
"willQos": "0",
"willPayload": "",
"willMsg": {},
"userProps": "",
"sessionExpiry": ""
}
]
[
{
"id": "6b1ae35111928ebc",
"type": "tab",
"label": "Flow 2",
"disabled": false,
"info": "",
"env": []
},
{
"id": "ebbaab565f692ea6",
"type": "mqtt in",
"z": "6b1ae35111928ebc",
"name": "RFID Tags",
"topic": "rfid/#",
"qos": "1",
"datatype": "auto",
"broker": "local-mqtt",
"nl": false,
"rap": false,
"inputs": 0,
"x": 220,
"y": 140,
"wires": [
[
"7beefd2663ea5125"
]
]
},
{
"id": "7beefd2663ea5125",
"type": "debug",
"z": "6b1ae35111928ebc",
"name": "Raw MQTT",
"active": true,
"tosidebar": true,
"console": false,
"statusVal": "",
"statusType": "auto",
"x": 430,
"y": 140,
"wires": []
},
{
"id": "inject-relay1-on",
"type": "inject",
"z": "6b1ae35111928ebc",
"name": "Relay 1 ON",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "9CEEF8/relay",
"payload": "1",
"payloadType": "str",
"x": 250,
"y": 300,
"wires": [
[
"5d5ff635a4915786"
]
]
},
{
"id": "5d5ff635a4915786",
"type": "mqtt out",
"z": "6b1ae35111928ebc",
"name": "Publish Test",
"topic": "",
"qos": "1",
"retain": "false",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "local-mqtt",
"x": 470,
"y": 300,
"wires": []
},
{
"id": "local-mqtt",
"type": "mqtt-broker",
"name": "Test Mosquitto",
"broker": "test.mosquitto.org",
"port": "1883",
"clientid": "node-red-test",
"autoConnect": true,
"usetls": false,
"protocolVersion": "4",
"keepalive": "15",
"cleansession": true,
"autoUnsubscribe": true,
"birthTopic": "",
"birthQos": "0",
"birthPayload": "",
"birthMsg": {},
"closeTopic": "",
"closePayload": "",
"closeMsg": {},
"willTopic": "",
"willQos": "0",
"willPayload": "",
"willMsg": {},
"userProps": "",
"sessionExpiry": ""
}
]
Пункт 9. Тестирование с помощью программы MQTT Explorer
- Найдите в интернете свободно распространяемый тестовый клиент для MQTT под названием MQTT Explorer (на момент написания статья стабильная версия 0.3.5).
- При запуске, приложение предложит ввести реквизиты брокера. Введите данные бесплатного тестового брокера test.mosquitto.org, порт 1883.
- Если подключились успешно, то на экране будут отображаться данные по обнаруженной метке RFID (если считыватель включен, переведен в режим непрерывного сканирования и в поле действия считывателя есть одни или более RFID-меток).
SAUK© 2020 – 2026. Все тексты и изображения, представленные на сайте, являются интеллектуальной собственностью SAUK. Могут быть использованы только по письменному согласию SAUK. SAUK® является зарегистрированным торговым знаком.