收藏 分销(赏)

第四单元第三课时软件的编写.docx

上传人:二*** 文档编号:4594639 上传时间:2024-09-30 格式:DOCX 页数:4 大小:18.38KB
下载 相关 举报
第四单元第三课时软件的编写.docx_第1页
第1页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第三课时软件的编写帐号 姓名课前预习:1、客户端以HTTP协议,诵过GET或者POST的形式提交数据。如/input?id=l&val=22.5,表示有参数,id的值=,val的值=225 ( P133 )3、信息系统中的软件开发涉及服务器和客户端程序。逃_结构一般只写服务端程序, 浏览蚩就是客户端程序,使得音隋,更新更加容易;CZS结构服务器端和客户端程序 都要写课堂探究:1、室内环境实时监测系统的运行过程:(1) : 1 , 2 , 3处分别智能终端,数据库,浏览器环境僵1(2):网站功能页面规划表以及参数(假设服务器主机IP : 192.168.111.104 ,端口为80 )2、代码解

2、读:访问地址功能说明备注http:/192.168.111.104/主页,显示当前传感器数 据,并实时更新获取传感器数据,返回当前 数据的情况。1为正常,0 为非正常参数为id、valid表示设备号,val表. 104/get?id=l以json的格式,返回传感器id=l的所有数据http:/192.168.111.104/view?id=1显示id为1的传感器麴居 拆线图扩展(1):主页、取得并显示传感器信息(关键语句注释、学过语句填写)DATABASE = *data/data.dbapp = Flask(_name_)app.route(7)def hello():db = sqlite

3、3.connect(DATABASE)cur = db.cursor() #创建一个游标对像cur.execute(SELECT * FROM sensorlog WHERE sensorid =1”) #查找传 感器设备ID值为的所有记录data = cur.fetchallQ #读取游标cu的所有记录,并返回记录数据 cur.close()db.close()tempi = datalen(data) -1 #取得最后一条记录temp=templ2#取得温度的值return render_template(view.html,data二data,tnmD=temD)#模版渲染vtitle瑞

4、安四中机房7室内环境监测系统vhl align=”center”瑞安四中机房室内环境监测系统当前室内温度:temp va href=7刷新v/a历史数据列表:温度记录时间vbr% for i in data:-l %ii3 % endfor %(2) 7获取传感器数据并返回当前值是否在正常范围内app.route(7inputzmethods=,POST,z,GET)def add_data():if request.method = POST: #如果提交模式为 POSTsensorid = intCrequest.form.qetCid) sensorvalue= float(regues

5、tform.get(val) else:sensorid = intfrequest.args.qetfid1) sensorvalue= float(request.arqs.qetCvar)nowtime = datetime.datetime.now() #取得当前时间nowtime = nowtime.strftime(%Y-%m-%d %H:%M:%S) #日期的格式化为字符串 db = sq I ite3. con nect( DAT ABASE)cur = db.cursor()cur.executeCINSERT INTO sensorlog(sensorid,sensorva

6、lue,updatetime)VALUES(%dz%fz%s) %(sensorid,sensorvalue,nowtime)mit。#以上程序的功能为:取得id和val的值并插入到表sensorlog中 cur.execute(SELECT * FROM sensorlist where sensorid = %d % sensorid) rv = cur.fetchall() cur.close() db.close()maxrv = rv02 #取得最大阈值minrv = rv03 #取得最小阈值if sensorvalue maxrv and sensorvalue minrv: #超

7、出阈值范围返回方法,请改错 return 1else:return O(3) :智能终端:向服务器路由提交数据并返回相应的值from microbit import *import Obloqimport music=192.168.111.104 #WEB 服务器 IPPORT=,8Q #WEB 服务器端口SSID= jf 1M #WI-FI 的 SSIDPASSWORD=,123456 78n #WI-FI 的密码uart.init(baudrate=9600z bits=8, parity=None, stop=l, tx=pin2, rx=pinl) #串口通讯初始化while Obl

8、oq.connectWifi(SSID,PASSWORD,10000) != True: # 连接中display.show(.)display.scroll(Obloq.ifconfig() #连接成功后显示 IP 地址Obloq.httpConfig(IPzPORT) # 连接 WEB 服务器上的端口while True:t=str(temDerature()#最得自带温度传感器温度值(填空)putstr=input?val=+t+&id=r #提交 URL 地址,iderrnozresp=Obloq.get(putstr,10000) #通过Obloq的get方法向服务器提交,最大超时1

9、0秒 if errno = 200: #正常提交返回的代码display.scroll(resp) #滚动显示返回的信息if resp=l:music.freq(20000,10000)#长音报警else:music.freq(20000z 100)短音else:display.scroll(str(errno) #滚动显示返回提交出错的返回的代码sleeD(1000*5) #延时 5 秒(4):返回JSON格式代码写法 a:JSON的四个函数函数描述json.dumps将Python对象编码成JSON字符串json.loads将已编码的JSON字符串解码为Python对象json.load从

10、文件读取json信息并解码为Python对像json.dump将Python对象编码成JSON字符串并写进文件1. pyimport jsondictl = (age: ”12”jsonjnfo = json.dumps(dictl) #转换成 JSON 字符串dict2 = json.loadsQsonjnfo) #转换成 Python 字典2. pyimport json jsonjnfo = (age: 12) file = open(,l.jsonz,w/encoding=utf-8,) json.dump(json_info,file)file.close()file = open(

11、,l.json/,r,encoding=utf-8)info = json.load(file)print(info)file.close()b、代码:以json的格式,返回传感器id=l的所有数据app.route(/get/methods=GET) #返回 json 格式def get_data():sensorid=int(request.args.get(id) #取得 id 的值db = sqlite3.connect(DATABASE)cur = db.cursor()cur.execute(SELECT * FROM sensorlog WHERE sensorid = %s”

12、sensorid)sensorid: I.value*:(Isensorvalue:29.0,updatetime:2OI7-O5-27 23:00:34 .sensorvalue:22.1,updatelime-:2017-05-27 22:55:55“sensorvalue:23.2”,updateiime-:2017-05-27 22:50:50 1#从数据库sensorlog表中查询senserid字段的值等于变量sensorid的所有记录(填空) data = cur.fetchall() # dbsum=len(data) #所有记录的长度 dset=sensorid:str(sensorid) #字典的第一值 temp= for i in range(dbsum): value=) #空字典 valuesensorvalue=datai2 valueupdatetime=datai3 temp.append(value)dsetvalue=tempdison=json.dumDS(dset) #转存为json的字符串格式return djson

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服