收藏官网首页
查看: 17772|回复: 3

求助帖。数据上传频率问题

1

主题

8

帖子

117

积分

注册会员

Rank: 2

积分
117
发表于 2017-11-19 20:09:52 | 显示全部楼层 |阅读模式
教您5分钟接入机智云,实现傻瓜式开发
数据上传频率太快了,每隔几秒一次。我希望5分钟或者10分钟上传一次。我找到 gizDevReportPolicy(dataPoint_t *currentData)这个函数了,把前面屏蔽掉了(这一部分是如果采集数值发生变化就上传数据,不需要屏蔽了),网上显示设备在线但是,一直没有上传数据。大家帮帮忙
* @brief Datapoints reporting mechanism
*
* 1. Changes are reported immediately

* 2. Data timing report , 600000 Millisecond
*
*@param [in] currentData       : Current datapoints value
* @return : NULL
*/
static void gizDevReportPolicy(dataPoint_t *currentData)
{
    static uint32_t lastRepTime = 0;
    uint32_t timeNow = gizGetTimerCount();

    if((1 == gizCheckReport(currentData, (dataPoint_t *)&gizwitsProtocol.gizLastDataPoint)))
    {
        GIZWITS_LOG("changed, report data\n");
        if(0 == gizDataPoints2ReportData(currentData,&gizwitsProtocol.reportData.devStatus))
        {
            gizReportData(ACTION_REPORT_DEV_STATUS, (uint8_t *)&gizwitsProtocol.reportData.devStatus, sizeof(devStatus_t));        }      
        memcpy((uint8_t *)&gizwitsProtocol.gizLastDataPoint, (uint8_t *)currentData, sizeof(dataPoint_t));
    }

    if((0 == (timeNow % (600000))) && (lastRepTime != timeNow))
    {
        GIZWITS_LOG("Info: 600S report data\n");
        if(0 == gizDataPoints2ReportData(currentData,&gizwitsProtocol.reportData.devStatus))
        {
            gizReportData(ACTION_REPORT_DEV_STATUS, (uint8_t *)&gizwitsProtocol.reportData.devStatus, sizeof(devStatus_t));
        }      
        memcpy((uint8_t *)&gizwitsProtocol.gizLastDataPoint, (uint8_t *)currentData, sizeof(dataPoint_t));

        lastRepTime = timeNow;
    }
}

数据上传条件代码

数据上传条件代码

修改后

修改后

321

主题

1054

帖子

4513

积分

论坛元老

Rank: 8Rank: 8

积分
4513
QQ
发表于 2017-11-19 20:57:39 | 显示全部楼层
延时使用gizGetTimerCount,代码参考微信宠物屋的
void userHandle(void)
{
    uint8_t ret  = 0;
    static uint32_t thLastTimer = 0;

    currentDataPoint.valueInfrared = irHandle();

    if((gizGetTimerCount()-thLastTimer) > SAMPLING_TIME_MAX)
    {
        ret = dht11Read((uint8_t *)&currentDataPoint.valueTemperature, (uint8_t *)&currentDataPoint.valueHumidity);
        if(ret != 0)
        {
            printf("Failed to read DHT11\r\n");
        }
                                
        thLastTimer = gizGetTimerCount();
    }
}

点评

谢谢大哥,我看了你是博士好厉害啊,小弟是硕士  详情 回复 发表于 2017-11-19 21:06
1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息

1

主题

8

帖子

117

积分

注册会员

Rank: 2

积分
117
 楼主| 发表于 2017-11-19 21:06:56 | 显示全部楼层
bigfanofloT 发表于 2017-11-19 20:57
延时使用gizGetTimerCount,代码参考微信宠物屋的
void userHandle(void)
{

谢谢大哥,我看了你是博士好厉害啊,小弟是硕士

321

主题

1054

帖子

4513

积分

论坛元老

Rank: 8Rank: 8

积分
4513
QQ
发表于 2017-11-22 09:17:51 | 显示全部楼层
北冥小海鸥 发表于 2017-11-19 21:06
谢谢大哥,我看了你是博士好厉害啊,小弟是硕士

1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

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

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