接上篇,这次贴出第二道题目,这是要求我们以表格形式输出值
话不多说,一样我们直接贴出代码,提供大家参考
import requests
import time
import prettytable
login_file=f'http://api.nlecloud.com/users/login'
baoticanshu={
'Account':'13575**4819',
'Password':'123456789'
}
shebeiid='78**19'
while (1):
denglu=requests.post(url=login_file,data=baoticanshu)
if denglu.status_code==200:
breakvalue=denglu.json()
token=breakvalue["ResultObj"]["AccessToken"]
wendufile=f'http://api.nlecloud.com/devices/{shebeiid}/sensors/m_temp'
shidufile=f'http://api.nlecloud.com/devices/{shebeiid}/sensors/m_hum'
m_lightfile=f'http://api.nlecloud.com/devices/{shebeiid}/sensors/m_light'
m_bodyfile=f'http://api.nlecloud.com/devices/{shebeiid}/sensors/m_body'
def huoqudata(file):
breakdata=requests.get(file,headers={"AccessToken":token})
if breakdata.status_code==200:
breakdatavalue=breakdata.json()
datavalue=breakdatavalue["ResultObj"]["Value"]
if datavalue=='':
return 0
return float(datavalue)
wendudata=huoqudata(wendufile)
if wendudata>30:
wendutxt="高温,请注意防暑"
else:
wendutxt="温度适中,持续监控中"
shidudata=huoqudata(shidufile)
shidutxt="湿度持续监控中"
guangzhaodata=huoqudata(m_lightfile)
if guangzhaodata>150:
guangzhaotxt="光照正常"
else:
guangzhaotxt="亮度偏低"
rentidata=huoqudata(m_bodyfile)
if rentidata==1:
rentitext="有人"
rentitxt="有人经过,注意安全"
else:
rentitext = "无人"
rentitxt = "无人,请放心通过"
table=prettytable.PrettyTable()
table.field_names=["监控传感项","监控值","监控状态提醒"]
table.add_row(["温度℃",wendudata,wendutxt])
table.add_row(["湿度%rn", shidudata, shidutxt])
table.add_row(["光照度lux", guangzhaodata, guangzhaotxt])
table.add_row(["人体红外开关", rentidata, rentitxt])
print(table)
time.sleep(30)