我正在做一个结合机器人技术和云计算的项目。 从简单开始,我目前将树莓派与Ubuntu和ROS Kinectic结合使用,并通过一些伺服电机和传感器控制arduino。为了监视传感器数据,我想使用适用于Azure IoT Hub的Python SDK将Raspberry连接到Microsoft Azure Cloud。
这可以通过创建一个订阅“传感器”主题的节点并将接收到的数据发送到Azure IoT中心来完成。
我在Github上找到了一个Azure IoT HuB节点,但不知道如何使用它或在其中找到文档:https://github.com/microsoft/ros_azure_iothub
我想知道是否有人对此节点有一些建议/经验吗?有文件吗?
感谢您的帮助!
答案 0 :(得分:0)
这是使用python将树莓派连接到Azure IOT集线器所需要做的步骤
1)设置您的PI
对于设置,您可以使用此link在pi上启用SSH。
在Pi上启用I2C 使用下面的链接启用I2C。 https://www.raspberrypi.org/documentation/configuration/raspi-config.md
2)将传感器与PI连接
3)下载并设置引用的模块
将客户端应用程序克隆到本地:
sudo apt-get install git-core
git clone https://github.com/Azure-Samples/iot-hub-python-raspberrypi-client-app.git
由于Python的Azure IoT开发工具包是[SDK for C] [azure-iot-sdk-c]的包装,因此,如果需要或需要从中生成Python库,则需要编译C库。源代码。
cd ./iot-hub-python-raspberrypi-client-app
sudo chmod u+x setup.sh
sudo ./setup.sh
在上面的脚本中,我们运行不带参数的./setup.sh,因此shell将自动检测并使用已安装的python版本(搜索顺序2.7-> 3.4-> 3.5)。另外,您可以使用参数指定要使用的python版本,如下所示:sudo ./setup.sh [--python-version | -p] [2.7 | 3.4 | 3.5]
Known build issues:
1.) On building the Python client library (`iothub_client.so`) on Linux devices that have less than **1GB** RAM, you may see build getting **stuck** at **98%** while building `iothub_client_python.cpp` as shown below
``[ 98%] Building CXX object python/src/CMakeFiles/iothub_client_python.dir/iothub_client_python.cpp.o``
If you run into this issue, check the **memory consumption** of the device using `free -m command` in another terminal window during that time. If you are running out of memory while compiling iothub_client_python.cpp file, you may have to temporarily increase the **swap space** to get more available memory to successfully build the Python client side device SDK library.
您可以参考示例代码here。
希望有帮助。