麻瓜随笔:COSM与YEELINK之间的徘徊
本帖最后由 muggle 于 2012-12-2 09:54 编辑我是一个生手,有很多想法,但缺少足够扎实的基础知识。因此,希望硬件能够像积木一样搭接,软件也能拼接组合。
YEELINK,吸引我注意,帮我了解物联网,通过yeeSerial连接第一个Arduino设备。但是,很大的希望,慢慢演化为失望。好不容易,在张老师帮助下,完成了一个传感器数据的上传,但是多数据始终百思不得其解,迷局一般的API说明,也缺少必要的例程和资源,感觉像是少数玩家的玩具。这是一个还在更新的设备:
http://www.yeelink.net/devices/1178
COSM,源自于Pachube,完整的API和丰富的历程资源,非常容易帮助生手了解数据标准,调试工具也是非常实用亲民。今天最新完成的一个程序,虽然还很粗糙,但是集成了3只DS18B20,1只DHT11,1只模拟输入的Csd光感,未来可以扩展更多传感器。这是今天新完成的数据上传链接:
https://cosm.com/feeds/89080
程序使用了Jeffrey Sun的库文件
http://code.google.com/p/pachubelibrary/
数据转换部分,搬出了张老师的法宝,成功保留一位小数精度:
uint16_t Tc_100;
uint8_t i,whole, fract;
Tc_100 = sensors.getTempC(Thermometer03)*10;
whole = Tc_100/10 ;// separate off the whole and fractional portions
fract = Tc_100 % 10;
sprintf(SensorDataTemp03,"%d.%d",whole,fract);
稍作整理后,会把程序上传与大家分享。
yeelink针对1.01没啥好的事例程序,等lz的程序,观望cosm yeelink对多个数据上传是没有好的api接口,由于有15S限制。。以及为了能很快看到上传结果。。我都是直接轮换着发。。。比如2个传感器我就间隔8s第一个8s发第一个传感器数据,第二个8s发第二个传感器。3个传感器我就间隔5s,第一个5s发第一个传感器数据。。。以此类推。 YEELINK的API,是一个看不懂的迷局,范例程序也是用了COSM一样的cURL。这个cURL不知道多少人在用,反正我是第一次听说,有机会再慢慢学吧。 其实YEELINK的官网是有实例的。
不过上传间隔这个问题的确有点纠结。特别是有时候写并发的程序还要考虑一下延时。做个缓冲池。。。 对不喜欢复杂算法的人来说多线程的延时等待很占资源。 不过国内有YEELINK总归是好的。亲民的推广。让更多的geeker了解物联。 半分钟传送一次数据,每次五组数据,内容如下:
0,20.0
1,20.1
2,20.0
3,19.0
4,255
Debug功能很实用,显示数据上传时间与状态,调试很方便。
200 PUT /api/v2/feeds/89080.csv 02-12-2012 | 09:38:31 +0000View
200 PUT /api/v2/feeds/89080.csv 02-12-2012 | 09:38:01 +0000View
200 PUT /api/v2/feeds/89080.csv 02-12-2012 | 09:37:30 +0000View
200 PUT /api/v2/feeds/89080.csv 02-12-2012 | 09:37:00 +0000View
200 PUT /api/v2/feeds/89080.csv 02-12-2012 | 09:36:29 +0000View
200 PUT /api/v2/feeds/89080.csv 02-12-2012 | 09:35:59 +0000View
200是成功代码,还有不同的错误代码,及时汇报传送状态,打开view还能看数据内容。 看了一下Cosm,很不错,都是ssl连接,规范 muggle提的很多问题很有道理,指出了yeelink一些问题,目前它做的不好的一个主要瓶颈是投入问题,因为是免费服务创客的项目,调动资源的难度是很大的,希望能够谅解,文档的组织和整理非常费心费力,并非一日之功啊。
页:
[1]