
import sys
from threading import Threadimport requests, time
import matplotlib.pyplot as plt
from nle_library.httpHelp.NetWorkBusiness import NetWorkBusinessplt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = Falsewdsj = []
sdsj = []
sjcc = []A = 10def 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, sjccapi = 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, sjccfig, (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()