腾讯云物联网网关功能

网关功能

  • 网关负责代理子设备的认证、与云端的数据通信、管理子设备的信息和状态。网关与子设备之间的通信由厂商处理。
  • 网关功能通过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_typeiot_dev_type_t是需要创建的设备类型meta_infoiot_dev_auth_info_t是设备的验证信息设备类型dev_type说明:IOT_DEV_TYPE_GATEWAY网关设备IOT_DEV_TYPE_SUBDEV子设备开启设备连接网络和主题订阅

  • intiot_gateway_connect(intdevid);
  • 接口说明:指定设备开启网络连接。
  • 返回值:成功返回SUCCESS_RETURN,失败返回FAIL_RETURN
  • 参数说明:
参数名参数类型必填描述devidint是需要连接网络的设备ID接收网络信息和分发事件

  • voidiot_gateway_yield(inttimeout_ms);
  • 接口说明:接收云端下发事件,并将事件分发到注册的回调方法中。
  • 返回值:void
  • 参数说明:
参数名参数类型必填描述timeout_msint是接收网数据的超时时间关闭网络连接和回收设备资源

  • intiot_gateway_destroy(intdevid);
  • 接口说明:关闭指定设备网络连接和回收设备资源。
  • 返回值:成功返回SUCCESS_RETURN,失败返回FAIL_RETURN
  • 参数说明:
参数名参数类型必填描述devidint是指定设备id发送数据到云端

  • intiot_gateway_report(intdevid,iot_msg_type_tmsg_type,unsignedcharpayload,intpayload_len);
  • 接口说明:发送数据到云端。
  • 返回值:成功返回信息id,失败返回FAIL_RETURN
  • 参数说明:
参数名参数类型必填描述devidint是指定设备idmsg_typeiot_msg_type_t是消息类型payloadUnsignedchar是消息体Payload_lenint是消息体长度消息类型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_infoiot_dev_auth_info_t是这边的验证信息paramsiot_cm_init_param_t是网络连接的初始参数发送数据到云端

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

标签