版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.7人脸检测功能测试人脸检测功能是通过对于已保存人脸的识别和未经保存人脸识别的判断,当识别到一位未被录入信息的人经过摄像头进门时候,蜂鸣器会进行报警,当一位已经录入人脸的客户扫描时,会自动打开门通过。图5-6人脸检测实物图第6章总结与展望6.1总结基于AI视觉的智慧酒店系统利用人工智能和计算机视觉技术,为酒店提供了更智能化、高效和安全的服务。以下是对这种系统的总结:人脸识别技术:智慧酒店系统使用人脸识别技术来识别和验证客人的身份。这意味着客人可以使用他们的脸部信息进行办理入住手续,进入客房或使用酒店的其他服务,无需使用传统的钥匙卡或密码。安全监控:系统中的摄像头和AI算法可以实时监测酒店的安全状况。它可以识别可疑行为、监控人员活动并及时发出警报。这有助于提高酒店的安全性和防范潜在的问题。智能客房控制:通过AI视觉技术,智慧酒店系统可以识别客人的行为和需求,从而自动调节客房的温度、照明和其他设备。例如,当客人离开房间时,系统可以自动关闭不需要的设备,节约能源。个性化服务:基于AI视觉的智慧酒店系统可以识别客人的面部表情和情绪,并根据其需求提供个性化的服务。例如,如果系统识别到客人疲倦的表情,它可以主动提供一杯咖啡或其他提神的服务。智能安排和管理:系统可以通过视觉分析客人的行为和流量,帮助酒店进行智能安排和资源管理。例如,系统可以检测到客人在餐厅排队等待,提醒餐厅工作人员增加服务人员或打开更多座位。数据分析和预测:智慧酒店系统可以收集大量的数据,并通过AI算法进行分析和预测。这些数据可以用于改进酒店的运营和管理。例如,系统可以分析客人的喜好和行为模式,帮助酒店优化房间布局、服务选择和市场推广。由于自身技术的不熟练,软硬件结合的应用不成熟,焊接电路时候出现小的问题像是会将某些焊接点焊接坏,大的问题甚至是将电路错误焊接导致电路不导通。但在老师的辅导下,我总算发现了问题,并纠正了设计中的错误和不科学的地区。设计方案中的问题和解决方法主要包含下面一些层面。(1)在焊接电路前,一定要先用心去观察并检查,不能上手就去做,没有头绪,既浪费时间,又浪费经济成本。(2)对于摄像头有识别进出的功能,检测人物移动出现的方向,从而进行是进店还是出店的判别。6.2展望基于AI视觉的智慧酒店系统是未来酒店行业的一个重要发展方向。这种系统将利用人工智能和计算机视觉技术来提升酒店的服务质量、安全性和效率。以下是对未来智慧酒店系统的设计展望:人脸识别和身份验证:智慧酒店系统可以使用人脸识别技术来实现客人的身份验证。客人可以通过自助办理入住手续,只需进行人脸扫描即可完成入住登记和房间门锁授权。这样可以提高办理入住的效率,减少排队时间。智能客房控制:智慧酒店系统可以与客房设施和电子设备集成,通过语音或手机应用实现智能化的客房控制。客人可以使用语音命令或手机控制灯光、温度、窗帘、电视等设备,提供更加便捷和舒适的居住体验。安全监控和预警:利用AI视觉技术,智慧酒店系统可以实现全面的安全监控和预警功能。摄像头可以通过人脸识别技术识别陌生人或可疑行为,并及时向酒店安保人员发送警报。这有助于提升酒店的安全性和防范能力。智能客服和语音助手:智慧酒店系统可以引入智能客服和语音助手,通过自然语言处理和语音识别技术与客人进行实时交互。客人可以通过语音提问和指令,获取酒店服务信息、查询预订情况、订购客房服务等。智能推荐和个性化服务:基于AI技术,智慧酒店系统可以分析客人的偏好和历史数据,提供个性化的推荐服务。例如,根据客人的喜好和需求,推荐适合的餐厅、娱乐活动、旅游景点等,提供更加贴心和定制化的服务。
参考文献钱春霞.智慧酒店系统设计研究[J].电子技术与软件工程,2022(14):175-178.关世友,刘晓辉.基于物联网六域模型的智慧酒店系统设计及应用[J].物联网技术,2022,12(03):95-99.DOI:10.16667/j.issn.2095-1302.2022.03.028.冯朔,郑学智.基于边云协同的智慧酒店系统[J].电子设计工程,2021,29(19):19-24+30.DOI:10.14022/j.issn1674-6236.2021.19.004.冯朔.基于边云协同计算的智慧酒店系统[D].武汉邮电科学研究院,2021.DOI:10.27386/ki.gwyky.2021.000002.宋琦,莫淇,黄柳婷,张卉盈,郭文麒.基于RFID模块的智慧酒店管理系统设计与研究[J].时代汽车,2020(17):114-115.赵嘉伟,姚敦红.基于UML的无人智慧酒店系统设计[J].信息与电脑(理论版),2020,32(13):89-90.刘映群,刘俊钦,梁健煊.智慧酒店管理系统设计与实现[J].现代信息科技,2021,5(09):87-92.DOI:10.19850/ki.2096-4706.2021.09.023.洪晖煌,潘善亮.基于MQTT的智慧酒店系统设计[J].无线通信技术,2022,31(02):59-62.黄振勇.坚持问题导向推动智慧校园建设新突破[J].北京石油管理干部学院学报,2020,27(03):27-30.周富林,黄靖.AI边缘计算在工业视觉识别系统中的应用[J].现代传输,2022(06):54-56.刘志勇.基于UML的酒店视觉AI解决方案软件建模[J].现代计算机,2022,28(22):99-102+108.陈元威,王雁平,黄琼桃,陈泽娜,黄龙子.基于AI的机械视觉控制系统设计[J].仪表技术,2022(06):37-38+57.DOI:10.19432/ki.issn1006-2394.2022.06.009.杨李奇,李昱龙,骆阳,代函可,章红.基于AI视觉的交通标志识别与车辆控制[J].电子技术与软件工程,2022(20):157-161.顾方,胡良勇,黄坚,刘鹏.基于机器视觉AI智能识别的计量器具信息检索系统研究与应用[J].中国计量,2022(10):47-48.DOI:10.16569/11-3720/t.2022.10.009.智能视觉应用快车道
端边云协同的AI视觉产业研究报告[C]//.艾瑞咨询系列研究报告(2022年第9期).[出版者不详],2022:48-89.唐淮,张晶,李为颖,冯冬梅,吴科进.基于AI视觉的工业机器人抓取系统设计[J].内燃机与配件,2022(06):185-187.DOI:10.19475/ki.issn1674-957x.2022.06.056.黄志芳,魏洁锋,陈德鹏,姚凯茵,梁锐轩.基于AI图像识别的视觉障碍人士背包[J].物联网技术,2021,11(12):95-98.DOI:10.16667/j.issn.2095-1302.2021.12.026.石菲.当AI视觉遇上“灯塔工厂”[J].中国信息化,2021(11):33-35.Panigrahy
Saroj
Kumar,Emany
Harika.
A
Survey
and
Tutorial
on
Network
Optimization
for
Intelligent
Transport
System
Using
the
Internet
of
Vehicles[J].
Sensors,2023,23(1).Lele
Zhao.
A
New
Way
to
Cultivate
the
Employment
and
Entrepreneurship
Ability
of
Graduates
of
"Hotel
Management
and
Digital
Operation"
Major
in
Higher
Vocational
Colleges[J].
International
Journal
of
New
Developments
in
Education,2022,4(13).Li
Juan.
Analysis
of
Professional
Psychological
Adaptability
of
Students
Majoring
in
Hotel
Management
and
Digital
Operation
for
Higher
Vocational
Education
under
Deep
Learning[J].
Wireless
Communications
and
Mobile
Computing,2022,2022.
附录电路图源代码classBEEP_3V3:def__init__(self,ctr_beep,ctr_init_level):self.ctr_beep=ctr_beepself.ctr_init_level=ctr_init_leveldefON(self):self.ctr_beep.value(self.ctr_init_level)defOFF(self):self.ctr_beep.value((1-self.ctr_init_level))defInit(self):self.OFF()defRUN(self,beep_state):self.ctr_beep.value(beep_state)importsensorimportimageimportlcdimportKPUaskpuimporttimefromMaiximportFPIOA,GPIOimportgcfromfpioa_managerimportfmfromboardimportboard_infoimportutimefromboardimportboard_infofrommachineimportTimer#定时器frommachineimportUART#串口importRELAY_DriveimportBEEP_3V3_Drive###########################################再次运行删除模型#################################################try:deltask_fddeltask_lddeltask_feexceptException:passtry:delaexceptException:passgc.collect()###############################################################################################################################################模型加载##################################################内存中模型加载#task_fd=kpu.load(0x300000)#task_ld=kpu.load(0x400000)#task_fe=kpu.load(0x500000)#SD中模型加载task_fd=kpu.load("/sd/FaceDetection.smodel")#加载:人脸检测模型找到人脸task_ld=kpu.load("/sd/FaceLandmarkDetection.smodel")#加载:关键点检测模型从前面找到的人脸中找到人脸的眼睛鼻子和嘴巴的位置task_fe=kpu.load("/sd/FeatureExtraction.smodel")#加载:人脸特征提取模型--从一张人脸图片中得出一个特征值############################################################################################################################################My-config#################################################SYS_Status='END'Face_Index=""#人员动作People_State=0#人员状态:0-无动作,1-进门,2-出门Curr_Nose_XY={'x':0,'y':0}#当前:鼻子坐标,用以判断出入Reco_Nose_XY={'x':0,'y':0}#记录:鼻子坐标,用以判断出入Rela_Nose_XY={'x':0,'y':0}#相对:鼻子坐标,用以判断出入Move_Step=0#入住Hotel_Room_1={'P':'','G':'S','M':1,'DS':0,'ES':0}#客房1:客人、扣费级别、每次扣费、门状态、电状态Hotel_Room_1_Time={'D':0,'H':0,'M':0,'S':0}#客房1使用时间Hotel_Room_2={'P':'','G':'S','M':1,'DS':0,'ES':0}#客房2:客人、扣费级别、每次扣费、门状态、电状态Hotel_Room_2_Time={'D':0,'H':0,'M':0,'S':0}#客房2使用时间Last_Hotel_Invade_State=0Hotel_Invade_Num=0#入侵计数###############################################################################################################################################config#################################################anchor=(1.889,2.5245,2.9465,3.94056,3.99987,5.3658,5.155437,6.92275,6.718375,9.01025)#anchorforfacedetectdst_point=[(44,59),(84,59),(64,82),(47,105),(81,105)]#standardfacekeypointpositionrecord_ftr=[]#人脸特征#record_ftrs=[]#建立字典--记录:人脸特征#names=['Mr.1','Mr.2','Mr.3','Mr.4','Mr.5','Mr.6','Mr.7','Mr.8','Mr.9','Mr.10']dic_record_ftrs={}#建立字典--记录:人脸特征Dic_Account={'0':0,'1':0,'2':0,'3':0,'4':0,'5':0,'6':0,'7':0,'8':0,'9':0,}#建立账户ACCURACY=70#精度Operational_Order=['0','0','0','-']#操作指令#Operational_Order[0]#操作-1位:"0"-无操作;"1"-自动追加;"2"-指定追加;"3"-指定删除;"4"-自动删除;"5"-金额;"6"--房间1"7"房间2#Operational_Order[1]#操作-1位:"0"-"9"指定追加编号;/指定删除编号#Operational_Order[2]#操作-3位:"000"-"999"金额#Operational_Order[3]#操作-3位:"S"/"M"/"H"/"D"级别#########################################################################################################################################文字显示######################################################defdraw_string(img,x,y,text,color,scale,bg=None):ifbg:img.draw_rectangle(x-2,y-2,len(text)*8*scale+4,16*scale,fill=True,color=bg)img=img.draw_string(x,y,text,color=color,scale=scale)returnimg############################################################################################################################################Face_Detect################################################最多录10张人脸单张人脸返回值Face_Num=10#人脸总数Face_Exist=[0,0,0,0,0,0,0,0,0,0]#人脸存在数组,通信传输,供上位机查看,0-不存在,1-存在defFace_Detect(img):globaltask_fd,task_ld,task_fe#模型:人脸检测模型、关键点检测模型、人脸特征提取模型globala#一些函数的公用返回值globaldst_pointglobalACCURACY#精度globalimg_faceglobalrecord_ftr,dic_record_ftrs#人脸特征、人脸特征记录字典globalFace_Num#人脸总数globalFace_Exist#人脸存在数组,通信传输,供上位机查看globalOperational_Order#操作指令globalDic_Account#账户globalCurr_Nose_XY#当前:鼻子坐标,用以判断出入globalHotel_Room_1#房间1globalHotel_Room_1#房间2Index=""#即将获得的人脸索引,也即名称:""未识别到,"X"未录入,"0"-"9"已录入的人脸编号record_ftr=[]#人脸特征curr_index_list=list(dic_record_ftrs.keys())#获取当前已录入人脸索引(名称)列表#更新人脸存在数组,用于通信iflen(curr_index_list)>0:forexist_countinrange(0,Face_Num):#0-9,不包含10,人脸总数:10ifstr(exist_count)incurr_index_list:Face_Exist[exist_count]=1else:Face_Exist[exist_count]=0else:forexist_countinrange(0,Face_Num):#0-9,不包含10,人脸总数:10Face_Exist[exist_count]=0code=kpu.run_yolo2(task_fd,img)#人脸检测模型找到人脸#获取鼻子坐标,用以判断出入Curr_Nose_XY['x']=0Curr_Nose_XY['y']=0ifcode:#如果:找到人脸foriincode:#遍历人脸#Cutfaceandresizeto128x128a=img.draw_rectangle(i.rect())#画框face_cut=img.cut(i.x(),i.y(),i.w(),i.h())#人脸-裁剪face_cut_128=face_cut.resize(128,128)#人脸-裁剪-128*128a=face_cut_128.pix_to_ai()#同步`RGB888`内存块#a=img.draw_image(face_cut_128,(0,0))#Landmarkforface5pointsfmap=kpu.forward(task_ld,face_cut_128)#关键点检测模型从前面找到的人脸中找到人脸的眼睛鼻子和嘴巴的位置plist=fmap[:]#把运行的结果转换成了一个list对象le=(i.x()+int(plist[0]*i.w()-10),i.y()+int(plist[1]*i.h()))#左眼睛坐标re=(i.x()+int(plist[2]*i.w()),i.y()+int(plist[3]*i.h()))#右眼睛坐标nose=(i.x()+int(plist[4]*i.w()),i.y()+int(plist[5]*i.h()))#鼻子坐标#获取鼻子坐标,用以判断出入Curr_Nose_XY['x']=(i.x()+int(plist[4]*i.w()))Curr_Nose_XY['y']=(i.y()+int(plist[5]*i.h()))lm=(i.x()+int(plist[6]*i.w()),i.y()+int(plist[7]*i.h()))#左嘴角坐标rm=(i.x()+int(plist[8]*i.w()),i.y()+int(plist[9]*i.h()))#右嘴角坐标a=img.draw_circle(le[0],le[1],4)#左眼睛--画圆a=img.draw_circle(re[0],re[1],4)#右眼睛--画圆a=img.draw_circle(nose[0],nose[1],4)#鼻子--画圆a=img.draw_circle(lm[0],lm[1],4)#左嘴角--画圆a=img.draw_circle(rm[0],rm[1],4)#右嘴角--画圆#alignfacetostandardpositionsrc_point=[le,re,nose,lm,rm]T=image.get_affine_transform(src_point,dst_point)a=image.warp_affine_ai(img,img_face,T)a=img_face.ai_to_pix()#同步`RGB888`内存块#a=img.draw_image(img_face,(128,0))del(face_cut_128)#删除人脸-裁剪-128*128#calculatefacefeaturevectorfmap=kpu.forward(task_fe,img_face)#人脸特征提取模型--从一张人脸图片中得出一个特征值feature=kpu.face_encode(fmap[:])#得到特征值reg_flag=False#识别Flag识别完毕(未使用)Max_Score=0.0#当前最大相似度scores=[]#当前所有相似度index_tmp=""#即将获得的人脸索引,也即名称:""未识别到,"X"未录入,"0"-"9"已录入的人脸编号forf_index_tmp_01incurr_index_list:#遍历已录入人脸索引列表score=kpu.face_compare(dic_record_ftrs[f_index_tmp_01],feature)#获取每个存储人脸的特征值ifMax_Score<score:Max_Score=scoreindex_tmp=f_index_tmp_01ifMax_Score>ACCURACY:#最大特征值大于精度检测到已录入的人脸Index=index_tmp#获取检测到的人脸索引,也即名称:获取索引a=img.draw_string(i.x(),i.y(),("%s:%2.1f"%(#识别到已录入的人脸,显示:人脸索引,相似度Index,Max_Score)),color=(0,255,0),scale=2)else:#最大特征值小于精度检测到未录入的人脸Index="X"#获取检测到的人脸索引,也即名称:未录入a=img.draw_string(i.x(),i.y(),("%s:%2.1f"%(#识别到未录入的人脸,显示:XX,相似度Index,Max_Score)),color=(255,0,0),scale=2)record_ftr=feature#保存人脸特征break#录入/删除等指令操作ifOperational_Order[0]=="0":#指令:无操作passelifOperational_Order[0]=="1":#指令:自动追加ifIndex=="X":#识别到未录入人脸if0<len(curr_index_list)<Face_Num:#未达到人脸总数curr_index_list_to_int=[int(x)forxincurr_index_list]#获取当前已录入人脸索引(名称)int列表ifmax(curr_index_list_to_int)<(Face_Num-1):#编号小于人脸总数-1dic_record_ftrs.setdefault(str(max(curr_index_list_to_int)+1),record_ftr)#插入新值Dic_Account[str(max(curr_index_list_to_int)+1)]=100#注册100eliflen(curr_index_list)==0:dic_record_ftrs.setdefault('0',record_ftr)#插入新值Dic_Account['0']=100#注册100else:passelifOperational_Order[0]=="2":#指令:指定追加if'0'<=Operational_Order[1]<=str(Face_Num-1):ifIndex=="X":#识别到未录入人脸if0<len(curr_index_list)<Face_Num:#未达到人脸总数ifnotOperational_Order[1]incurr_index_list:dic_record_ftrs.setdefault(Operational_Order[1],record_ftr)#插入新值Dic_Account[Operational_Order[1]]=100#注册100eliflen(curr_index_list)==0:dic_record_ftrs.setdefault(Operational_Order[1],record_ftr)#插入新值Dic_Account[Operational_Order[1]]=100#注册100else:passelse:#非法指令passifOperational_Order[0]=="3":#指令:指定删除if'0'<=Operational_Order[1]<=str(Face_Num-1):iflen(curr_index_list)>0:ifOperational_Order[1]incurr_index_list:deldic_record_ftrs[Operational_Order[1]]Dic_Account[Operational_Order[1]]=0#清空该账户elifOperational_Order[0]=="4":#指令:自动删除iflen(curr_index_list)>0:curr_index_list_to_int=[int(x)forxincurr_index_list]#获取当前已录入人脸索引(名称)int列表deldic_record_ftrs[str(max(curr_index_list_to_int))]Dic_Account[str(max(curr_index_list_to_int))]=0#清空该账户elifOperational_Order[0]=="5":#指令:指定充值if'0'<=Operational_Order[1]<=str(Face_Num-1):if0<=int(Operational_Order[2])<=999:#金额在范围内iflen(curr_index_list)>0:ifOperational_Order[1]incurr_index_list:#编号存在Dic_Account[Operational_Order[1]]=int(Operational_Order[2])elifOperational_Order[0]=="6":#指令:房间1if'0'<=Operational_Order[1]<=str(Face_Num-1):if0<=int(Operational_Order[2])<=99:#金额在范围内ifOperational_Order[3]in['S','M','H','D']:iflen(curr_index_list)>0:ifOperational_Order[1]incurr_index_list:#编号存在ifHotel_Room_2['P']=="":#客人2不存在Hotel_Room_1['P']=Operational_Order[1]#客人Hotel_Room_1['G']=Operational_Order[3]#扣费级别Hotel_Room_1['M']=int(Operational_Order[2])#每次扣费Hotel_Room_1['DS']=0#门状态Hotel_Room_1['ES']=0#电状态else:#客人2存在ifHotel_Room_2['P']!=Operational_Order[1]:#不等Hotel_Room_1['P']=Operational_Order[1]#客人Hotel_Room_1['G']=Operational_Order[3]#扣费级别Hotel_Room_1['M']=int(Operational_Order[2])#每次扣费Hotel_Room_1['DS']=0#门状态Hotel_Room_1['ES']=0#电状态else:#等Hotel_Room_1['P']=""#客人Hotel_Room_1['G']='S'#扣费级别Hotel_Room_1['M']=1#每次扣费Hotel_Room_1['DS']=0#门状态Hotel_Room_1['ES']=0#电状态elifOperational_Order[1]=="":Hotel_Room_1['P']=""#客人Hotel_Room_1['G']='S'#扣费级别Hotel_Room_1['M']=1#每次扣费Hotel_Room_1['DS']=0#门状态Hotel_Room_1['ES']=0#电状态else:passelifOperational_Order[0]=="7":#指令:房间2if'0'<=Operational_Order[1]<=str(Face_Num-1):if0<=int(Operational_Order[2])<=99:#金额在范围内ifOperational_Order[3]in['S','M','H','D']:iflen(curr_index_list)>0:ifOperational_Order[1]incurr_index_list:#编号存在ifHotel_Room_1['P']=="":#客人1不存在Hotel_Room_2['P']=Operational_Order[1]#客人Hotel_Room_2['G']=Operational_Order[3]#扣费级别Hotel_Room_2['M']=int(Operational_Order[2])#每次扣费Hotel_Room_2['DS']=0#门状态Hotel_Room_2['ES']=0#电状态else:#客人1存在ifHotel_Room_1['P']!=Operational_Order[1]:#不等Hotel_Room_2['P']=Operational_Order[1]#客人Hotel_Room_2['G']=Operational_Order[3]#扣费级别Hotel_Room_2['M']=int(Operational_Order[2])#每次扣费Hotel_Room_2['DS']=0#门状态Hotel_Room_2['ES']=0#电状态else:#等Hotel_Room_2['P']=""#客人Hotel_Room_2['G']='S'#扣费级别Hotel_Room_2['M']=1#每次扣费Hotel_Room_2['DS']=0#门状态Hotel_Room_2['ES']=0#电状态elifOperational_Order[1]=="":Hotel_Room_2['P']=""#客人Hotel_Room_2['G']='S'#扣费级别Hotel_Room_2['M']=1#每次扣费Hotel_Room_2['DS']=0#门状态Hotel_Room_2['ES']=0#电状态else:passelse:#非法指令passOperational_Order[0]="0"#清空指令(最后统一清空指令)Operational_Order[1]="0"#清空编号(最后统一清空指令)Operational_Order[2]="0"#清空金额(最后统一清空指令)Operational_Order[3]="-"#清空级别(最后统一清空指令)returnIndex##############################################################################################################################################INIT####################################################lcd.init()#初始化LCDsensor.reset()#复位摄像头sensor.set_pixformat(sensor.RGB565)#设置摄像头输出格式:屏幕使用的是RGB565sensor.set_framesize(sensor.QVGA)#设置摄像头输出帧大小:QVGA--320*240sensor.set_hmirror(1)#水平镜像sensor.set_vflip(1)#垂直镜像sensor.run(1)#图像捕捉功能控制:1--开始抓取图像0--停止抓取图像sensor.skip_frames(30)#跳过30张照片a=kpu.init_yolo2(task_fd,0.5,0.3,5,anchor)#因为使用了YOLO2模型,该模型有专门的初始化函数,调用初始化函数初始化模型img_lcd=image.Image()img_face=image.Image(size=(128,128))a=img_face.pix_to_ai()##############################################################################################################################################BEEP###################################################fm.register(board_info.PIN_Ctr_BEEP,fm.fpioa.GPIO0)#注册IO-Ctr_BEEPCtr_BEEP=GPIO(GPIO.GPIO0,GPIO.OUT)BEEP=BEEP_3V3_Drive.BEEP_3V3(Ctr_BEEP,0)#构建对象:BEEP,正常使用,低电平响BEEP.Init()#初始化:BEEP#time.sleep_ms(1000)#BEEP.OFF()#蜂鸣器关闭#BEEP.ON()#蜂鸣器开启#############################################################################################################################################Relay_01##################################################控制门1--常开接线(继电器不工作状态是开路)fm.register(board_info.PIN_Relay_01,fm.fpioa.GPIO1)#注册IO-Ctr_RELAY_01Ctr_RELAY_01=GPIO(GPIO.GPIO1,GPIO.OUT)Relay_01=RELAY_Drive.RELAY(Ctr_RELAY_01,1)#构建对象:Relay_01Relay_01.Init()#初始化:Relay_01#Relay_01.ON()#继电器打开#Relay_01.OFF()#继电器打开#############################################################################################################################################Relay_02##################################################控制电闸1--常开接线(继电器不工作状态是开路)fm.register(board_info.PIN_Relay_02,fm.fpioa.GPIO2)#注册IO-Ctr_RELAY_02Ctr_RELAY_02=GPIO(GPIO.GPIO2,GPIO.OUT)Relay_02=RELAY_Drive.RELAY(Ctr_RELAY_02,1)#构建对象:Relay_02Relay_02.Init()#初始化:Relay_02#Relay_02.ON()#继电器打开#Relay_02.OFF()#继电器打开#############################################################################################################################################Relay_03##################################################控制门2--常开接线(继电器不工作状态是开路)fm.register(board_info.PIN_Relay_03,fm.fpioa.GPIO3)#注册IO-Ctr_RELAY_03Ctr_RELAY_03=GPIO(GPIO.GPIO3,GPIO.OUT)Relay_03=RELAY_Drive.RELAY(Ctr_RELAY_03,1)#构建对象:Relay_03Relay_03.Init()#初始化:Relay_03#Relay_03.ON()#继电器打开#Relay_03.OFF()#继电器打开#############################################################################################################################################Relay_04##################################################控制电闸2--常开接线(继电器不工作状态是开路)fm.register(board_info.PIN_Relay_04,fm.fpioa.GPIO4)#注册IO-Ctr_RELAY_03Ctr_RELAY_04=GPIO(GPIO.GPIO4,GPIO.OUT)Relay_04=RELAY_Drive.RELAY(Ctr_RELAY_04,1)#构建对象:Relay_04Relay_04.Init()#初始化:Relay_04#Relay_04.ON()#继电器打开#Relay_04.OFF()#继电器打开##############################################################################################################################################KEY######################################################KEY_BOOT--未使用#KEY_SYSfm.register(board_info.PIN_KEY_SYS,fm.fpioa.GPIOHS1)#注册IO-KEY_SYSKEY_SYS=GPIO(GPIO.GPIOHS1,GPIO.IN,GPIO.PULL_UP)#构建KEY_SYS对象defexit_KEY_SYS_fun(KEY_SYS):#KEY_SYS中断回调函数globalSYS_Statustime.sleep_ms(10)#消除抖动ifKEY_SYS.value()==0:#确认按键被按下ifSYS_Status=='END':SYS_Status='RUN'else:SYS_Status='END'KEY_SYS.irq(exit_KEY_SYS_fun,GPIO.IRQ_FALLING,priority=2)#开启中断,下降沿触发###########################KEY1--fm.register(board_info.PIN_KEY1_IN,fm.fpioa.GPIOHS2)#注册IO-KEY1KEY1=GPIO(GPIO.GPIOHS2,GPIO.IN,GPIO.PULL_UP)#构建KEY1对象defexit_KEY1_fun(KEY1):#KEY1中断回调函数time.sleep_ms(10)#消除抖动ifKEY1.value()==0:#确认按键被按下passKEY1.irq(exit_KEY1_fun,GPIO.IRQ_FALLING)#开启中断,下降沿触发#KEY2--fm.register(board_info.PIN_KEY2_IN,fm.fpioa.GPIOHS3)#注册IO-KEY2KEY2=GPIO(GPIO.GPIOHS3,GPIO.IN,GPIO.PULL_UP)#构建KEY2对象defexit_KEY2_fun(KEY2):#KEY2中断回调函数time.sleep_ms(10)#消除抖动ifKEY2.value()==0:#确认按键被按下passKEY2.irq(exit_KEY2_fun,GPIO.IRQ_FALLING)#开启中断,下降沿触发#KEY3--未使用##########################################################################################################################
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025北京城建集团国际事业部成熟人才招聘22人笔试参考题库附带答案详解
- 2025内蒙古包头北方重型汽车股份有限公司招聘笔试历年备考题库附带答案详解
- 2025云南地矿地质工程有限公司招聘10人笔试参考题库附带答案详解
- 2026年上海应用技术大学单招职业技能测试题库附答案详解(培优)
- 2026年云南工贸职业技术学院单招职业适应性考试题库附参考答案详解(夺分金卷)
- 2026年上海中侨职业技术大学单招职业适应性测试题库附答案详解(完整版)
- 2026年上海工程技术大学单招职业适应性测试题库及答案详解(有一套)
- 2026年三亚城市职业学院单招职业适应性测试题库及答案详解一套
- 2026年丽水学院单招职业倾向性测试题库及一套答案详解
- 2026年上海立信会计金融学院单招职业倾向性测试题库含答案详解(模拟题)
- 腕表买卖合同协议
- 2025届河南省郑州市高三下学期第二次质量预测英语试题(原卷版+解析版)
- 2025年安阳职业技术学院单招职业适应性测试题库学生专用
- 2025年临沂科技职业学院高职单招语文2019-2024历年真题考点试卷含答案解析
- 家居行业创业风险管理与防范措施
- 产科新生儿交接流程
- 《逃不开的经济周期》拉斯·特维德
- 交通事故授权委托书
- JGJT178-2009 补偿收缩混凝土应用技术规程
- 「完整优质版」基金业协会备案的合伙协议范本
- 四年级下册数学教案 - 第一单元教案 北师大版
评论
0/150
提交评论