生活物联网平台提供了已封装设备端与物联网平台交互协议的SDK。您可以直接基于这些SDK开发真实设备的固件,从而使真实设备具备连接物联网的能力。以基于AliOS Things的SDK开发MK3060模组(平台已认证模组)为例介绍设备固件的开发和烧录操作。

一、开发设备固件

  1. 下载设备端SDK代码,请参见生活物联网平台SDK中包含AliOS Things的SDK。
  2. 将下载的zip包上传至开发环境中,并解压zip包。
  3. 配置设备的身份信息,修改完成后保存退出。
    设备证书是平台颁发给设备的唯一身份信息,需要将example/linkkitapp/linkkit_example_solo.c中的demo设备证书修改为添加设备中待烧录的设备证书。
    1. 进入SDK根目录。
    2. 执行vim example/linkkitapp/linkkit_example_solo.c命令修改linkkit_example_solo.c文件。
    3. i进入编辑模式。
    4. 修改文件中的如下参数。
      // for demo only
      #define PRODUCT_KEY     "a1U****Dgg"
      #define PRODUCT_SECRET  "sw*********o9B"
      #define DEVICE_NAME     "kE*************6g70"
      #define DEVICE_SECRET   "RWY*********************hOO5"
    5. Esc键退出编辑模式,再输入:wq命令保存并关闭文件。
  4. 在SDK根目录,执行编译命令。

    本文在MK3060模组上编译living_platform程序。

    aos make living_platform@mk3060
    编译完成后,在out\living_platform@mk3060\binary\目录下会生成living_platform@mk3060_crc.bin文件。该文件为需要烧录到真实设备中的固件。

二、烧录设备固件

使用USB线将MK3060与电脑连接。此时电脑会提示安装驱动,完成驱动的安装。本文以Windows电脑为例。

  1. 右击我的电脑,选择管理 > 系统工具 > 设备管理器 > 端口(COM和LPT), 查看串口号。
    说明 不同系统下打开设备管理器的操作路径略有差异,请根据您电脑的实际路径操作。
    设备管理器
  2. 打开串口调试工具SecureCRT,选择文件 > 快速连接
  3. 选择协议Serial和设备对应串口号,设置波特率(3060模组波特率为921600),并单击连接
    配置工具
  4. 将拔码开关拔到如下所示位置(1置于ON,2置于OFF), 按开发板上reset键,初始化MK3060。
    设备状态

    SecureCRT中出现以下日志,则进入初始化状态。

    =======================================================
    |                MOC108 BOOTLOADER MENU               |
    |-----------------------------------------------------|
    | Comamnd | Arguments        | Description            |
    |---------+------------------+------------------------|
    | read    | <address> <size> | read flash             |
    |---------+------------------+------------------------|
    | write   | <address>        | write flash            |
    |---------+------------------+------------------------|
    | erase   | <address> <size> | erase flash            |
    |---------+------------------+------------------------|
    | boot    | <mode>           | boot to APP, ATE or QC |
    |---------+------------------+------------------------|
    | reboot  |                  | reboot                 |
    =======================================================
    @ Author  : Snow Yang
    @ Version : 1.1.0
    @ Date    : Oct 12 2019 15:01:24
    $
  5. 输入write 0x13200,进入烧录模式。
    waiting for the file to sent ...(press 'a' to abort)
    CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
  6. 选择传输 > 发送Ymodem,选择下载到本地的固件,单击添加,并单击确定开始烧录固件。
    上传固件

    烧录成功后,出现如下提示。

    Programing Completed Successfully!
  7. 将拔码开关拔到如下所示位置(1置于OFF,2置于OFF), 按reset键,进入正常启动模式。
    设备状态
    enter low level!
    mac fc:ee:e6:xx:xx:ce
    leave low level!
    app_init finished
    start-----------hal
    trace config close!!!
    [000008]<A> aos framework init.
    --------Firmware info--------
    Host: qiheng.hc
    Branch: rel_1.0.1
    Hash: 86ae9xxxxxeaa6cb96a369eb603254
    Date: Oct 12 2019 15:07:07
    Kernel: AOS-R-1.3.4
    LinkKit: 2.3.0
    APP: app-1.0.0-20191012150607
    MQTT direct: on
    Region env: MAINLAND-ONLINE
    
    [000012]<A>pk[a1U****Dgg]
    [000012]<A> ps[sw*********o9B]
    [000012]<A> dn[kE*************6g70]
    [000014]<A> ds[RWY*********************hOO5]
  8. 检查打印日志中的设备凭证(ProductKey、ProductSecret、DeviceName、DeviceSecret)是否与添加设备中生成的设备凭证一致。如果不正确可以通过以下命令修改。
    linkkey <ProductKey> <DeviceName> <DeviceSecret> <ProductSecret>

此时设备进入待配网状态,可通过App连接设备。

后续步骤

调试设备连云