律原 杨屹
项目背景
近年来,随着物联网技术的迅速发展,教育主管部门充分认识到让中小学生尽早体验、学习物联网技术的重要性与紧迫性。2022 年4 月,教育部发布《义务教育信息科技课程标准(2022 年版)》,将“ 物联网实践与探索”作为7—9 年级学生学习的三大内容之一。
项目主题
本项目使用ESP32 作为主控板,通过图形化编程软件Mixly 和Mix IO 平台完成1 个可远程控制开关的元宵节灯笼,帮助学生了解并初步掌握前沿的物聯网软硬件知识,激发他们对继承与发展中华传统文化的思考。
项目目标
● 从硬件知识的角度,希望学生了解物联网硬件基础并掌握ESP32 主控板与发光二极管连接与驱动的电路。
● 从程序设计的角度,希望学生了解物联网程序设计的基本架构,理解下位机与上位机的逻辑关系,初步掌握利用Mixly 图形化编程软件设计下位机程序和利用MixIO 平台编写上位机程序的能力。
● 从结构设计的角度,希望学生初步掌握使用LaserMaker 软件设计简单结构的方法。
● 从情感态度与价值观的角度,希望通过本项目激发学生对利用现代科技发扬中国传统文化进行的思考,并在项目实施的过程中培养合作精神与项目展示技能。
课程安排
总课时安排为4 课时,每个小组2 ~ 3 名学生,教师可以根据学生的基础对各部分的课时进行调整,以达到最佳效果。
项目引入
元宵节知识
元宵节知识在本项目中主要起激发学生兴趣和引入项目的作用,教师可以预先让学生自行上网检索元宵节的来历和习俗,重点收集元宵节灯笼图片,为下一步设计和制作打下基础。
ESP32主控板概述
本项目主要使用ESP32 主控板的物联网功能,ESP32使用Tensilica LX6 双核处理器,CPU 正常工作速度为80 MHz,最高可达240 MHz,可轻松处理较为复杂的任务。
发光二极管与 ESP32主控板的连接
发光二极管(简称LED)是一种常用的发光器件,它通过电子与空穴复合释放能量发光。发光二极管的正极与ESP32 主控板的12 号引脚连接,发光二极管的负极与ESP32 主控板的GND 连接。ESP32 主控板的每一个引脚都可控制发光二极管,需要注意的是每个发光二极管的工作电流为20 mA 左右,为了保护ESP32 主控板,同时使用的发光二极管的个数最好低于10 个。
软件编写
本项目使用北京师范大学傅骞教授团队开发的米思齐(Mixly)图形化软件编写ESP32 主控板的程序,上位机也使用与米思齐配套的Mix IO 平台完成,软硬件均做到了自主、开源、可控。读者可以通过米思齐的官方网站下载最新版的米思齐软件。本项目使用Arduino ESP32 为ESP32 主控板编写程序。
项目实施
为物联网控制的元宵节灯笼编写 ESP32主控板程序
图1 所示为本项目ESP32 主控板程序,整体可分为3个部分:第1 部分程序用于连接灯笼所在环境的无线路由器,也可通过手机等设备的无线热点连接;第2 部分程序用于创建MQTT 客户端并进行连接,先创建一个Mix IO平台账号,并通过该账号和项目密码访问需要连接的项目;第3 部分程序用于接收指定主题的MQTT 消息,本项目接收“light”主题的消息,如果“light”主题发送“on”消息,则点亮发光二极管,如果“light”主题发送“off”消息,则关闭发光二极管。
为物联网控制的元宵节灯笼编写上位机程序
为了使用手机等设备远程控制元宵节灯笼的打开与关闭,使用Mix IO 平台为元宵节灯笼编写上位机程序。使用Mix IO 前需先访问网址(http://47.92.33.17/),注册Mix IO 平台用户账号(图2a),再建立一个名为“hello”的Mix IO 项目(图2b),进入hello 项目后点击项目名称“hello”,可获得项目连接密码(图2c),并将密码填写到图1 所示程序第2 部分的密码中。
建立好项目,就可进入项目编写上位机程序。每个Mix IO 项目程序由数据、组件和逻辑3 部分构成。由于本项目只控制元宵节灯笼的打开与关闭,不涉及数据的组织,因此程序只需在“组件”界面添加2 个按钮,一个按钮命名为“打开灯笼”,另一个按钮命名为“关闭灯笼”,然后在“逻辑”界面为2 个按钮分别编写触发时所执行的程序即可。如图3 所示,按下“打开灯笼”按钮会向“light”主题发送“on”消息;按下“关闭灯笼”按钮会向“light”主题发送“off”消息。
元宵节灯笼的结构设计
本项目使用Laser Maker 软件设计元宵节灯笼结构,读者可以到雷宇科教的网站下载该软件。
如图4a 所示,先使用Laser Maker 的“一键造物”功能生成1 个内部边长为10 厘米的正方体,作为灯笼的主体,然后再将前、后、左、右4 片箱体挖空,将上片箱体改造为灯笼的提梁,灯笼的基本结构就改造完成了(图4b)。
元宵节灯笼的总装
使用4 节5 号电池为物联网控制的元宵节灯笼供电,预组装成功后,为灯笼的结构糊上宣纸(图5a),图5b为灯笼组装完成后点亮的效果。学生可通过手机等设备的Mix IO 上位机程序远程控制灯笼的打开与关闭。
教学反思
需要强调的是,在项目式学习中教师的主要作用应该是激发学生的学习兴趣,进而引导学生自主学习。在讲授完项目所需的基础知识后,教师应为学生的项目式学习活动多“留白”,充分发挥学生学习的自主性与创造性。在本项目中教师可以引导学生扩展灯笼的功能,比如通过程序控制灯笼的亮度,使用全彩发光二极管替代单色发光二极管,通过程序控制灯笼变色;启发学生改进灯笼的结构;尝试为灯笼绘制符合元宵节气氛的图案等。