一、实现思路
二、具体操作
第一步:注册Yeelink帐号和新建一个传感器
注册帐号较为简单,这里就不再啰嗦,注册好帐号后,转到 用户中心-设备管理界面:
增加完新设备后,选择 管理设备>>>增加一个传感器
然后在“设备管理”界面中获得当前传感器的 URL:
在“账户”>>>>>“我的账户设置”中获得 " API KEY ":
第二步:编写python驱动程序
使用vim文本编辑工具,新建一个 cpu_temp_yeelink.py 文件,并写入以下代码:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import requests
import json
import time
while True:
# 获取RaspberryPI CPU温度值
file = open("/sys/class/thermal/thermal_zone0/temp")
# 读取结果,并转换为浮点数
temp = float(file.read()) / 1000
#关闭文件
file.close()
# 向控制台打印结果
print "cpu_temp : %.3f" %temp
# 传感器URI
URL = 'http://api.yeelink.net/v1.0/device/359404/sensor/409412/datapoints'
#用户API KEY
API_KEY = '686591ae4f3b09ea4435a62be96fc3bc'
# 定义一个字典,并指定上传编码为JSON格式
apiheaders = {'U-ApiKey': API_KEY, 'content-type': 'application/json'}
# 字典类型数据,温度值在post过程中被json.dumps转换为JSON格式字符串
payload = {'value': temp}
#发送请求
r = requests.post(URL, headers=apiheaders, data=json.dumps(payload))
# 打印返回码
print "response status: %d" %r.status_code
#休眠20 s
time.sleep(20)
第三步:执行代码
在 cpu_temp_yeelink.py 目录下输入以下指令来运行脚本:
python cpu_temp_yeelink.py
执行后返回结果如下:
cpu_temp : 40.101
response status: 200
第四步:在线查看实时上传的cpu温度值
第五步:退出程序
回到管理终端,使用 ctrl+c 即可退出程序。