树莓派+yeelink做环境温控记录

作者: PokeBox
上传时间为: 2014-11-30 05:01 PM
2014-11-30
阅读:

之前有发经验介绍如何使用树莓派+18B20做多点温度监控,那么这次就来介绍如何把检测到的温度上传记录到yeelink上。

首先我们需要在yeelink上注册个帐号。http://www.yeelink.net/login

注册好后登录。然后在页面的最右上角找到用户中心,进去后现在新版的页面直接就能看到你的API KEY了。这个API KEY相当于登录密码~记好,然后我们需要新建一个设备和传感器。

首先在我的设备那点击添加新设备

全部填写好后点击最下面的保存即可。

然后回到你的主页,就能看到刚建好的设备了。

点击它进入管理界面。

这里你就可以看到你的设备ID了。

现在我们需要新建一个传感器。点击添加传感器按钮

然后填好名称标签,最后注意要选对传感器的类型,这里我们用来做温度监控所以选择数据型传感器。

之后就会弹出一个单位和符号的输入框,点击一下选择℃摄氏度即可。

以及建议启用数据过滤的功能,因为18B20在读取的时候有可能会出现一些错误,比如读取到85℃,实际上那就是读取出错了,那么为了防止错误的数据影响整个数据表,我们可以启用过滤来防止它记录错误的数据信息。【这是最近才出现的功能,蛮好的……】

然后都设置完成后点保存。

酱紫就能看到我们的数据表了……

这里的传感器ID就是这个温度传感器的ID,API地址是之后我们需要用来上传数据的地址。先记下。

之后,就是树莓派上的代码了~

上传方式参考yeelink的API说明文档,使用curl来上传。

URL="<a href="http://api.yeelink.net/v1.0/device/${deviceid}/sensor/${sensorid}/datapoints" "="">http://api.yeelink.net/v1.0/device/${deviceid}/sen...</a> curl --request POST --header "U-ApiKey: ${APIKEY}" --data-binary @$TMPDIR/datafile.txt ${URL}

上面是我写的一个上传代码,使用了变量来重组。

上面的deviceid变量就是设备ID,sensorid就是传感器ID,APIKEY就是你主页显示的的API KEY那串字符。把他们分别赋值给这些变量后就重组为一个URL变量,然后用curl来上传我们的数据。

其中,TMPDIR是个临时目录的变量,我设置的是/tmp文件夹。

我把他们写成了函数的形式,这样调用很方便。

首先运行getboutdata函数获取室外的温度数据,并且指定传感器ID和设备ID,数值放到VAL变量里。然后执行senddata函数来上传数据。gettime是获取了当前的时间,然后用echo来写一个JSON数值。其中,VAL变量是执行了一个读取18B20数据并执行温度转换的指令。大家可以参考一下~

参考yeelink 的API文档:http://www.yeelink.net/developer/apidoc/11#anchor_...

函数执行完后,就可以在yeelink上看到上传的温度数据了~

这里要提醒一下,yeelink设置了上传时间间隔限制,每次上传的间隔不能小于2分钟~不然会出错也上传不了数据的~

全部评论 ()
条评论
写评论

创建讨论帖子

登录 后参与评论
系统提示