本文介绍基于树莓派(Raspberry Pi)系统,如何快速将网关连接到物联网边缘计算控制台,并将网关数据上传至云端。

Link IoT Edge标准版软件包支持在树莓派系统上运行,并在下面平台上进行了测试和验证:
硬件 操作系统
树莓派3B Raspbian

理论上Link IoT Edge也可以在其它版本的树莓派操作系统(树莓派2B/3B/3B+)上运行,但为了最佳的稳定性和安全性,建议您选择在官方支持的系统版本上运行。

准备工作

准备符合如下表格中要求的树莓派设备。
项目 规格
树莓派 树莓派3B
操作系统 Raspbian Stretch with desktop
内核 ≥ 4.13
Micro SD卡 ≥ 8GB
外设 HDMI线、键盘、鼠标、MicroUSB线

环境设置

在树莓派设备上需要设置Link IoT Edge运行所依赖的环境,如果您的树莓派设备上已经安装好Raspbian,请跳过步骤1至步骤3。

  1. 下载Raspbian镜像和SD镜像烧写工具。
  2. 使用Etcher将Raspbian镜像烧写到SD卡。
    将Micro SD卡插入读卡器,并接入到您的计算机。请参考树莓派操作系统镜像安装指南将Raspbian镜像烧写到Micro SD卡。
  3. 启动并配置Raspbian操作系统。
    将Micro SD卡插入您的树莓派设备上,连接好鼠标和键盘,通过HDMI线连接到监视器上,使用MicroUSB线进行供电,启动您的树莓派设备。
    1. 通过WiFi网络或者以太网将树莓派设备连接到Internet,配置方法请参考树莓派配置WiFi无线网络
    2. 配置SSH服务。
      • 执行sudo systemctl start ssh命令开启SSH服务。
      • 执行sudo systemctl status ssh命令查看SSH服务。
      • 执行sudo systemctl enable ssh设置开机自动启动SSH服务。
    在启动SSH服务之后,执行hostname -I命令获取树莓派的IP地址,通过网络SSH远程登录的方式登录树莓派设备。
  4. 检查Link IoT Edge运行环境依赖。
    1. 在树莓派设备的本地终端窗口或者SSH终端窗口执行以下命令,下载环境检查工具并运行。
      wget http://iotedge-web.oss-cn-shanghai.aliyuncs.com/public/testingTool/link-iot-edge_env-check.sh
      sudo chmod +x ./link-iot-edge_env-check.sh
      sudo ./link-iot-edge_env-check.sh
      说明 link-iot-edge_env-check.sh脚本在Link IoT Edge支持的平台需要以root权限运行并需要以下Linux系统命令:printf、echo、cat、ls、expr、grep、test、uname、set、head、sort、cut、uniq、xargs、ifconfig。
    2. 按照运行环境检查工具的提示在您的机器上安装所有必需的依赖项,当检查工具成功运行完成后,返回如下图信息,表示Link IoT Edge能够在您的机器上成功运行。
      运行结果

创建边缘实例和网关

  1. 物联网平台控制台,选择边缘计算 > 边缘实例
  2. 创建一个边缘实例。
    1. 单击新增实例,在弹出窗口中设置实例名称
    2. 网关产品后单击新建网关产品,为实例创建网关。
      物联网边缘计算中的网关,承载边缘计算能力,每个实例必须分配一个网关设备,并且该网关设备同一时间只能被分配到一个边缘实例。创建网关产品
    3. 在新建产品页面中,设置网关产品参数,然后单击完成
      物联网边缘计算中的新建网关产品,继承了物联网平台设备管理 > 产品中的产品功能,此处已自动为您简化了创建产品的步骤,以便您更快速地创建适合物联网边缘计算中使用的网关产品。创建产品
      表 1. 参数说明
      参数 说明
      产品名称 为网关产品设置名称,用于后续的查询及识别网关产品。支持中文、英文字母、数字和下划线,长度限制4~30,一个中文汉字算2位。
      所属分类 选择品类,为该产品定义物模型

      可选择的值为:

      • 自定义品类:需根据实际需要,定义产品功能。
      • 任一既有功能模板。

        选择任一物联网平台预定义的品类,快速完成产品的功能定义。选择产品模板后,您可以在该模板基础上,编辑、修改、新增功能。

      若您需要的网关没有特殊功能定义,建议您选择自定义品类

      产品描述 可输入文字,用来描述产品信息。字数限制为100。可以为空。

      产品创建成功后,页面自动跳转回新增实例页面,并且网关产品参数下自动分配了刚创建的网关产品。

    4. 新增实例页面,单击网关设备后的新建网关设备为网关产品添加设备。
      物联网边缘计算中的新建网关设备功能继承物联网平台设备管理 > 设备的功能。新建网关设备
    5. 根据界面提示设置参数后,单击确认
      表 2. 参数说明
      参数 描述
      产品 系统已自动关联上一步创建的网关产品。
      设备名称 为该网关设备命名。设备名称需保持产品内唯一。如不填写,系统将自动生成。
      说明 设备名称支持大写字母[A-Z]、小写字母[a-z]、数字[0-9]和下划线(_)。且不能以下划线开头或结尾。
    6. 根据所搭建的环境,选择对应的Link IoT Edge产品规格,详细介绍请参见产品规格
    7. (可选)在新增实例页面,单击新增标签,可以设置实例标签。通过标签您可以更加有效地归类及识别实例。您也可以不设置标签。
  3. 实例参数设置完成后,单击确定,至此您已创建边缘实例和网关。

启动Link IoT Edge

  1. 在左侧导航栏中选择边缘计算 > 边缘实例,单击实例名称右侧的软件安装
    下载命令
  2. 根据环境设置下载参数,然后单击生成安装命令
    下载命令
    表 3. 参数说明
    参数 描述
    CPU架构 您的设备系统对应的CPU架构。此处选择ARMv7 VFPv3
    产品规格 在创建边缘实例时,已选择实例中使用的Link IoT Edge版本。此处不可操作。
    边缘版本 选择Link IoT Edge的发布版本
    操作系统 选择您的设备对应的操作系统。此处选择Linux
    如果您暂时没有合适的硬件载体来运行Link IoT Edge,您可以单击对话框上方的立即体验,使用Cloud Shell虚拟机快速体验标准版Link IoT Edge的产品功能。使用立即体验功能有诸多注意事项,详情请参见基于阿里云Cloud Shell快速体验Link IoT Edge
    注意 同一个边缘实例只能启动一个Link IoT Edge,若在已经商用的边缘实例(即边缘实例已在硬件网关上启动了Link IoT Edge)使用立即体验功能时,会导致硬件网关上启动的Link IoT Edge和虚拟机上启动的Link IoT Edge不断互踢,影响您的正常业务。强烈建议您不要在已启动Link IoT Edge的边缘实例上使用立即体验功能。
  3. 复制操作系统命令备用。
    复制命令
  4. 登录您的树莓派系统机器后台。
  5. 任意目录下执行步骤3中已复制的命令。
    该命令实现一键下载、配置并启动Link IoT Edge。命令执行完成后,会在当前目录中下载link-iot-edge-standard.sh脚本。
    说明 如果不是第一次安装启动Link IoT Edge,可使用已下载的link-iot-edge-standard.sh脚本,对Link IoT Edge进行重启、停止、获取状态、修改配置参数等操作,命令详情请见下图。其他操作
  6. 执行如下命令查看Link IoT Edge核心服务的运行状态。
    sudo ./link-iot-edge-standard.sh --status

    若系统显示如下信息,表示Link IoT Edge核心服务启动成功。

    核心服务启动状态

    您也可以在物联网控制台,选择 边缘计算 > 边缘实例 ,在已创建好的边缘实例右侧单击查看进入实例详情页面,选择网关,查看网关状态。

    网关在线
  7. (可选)在实例详情页面,查看CPU使用率、内存使用率、存储使用率以及实例进程需要授权访问阿里云云监控(CloudMonitor)服务。
    1. 请根据云资源访问内容,添加角色或分配已有的角色,并为该角色添加管理云监控(CloudMonitor)的权限
    2. 选择设置页签,在实例信息中打开云监控状态按钮,如下图所示。
      打开云监控

      云监控状态打开后,可在实例详情页面选择监控信息,查看网关的各类监控信息。

  8. (可选)在实例详情页面选择设置,打开远程访问按钮后,可对网关进行远程管理,详细操作步骤请参见远程服务访问

使用systemd管理Link IoT Edge

您可以使用systemd来管理Link IoT Edge服务的启动(start)、停止(stop)和查看状态(status)。

Link IoT Edge的systemd service如下所示:

[Unit]
Description=Link IoT Edge

[Service]
Type=forking
Restart=on-failure
ExecStart=/linkedge/gateway/build/script/iot_gateway_start.sh
ExecReload=/linkedge/gateway/build/script/iot_gateway_start.sh
ExecStop=/linkedge/gateway/build/script/iot_gateway_stop.sh

[Install]
WantedBy=multi-user.target

您可运行如下命令下载该service文件,并拷贝到/etc/systemd/system/目录。

wget http://iotedge-web.oss-cn-shanghai.aliyuncs.com/public/testingTool/LinkIoTEdge.service
sudo cp LinkIoTEdge.service /etc/systemd/system/LinkIoTEdge.service

可以使用如下命令启动或者重启服务。

  • 启动命令:sudo systemctl start LinkIoTEdge.service
  • 重启命令:sudo systemctl restart LinkIoTEdge.service

可以使用如下命令停止服务。

sudo systemctl stop LinkIoTEdge.service

可以使用如下命令设置开机自动启动服务。

sudo systemctl enable LinkIoTEdge.service

下一步

环境搭建完成后,您可以根据设备接入章节内容,把您的设备接入到物联网边缘计算。同时也可以为边缘实例分配其他资源(如函数计算、消息路由等)管理您的设备。

接入设备或分配其他资源到边缘实例后,需要根据如下步骤部署边缘实例。

  1. 实例详情页面,单击右上角部署后在弹出框中单击确定,部署边缘实例。
  2. 当部署状态显示为部署成功,表示部署实例完成。您可以单击查看日志,查看部署详情。
    查看部署日志