阿里云物联网平台网关设置介绍

阿里云物联网平台开通地址 https://www.aliyun.com/product/iot
阿里云物联网平台官方使用教程 https://help.aliyun.com/product/30520.html
网关功能

  • 网关负责代理子设备的认证、与云端的数据通信、管理子设备的信息和状态。网关与子设备之间的通信由厂商处理。
  • 网关功能通过iot_config.h中的DEVICE_GATEWAY宏来控制。
  • GATEWAY_MQTT_COMM_ENABLED开启网关的mqtt网络通道。网关同时支持子设备的一型一密和一机一密。
  • 编译生成的执行文件在build/x86_64/bin/gateway_example。

设备拓扑关系

  • 直连设备:可直接连接云端
  • 网关设备:拥有管理子设备,代理子设备连接云端的能力
  • 子设备:通过网关代理连接至云端的设备

子设备发送和接收

  • 子设备的上下线由网关通知云端
  • 子设备没有心跳,网关有心跳
  • 网关需订阅子设备的topic,同步响应
  • 网关可批量发送和接收子设备的数据

子设备激活

子设备需要在后台配置拓扑关系,子设备可多次获取DS/ID,子设备需先解除和网关的依赖关系,才可关联其他网关。解除依赖后,原网关清除对子设备的控制能力。

创建新设备

  • Intiot_gateway_construct(iot_dev_type_tdev_type,iot_dev_auth_info_tmeta_info);
  • 接口说明:创建一个新设备,包括网关和子设备类型。
  • 返回值:成功返回设备ID,失败返回FAIL_RETURN
  • 参数说明:
参数名 参数类型 必填 描述
dev_type iot_dev_type_t 需要创建的设备类型
meta_info iot_dev_auth_info_t 设备的验证信息

开启设备连接网络和主题订阅

  • intiot_gateway_connect(intdevid);
  • 接口说明:指定设备开启网络连接。
  • 返回值:成功返回SUCCESS_RETURN,失败返回FAIL_RETURN
  • 参数说明:
参数名 参数类型 必填 描述
devid int 需要连接网络的设备ID

接收网络信息和分发事件

  • voidiot_gateway_yield(inttimeout_ms);
  • 接口说明:接收云端下发事件,并将事件分发到注册的回调方法中。
  • 返回值:void
  • 参数说明:
参数名 参数类型 必填 描述
timeout_ms int 接收网数据的超时时间

关闭网络连接和回收设备资源

  • intiot_gateway_destroy(intdevid);
  • 接口说明:关闭指定设备网络连接和回收设备资源。
  • 返回值:成功返回SUCCESS_RETURN,失败返回FAIL_RETURN
  • 参数说明:

    参数名 参数类型 必填 描述
    devid int 指定设备id

发送数据到云端

  • intiot_gateway_report(intdevid,iot_msg_type_tmsg_type,unsignedcharpayload,intpayload_len);
  • 接口说明:发送数据到云端。
  • 返回值:成功返回信息id,失败返回FAIL_RETURN
  • 参数说明:
数名 参数类型 必填 描述
devid int 指定设备id
msg_type iot_msg_type_t 消息类型
payload Unsigned char* 消息体
Payload_len int 消息体长度
 
消息类型 msg_type 说明:
    IOT_GATEWAY_POST_PROPERTY           发送网关或子设备的只读属性
    IOT_GATEWAY_BATCH_POST              批量发送子设备的数据和事件
    IOT_GATEWAY_POST_EVENT              发送网关或子设备的事件
    IOT_GATEWAY_SHADOW_REPLY            发送网关或子设备的影子响应
    IOT_GATEWAY_SERVICE_REPLY           发送网关或子设备的服务响应
    IOT_GATEWAY_DEVICE_UPDATE_SHADOW    发送网关或子设备的影子
    IOT_GATEWAY_GET_SHADOW              获取网关或子设备的影子
    IOT_GATEWAY_SUBDEV_LOGIN            网关子设备上线
    IOT_GATEWAY_SUBDEV_LOGOUT           网关子设备下线

获取子设备的identifier和devicesecret

booliot_gateway_dynamic_auth(iot_dev_auth_info_tmeta_info,iot_cm_init_param_tparams);

接口说明:真对一型一密的子设备获取设备的identifier和devicesecret。

返回值:成功返回true,失败返回false

参数说明:

参数名 参数类型 必填 描述
meta_info iot_dev_auth_info_t 这边的验证信息
params iot_cm_init_param_t 网络连接的初始参数

发送数据到云端

  • uint32_tiot_gateway_generate_msgid();
  • 接口说明:生成消息id。
  • 返回值:成功消息id,失败返回-1