Примеры сообщений от датчиков IOT для связи MQTT
Существует приложение M2M, которое хочет общаться с датчиками температуры на месте, то есть отправлять / получать сообщения, используя протокол MQTT pub/sub.
Я настроил как IOTDM, так и один с Eclipse OneM2M, используя Mosquito. Но я ищу несколько примеров API / команд, с помощью которых приложение M2M может отправить сообщение клиенту MQTT и наоборот.
Или, если кто-нибудь из вас может указать мне на соответствующие потоки вызовов, которые будут полезны.
Любая помощь будет высоко оценен.
2 ответа
Вот пример сообщения GET MQTT:
topic: /oneM2M/req/{{origin}}/{{cse-id}}/json
message:
{
"m2m:rqp": {
"op": "2",
"to": "{{resource_uri}}",
"fr": "{{origin}}",
"rqi": 12345,
"pc": ""
}
}
- {{resource_uri}} - это относительный путь ресурса, существующего на сервере oneM2M (например, / my_cse_base / my_ae)
- {{origin}} - источник, разрешенный (ACP) для получения ресурса
- {{cse-id}} - это идентификатор CSEbase
Полученное сообщение может быть похожим на:
topic: /oneM2M/resp/{{origin}}/{{cse-id}}/json
message:
{
"m2m:rsp": {
"rsc": 2000,
"rqi": 12345,
"pc": {
"m2m:ae": {
"pi": "Sy2XMSpbb",
"ty": 2,
"ct": "20170706T085259",
"ri": "r1NX_cOiVZ",
"rn": "my_ae",
"lt": "20170706T085259",
"et": "20270706T085259",
"acpi": ["/my_cse_base/acp_my_ae"],
"aei": "my_ae_id",
"rr": true
}
}
}
}
Пример POST:
topic: /oneM2M/req/{{origin}}/{{cse-id}}/json
message:
{
"m2m:rqp": {
"op": "1",
"to": "{{resource_uri}}",
"fr": "{{origin}}",
"rqi": 12345,
"ty": "4",
"pc": {
"m2m:cin": {
"cnf": "text/plain:0",
"con": "123",
"lbl": ["test"]
}
}
}
}
- {{resource_uri}} - это относительный путь ресурса, существующего на сервере oneM2M (например, / my_cse_base / my_ae)
- {{origin}} - источник, разрешенный (ACP) для создания нового ресурса.
- {{cse-id}} - это идентификатор CSEbase
Для выступления в JS я сделал приложение для измерения влажности почвы. Я использовал MQTT для отправки информации с моего Arduino на сервер, написанный на NodeJS. Я не знаю, есть ли у вас навыки в JS. Вы можете увидеть cond на моем репозитории github. Я надеюсь, что это решение может помочь вам.