先测试着。权当庆祝树莓派温度计C语言版本上线一周年。python的直接复制粘贴就能用,但是总是自己挂了而且还占资源。我设置的是每5分钟运行一次上传数据,python版本不知道为啥不能及时结束程序导致系统内存被占满于是经常卡死,所以一年前自己写了个C版本,用了这么长时间还没事情。断电断网的除外。
这次的传感器有:声音大小传感器,亮度传感器,所谓的AQ传感器,还有个温度计。
出现的问题:
声音大小的不知道,只知道数值大的话可能声音大,看了说明是对16KHz~20KHz敏感,天啊我听不到这部分声音。。。所以完全不知道能有什么效果。
亮度传感器,这是个坑。参考代码给出来的是电阻R=(1023-a)*10/a,a是读入的数据。我后来查了对应的datasheet,估计了一个公式:log(R)=-log(4) log(LUX) + log(60), R是前面计算的电阻,LUX是亮度。但是算这个就奇葩了,手捂着是0,夕阳下是200多,估计正午大太阳下就得好几千了吧……另外为了用lcd显示,把它的背景光用H=空气质量(0=green,1=yellow,2=red,3.5=purple),S=1, V=sigmoid(LUX/5-4),转换成RGB发给背光。想到用sigmoid纯粹是因为LUX的范围从10/1022~10230,再加上测试的时候都是在100、200上下浮动,不得不用啊。
AQ空气质量传感器。这个是个呵呵的事情,看了源代码,表示完全不必要写那么复杂啊,直接读入数据判断一下大小就行了嘛,感觉纯忽悠的。
温度计这个是评价最好的,文档全,代码简洁,虽然算法看不懂,但是最后能得到基本正确的数据。和当前DS18B20差不了1°
这Edison还是Intel IoT roadshow活动拿到的,活动感想还没写……又拖欠了。
另外之前Win8.1蓝屏是咋闹的?DPC_WATCHDOG_VIOLATION,就是在当时活动的时候,蓝了在两台电脑上不下10次,回来再台式机上又蓝了。不过目前重新刷了一下,暂时没有蓝过。之前的和现在的区别是:装了wyliodrin那个在线开发工具,没有拧6角螺帽。
而且之前蓝屏的时候都是在monitor COM的时候,先是不更新信息,之后显示固定了,对鼠标键盘触摸都没有相应,Edison也卡了。两者都重启了之后发现Edison有crashlog。当时活动的时候郁闷死,还把别人的电脑弄蓝屏3次我都不好意思用了。而且我的机器没法看真COM,只能看虚拟COM。但是回来之后就能看了。好奇怪。当然不否认电压波动是否有关,在创客空间那触摸屏都不怎么好用。