Azure Iot Hub To Esp-32 (работает пн goose ОС) - PullRequest
0 голосов
/ 27 января 2020

Я часами пытался найти способ получать сообщения на моем esp с операционной системой Mon goose от Azure IoT Hub, мои цели - вызвать некоторый код (или функцию) из Azure IoT Hub (с помощью приложений Functions, но я выясню это позже).

Как я могу подключить их?

Я думал об использовании MQTT, но не могу найти какую-либо документацию по как это сделать Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 29 января 2020

Спасибо, что нашли время ответить, у меня все получилось. В Mon goose OS используется этот код для подписки на сообщения концентратора IoT:

MQTT.sub('devices/' + Cfg.get('device.id') + '/messages/devicebound/#', function(conn, topic, msg) {
 print('Topic:', topic, 'message:', msg);
}, null);

И в Azure Функции Я использую триггер HTTP со следующим кодом:

var connnectionString = ConfigurationManager.AppSettings["aConnectionString"];

var serviceClient = ServiceClient.CreateFromConnectionString(connnectionString);

var commandMessage = new Message(Encoding.ASCII.GetBytes($"Message!"));

await serviceClient.SendAsync("esp32_8965FC", commandMessage);
0 голосов
/ 27 января 2020

Чтобы отправлять сообщения из облака через концентратор IoT на устройства, вы не используете протокол MQTT. Вместо этого вы (обычно) используете IoT Hub Service SDK. Смотрите здесь пример того, как это сделать в C#: https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-csharp-csharp-c2d#send -a-cloud-to-device-message

Существуют также SDK для других языков. Если вы не хотите использовать какой-либо из SDK, вы также можете вызвать REST API сервисной стороны IoT-хаба.

Вот также пример, показывающий, как это сделать в функции Azure (только первый результат Google): https://gist.github.com/jsturtevant/1d383c682d0d2c6422218bac4b7f5c8d#file -run-csx

...