第14课 智能物联系统的软件设计 教学设计- 2023—2024学年浙教版(2023)初中信息技术八年级下册

2024-11-19
| 4页
| 237人阅读
| 85人下载
普通

内容正文:

教学设计 课程基本信息 学科 信息科技 年级 八年级 学期 秋季 课题 《智能物联系统的软件设计》 教学目标 1.通过智能物联系统的程序编写,理解实现智能物联系统中数据采集、处理、存储和呈现等功能的基本过程。 2.通过在物联网平台发布和订阅消息,理解物联协议在数据传输中的作用。 教学重难点 教学重点: 1.数据的采集、传输与存储功能的实现。 2.物联协议在数据传输中的作用。 教学难点: 1.程序编写的实现。 2.第三方库的安装。 教学过程 (一)回顾旧知,导入新课 环节一:回顾“校园数字气象站”所需的硬件,并回忆硬件在物联系统中的作用与功能,明晰物联协议在数据传输中的作用。 通过前一节课的学习,我们确定了“校园数字气象站”所需的硬件,各类传感器、物联中台、服务器、网络设备,同学们是否还记得它们分别起到什么功能呢? 我们通过传感器来帮助我们采集不同的数据,通过wifi实现将数据发布到物联中台,物联中台它只是个中介,并不能存储获取数据,我们通过服务器来订阅主题、获取存储数据,最后我们希望能够呈现数据方便用户查看。 环节二:问题思考,引出智能物联系统的软件设计 问题思考:硬件搭建好后就能直接获取气象数据吗? 当然不能,我们得通过编程告诉它,让其一步步实现。今天我们沿着这个顺序一起来对智能物联系统进行软件设计。 (二)任务一:采集数据 环节一:明确任务 我们的第一个任务挑战,采集数据,通过编程实现气象数据的采集,每隔一段时间获取新数据,并在屏幕上显示。 环节二:了解编程软件,Python语言编程特点 我们所需的编程软件为:信息科技实验板编程工具,该软件是用python语言进行编程,python语言有个特点就是它有丰富的类库,编程的过程通过导入相应库,调用相应函数。 环节三:实践操作,编程演示 打开实验板编程工具,新建一个文件,默认已经导入npython模块,在该模块下内置了右侧这些函数,首先输入while True无限循环,获取温度的函数赋值给wendu变量,获取气压的函数赋值给qiya变量,获取成功,就让其在屏幕上显示,第一行显示标题“校园数字气象站”,第二行显示温度,我们可以通过复制粘贴提升编程速度,第三行显示气压,最后等待3秒,连接实验板到电脑端,出现com空闲中,就可以运行程序,上传成功,此时实验板屏幕上实时呈现温度和气压数据。 (三)任务二:发布数据 环节一:明确任务。任务二,发布数据,将采集到的气象数据发布到物联中台。 环节二:明确算法。首先明确算法,也就是思考编程整体思路,刚才我们已经实现数据的采集与显示,那发布数据应该在采集前还是采集后呢?是采集后,要实现数据的发布,我们得先进行MQTT的连接,MQTT的连接又需要建立在wifi的连接。 环节三:创建项目与主题。这里的发布数据到对应主题,那我们得先到物联中台创建项目与主题,这个操作我们在七下有过实践,我们来一起回忆一下。首先创建名称为“校园数字气象站”的项目,在该项目下创建对应的主题。主题是干什么的呢,用于接收发布来的数据,我们按照所需进行创建对应主题。比如温度主题用于接收实时温度,创建好后要运行项目才能接收数据,为确保数据发布到这个主题下,还有两个参数,用户ID和项目ID,到时候编程时需要用到。通过设置来查看获取。 环节三:编写程序。这是我们刚才写的程序,我们来继续扩充代码,这三个语句实现wifi连接,获取wifi名称和密码并在这里进行更换,接下去MQTT连接,需要进行服务器地址、端口号、用户ID和项目ID参数的配置,这是我们刚才创建的用户ID和项目ID,同学们观察一下,程序中需要更改哪个参数呢?两个参数都需要更改,通过复制粘贴来实现。最后是发布数据,将采集到的温度数据发布到温度主题,这里主题的名称必须跟物联中台创建的名称要一致。 环节四:测试一段程序,该程序中增加了风速风向的采集与发布,这段程序我们需要进行相应的修改,①修改当前可用的wifi名称与密码,②修改用户ID和项目ID,从物联中台获取,通过复制粘贴来完成修改,物联中台中运行该项目,再到编程软件中运行程序,上传成功后,屏幕上显示采集到的数据,并将其发布到物联中台的各个主题。此时我们完成了第二个任务。 (四)任务三:订阅主题存储数据 环节一:明确算法流程图。我们来看一下其算法流程图,首先是MQTT连接,连接好后就可以订阅主题,这里主题只需订阅1次,当有新消息时,订阅者便会被通知,然后去获取该主题下的数据,再将其存储在数据库文件中。 环节二:讲解代码。在这个程序中,我们需要导入3个模块,MQTT、time时间模块和sqlite数据库模块。首先进行mqtt的连接,该代码跟刚才的一致,接下去订阅主题,我们订阅温度这个一主题,赋值给该变量,然后定义一个回调函数,也是最关键的代码,首先获取温度主题下发布来的数据进行解码,然后将数据、时间、主题名称其插入到数据库“database.db”文件中。再是订阅主题,每当有新消息时,就去执行一次回调函数。 环节三:测试代码。用thonny软件打开该程序,需要注意用户ID、项目ID和需订阅的主题名称是否正确,运行该程序,此时shell输出连接成功,订阅结果返回温度值,这些数据从物联中台订阅温度主题获取而来的,此时说明订阅成功。订阅来的数据将其存储到数据库文件“database”中,我们在这里可查看存储情况,刷新可看到最新的数据,我们观察一下,每一条除了温度数值,还有序号、时间、用户ID和主题名称,它们以表格形式呈现。 (五)任务四:呈现数据——折线图 环节一:引出折线图。刚才我们得到表格形式存储的数据,我们再来看下另一种呈现方式——折线图,折线图相对于表格形式有什么优势呢?折线图更清晰呈现数据的变化趋势,易于分析 环节二:认识并安装第三方库matplotlib。如何用程序将刚才存储的数据编程折线图呢?我们来一起完成最后一个任务:以折线图呈现数据。这涉及到一个绘图,我们需要导入matplotlib绘图模块,这是一个第三方库,需要安装后才能使用,我们通过cmd打开命令提示符界面,在该界面输入pip install matplotlib,等待下载安装,出现安装成功就表明我们已经安装好第三方库matplotlib。 环节三:讲解代码。整个程序先进行参数的设置,连接刚才的数据库文件,然后绘制折线图,通过运行本程序,可以得到如图这样的折线图。 环节四:数据分析。请同学们观察并分析,一天当中,哪个时间的温度最高呢?我们可以看到中午12点-下午3点是温度最高的时候。 (六)课堂小结 今天我们通过编写程序,对智能校园数字气象站进行采集数据、发布数据、订阅存储数据、呈现数据这四大功能的实现,从而让气象数据在物联系统中有序流转,我们也收获了编程的相关技巧,包括Python库的功能与使用,②写代码是调用函数的过程,以及我们要③先形成算法流程图,再编写代码,这样思路更加清晰。我们的项目还未结束,我们还能为这个气象站增加哪些更具智能化、个性化的功能呢,期待同学们下节课的迭代与创新。今天的课就上到这里,同学们再见。 学科网(北京)股份有限公司 $$

资源预览图

第14课 智能物联系统的软件设计 教学设计- 2023—2024学年浙教版(2023)初中信息技术八年级下册
1
第14课 智能物联系统的软件设计 教学设计- 2023—2024学年浙教版(2023)初中信息技术八年级下册
2
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。