阿里云提供的设备端C语言SDK可以直接运行于Linux系统,并通过MQTT协议接入物联网平台。本文以在Ubuntu x86_64系统上编译设备端C语言SDK为例,介绍设备上云的配置和开发过程。

背景信息

有关设备端C语言SDK详细信息,请参见概述

创建产品和设备

  1. 登录物联网平台控制台
  2. 实例概览页面,找到对应的实例,单击实例进入实例详情页面。
    重要 目前华东2(上海)、华北2(北京)、华南1(深圳)地域开通了企业版实例服务。其他地域,请跳过此步骤。
    实例概览
  3. 在左侧导航栏,选择设备管理 > 产品,再单击创建产品,创建一个产品。
    参数 说明
    产品名称 自定义产品名称。
    所属品类 选择自定义品类
    节点类型 选择直连设备
    连网方式 选择Wi-Fi
    数据格式 选择ICA标准数据格式(Alink JSON)
    认证方式 选择设备密钥
  4. 在左侧导航栏,选择设备,再单击添加设备,在刚创建的产品下添加设备。
    设备创建成功后,获取设备证书信息(ProductKey、DeviceName和DeviceSecret)。

定义产品物模型

物联网平台提供的设备端C SDK Demo包中,包含一个完整的物模型JSON文件。本示例中,导入该物模型文件,生成产品的物模型。

  1. 编辑物模型文件。
    1. 下载C SDK 3.2版本设备端SDK文件包。下载地址,请参见C SDK 3.2
    2. 解压SDK压缩包后,打开src/dev_model/examples目录下的model_for_examples.json文件。
    3. 将物模型JSON文件中的productKey的值替换为您在物联网平台上创建产品的ProductKey值,然后保存文件。
      更改物模型中的productKey
  2. 在物联网平台控制台对应实例产品页,找到之前创建的产品,单击对应的查看
  3. 产品详情页面的功能定义页签下,单击编辑草稿 > 快速导入
  4. 在弹出的对话框中,选择导入物模型,上传已编辑好的物模型JSON文件,单击确定
    导入成功后,该文件定义的所有功能将显示在自定义功能列表中。
  5. 单击发布上线,将物模型发布为正式版。

配置SDK

将设备端SDK文件导入您的开发环境中,并修改配置文件中的信息为您的设备信息。

  1. 在SDK文件的wrappers/os/ubuntu目录下HAL_OS_linux.c文件中,修改设备证书信息为您的设备证书信息。
    更改设备验证信息
  2. 编译SDK。在SDK根目录中,执行make reconfig命令,选择3,然后make
    make reconfig
  3. 测试运行SDK。
    在SDK根目录中,执行./output/release/bin/linkkit-example-solo命令。执行结果如下图。运行C SDK
    SDK运行成功后,可在物联网平台控制台对应实例下,进入设备对应的设备详情页面,查看设备状态和设备上报的物模型数据。