查看: 1112|回复: 0

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

[复制链接]
  • TA的每日心情
    开心
    2019-6-25 09:54
  • 签到天数: 216 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2014-11-30 17:01:54 | 显示全部楼层 |阅读模式
    分享到:
    之前有发经验介绍如何使用树莓派+18B20做多点温度监控,那么这次就来介绍如何把检测到的温度上传记录到yeelink上。
    首先我们需要在yeelink上注册个帐号。https://www.yeelink.net/login
    注册好后登录。然后在页面的最右上角找到用户中心,进去后现在新版的页面直接就能看到你的API KEY了。这个API KEY相当于登录密码~记好,然后我们需要新建一个设备和传感器。
    首先在我的设备那点击添加新设备

    全部填写好后点击最下面的保存即可。
    然后回到你的主页,就能看到刚建好的设备了。
    点击它进入管理界面。

    这里你就可以看到你的设备ID了。
    现在我们需要新建一个传感器。点击添加传感器按钮
    然后填好名称标签,最后注意要选对传感器的类型,这里我们用来做温度监控所以选择数据型传感器。

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

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

    酱紫就能看到我们的数据表了……
    这里的传感器ID就是这个温度传感器的ID,API地址是之后我们需要用来上传数据的地址。先记下。
    之后,就是树莓派上的代码了~
    上传方式参考yeelink的API说明文档,使用curl来上传。
    URL="<a href="https://api.yeelink.net/v1.0/device/${deviceid}/sensor/${sensorid}/datapoints" "="">https://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文档:https://www.yeelink.net/developer/apidoc/11#anchor_...

    函数执行完后,就可以在yeelink上看到上传的温度数据了~
    这里要提醒一下,yeelink设置了上传时间间隔限制,每次上传的间隔不能小于2分钟~不然会出错也上传不了数据的~
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-4-19 18:32 , Processed in 0.124079 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.