收藏官网首页
查看: 4155|回复: 0

[分享] 第二十一天 机智云STM32处理数据

55

主题

55

帖子

3654

积分

论坛元老

Rank: 8Rank: 8

积分
3654
跳转到指定楼层
楼主
 楼主| 发表于 2023-11-1 14:53:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
免费使用STM32、APP自动代码生成工具
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循环中,我们可能会导致数据上传太快,导致数据快速刷新,所以我们在获取数值的时候,可以适当的增加延时。但不建议添加延时函数。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表