4.2.1 下行处理数据 首先要完成的是传感器驱动开发,然后在Gizwits目录下的gizwits_product.c文件中的gizwitsEventProcess()函数中处理相应事件即可(如下例中的ledRgbControl(),功能是控制RGB灯的颜色)。 这里定义的名称是我们在数据点所定义的内容,我们可以根据我们数据点所定义的内容迅速找到我们要下行处理的代码。 下面以控制RGB LED为例,代码示例如下: 修改前: if(0x01 == currentDataPoint.valueLED_ONOFF)
{
//user handle
}
else
{
//user handle
}
break; |
修改后: if(0x01 == currentDataPoint.valueLED_ONOFF)
{
//user handle
ledRgbControl(254,0,0);
}
else
{
//user handle
ledRgbControl(0,0,0);
}
break; |
4.2.2 上行处理数据 首先要完成的是传感器驱动开发,然后在Gizwits目录下的gizwits_product.c文件中的userHandle()函数中实现传感器数据采集,用户只需并将采集到的数值赋值给对应用户区的设备状态结构体数据位即可(如下例中的:currentDataPoint.valueInfrared= irHandle();)。 下面以红外传感器的数据获取为例(只读型数据点的操作会被云端自动生成),如下: 修改前: void userHandle(void)
{
/*
currentDataPoint.valueInfrared = ;//Add Sensor Data Collection
*/
} |
修改后: vvoid userHandle(void)
{
currentDataPoint.valueInfrared = irHandle();
} |
这样会通过while循环不断执行我们的数据,不断显示到我们 机智云的软件上不断处理,在while循环中,我们可能会导致数据上传太快,导致数据快速刷新,所以我们在获取数值的时候,可以适当的增加延时。但不建议添加延时函数。
|