Azure-Samples / iot-hub-c-raspberrypi-client-app

Application collects weather data from a BME280 sensor and sends it to IoT hub, also take actions according to cloud-to-device message, device management.
https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-raspberry-pi-kit-c-get-started
MIT License
36 stars 34 forks source link

Error when running the sample app - MULTITREE_CHILD_NOT_FOUND #42

Open pierre-gardyn opened 3 weeks ago

pierre-gardyn commented 3 weeks ago

I compiled and installed the azure-iot-sdk-c from the branch lts_08_2023, but when I compile the sample app, with SIMULATED_DATA 1, I get this error:

➜  0a43  build git:(master) ✗ sudo ./app "HostName=xxx.azure-devices.net;DeviceId=xxx;SharedAccessKey=xxx"
Info: Sending message: { "deviceId": "Raspberry Pi - C", "messageId": 1, "temperature": 26.200001, "humidity": 71.029999 }
Info: Message sent to Azure IoT Hub
Error: Time:Sat Jun  8 20:00:44 2024 File:/home/xxx/azure-iot-sdk-c/serializer/src/multitree.c Func:MultiTree_GetLeafValue Line:671 (result = MULTITREE_CHILD_NOT_FOUND)
Info: Sending message: { "deviceId": "Raspberry Pi - C", "messageId": 2, "temperature": 25.790001, "humidity": 71.809998 }
Info: Message sent to Azure IoT Hub
Error: Time:Sat Jun  8 20:00:46 2024 File:/home/xxx/azure-iot-sdk-c/serializer/src/multitree.c Func:MultiTree_GetLeafValue Line:671 (result = MULTITREE_CHILD_NOT_FOUND)
Error: Time:Sat Jun  8 20:00:52 2024 File:/home/xxx/azure-iot-sdk-c/serializer/src/multitree.c Func:MultiTree_GetLeafValue Line:671 (result = MULTITREE_CHILD_NOT_FOUND)

on the azure side, I see that I receive the first telemetry (the one with "temperature": 26.200001), but not subsequent ones. Same thing if I kill and restart the app, I receive the first one but not the ones after...

I guess the error is in the parsing of the response from Azure, leaving the first message un-acknowledged? Just a guess