-
Notifications
You must be signed in to change notification settings - Fork 258
V2 - Raspberry Pi 3B IoT Edge Device doesn't respond on a desired properties update #598
Comments
Hi Henrik, Can you provide some more details on what kind of problems you are running into? Are you not getting the Desired properties updated callback at all? Or is there some other problem? The reason I ask is because desired property update callbacks are that way not platform specific, so I am trying to understand your scenario and why you might be seeing this. |
Hi @varunpuranik or @dariuszparys , I don't get the desired properties updated callback on Raspbian, but only on (Docker-on-)Windows. So, in that sense it works only on one platform and in that sense the Windows box has become my dev box, at the moment. Moreover, I have also observed, that the updated desired properties eventually reaches the Edge, but it is not pickup up by the desired properties updated callback run-time. This is observed when I delete and re-add the module (given the same module name). I would like to provide you with more details. However, I don't exactly know, where to look in this case. Can you suggest which logs I should provide you? Thank you. /Henrik |
I'm having the same problem, but both on a RPi 2 and on my Windows 10 PC. I've tried running my own code and I've tried running the tempSensor sample module. Desired properties are picked up if I do an explicit read
but any callbacks registered are never called. Similarly, a registered method handler is also never called. Trying to invoke the direct method just gives me a timeout message:
Windows 10
Raspberry 2
Docker base images are I've attached log files from the Windows machine with IoTEdgeCtrl log level debug. I see no sign in the logs when trying to update desired properties or invoking a direct method. |
Thanks for the logs I'll have a look later today. /cc @varunpuranik |
Strangest thing, today desired properties updates just decided to work. Update desired updates in the Module Twin and boom, the update triggered on the PI. No change in the Direct Method though... |
Well, turns out I've been doing the wrong thing. Doh! I expected the Direct Method button in the IoT Edge Device page to be able to work with modules, but it doesn't. Also, I tried with the
|
@HenrikBach1 can you please submit your logs of edgeHub, edgeAgent and the Temperature Sensor you're using? |
Hi @dariuszparys, All referenced files can found here.
Thank you. /Henrik |
@HenrikBach1 I just tried to repro the problem. I can't. I can successfully update the module twin properties to the temperature simulator running on my Raspberry PI 3B. The question I have is how do you update the properties? I ran into problems using the portal what I did then was to leverage the Azure CLI IoT Hub extensions to update them. My command I used was
from Powershell. From Bash you need different JSON encoding. |
I haven't not tried to do a twin-module update from the CLI, yet. I have only done that from the Portal. If I now change the SendInterval to 30 from Portal, then, if I use your command excluding the
But, the tempSensor module doesn't react on that, too... If I issue:
Is there a way to see, which desired properties my pi has received?... Thank you. |
Hi @dariuszparys , If I move the sd-card to another pi2b, then the result is the same:
I have added a tempSensor.log-2 to here. |
Hi @dariuszparys , PowerShell doesn't seem to work with azure-cli, even though, I've logged in to the portal: PS C:\Users\hebh> az.cmd iot hub module-twin update --module-id tempSensor --device-id hebh-IoT-Edge-Rpi3B --hub-name he
bh-IoT-Hub-Test --set properties.desired='{\"SendInterval\": 7}'
az iot hub: 'module-twin' is not an az iot hub command. See 'az iot hub --help'.
PS C:\Users\hebh> az.cmd --version
azure-cli (2.0.32) The Bash I'm using is: $ bash --version
GNU bash, version 4.4.12(3)-release (x86_64-unknown-cygwin)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. And, as far as I can remember, I've installed the azure-cli with chocolatey: $ choco upgrade azure-cli -y
Chocolatey v0.10.11
Upgrading the following packages:
azure-cli
By upgrading you accept licenses for the packages.
azure-cli v2.0.32 is the latest version available based on your source(s). Thank you. |
@HenrikBach1 you have to install the iot hub extension prior to using it.
You can read the details here. Further the logs you specified are referencing the |
@dariuszparys Ok, then I'll (try to) show that the update properties behavior doesn't do what is expected in the v2/samples tomorrow , because, it was that code I've made module tests from... I thought that the Thank you. |
Hi @dariuszparys , Today, I've updated and build a new version of the tempSensor module from https://github.com/Azure/iot-edge/tree/master/v2/samples/azureiotedge-simulated-temperature-sensor. I updated the desired properties at I've updated the logs as requested here. You can reach my version of the module with these preliminary credentials: I'm doing my tests on a Rpi2B device. Thank you. |
@varunpuranik This time there is an exception in the CloudProxy code. Can you please check what could be the cause? Here are the log references for this exception https://gist.github.com/HenrikBach1/ac27243275857fc8170deef4c13823f3#file-edgehub-log-L2410-L2417 /cc @HenrikBach1 |
Hi @varunpuranik and @dariuszparys , Note, that I forgot in my first try to include my login credentials to my above repo. /Henrik |
Hi, anyone resolved that issue? I am experiencing same problem, but with module twin, instead of device twin. Module is receiving notifications on desired properties changed on amd64, but on arm32v7 nothing happens, it can only update on startup... Best regards, |
@koncewiczbartosz - What version of the EdgeHub are you using? The version information is at the top of the EdgeHub logs. |
Hi @varunpuranik It always behaves the same way, the module has started, uploaded twin at startup, then I change desired properties of module twin configuration in Azure Portal manually and nothing happens on Raspberry Pi. While in simulator and my laptop (Windows 10, linux container) it works perfectly fine - updates twins in blink of an eye. For issue reproduction, restart module and change single property in twin collection. NOTE: Error related to raspberry-device/adsPublisher is not relevant, issue is related to s7publisher. `[2019-03-29 08:33:32 +00:00]: Starting Edge Hub ██╗ ██████╗ ████████╗ ███████╗██████╗ ██████╗ ███████╗ 2019-03-29 08:33:48.737 +00:00 [INF] - Version - 1.0.6.19913336 (8288bc9bd6f6e15295fea506cd3f99d7f6347a6a) |
@koncewiczbartosz - thanks for all the details. From the logs, looks like you are running into the OOM exception - Have you set the OptimizeForPerformance flag to false for the EdgeHub, as explained here? https://docs.microsoft.com/en-us/azure/iot-edge/troubleshoot#stability-issues-on-resource-constrained-devices |
Hi @dariuszparys or @varunpuranik,
I have issues with receiving desired properties updates from Azure IoT Hub to my Raspberry Pi 3B running Rasbian Stretch.
I have checked that the issue exists both in the image from
microsoft/azureiotedge-simulated-temperature-sensor:1.0-preview
and a build from the latest source code fromhttps://github.com/Azure/iot-edge/tree/master/v2/samples/azureiotedge-simulated-temperature-sensor
to my repohebhddauazureiotedgetest1.azurecr.io/azureiotedge-simulated-temperature-sensor-linux-arm:0.2
:Moreover, the above issue doesn't exists at your "reference" platform (Docker-on-Windows using the linux-x64 cpu architecture). So, in that respect, it seems to be a specific Raspbian (
linux-arm
) issue.OS:
Raspbian GNU/Linux 9 (stretch)
@Raspberry Pi 3B
Docker:
Docker version 18.04.0-ce, build 3d479c0
IoT Edge Ctl:
iotedgectl 1.0.0rc22
To read from my repo, use:
hebhddauazureiotedgetest1
/wNf79YKKRZtEP9jVAIcbWRDu12/jwrNG
Thank you.
/Henrik
The text was updated successfully, but these errors were encountered: