本文从设备厂商的视角介绍如何通过瑞瀛物联的模组来开发一键开关产品,并接入阿里云生活物联网平台,在硬件就位的情况下,用户如果按照下面的流程通常可以在3小时以内完成该体验。

背景信息

阿里云IoT鼓励网关厂商提供类似的解决方案,让设备厂商在不对网关进行固件升级的情况下接入新开发的子设备产品,瑞瀛物联的RG4100+就是满足该需求的一款网关。

设备端开发

  1. 硬件连接。

    使用瑞瀛的模组开发板连接一键开关模组,并使用串口连接开发板和电脑,连接示意图如下:

    hw-connect
    说明 开发板上电之后将会为模组供电。
    • 一键开关模组针脚定义:module-pin-desc

      引脚含义:

      引脚编号 引脚含义
      引脚1 GND
      引脚4 继电器
      引脚7 按键灯
      引脚8 按键
      引脚16 TXD
      引脚17 RXD
      引脚21 过零检测口
      引脚22 网络指示灯
      引脚30 VCC
    • 开发板示意图:dev-board

      上图中中间的“模组串口收发针脚”需要连接模组的TX、RX针脚,“3.3V供电针脚”需要连接模组的VCC针脚,“接地针脚”需要连接模组的Gnd针脚;“DB9串口插头”用于连接电脑的串口。

    • 模组与开发板连接完毕后示意图:dev-board-and-module

      模组的VCC、Gnd连接到开发板的3.3V+和3.3V-,连接了串口的Tx、Rx到开发板的TXD和RXD,模组的针脚8(按键)连接到了VCC-。

      说明 当需要发起“配对”的时候,需要将模组的针脚8连接到开发板的3.3V+上10秒,然后再将针脚接到3.3V-上。
  2. 获取模组MAC地址。
    说明 目前大多数电脑不提供DB9的串口接头,往往使用USB接口,所以需要确保使用的USB串口驱动在电脑上可以正常工作。

    将电脑的串口与开发调试板的串口连接之后,参照下图左上的串口配置让电脑可以与模组通信:

    console-config

    向模组发送AT+GETINFO指令,模组将会返回模组的信息,其中包括模组的MAC地址。将其中的MAC地址复制,去掉空格作为设备的DeviceName待用。上图是模组已经连接到了一个Zigbee网关后的输出,其中有模组的NodeID、Zigbee网络的PANID等信息。

    如果模组尚未连接Zigbee网关,那么显示将没有Zigbee网络的信息,显示效果如下图所示:

    console-not-connected
    说明 调试时可以从模组读取MAC地址并上传到阿里云生活物联网平台,开发完毕之后设备商从瑞瀛物联批量购买模组时需要瑞瀛物联提供这些模组的MAC地址列表,然后由设备商批量上传到阿里云生活物联网平台。

云端注册产品

  1. 创建产品。
    1. 登录飞燕控制台
    2. 创建项目并创建一个新产品。
      create-prod
      说明
      • 上图截取的是飞燕控制台的页面图片,如果飞燕控制台页面发生改变将会导致与本文档中的显示不一致,因此本文档中的页面仅供参考,请以飞燕控制台的页面为准。
      • 创建产品时确保配置的参数与上图中保持一致。
    3. 功能定义请保持默认值,并在该页面复制产品的ProductKey备用。dev-func-def
  2. 添加测试设备。
    1. 在设备调试中单击新增测试设备add-test-dev
    2. 将前面通过串口获取到的MAC地址添加到测试设备中。set-dev-name
    3. 设置产品支持公版APP。interaction
  3. 设置产品支持一型一密。
    1. 返回项目页面,单击量产管理produce-mng
    2. 修改对应产品的烧录方式一机一密/一型一密set-dyn-reg
      说明 修改烧录方式时会进行修改确认,按照提示操作即可。

RG4100+配置

  1. RG4100+网络连接。rg4100
    1. 使用RG4100+提供的电源通过MicroUSB接口给RG4100+上电。
    2. 使用以太网线缆连接RG4100+的WAN口到路由器的LAN口。
    3. 确保路由器可以连接互联网。
  2. 修改RG4100+配置来支持新开发的产品。
    1. 登录RG4100+命令行界面。

      RG4100+启动之后将会创建一个WiFi热点,其SSID以及密码标注在RG4100+底部的标签上,如下图所示:

      dev-tag

      您可以将您PC的WiFi连接到RG4100+的热点之后,使用telnet工具(例如putty)连接网关的地址:192.168.82.1,用户名/密码为:root/admin。正确登录之后界面如下图所示:

      login
    2. 为子设备创建映射。

      为了接入新的子设备,用户需要在RG4100+上指定子设备型号->阿里云IoT ProuctKey的映射,映射文件位于/usr/rule,用户可以使用命令 cd /usr/rule 进入该目录,该目录下文件如下图所示:

      file-list

      其中文件ProductKey.map是指定子设备型号与ProductKey映射,其内容如下图所示:

      pk-map-file

      对于子设备厂商新创建的设备,需要在该表格中增加一行来指定子设备型号(rex_model_id)、子设备类型(rex_type)、以及对应的ProductKey(to_product_key)、desc(产品描述)。用户可以使用命令 vi ProductKey.map 打开该文件进行内容修改。

      说明 键入字符i可以让vi从命令模式进入编辑模式,退出编辑模式到命令模式可以按下Esc键,保存修改需要在命令模式下键入:wq并回车 。

      本示例中使用已有的模组固件(型号为RH7031,rex_type为1101),并未向瑞瀛物联申请新的设备型号,因此无需添加新行,可以直接将to_product_key的值修改为上面创建的子设备的ProductKey(修改之前先将原productKey复制备用),保存后退出。

      说明 设备商实际开发产品时,需要向瑞瀛物联申请子设备型号、子设备类型,并在mapper中增加一行产品描述,并需要瑞瀛提供相应的数据转换规则文件。
    3. 为子设备创建数据转换规则文件。

      RG4100+需要为子设备创建数据处理规则文件,该规则文件的名称需要与子设备的ProductKey保持一致。

      11

      上图中右上方框选的文件即为RG4100+中型号RH7031对应的子设备的转换规则文件,本示例中我们需要为我们创建的产品创建转换规则文件。如上图命令所示,我们首先备份已有的a1rN8xxxxxx.cvt,然后将其名称修改为我们新创建产品的ProductKey:a1zB0xxxxxx.cvt 。

      说明 用户操作时需要将该文件的名字修改为自己创建的产品的ProductKey的数值。
    4. 重启RG4100+,让修改后的配置生效。

手机端APP添加网关和一键开关设备

  1. 安装手机APP以及绑定RG4100+。
    1. 扫描下面的二维码安装飞燕app。ilop-test-app
    2. 将手机连接到路由器的WiFi热点。
    3. 绑定RG4100+。
      在主界面单击+号,如果网络连接正常,将会自动显示出RG4100网关,如下图所示。bind-gw

      选择该发现的RG4100网关进行添加即可完成设备添加和绑定。

      本步骤失败常见原因:

      • 手机APP未连接到RG4100上联路由器的WiFi网络。
      • 上联路由器工作不正常。手机连接到路由器WiFi热点之后,可以连接一下阿里云官网,确保可以打开网页。
  2. 添加一键入墙开关。
    1. 在主界面单击+号,并在添加设备页面单击扫描按键,如下图所示。
      add-sub-dev-before
    2. 使用手机APP扫描新创建设备的二维码。

      使用手机APP扫描在生活物联网平台的产品“人机交互”页面中的二维码。

      interaction

      手机APP将会提示选择子设备需要接入的网关,选择在上面的步骤中绑定的RG4100+即可。

      手机APP会提示是否继续添加子设备,单击我确定,下一步add-sub-dev-confirm
    3. 启动开关模组进行配对。

      将模组的针脚8连接到开发板的3.3v-10秒,让子设备进入配对状态,若一切正常,模组将会被加入网络以及被手机APP绑定,在手机APP的主页面将会出现添加的开关设备。

      add-dev-finished

      本步骤常见失败原因:

      • 模组与RG4100+之间距离太远。因为模组上未连接天线,所以模组与RG4100+的距离推荐在2米以内;
      • 模组仍然连接在另外一个Zigbee网络中。可以通过电脑串口向模组发送AT+GETINFO命令,查看模组返回数据来确认模组未连接到另外一个Zigbee网络中;如果是,在设备上将模组的针脚8连接到开发板的3.3v-10秒,让模组退出网络,之后再次操作手机发起绑定;
      • 若手机app上出现设备已添加、但是提示未激活,可以重启网关查看问题是否已解决。

      若排除上面的三个原因仍然出现失败,可以多尝试几次添加操作。

验证模组数据上报

模组的针脚8的电平拉高再拉低(也即将针脚8连接到开发板的3.3V+再立即连回到3.3V-),会模拟一下开关的状态变化,模组将会把该变化上报给RG4100+,并由RG4100+上报到生活物联网平台,然后打开手机APP上开关的面板查看开关的状态变化。

dev-status