
python
import sys
from threading import Thread
import requests, time
import matplotlib.pyplot as plt
from nle_library.httpHelp.NetWorkBusiness import NetWorkBusiness
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
wdsj = []
sdsj = []
sjcc = []
A = 10
def login():
para = dict(Account='15079001133', Password='123456')
X = requests.post(url='http://api.nlecloud.com/users/login', data=para)
return X.json()['ResultObj']['AccessToken']
def task():
global wdsj, sdsj, sjcc
api = NetWorkBusiness('api.nlecloud.com', 80)
a = login()
api.setAccessToken(a)
while True:
wd = api.getDeviceSensorHistoryDatas(895940, 'm_temp')
wd = dict(wd)
wd = wd['ResultObj']['DataPoints'][0]['PointDTO'][0]['Value']
wd = float(wd)
wdsj.append(wd)
sd = api.getDeviceSensorHistoryDatas(895940, 'm_hum')
sd = dict(sd)
sd = sd['ResultObj']['DataPoints'][0]['PointDTO'][0]['Value']
sd = float(sd)
sdsj.append(sd)
sj = time.strftime('%H:%M:%S')
sjcc.append(sj)
time.sleep(5)
if len(sjcc) == 7:
plt.cla()
sdsj.pop(0)
wdsj.pop(0)
sjcc.pop(0)
def zx():
global wdsj, sdsj, sjcc
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(20, 5))
ax1.set_title('温度变化图')
ax1.set_xlabel('时间')
ax1.set_ylabel('温度值')
ax2.set_title('湿度变化图')
ax2.set_xlabel('时间')
ax2.set_ylabel('湿度值')
ax1.plot(sjcc, wdsj)
ax2.plot(sjcc, sdsj, color='r')
fig.canvas.mpl_connect('close_event', on_cle)
while True:
print(wdsj)
if len(sjcc) == 7:
ax1.clear() # 清除子图1的内容
ax2.clear() # 清除子图2的内容
ax1.set_title('温度变化图')
ax1.set_xlabel('时间')
ax1.set_ylabel('温度值')
ax2.set_title('湿度变化图')
ax2.set_xlabel('时间')
ax2.set_ylabel('湿度值')
ax1.plot(sjcc, wdsj)
ax2.plot(sjcc, sdsj)
plt.draw()
plt.pause(10)
def on_cle(self):
plt.close()
sys.exit()
if __name__ == '__main__':
P1 = Thread(target=task)
P1.setDaemon(True)
P1.start()
zx()