Azure IoT Edge on Raspberry Pi 3 with Raspbian

Azure IoT Edge on Raspberry Pi 3 with Raspbian

        在《Azure IoT Edge on Windows 10 IoT Core》一文中,我们以运行Windows 10 IoT Core的MinnowBoard MAX为例,详细讲述了Windows 10 IoT Core(Build 16299)的安装、Docker的部署、Python和Iotedgectl工具的安装、IoT Edge Device的创建、Module的部署与运行。

        本文中,我们将以运行Linux的树莓派3为例,详细讲述Raspbian系统的安装、Python和pip工具的安装、Docker的部署、IoT Edge Control的安装、IoT Edge Device的创建以及Module的部署与运行。

 

1. 在Raspberry Pi 3 上安装Raspbian系统

        对于树莓派3而言,Raspbian是官方支持的系统,其系统安装就是将Raspbian烧写到TF卡中。首先,用户可以到树莓派的官网下载系统(链接为:https://www.raspberrypi.org/downloads/raspbian ),下载的光盘镜像文件Raspbian-stretch大约有1.7G。然后,准备一张8G、Class10 以上的TF卡,将其插入到读卡器并连接到PC。接着,利用Etcher工具(https://etcher.io/ )把下载的系统烧录到TF卡中。

clip_image002

        整个过程大概需要15分钟,如果TF卡速度快,那时间就会短很多。烧写完成之后,将TF卡插入树莓派3,同时,为树莓派的HDMI接上显示器、鼠标和键盘,就可以上电了。系统运行以后,在树莓派的设置中,将Enable SSH的选项勾上,如下图所示。

clip_image004

        接下来,我们需要使用Putty连接树莓派,默认情况下,用户名是pi,密码是raspberry。

clip_image006

        然后,我们需要运行如下指令来更新系统:

          sudo apt update && sudo apt full-upgrade –y

 

2. 安装Python和pip

        由于Azure IoT Edge Runtime本身就是一个Python pip,所以需要在树莓派上安装这个工具。如果安装系统镜像的时候,是最新的文件,那么Python和pip应该是2.7.13和9.0.1的版本。可以通过如下两个指令来查看:

          python --version

          pip –version

        输出结果如下:

clip_image008

        如果没有安装Python和pip,那么可以通过以下命令安装:

          sudo apt install python-pip -y

        之后,我们需要对工具进行更新,分别键入如下指令:

          sudo pip install --upgrade setuptools pip

          sudo apt install python2.7-dev libffi-dev libssl-dev -y

        执行结果如下图所示:

clip_image010

3. 安装Docker

        利用Putty连接树莓派,使用如下命令安装Docker

          curl -sSL https://get.docker.com | sudo -E sh

        安装完成之后,为当前用户(pi)添加运行Docker的权限,

          sudo usermod -aG docker pi

        然后,使用如下指令重启树莓派:

         sudo reboot

        并使用下面的指令来测试Docker运行状态:

         docker run hello-world

        其输出如下:

clip_image012

        现在,我们需要通过Docker将IoTedge Agent 和 IoTedge Hub这两个模块 Pull到本地,即在PowerShell中分别运行:

          docker pull microsoft/azureiotedge-agent:1.0-preview

          docker pull microsoft/azureiotedge-hub:1.0-preview

 

4. IoT Edge Device的创建

        这部分可以参考《Azure IoT Edge on Windows 10 IoT Core》一文中的第4部分,在IoT Edge中创建一个名为Raspberry的IoT Edge Device,并获得其连接字符串Connection String。

 

5. IoT Edge Runtime的部署与配置

        首先,使用如下命令安装IoT Edge control脚本:

          sudo pip install -U azure-iot-edge-runtime-ctl

        之后,通过执行如下指令来配置IoT Edge Runtime:

          iotedgectl setup --connection-string "{device connection string}" --auto-cert-gen-force-no-passwords

        其中的"{device connection string}"由上面第4步中保存的Connection String来代替。

clip_image014

        配置结果如下,显示设置成功:

clip_image016

        配置完成后,开始运行IoT Edge Runtime:

          sudo iotedgectl start

clip_image018

        IoT Edge Runtime运行以后,可以通过如下命令查看IoT Edge agent的运行情况:

          sudo docker ps

        输出如下:

clip_image020

        表明IoT Edge hub和agent已经开始运行。

 

6. 部署一个Module并监控数据

        这部分可以参考《Azure IoT Edge on Windows 10 IoT Core》一文中的第6部分,在Azure Portal中为Raspberry创建一个Module。

        运行起来以后,用户可以通过Azure Device Explorer工具完成数据监控,这部分内容可以参考《Azure IoT Edge on Windows 10 IoT Core》一文中的第7部分.

clip_image022

        至此,我们已经在树莓派上完成了Raspbian的安装,进行了Docker的部署和Python、Iotedgectl工具的安装,同时,在Azure Portal上完成了IoT Edge Device的创建、Module的部署与运行。同时,通过Azure Device Explorer工具监控Edge Device和Azure IoTHub数据的交互。

 

参考链接:

1. Azure IoT Edge on Windows 10 IoT Core

2. https://docs.microsoft.com/en-us/azure/iot-edge/tutorial-simulate-device-Linux

3. https://pypi.python.org/pypi/azure-iot-edge-runtime-ctl#installation-troubleshooting

4. http://blog.jongallant.com/2017/11/azure-iot-edge-raspberrypi/

5. Azure Device Explorer工具下载:https://github.com/Azure/azure-iot-sdk-csharp/releases

 




本文转自灵动生活博客园博客,原文链接:http://www.cnblogs.com/dearsj001/p/AzureIoTEdge4RaspberryPi.html ,如需转载请自行联系原作者
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/365151

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。