peter58 发表于 2017-10-30 00:24:38

机智云自动生成SOC宠物屋温湿度及红外代码不显示解决方法

本帖最后由 peter58 于 2017-10-30 00:27 编辑

自已当时也遇到SOC方案温湿度不显示问题,一直没找到原因,看了几次文档,最后终于理解到了怎样在新版SOC宠物屋里添加温湿度及红外代码,
现在分享出来,给还没有找到解决的小朋友一些帮助;温湿度新版代码必须添加到gizwits_product.c文件下的userHandle里不然是不会上报到服务器上的,另外延时定时这些也必须添加在2个文件里,分别是:user_main.c和gizwits_product.c里

define USER_TIME_MS 100       ///< Timing time in milliseconds
LOCAL os_timer_t userTimer;   ///< User timer structure
#define TH_TIMEOUT (1000 / USER_TIME_MS) ///< 新添加代码: 温湿度
//采集间隔为1S(1000ms)
#define INF_TIMEOUT (500 / USER_TIME_MS) ///< 新添加代码: 红外采
//-------------------------------------------------------------------------------
下面是gizwits_product.c里的温湿度红外完整程序,我也是个小白,希望这经验能够帮助到你。
void ICACHE_FLASH_ATTR userHandle(void)
{
    /*
    currentDataPoint.valueInfrared =curIr ;//Add Sensor Data Collection
    currentDataPoint.valueTemperature =curTemperature; //Add Sensor Data Collection
    currentDataPoint.valueHumidity =curHumidity ;//Add Sensor Data Collection

    */
      uint8_t ret = 0;
      uint8_t curTemperature = 0;
      uint8_t curHumidity = 0;
      uint8_t curIr = 0;
      static uint8_t thCtime = 0;
      static uint8_t irCtime = 0;
      thCtime++;
      irCtime++;
      ///< 新添加代码: 红外传感器数据获取
      if(INF_TIMEOUT < irCtime)
      {
      irCtime = 0;
      curIr = irUpdateStatus();
      currentDataPoint.valueInfrared = curIr;
      }
      ///< 新添加代码: 温湿度传感器数据获取
      if(TH_TIMEOUT < thCtime)
      {
      thCtime = 0;
      ret = dh11Read(&curTemperature, &curHumidity);
      if(0 == ret)
      {
      currentDataPoint.valueTemperature = curTemperature;
      currentDataPoint.valueHumidity = curHumidity;
      }
      else
      {
      os_printf("@@@@ dh11Read error ! \n");
      }
      }
    system_os_post(USER_TASK_PRIO_2, SIG_UPGRADE_DATA, 0);
}


郭庆帅 发表于 2017-11-1 19:15:02

猫的张先森 发表于 2017-12-7 14:52:18

请问楼主 我在userhandle里添加了相关代码,为什么app上依然不显示(温度可以显示,湿度一直为0,之前暴力的给湿度赋50,依然没有效果),请问应该如何解决?

peter58 发表于 2017-12-8 20:02:04

猫的张先森 发表于 2017-12-7 14:52
请问楼主 我在userhandle里添加了相关代码,为什么app上依然不显示(温度可以显示,湿度一直为0,之前暴力 ...

请认真看我上面的说的,要添加每个函数和代码位置,我是经过好久才搞对的,上面的代码绝对没问题,在就看看你的数据点对不对

Seasonic 发表于 2018-8-30 10:20:44

感谢你的这篇文章,新版的的确和原来的手册有些出入,对不上号,我的问题也解决了,非常感谢楼主的分享。

碧螺春 发表于 2019-1-7 11:33:38

不错,顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
页: [1]
查看完整版本: 机智云自动生成SOC宠物屋温湿度及红外代码不显示解决方法