一、概述
物联云平台为具备联网能力的设备提供了设备端C SDK(Device SDK),方便具备TCP/IP协议栈的智能设备在模块中进行嵌入式开发直接连接到云端。
该方式常用于如智能家电设备、4G设备等接入物联网云端。SDK具备以下功能:
- 硬件SDK提供各种不同CPU架构的C库,方便快捷将各种硬件设备快速安全地接入到物联云平台;
- 提供常用模组的例程示例,加快开发者开发周期;
- 提供透传固件,开发者可不用开发设备接入云平台的固件,便可将设备简单快速联网;
- 支持强大的数据端点,可将设备的运行状态、参数和报警信息映射到平台,方便设备的管理和监控,并能快捷将报警内容通过邮件、短信或应用推送给用户;
- 提供完善的硬件通讯协议,很好地支持各种产品的功能实现。
二、主要特性
- 本地设备自动探测和扫描联网;
- 内置云端连接服务,无需额外对接开发;
- 支持内、外网网络自动检测和切换;
- 提供云端固件升级和远程配置、诊断和管理服务;
- 支持设备安全认证和数据加密机制;
- 纯C代码,支持ARM、x86、x64以及MIPS等不同处理器架构;
- 可移植性强,使用操作简单快捷。
三、术语表
为了让您快速了解Device SDK,我们对其中的一些常用术语进行了解释,如下表:
术语 | 中文 | 说明 |
---|---|---|
Device | 设备 | 指使用B-link SDK的硬件 |
Service | 服务器 | 指云平台,设备所要连接的服务器 |
Internet | 外网 | 指设备通过互联网连接到服务器的通道 |
Intranet | 内网 | 指设备通过本地udp通讯与APP之间连接的通道 |
四、系统架构
五、SDK接入流程概述
- 首先在物联云平台上注册一个账号,并创建一个产品,这时可获得产品PID和产品KEY;
- 在平台上所创建的产品上的“设备管理”页面上添加接入设备的MAC地址;
- 然后转到接入设备开发,先选择对应模组SDK,定义修改数据类型;
- 初始化TCP并连接上物联云平台TCP服务器,将函数xlink_send_cb()里面的数据通过外网发送出去,接收到外网数据后调用xlink_receive_data()往SDK放入数据;
- 初始化UDP,将函数xlink_send_cb()里面的数据通过外网发送出去,接收到外网数据后调用xlink_receive_data()往SDK放入数据;
- 实现xlink_write_flash_cb、xlink_read_flash_cb、xlink_send_cb、xlink_receive_cb、xlink_attribute_set_service_cb、xlink_service_cb和xlink_event_cb函数;
- 调用“xlink_sdk_init()”初始化(当连接上外网TCP时调用xlink_sdk_connect_cloud()启动外网通讯,如果断开即调用xlink_sdk_disconnect_cloud()停止);
- 循环执行“xlink_sdk_process()”;
- 如果使用外网,需等待“EVENT_TYPE_ONLINE”事件触发后才能向服务器发送数据;
- 设备连接平台成功后,便可收发数据,如果需要使用到数据端点,请参考“数据端点文档”;
- 需要停止时,调用“xlink_sdk_uninit()”停止SDK;
- 如需要重置SDK时,调用xlink_sdk_reset();
- 如需要发送数据时,调用xlink_thing_publish_attribute();
- 如需要发送事件时,调用xlink_thing_event_report();
- 如需要请求数据时,调用xlink_request_event()。
六、开发者指南
您可以通过以下链接下载相关平台的Device SDK包,并了解详细的使用说明。