本文介绍基于树莓派(Raspberry Pi),搭建Link IoT Edge标准版(LE Standard)运行环境的方法。

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

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

准备工作

准备符合如下表格中要求的树莓派设备。
项目 规格
树莓派 树莓派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. 单击新增实例,在弹出窗口中设置实例名称
      说明 实例名称支持中文、英文字母大小写、数字、下划线(_)和短划线(-),长度不超过20个字符,1个中文汉字算2个字符。
    2. 网关产品下单击新建网关产品,为实例创建网关。
      物联网边缘计算中的网关承载边缘计算能力,每个实例必须分配一个网关设备,并且该网关设备同一时间只能被分配到一个边缘实例。创建网关产品
    3. 在新建产品页面中,设置网关产品参数,然后单击完成
      物联网边缘计算中的新建网关产品,继承了物联网平台设备管理 > 产品中的产品功能,此处已自动为您简化了创建产品的步骤,以便您更快速地创建适合物联网边缘计算中使用的网关产品。
      表 1. 参数说明
      参数 说明
      产品名称 为网关产品设置名称,用于后续的查询及识别网关产品。支持中文、英文字母大小写、数字和下划线(_),长度限制4~30,一个中文汉字算2位。
      产品描述 可输入文字,用来描述产品信息。字数限制为100。可以为空。

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

    4. 新增实例页面,单击网关设备下的新建网关设备为网关产品添加设备。
      物联网边缘计算中的新建网关设备功能继承物联网平台设备管理 > 设备的功能。新建网关设备
    5. 根据界面提示设置参数后,单击确认
      表 2. 参数说明
      参数 描述
      产品 系统已自动关联上一步创建的网关产品。
      设备名称 为该网关设备命名。设备名称需保持产品内唯一。如不填写,系统将自动生成。
      说明 设备名称长度为4~32个字符,可包含英文字母、数字和特殊字符,包括连接号(-)、下划线(_)、at符号(@)、点号(.)和英文冒号(:)。
    6. 根据所搭建的环境,选择对应的Link IoT Edge产品规格,详细介绍请参见产品规格
    7. (可选)在新增实例页面,单击新增标签,可以设置实例标签。通过标签您可以更加有效地归类及识别实例。您也可以不设置标签。
      若设置实例标签,请填写标签key标签value
      表 3. 参数说明
      参数 描述
      标签key 不可为空,仅支持英文字母大小写,长度不超过20个字符,同一个边缘实例不可以重复定义标签key。
      标签value 不可为空,支持中文、英文字母大小写、数字、下划线(_)和短划线(-),长度不超过20个字符,1个中文汉字算2个字符。
  3. 实例参数设置完成后,单击确定,至此您已创建边缘实例和网关。

安装并启动Link IoT Edge

根据本文上方创建边缘实例和网关内容,创建完成边缘实例并分配网关后,您需要在网关上安装并启动Link IoT Edge。

  1. 在左侧导航栏中选择边缘计算 > 边缘实例,单击实例名称右侧的软件安装
    下载命令
  2. 根据环境设置软件安装相关参数,然后单击生成安装命令
    下载命令
    表 4. 参数说明
    参数 描述
    边缘网关CPU架构 您的设备系统对应的CPU架构。此处选择ARMv7 VFPv3
    产品规格 在创建边缘实例时,已选择实例中使用的Link IoT Edge版本。此处不可操作。
    边缘版本

    选择Link IoT Edge的发布版本。

    操作系统 选择您的设备对应的操作系统。此处选择Linux
  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. (可选)Link IoT Edge支持将边缘实例授权给其他阿里云用户操作。
    边缘实例页面,单击左上角授权,在弹出对话框中单击新增授权,根据界面提示设置参数。实例授权
    表 5. 参数说明
    参数 描述
    授权用户UID 获取被授权用户的阿里云账号ID,填入此处。
    授权实例 选择允许该阿里云账号ID的用户进行远程运维操作的边缘实例。

使用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. 当部署状态显示为部署成功,表示部署实例完成。您可以单击查看日志,查看部署详情。您也可以通过单击实例详情页面右上角的查看部署日志,查看历史部署情况。
    查看部署日志