欢迎来到咨信网! | 成为共赢成为共赢 咨信网助力知识提升 | 自信网络旗下运营:咨信网 自信AI创作助手 自信AI导航
咨信网
全部分类
  • 包罗万象   教育专区 >
  • 品牌综合   考试专区 >
  • 管理财经   行业资料 >
  • 环境建筑   通信科技 >
  • 法律文献   文学艺术 >
  • 学术论文   百科休闲 >
  • 应用文书   研究报告 >
  • ImageVerifierCode 换一换
    首页 咨信网 > 资源分类 > PDF文档下载
    分享到微信 分享到微博 分享到QQ空间

    树莓派开关监控软件的实现与教学示范_汪文彬.pdf

    • 资源ID:457562       资源大小:2.48MB        全文页数:4页
    • 资源格式: PDF        下载积分:10金币
    微信登录下载
    验证码下载 游客一键下载
    账号登录下载
    三方登录下载: QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    验证码: 获取验证码
    温馨提示:
    支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    VIP下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    声明    |    会员权益      获赠5币      写作写作
    1、填表:    下载求助     索取发票    退款申请
    2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
    6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    7、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

    树莓派开关监控软件的实现与教学示范_汪文彬.pdf

    1、dianzi yuanqijian yu xinxijishu 电 子 元 器 件 与 信 息 技 术114|树莓派开关监控软件的实现与教学示范汪文彬,陈德祥,马玉春(通信作者)海南热带海洋学院计算机科学与技术学院,海南三亚,572022摘要:Python语言功能强大,树莓派也广泛应用于高校学生的扩展学习和各种竞赛。本文利用继电器扩展板实现了一个基于树莓派的可视化开关监控软件,灵活应用Python的列表表达继电器及其状态,综合应用了多线程和定时任务,软硬结合,具有一定的趣味性和实用性,既可用于Python的教学,也可用于树莓派的扩展学习。关键词:树莓派;Python;多线程;定时任务中图分类号

    2、:TP311.5文献标志码:ADOI:10.19772/ki.2096-4455.2023.1.027 0引言Python语言跨平台,简单易学,具有独特的数据类型,开发环境种类较多,第三方类库也比较丰富,安装方便,广泛应用于大数据处理和人工智能等领域。在Python程序设计教学中,主要讲授基本的数据结构和程序语法,很少涉及多线程和定时任务的处理,以及对硬件的监控。树莓派是一种卡片式计算机,只有信用卡大小,现在的4B版本已经内建8G内存1。树莓派具有40个引脚的排针,可以进行各种硬件扩展,从而用于多种环境下的监控。树莓派内建Python开发环境,本文使用微雪电子生产的RPiRelayBoard(

    3、树莓派继电器扩展板),结合第三方Python类库对扩展板的继电器开关进行监控,从而实现对Python扩展学习。1引脚定义树莓派的排针用于“通用输入与输出”(generalpurposeinputoutput,简称GPIO),允许对树莓派进行扩展,可以方便地通过RPi.GPIO类库对GPIO引脚进行控制(高电位或低电位),但是,有两种引脚编号方式,第一种按照排针顺序,引脚从1至40进行编号;第二种根据连接到BCM2835CPU的逻辑来编号,序号又有差别,例如,BCM2835CPU的GPIO16引脚对应树莓派的第36引脚2。树莓派有两个5V引脚、两个3.3V引脚、8个GND引脚,控制GPIO电位时

    4、,可以用来驱动发光二极管。如果需要通过树莓派来控制市电开关,则可以使用微雪电子生产的继电器扩展板,如图1所示。图 1树莓派继电器扩展板图1所示的继电器可以控制220V/5A的设备,继电器使用GPIO25、GPIO28和GPIO29引脚,分别对应树莓派排针的37、38和40引脚,通过跳基金项目:本文系 2021 年度海南省高等学校教育教学改革研究项目(项目编号:Hnjg2021-86);2019 年三亚市院地科技合作项目(项目编号:2019YD18)作者简介:汪文彬,男,硕士,教授,研究方向:进化计算与软件测试。通信作者:马玉春,男,博士,教授,研究方向:移动应用与计算机监控技术。电 子 元 器

    5、 件 与 信 息 技 术|115软件和信息技术服务线将这些引脚分别连接到扩展板的CH1、CH2和CH3通道,即所标示的三个继电器(从左到右),每个继电器外接两个开关(见接线端子),左侧为常闭开关,右侧为常开开关。2类库安装与编程实现RPi.GPIO类库一般预装在新版树莓派中,如果没有发现该类库,可以在命令行下通过系统权限安装,如下第一条命令更新系统索引,第二条命令更新系统软件,解决依赖问题,第三条命令安装RPi.GPIO类库,重新启动后即可生效。sudoapt-getupdatesudoapt-getdist-upgradesudo apt-get install python-rpi.gpi

    6、opython3-rpi.gpio一般通过命令“importRPi.GPIOasGPIO”导入GPIO类库,相对于图1所示的继电器扩展板,一个典型的开关操作函数switchOnOff如下所示,第一个参数为GPIO编号,如果对应继电器CH1,采用树莓派引脚顺序为37;如果采用BCM编号,则CH1定义为常量25即可;第二个参数status表示需要控制的状态。GPIO类库函数setmode用来设置引脚编号方式,BOARD采用排针顺序,BCM则采用CPU编号;函数setup用来设置指定引脚的工作方式,OUT表示输出控制,IN表示读取开关状态;函数output用来控制输出引脚,LOW表示低电位(使得继电

    7、器扩展板的常开开关闭合),HIGH表示高电位(使得继电器扩展板的常开开关断开)。defswitchOnOff(relay,status):GPIO.setmode(GPIO.BOARD)#GPIO.BCMGPIO.setup(relay,GPIO.OUT)#GPIO.INGPIO.output(relay,status)#GPIO.LOW/HIGHGPIO.HIGH可以用True或1来表示;同理,GPIO.LOW也可以用False或0来替代。读取开关状态通过input函数来完成,使用relay作为参数,返回True或者False表示电位的高或低。完成对开关的操作后,需要调用cleanup函数(

    8、无参数)来释放资源。3多线程与定时任务多线程可以提高程序运行效率,增强用户体验效果,避免程序假死。文献3对某开关量模块进行输出测试,逐个闭合输出开关,最后统一关闭,恢复初始状态。这里也采用类似的方式对图1所示的开关进行测试,在函数testThread中启动多线程,对开关进行测试。只需使用threading模块的Thread类生成多线程对象,然后调用start方法启动多线程。多线程对象中的target参数指明实际需要执行的程序,args参数可以给出元组形式的参数列表,kwargs参数可以给出字典形式的参数列表,args和kwargs可以省略。fromthreadingimport*deftest

    9、Thread():threadTest=Thread(target=testSwitch,args=(),kwargs=)threadTest.start()在函数testSwitch(定义略)中调用上一节介绍的switchOnOff函数,通过一个循环,间隔1秒逐个闭合开关;然后再通过另一个循环,逐个断开开关(延迟为0秒)。循环元素通过序列CH1,CH2,CH3来实现,逐个枚举,元素中的具体数值根据GPIO.setmode方法设定的编号方式进行调整。开关闭合以后,需要延迟断开,用于定时操作,这可以通过scheduler对象来实现,该对象需要提供一个时间函数用于计时,另外一个函数用于延时。如下所

    10、示的schedOnOff函数中即生成了一个scheduler对象s,通过enterabs方法设置定时函数,其中第一个参数是未来时间,以秒为单位,这里通过time.time()函数获得当前时间(以秒为单位),加上需要间隔的分钟数(nMinutes)乘以60即可;第二个参数为优先权,这里为1;第三个参数是需要在nMinutes分钟以后执行的函数,这里为开关函数switchOnOff;dianzi yuanqijian yu xinxijishu 电 子 元 器 件 与 信 息 技 术116|最后一个参数是一个元组,代表所需要执行函数的参数。定时函数设置完毕,即可调用run方法启动scheduler

    11、对象。importsched,timedefschedOnOff(relay,status):s=sched.scheduler(time.time,time.sleep)s.enterabs(time.time()+nMinutes*60,1,switchOnOff,(relay,status,)s.run()文献4中的漂流浮标用来记录河流或洋流变化,每过5分钟将轨迹发送到电子信箱,即是通过该定时方法将轨迹文本打包发送的,这样,即使浮标丢失,数据也可得以保存。4软件测试将图1所示的继电器扩展板通过排针与树莓派连接,利用Python自带的tkinter模块完成GUI布局。创建一个表达开关状态的

    12、Frame框架,其中放置Status标签,三个Entry文本输入框(只读),用于表示三个开关的状态;再创建一个开关操作的Frame框架,其中放置【Test】按钮,用于测试三个开关,一个Entry文本输入框,用于输入需要闭合开关的分钟数,下拉框用于选择一个通道(即继电器或开关),【Charge】按钮用于闭合所选择通道,并在时间到时断开开关。如图2所示,点击【Test】按钮后,三个开关间隔1秒逐个闭合,最后统一断开;点击【Charge】按钮,对通道2充电2分钟后断开,并显示消息框(略),提示结束时间。图 2树莓派开关测试效果5VNC远程控制VNC(virtualnetworkconsole)是虚拟

    13、网络控制台,树莓派4B嵌入了VNCServer功能,在【RaspberryPiConfiguration】系统配置菜单的Interfaces(接口)页签下,可以使用VNC功能,这样,运行开关软件的树莓派即可当作VNCServer使用,默认使用TCP/5900端口,防火墙必须先开放此端口,服务器才能接受客户机的连接请求。VNCViewer软件可以充当VNC客户机的功能,用以连接VNCServer,连接成功后,可以在客户机上操作服务器上的软件,就像本地操作一样。但是,客户机与服务器必须位于同一个网段,可以通过Wi-Fi连接到同一个TP-LINK无线路由器上,并进行地址绑定。打开VNCViewer,

    14、输入VNCServer的IP地址,连接成功后输入用户名和密码,选择自动保存密码,下次启动即可完成自动连接。可以从文献5下载VNCViewer,其中既有树莓派使用的Linux版本,也有PC机上可以使用的Windows版本。使用VNC服务器和客户机,可以在没有显示器、键盘和鼠标的情况下,远程操控树莓派,在教学实践中有很好的便利性。另外,还可以对树莓派开关软件进行扩展,不使用VNCServer,而是在软件中嵌入SocketServer代码,而在PC端设计SocketClient软件,直接与树莓派开关软件建立连接,从而实现远程监控。6防火墙的处理为了增强操作系统的安全性,一般默认关闭所有端口,然后按需

    15、开启。但是,Linux防火墙的iptables过于烦琐,使用ufw防火墙工具可提高效率。可以在命令行状态下,通过命令(1)安装ufw防火墙,命令(2)使能或者禁用防火墙,命令(3)缺省将所有端口关闭,命令(4)开放(下转第127页)电 子 元 器 件 与 信 息 技 术|127人工智能与智能制造报,2022,44(05):1694-1703.2 方宏远,马铎,王念念,等.基于融合卷积神经网络的多种类管道病害检测方法J.北京工业大学学报,2022,48(06):561-571.3 吕成戍.基于双重欠采样代价敏感学习的推荐系统虚假用户检测方法J.系统科学与数学,2021,41(12):3548-3

    16、558.4 王巍.网络用户对虚假社会新闻的态度及行为:基于ELM模型的实证分析J.情报科学,2021,39(12):126-132+145.5 李颖,陈龙,黄钊宏,等.基于多尺度卷积神经网络特征融合的植株叶片检测技术J.智能科学与技术学报,2021,3(03):304-311.6 马立新,豆晨飞,宋晨灿,等.基于特征融合卷积神经网络的绝缘子无损检测J.电子科技,2021,34(07):26-30.7 潘顺莉,吴训成,张伟伟.基于传感器融合和方向可调卷积神经网络的车道检测算法研究J.计算机与数字工程,2021,49(05):925-929+941.8 谭侃,高旻,李文涛,等.基于双层采样主动学习

    17、的社交网络虚假用户检测方法J.自动化学报,2017,43(03):448-461.(上接第116页)VNC默认端口5900,命令(5)查看防火墙状态,即打开了多少端口,用以查看端口是否开启。sudoapt-getinstallufw(1)sudoufwenable/disable(2)sudoufwdefaultdeny(3)sudoufwallow5900(4)sudoufwstatus(5)7结论本教学示范软件灵活使用了Python的列表来表达开关的序号与状态,利用多线程来控制开关的状态,用定时任务来执行将来的操作,结合tkinter实现了可视化布局,软硬结合,直观性强,也具有一定的实用性

    18、和趣味性,既可用于Python的教学案例,也可用于树莓派的扩展学习。使用VNC操控树莓派,则可以增加教学实践的便利性,提升学生对防火墙的学习兴趣,并提高网络编程能力。参考文献1 汪文彬,吴淑婷,马玉春.树莓派在软件工程专业教学中的应用研究J.软件,2020,41(8):1-4.2 UsingtheRaspberryPiGPIOwithPythonOL.(2014-07-16)2021-05-16.http:/ 马玉春.计算机监控系统的仿真开发M.北京:国防工业出版社,2015:287-291.4 王肃文,马玉春.一种漂流浮标:中国,ZL202022430578.4P.2021-07-06.5 RealVNCOL.(2020-08-08)2022-06-16.https:/


    注意事项

    本文(树莓派开关监控软件的实现与教学示范_汪文彬.pdf)为本站上传会员【自信****多点】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表




    页脚通栏广告
    关于我们 - 网站声明 - 诚招英才 - 文档分销 - 便捷服务 - 联系我们 - 成长足迹

    Copyright ©2010-2024   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:4008-655-100    投诉/维权电话:4009-655-100   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   



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