如何将Raspberry PI连接到Azure IoT:分步说明

哈Ha! 我向您展示了文章“通过Azure IoT连接Raspberry PI:分步教程”的翻译

在本文中,我们将向您展示如何连接Raspberry Pi作为外围设备,以使用Azure IoT Edge模块将信号传输到LED面板。

在大多数步骤中,我们将使用Azure CLI和Azure门户来启动Azure IoT Edge。

为此,我们将需要:

  • Raspberry Pi 3 Model B +(LED面板)
  • Microsoft Azure帐户
  • 最新版本的Azure CLI
  • Azure IoT CLI扩展(组件)

安装和配置Azure IoT


现在,我们安装Azure CLI,创建IoT中心并连接设备。 我们还将为Raspberry Pi创建标识符,并使用其访问参数在IoT中心中进行识别。 此外,我们使用启用了add-edge的功能将Raspberry Pi连接到Azure IoT Edge。

若要安装和初始配置Azure IoT,您需要:

  1. docs.microsoft.com/zh-cn/cli/azure/install-azure-cli?view=azure-cli-latest在计算机上安装最新版本的Azure CLI
  2. 使用以下方法配置Azure CLI:

    $ az extension add --name azure-cli-iot-ext</li> 
  3. 为我们的项目建立一个资源组:

     $ az group create --name rasp-IoT --location westus 
  4. 创建用于将外围设备连接到Azure IoT的网关:

     $ az iot hub create --resource-group rasp-IoT --name rasp-IoT-Hub --sku S1 
  5. 为Raspberry Pi和设备创建ID:

     $ az iot hub device-identity create --hub-name rasp-IoT-Hub --device-id myPi001 --edge-enabled 

    此命令将产生连接设备所需的特定字符串。
  6. 将输出字符串复制到文件或剪贴板。 稍后我们将使用它将设备连接到IoT中心。

连接树莓派


Azure IoT Edge模块充当容器。 要将Raspberry Pi连接到Azure IoT中心和Azure IoT Edge,我们需要:

  1. 在Raspberry Pi上安装Docker:

     $ curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh 

    您还可以使用以下命令检查其版本:$ sudo docker version
  2. 安装Azure IoT Edge运行时,它将作为后台守护程序运行:

     $ curl -L https://aka.ms/libiothsm-std-linux-armhf-latest -o libiothsm-std.deb && sudo dpkg -i ./libiothsm-std.deb 

     $ curl -L https://aka.ms/iotedged-linux-armhf-latest -o iotedge.deb && sudo dpkg -i ./iotedge.deb 

     $sudo apt-get install -f 

     $ curl -L https://aka.ms/iotedged-linux-armhf-latest -o iotedge.deb && sudo dpkg -i ./iotedge.deb 

     $sudo apt-get install -f 
  3. 使用以下方法将设备连接到Azure IoT中心:

     $ az iot hub device-identity create --hub-name rasp-IoT-Hub --device-id myPi001 --edge-enabled 

    我们已经使用此命令为Raspberry Pi创建标识符。
  4. 在任何编辑器中打开/etc/iotedge/config.yaml文件,并将“ ADD DEVICE CONNECTION STRING HERE”替换为用于连接以前复制到文件/缓冲区的设备的特定行。

    图片
  5. 重新启动IoT Edge后台进程并检查其状态:

 $ sudo systemctl restart iotedge 

 $ sudo systemctl status iotedge 

图片

现在我们可以安装LED面板控制模块了。

部署Azure IoT Edge模块


以下是一个简单的示例,清楚地显示了Azure IoT Edge模块的概念,部署和管理:

  1. 在浏览器中启动Azure门户。
  2. 转到IoT中心,然后使用“自动化设备管理”选择IoT Edge。

    图片
  3. 在IoT Edge设备中,选择PI1设备,然后单击Set Modules。

    图片
  4. 展开添加列表,然后选择IoT Edge模块以部署自定义模块。

    图片

现在,我们将使用Azure门户将容器作为模块进行部署。 在此之前,我们需要创建一个Docker映像并将其保存在Docker Hub中作为示例。

转到IoT Edge自定义模块,然后执行以下步骤:

  1. 在名称字段中,输入矩阵。 这将是我们模块的名称。
  2. 在图像URI字段中,输入janakiramm /矩阵:v1。
  3. 由于不需要访问Raspberry Pi上的本地I2C总线,因此需要以特权模式运行容器。 要启用它,请在“容器创建选项”中插入以下JSON行:

     { “HostConfig”: { “Privileged”: true } } 
  4. 在以下框中保留默认设置。
  5. 单击“保存”以确认部署。

这将在外围设备上启动自定义模块的部署。

您还可以使用Raspberry Pi上的iotedge CLI检查模块与设备的连接:

 $ sudo iotedge list 



成功部署模块后,连接到Raspberry Pi的面板上的二极管将闪烁。



使用Azure IoT云服务,您可以创建更加复杂且功能丰富的IoT解决方案。 例如,即时扩展外围设备上的自定义开发,仅将当前数据发送到云,而主要功能在本地使用。

我们认为这听起来很有希望。

Azure中的去中心化芯片


出现了一个很酷的新功能,该功能使Microsoft与其他云服务提供商区分开来,并且在我们看来,它更全面地实现了WEB 3.0的完全去中心化概念。 当然,我们指的是分布式注册表技术。

在Azure区块链工作台上,您可以在全球可访问的平台上实施创新的区块链解决方案。 老实说,几乎没有人能与专业分散式应用程序(DApps)对用户造成的“哇效应”相抗衡。

然而,这不仅是指围绕ICO的加密和炒作的盛行。 使用Azure区块链工作台,开发人员可以在其项目中实现分布式注册表的独特功能,包括IoT解决方案。 这就是为客户获得的结果带来附加值的原因。

分布式注册表技术有望将价值交付提升到一个全新的水平,因此,即使对相应的云服务(如同一个Azure Blockchain Workbench)进行表面研究也将需要单独发布。 当然,如果您也对该主题感兴趣,我们绝对不介意“潜水”,尤其是Azure区块链。

保持联系,保持关注并谈论您对阅读还有其他兴趣。

Source: https://habr.com/ru/post/zh-CN436050/


All Articles