利用Onenet平台实时查看树莓派cpu温度(http协议)
因为树莓派没有装外壳,今天舍友吓我说温度要爬上80,树莓派没有跑满,80℃不至于把,简单查看了一下温度也没有到80℃。刚好舍友今天又推荐了onenet平台,我想那把树莓派的cpu温度发送到onenet就可以通过网页端实时查看了。
查看温度值
46738除以1000是树莓派的温度值,即46.7℃
pi@raspberrypi:~/Desktop $ cat /sys/class/thermal/thermal_zone0/temp
46738
python程序如下
f=open('/sys/class/thermal/thermal_zone0/temp', 'r')
s=f.read()
temp =int(s)
temp=temp/1000
print(temp)
f.close()
获取onenet产品api
注册账户不多介绍,注册产品选择多协议,选择http协议,注册一个产品,获取产品Api_key

在设备列表中注册一个设备,获取设备ID

添加数据流模板

发送数据到onenet
模板程序如下,参考教程python3通过HTTP上传数据并显示
import urllib.request
import json
import time
import datetime
import random
import requests
APIKEY = '' # 改成你的APIKEY
apiurl = 'http://api.heclouds.com/devices/1111111111/datapoints'#改成你自己的
apiheaders = {'api-key': APIKEY, 'Content-Length': '120'}
def http_put():
temperature = random.randint(60,100)
CurTime = datetime.datetime.now()
payload = {'datastreams': [{"id": "test1", "datapoints": [{"at": CurTime.isoformat(), "value": temperature}]}]}
# payload = {"datastreams": [{"id": "girlA", "datapoints": [{"value": 11}]}]}
print("当前时间为: %s" % CurTime.isoformat())
print("上传值为: %.3f" % temperature)
jdata = json.dumps(payload) # 对数据进行JSON格式化编码
# 打印json内容
print(jdata)
r = requests.post(apiurl, headers=apiheaders, data=json.dumps(payload))
return r
while True:
time.sleep(2)
resp = http_put()
print("OneNET请求结果:\n %s" % resp)
测试一下,可以在设备列表的数据流中看到大于50的随机数

完整程序
import urllib.request
import json
import time
import datetime
import requests
APIKEY = 'api_key' # 改成你的APIKEY
apiurl = 'http://api.heclouds.com/devices/设备号/datapoints'#改成你自己的
apiheaders = {'api-key': APIKEY, 'Content-Length': '120'}
def get_temp():
f=open('/sys/class/thermal/thermal_zone0/temp', 'r')
s=f.read()
temp =int(s)
last_temp=temp/1000
return last_temp
def http_put():
temperature=get_temp()
CurTime = datetime.datetime.now()
payload = {'datastreams': [{"id": "raspberrypi_temperature", "datapoints": [{"at": CurTime.isoformat(), "value": temperature}]}]}
jdata = json.dumps(payload) # 对数据进行JSON格式化编码
# print(jdata)
r = requests.post(apiurl, headers=apiheaders, data=json.dumps(payload)
# return r
if __name__ == '__main__':
while True:
time.sleep(2)
http_put()
在数据流中就可以实时查看树莓派的温度值

本文介绍了如何利用Onenet平台通过HTTP协议实时查看树莓派的CPU温度。首先,展示如何获取温度值,然后讲解如何在Onenet注册产品和设备,获取API_KEY和设备ID。接着,提供了将温度数据发送到Onenet的Python程序代码,并测试验证数据成功上传。最后,说明用户可以在Onenet的数据流中实时监控树莓派的温度。
&spm=1001.2101.3001.5002&articleId=106960706&d=1&t=3&u=6775d595cb5f4603a396f57d098da99c)
358

被折叠的 条评论
为什么被折叠?



