阿里云物联网平台提供设备端SDK,设备使用SDK与平台建立通信。本文使用平台提供的样例程序data_model_basic_demo,模拟路灯设备进行开发,实现设备与物联网平台的通信。

背景信息

  • 本文使用Linux下的设备端C语言SDK。该SDK的编译环境推荐使用64位的Ubuntu16.04。
  • SDK的开发编译环境会用到以下软件:

    make(4.1及以上版本)、gcc(5.4.0及以上版本)。

    可以使用如下命令行安装:

    sudo apt-get install -y build-essential make gcc

操作步骤

  1. 获取设备端C语言SDK。
    1. 登录物联网平台控制台
    2. 在控制台左上方,选择物联网平台所在地域,然后在实例概览页面,单击公共实例
      注意 在中国地域,目前仅华东2(上海)地域开通了公共实例服务。
      入门教程-公共实例
    3. 在左侧导航栏单击文档与工具,然后在设备接入SDK区域的Link SDK下,单击SDK定制
    4. 按照如下图所示,定制SDK并下载。
      高级能力下,单击 物模型,其他参数使用默认配置,然后单击 开始生成后,会在本地下载C语言SDK的ZIP文件。 公共实例快速入门-下载SDK
  2. 解压本地的C语言SDK文件,修改SDK中的设备证书信息。
    物联网平台已根据本快速入门更新了示例代码文件,请单击 data_model_basic_demo.c下载最新示例代码文件,替换掉 \LinkSDK\demos路径下的 data_model_basic_demo.c文件。

    其中:

    • 将示例代码文件中的变量${YourProductKey}${YourDeviceName}${YourDeviceSecret}替换为您在创建产品与设备中创建设备时获取的入ProductKey、DeviceName和DeviceSecret。设备使用该证书进行身份认证并连接物联网平台。
      char *product_key       = "a1j***";
      char *device_name       = "device1";
      char *device_secret     = "8c684ef***";
    • 将示例代码文件中的变量${RegionID}需替换为您的服务所在地域对应的Region ID。请在物联网平台控制台左上角,查看您服务所在的地域。Region ID的取值,请参见地域和可用区
  3. 登录Linux虚拟机,执行以下命令,安装所需软件。
    sudo apt-get install -y build-essential make gcc
  4. 步骤2中已修改完成的LinkSDK文件,上传至Linux虚拟机的开发环境。
  5. 在SDK根目录/LinkSDK下,执行make命令,完成样例程序的编译。
    make clean
    make

    生成的样例程序data-model-basic-demo存放在./output目录下。

  6. 运行样例程序。
    ./output/data-model-basic-demo
  7. 登录物联网平台控制台,进入公共实例页面,查看设备状态和运行状态。
    • 左侧导航栏选择设备管理 > 设备,找到目标设备,查看设备状态。设备状态显示为在线,则表示设备与物联网平台成功连接。充电宝机柜设备在线
    • 单击设备对应操作栏的查看,进入设备详情页面,单击物模型数据页签,然后单击运行状态,查看设备的运行状态。

      data_model_basic_demo.c文件中代码示例,上报了工作电流的值,如下图所示。

      路灯-物模型数据

后续步骤

服务端订阅设备消息