基于树莓派搭建环境

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

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

理论上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. 在左侧导航栏单击边缘实例
  3. 创建一个边缘实例。
    1. 单击新增实例,在弹出对话框中设置实例名称
      说明 实例名称支持中文、英文字母大小写、数字、下划线(_)和短划线(-),长度不超过20个字符,1个汉字算2个字符。
    2. 根据所搭建的环境,选择对应的Link IoT Edge产品规格。详细介绍,请参见产品规格
      物联网边缘计算支持自动分配网关到边缘实例,您可以无需设置其它新增实例相关参数,直接跳转到步骤4。物联网边缘计算自动为您的边缘实例创建名为LEGatewayAuto的网关产品,并在该产品下添加一个随机命名的网关设备。
      说明
      • 物联网边缘计算自动为您创建LEGatewayAuto产品时,若您已有该名称的产品,则会在该名称后添加随机后缀,作为自动创建的网关产品。
      • 物联网边缘计算已为您自动创建过一次LEGatewayAuto产品后,在您后续新建边缘实例并自动分配网关时,会在LEGatewayAuto产品下新增网关设备,分配到您新的边缘实例中。
    3. (可选)单击标签信息下的新增标签,可以设置实例标签。通过标签您可以更加有效地归类及识别实例。您也可以不设置标签。
      若设置实例标签,请填写标签key标签value
      表 3. 参数说明
      参数描述
      标签key不可为空,仅支持英文字母大小写,长度不超过20个字符,同一个边缘实例不可以重复定义标签key。
      标签value不可为空,支持中文、英文字母大小写、数字、下划线(_)和短划线(-),长度不超过20个字符,1个中文汉字算2个字符。
  4. (可选)若您想要手动创建网关产品和设备并分配到边缘实例,请按如下步骤操作。
    1. 新增实例对话框,单击高级选项
    2. 网关产品下单击新建网关产品,为实例创建网关。
      物联网边缘计算中的网关承载边缘计算能力,每个实例必须分配一个网关设备,并且该网关设备同一时间只能被分配到一个边缘实例。创建网关产品
    3. 创建产品对话框中,设置网关产品参数,然后单击完成
      物联网边缘计算中的新建网关产品,继承了物联网平台设备管理 > 产品中的产品功能,此处已自动为您简化了创建产品的步骤,以便您更快速地创建适合物联网边缘计算中使用的网关产品。创建产品
      表 4. 参数说明
      参数说明
      产品名称为网关产品设置名称,用于后续的查询及识别网关产品。支持中文、英文字母大小写、数字和下划线(_),长度限制4~30个字符,一个中文汉字算2位。
      所属品类

      选择品类,为该产品定义物模型

      可选择的值为:

      • 标准品类:选择任一物联网平台预定义的品类,快速完成产品的功能定义。选择产品模板后,您可以在该模板基础上,编辑、修改、新增功能。
      • 自定义品类:需根据实际需要,定义产品功能。

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

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

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

    4. 新增实例对话框,单击网关设备下的新建网关设备,为网关产品添加设备。
      物联网边缘计算中的新建网关设备功能,继承物联网平台设备管理 > 设备的功能。新建网关设备
    5. 根据界面提示设置参数后,单击确认
      表 5. 参数说明
      参数描述
      产品系统已自动关联上一步创建的网关产品。
      设备名称为该网关设备命名。设备名称需保持产品内唯一。如不填写,系统将自动生成。
      说明 设备名称长度为4~32个字符,可包含英文字母、数字和特殊字符,包括短划线(-)、下划线(_)、at(@)、英文句号(.)和英文冒号(:)。
  5. 实例参数设置完成后,单击确定,至此您已创建边缘实例和网关。

安装并启动Link IoT Edge

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

  1. 边缘实例页面,单击实例名称右侧的软件安装
    下载命令
  2. 根据环境设置软件安装相关参数,然后单击生成安装命令
    下载命令
    表 1. 参数说明
    参数描述
    边缘网关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支持将边缘实例授权给其他阿里云账号操作。
    边缘实例页面,单击左上角授权,在弹出对话框中单击新增授权,根据界面提示设置参数。实例授权
    表 6. 参数说明
    参数描述
    授权用户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

您可以运行如下命令,配置开机自启动功能。

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

其它常用命令如下所示。

  • 启动命令:sudo systemctl start LinkIoTEdge.service
  • 重启命令:sudo systemctl restart LinkIoTEdge.service
  • 停止命令:sudo systemctl stop LinkIoTEdge.service
  • 禁用开机自启动:sudo systemctl disable LinkIoTEdge.service

下一步

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

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

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