一、前置准备
平台
- 在平台物联云平台官网上注册一个账号,在账号注册创建之后,登录物联云平台并创建一个产品,获得企业ID、产品PID和产品Key;
- 在平台上所创建的产品上的“设备管理”页面上添加接入设备的MAC地址;
- 然后转到接入设备开发,先选择对应模组SDK,定义修改数据类型;
设备
创建并初始化TCP并连接上物联云平台TCP服务器,收发函数需要调用以下函数
方向 函数 说明 发送 xlink_send_cb() 将函数里面的数据通过外网发送出去,flag = 1 接收 xlink_receive_data() 接收到外网数据后调用往SDK传入数据 flag = 1 创建并初始化UDP,收发函数需要调用以下函数
方向 函数 说明 发送 xlink_send_cb() 将函数里面的数据通过内网发送出去,flag = 0 接收 xlink_receive_data() 接收到内网数据后调用往SDK传入数据 flag = 0 创建并实现flash/file接口函数,读/写范围是对指定区域进行读/写(覆盖),读写函数需要调用以下函数
方向 函数 说明 读取 xlink_read_flash_cb() 将数据从指定的区域读取处理,并传入SDK 写入 xlink_write_flash_cb() SDK将数据往指定的区域写入 创建并实现运行时间记录函数
方向 函数 说明 读取 xlink_get_ticktime_ms_cb 读取系统的运行时间,并非实时时间,以ms为单位 创建并实现物模型相关的函数
方向 函数 说明 方向 函数 说明 读取 xlink_attribute_set_service_cb() 物模型数据下发,sdk将调用此回调,用户自行实现 读取 xlink_service_cb() 物模型服务下发,sdk将调用此回调,用户自行实现 写入 xlink_thing_publish_attribute() 物模型数据上报 写入 xlink_thing_event_report() 物模型事件上报 写入 xlink_sub_service() 物模型服务订阅 创建并实现系统事件回调函数
方向 函数 说明 NC xlink_event_cb() 具体查看下文API 创建并实现其他函数
方向 函数 说明 读取 xlink_get_rssi_cb() 具体查看下文API NC xlink_get_custom_test_data_cb() 具体查看下文API
运行
- 创建并初始化实参struct xlink_sdk_instance_t,具体查看下文API
- 调用“xlink_sdk_init()”初始化;
- 循环执行“xlink_sdk_process()”;
- 当连接上外网TCP时调用xlink_sdk_connect_cloud()启动外网通讯,如果断开即调用xlink_sdk_disconnect_cloud()停止);
- 如果使用外网,需等待“EVENT_TYPE_STATUS”事件触发且status = 1,才能向服务器发送数据;
- 设备连接平台成功后,便可收发数据,如果需要使用到数据端点,请参考“数据端点文档”; • 需要停止时,调用“xlink_sdk_uninit()”停止SDK; • 如需要重置SDK时,调用xlink_sdk_reset(); • 如需要上报数据端点时,调用xlink_thing_publish_attribute(); • 如需要请求数据时,调用xlink_request_event()。
二、SDK导入及环境配置
硬件SDK(Xlink Device SDK),主要适应于C/C++,具体的开发环境根据不同的需要(win32/linux/gcc等)做不同的适配。