Closed yaweiw closed 7 years ago
Hi @yaweiw This is a perfectly reasonable ask (at least for MQTT as I suspect AMQP might be a bit too much in terms of memory usage to be brought up). We will look into this soon and will keep you posted here.
Can you please confirm or refute, that currently only sending data to the IoTHub is supported and not receiving messages via MQTT? I'm a bit confused...
At this point you can only use HTTP to send AND receive messages using the Arduino lib. We are planning to bring MQTT support soon and certainly AMQP later.
Hey, thanks for the answer. How can I receive notifications with HTTP? Does your lib use long polling?
Plans for supporting MQTT sound good!
The library doesn't implement long poling, you have to do it in your loop. MQTT will definitively solve this.
For AMQP & MQTT, I use below code snippet to poll for iot client status while ((IoTHubClient_LL_GetSendStatus(iotHubClientHandle, &status) == IOTHUB_CLIENT_OK) && (status == IOTHUB_CLIENT_SEND_STATUS_BUSY)) { IoTHubClient_LL_DoWork(iotHubClientHandle); ThreadAPI_Sleep(100); }
Hi @yaweiw I wouldn't recommend using this pattern. When using the lower layer of the C SDK (you can read more about lower layer vs. convenience layer of the C SDK here), the DoWork is about triggering all the work the client SDK has to do: send a message, receive a message,...). If you condition the call to DoWork on the GetSendStatus, then you will never receive a message if you are not sending one...
@olivierbloch in our code, sending is happening constantly.. any possibility to just receive while not send. I guess it's no according to behavior of IoTHubClient_LL_DoWork?
Actually you can receive without ever sending. You need to register the callback for receiving messages, then regularly call DoWork. If a message is sent from the Cloud to the device then the next time the DoWork is called, the device client will get the message and will invoke the callback you registered. Our samples show this pattern
@olivierbloch Could you roughly estimate when you will support MQTT with this library? In 1 month, 6 month or 1 year?
Please I would like to have that answer as well.
Would also very much like to know any kind of rough timeline indication on this. Thanks for the great work!
We are actively working on bringing MQTT support and expect this to be shipped in the next month or so.
MQTT would make a great Holiday gift! Thanks for your efforts. Best regards
Hi, Microsoft has just added MQTT for Arduino... Happy holydays!
as titled.