设备与平台成功建立连接后,可根据业务特点适时上报设备属性,属性名称和参数值要与物模型中定义的格式保持一致。
以Linux版C语言SDK为例:
1、新建Topic句柄和Payload句柄,用以保存组装好的数据;
2、根据三元组信息,组装属性上报Topic;
3、根据属性名称和值类型,组装属性上报的Payload;
4、调用Publish函数将Topic和Payload发送到云端,若返回OK则发送成功;
6、释放Topic和Payload占用的系统空间;
7、发送成功后可在IOT云平台管理端收到更新后的属性值。
示例代码如下:
char * topic_ptr = NULL;
char * payload_ptr = NULL;
/* Build property post topic. */
if((result = SIL_tslm_btopic_proppost(lconn_cfg.product_key, lconn_cfg.dev_name, &topic_ptr)) == 0)
{
printf("TSLM: build property post topic success. \n");
}
else
{
printf("TSLM: Build property post topic failure. \n");
}
/* Build property post payload. */
msg_id ++;
if((result = SIL_tslm_bjson_proppost(&payload_ptr, "%d,%d,%s:%s,%s:%d,%s:%n", msg_id, 1, "propty1", "data1", "prop2", 344, "prop3", "NULL")) == 0)
{
printf("TSLM: build property post payload success. \n");
}
else
{
printf("TSLM: Build property post payload failure. \n");
}
/* Publish topic. */
if((result = SIL_lconn_pub2cloud(lconn_fd, topic_ptr, payload_ptr, strlen(payload_ptr))) == 0)
{
printf("TSLM: publish property post topic success. \n");
}
else
{
printf("TSLM: publish property post topic failure. err %d\n", result);
}
/* Do some user operation based on topic and json.*/
printf("TOPIC-%s.\n", topic_ptr);
printf("JSON-%s.\n", payload_ptr);
SIL_tslm_free(topic_ptr);
SIL_tslm_free(payload_ptr);
设备与IOT云平台成功建立连接后,若有物模型中定义的事件发生,可及时上报事件以通知平台。
以Linux版C语言SDK为例:
1、新建Topic句柄和Payload句柄,用以保存组装好的数据;
2、根据三元组信息,组装事件上报Topic;
3、根据物模型对事件参数定义,组装事件上报的Payload;
4、调用Publish函数将Topic和Payload发送到云端,若返回OK则发送成功;
6、释放Topic和Payload占用的系统空间;
7、发送成功后可在IOT云平台管理端收到上报的事件及参数。
示例代码如下:
char * topic_ptr = NULL;
char * payload_ptr = NULL;
/* Build property post topic. */
if((result = SIL_tslm_btopic_evtpost(lconn_cfg.product_key, lconn_cfg.dev_name, "user_eventname", &topic_ptr)) == 0)
{
printf("TSLM: build event post topic success. \n");
}
else
{
printf("TSLM: Build event post topic failure. \n");
}
/* Build property post payload. */
msg_id ++;
result = SIL_tslm_bjson_evtpost("user_eventname", &payload_ptr, "%d,%d, %s:%s, %s:%d",msg_id, 1, "param_1","123", "param_2",8);
{
printf("TSLM: build event post payload success. \n");
}
else
{
printf("TSLM: Build event post payload failure. \n");
}
/* Publish topic. */
if((result = SIL_lconn_pub2cloud(lconn_fd, topic_ptr, payload_ptr, strlen(payload_ptr))) == 0)
{
printf("TSLM: publish event post topic success. \n");
}
else
{
printf("TSLM: publish event post topic failure. err %d\n", result);
}
/* Do some user operation based on topic and json.*/
printf("TOPIC-%s.\n", topic_ptr);
printf("JSON-%s.\n", payload_ptr);
SIL_tslm_free(topic_ptr);
SIL_tslm_free(payload_ptr);
只需完成注册与实名认证,即可体验我们的贴心服务
4000052360
试用小安,请确保该账户已通过智汇云实名认证 前往认证中心>>