[原创] 【NXP Rapid IoT评测】W3 环境数据采集

johnrey   2019-1-15 22:33 楼主
在W2的评测中,楼主使用现有的sample对web IDE的大体环境做了介绍,但是如果要借助这个环境来实现自己的开发,又该怎么做呢?本周就来介绍如何利用这个web IDE来实现环境数据的采集,并显示到屏幕上。原本以为很简单的过程,结果折腾了很久都不是很顺利,听我慢慢道来。有看到问题所在的,赶紧给支个招。

首先在studio页面下,新建一个NXP Rapid IoT项目,看到的是一个空白的页面。
301.png

302.png
在继续下面的开发以前,需要先过一下程序流程,然后再转换成web IDE的语言。如果用初级的,那就是一个while循环,读数据,更新屏幕数据,delay。这个之所以说初级,是因为delay往往是做无用功的,所以更合理的做法是,while循环更新完数据以后,就进入低功耗状态,同时开启定时器,在某个指定时间后,由定时器中断唤醒,重新开始读数据,更新数据的循环。而这样的流程也更适合用web IDE来表达。

在这里,这个定时干啥事 ,是由interval这个element来搞定的。如下图,在右边点击一下interval,就添加了一个定时元素。可以修改其特性,不过暂时用默认值。
303.png

使用同样的方法,放置一个ccs811用来采集空气质量,然后添加一个Text用来显示数值。如下图所示
304.png

不过这样还是不能正常工作的,需要在前后做一个数据流从连接。用鼠标指向interval的边缘,左键点击,拉向ccs811的图标,松开后会看到一个蓝色的箭头,这就表示interval和ccs811之间建立了一个连接,这时候,点击interval,可以看到自动添加了一个事件,读取TVOC
305.png
同理给ccs811也添加一个数据流,非常直观。
306.png
接下来呢?保存,编译,下载,看效果。结果是无限重启,只能看到NXP和atmosphere的界面!!看来版上其他人的帖子,差不多啊!!百思不得其解。可恨的是这个web IDE还特挑网络,动不动就掉链子,编译下载完一次以后,就再也没反应了。尝试重启浏览器,换成read CO2,还是不行。换传感器还是不行。换回ccs811,参照weather station把instance和mode都改为2,还是不行。这个时候注意到一个细节,sample中,ccs811的instace,address和mode都是可选的,可是自己添加的css811这几项都是不能改的,好奇怪。总不能是硬件坏了吧?下面是sample里面的
307.png
下面是自己放上去的
308.png
直接烧写weather station,正常启动,温湿度,气压有数据,会变,但是空气质量和光照一直是0!回头去拿了手机来拍照,发现光照又有了 ,原来是更新比较慢?

最后将weather station的其他东西删光,只留下interval,css811,然后修改page为text,烧写,可以显示tvoc了,显示完过一会又重启了!!!

折腾了一天,基本就在测试下载,测试,等待,下载。始终找不到重启的原因所在。原来计划再玩玩流程控制的东西,也暂时放到下一次吧!

小结:
1、慢,保存要很久,编译要很久。关键是必须按照这个过程走一遍。不保存,直接下载,还是修改前的。这样就要眼睛一直盯着,不然也不知道有没有保存和编译,万一网络不好出错呢?
2、编译后的固件巨大无比,基本都在400K以上,就完成这点功能?关键是,增加多个传感器和BLE连接能力,固件只增加几K,这说明大部分空间都被拿去放一些公用的东西了,比如两个广告?
3、入门看似比较容易,可是呢,并没有看到流程控制的功能,所以想要精确控制,光靠图应该是不够的,看了版上很多帖子,深入的,基本都在改代码了。

回复评论 (1)

最新播报,把text改为labelled icon,就不重启了,可以正常显示。这是什么鬼!

点赞  2019-1-19 20:51
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复