收藏官网首页
查看: 21989|回复: 5

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

8

主题

144

帖子

3308

积分

论坛元老

Rank: 8Rank: 8

积分
3308
跳转到指定楼层
楼主
发表于 2017-10-30 00:24:38 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
注册成为机智云开发者,手机加虚拟设备快速开发
本帖最后由 peter58 于 2017-10-30 00:27 编辑

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


2

主题

9

帖子

106

积分

注册会员

Rank: 2

积分
106
板凳
发表于 2017-12-7 14:52:18 | 只看该作者
请问楼主 我在userhandle里添加了相关代码,为什么app上依然不显示(温度可以显示,湿度一直为0,之前暴力的给湿度赋50,依然没有效果),请问应该如何解决?

8

主题

144

帖子

3308

积分

论坛元老

Rank: 8Rank: 8

积分
3308
地板
 楼主| 发表于 2017-12-8 20:02:04 | 只看该作者
猫的张先森 发表于 2017-12-7 14:52
请问楼主 我在userhandle里添加了相关代码,为什么app上依然不显示(温度可以显示,湿度一直为0,之前暴力 ...

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

15

主题

135

帖子

2189

积分

金牌会员

Rank: 6Rank: 6

积分
2189
5#
发表于 2018-8-30 10:20:44 | 只看该作者
免费使用STM32、APP自动代码生成工具
感谢你的这篇文章,新版的的确和原来的手册有些出入,对不上号,我的问题也解决了,非常感谢楼主的分享。

0

主题

17

帖子

222

积分

中级会员

Rank: 3Rank: 3

积分
222
6#
发表于 2019-1-7 11:33:38 | 只看该作者
不错,顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

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

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