《用安卓手机控制开源硬件》 教学设计
作者:郑祥 谢作如
来源:《中国信息技术教育》2020年第07期
        ● 教材分析
        《用安卓手機控制开源硬件》位于校本课程《安卓应用程序的设计与开发》第三章,其教学内容是开发能够控制开源硬件的手机App。课程中选择的开源硬件是虚谷号,支持
蓝牙和Wi-Fi两种形式与手机通信。相对来说,用Wi-Fi形式更加方便,更符合物联网的常见通信形式。本节课的教学内容需要2个课时,采用连堂课的形式开展。要求学生能够通过Web服务的方式,即WebGPIO来控制虚谷号,不仅要完成一系列的信息实验,还要能自主开发安卓手机的应用程序,通过App按钮来控制虚谷号上的电风扇模块。
        ● 教学对象
        本节课的教学对象是初中学生,他们不仅熟悉安卓手机App的一般开发过程,能够用AppInventor2编写简单的App,还初步接触过开源硬件,熟悉Arduino等开源硬件的引脚、PWM的使用,能够用Mind+之类的软件为开源硬件编写代码。
        ● 教学目标
        知识与技能目标:理解WebGPIO的概念,掌握在虚谷号上运行WebGPIO服务端的方法,掌握HTTP协议中的GET、POST请求方法;熟悉AppInventor2开发平台中的Web客户端组件,能开发控制虚谷号的安卓App应用程序。
        过程与方法目标:通过实验操作,掌握AppInventor2开发平台中Web客户端组件的一
般使用方法。
        情感态度与价值观目标:通过安卓手机App的开发对虚谷号上硬件模块的控制,消除对远程物联网控制的神秘感,提高对信息技术的学习兴趣。
        ● 教学重难点
        重点:POST方法的参数设置,掌握远程控制的安卓App的开发。
        难点:理解POST和GET两种HTTP请求方法的区别。
        ● 教学过程
        1.激发兴趣,导入新课
        投屏展示:通过安卓App远程控制虚谷号上风扇模块的“打开”与“关闭”。提问:安卓手机App是怎么完成对风扇模块的控制的?虚谷号在这个过程中,又起到了什么作用呢?
        引导学生讨论并归纳:安卓手机App是通过无线Wi-Fi来发送控制风扇模块的信号给虚谷号;虚谷号起着信号接受的作用。
        虚谷号上运行了一个Web服务WebGPIO;通过这个Web服务,安卓手机App就可以非常方便地控制开源硬件虚谷号了。
        设计意图:通过展示远程控制风扇模块的开与关,激发学生兴趣,并引出主题。
        2.讲解新知,探知原理
        虚谷号WebGPIO服务:GPIO是通用型之输入(GPI)输出(GPO)的简称,即PIN引脚。顾名思义,WebGPIO可以通过Web的方式控制GPIO。
        虚谷号的WebGPIO服务采用了简单的设计,即用HTTP的GET请求方法获取虚谷号PIN引脚状态,用POST请求方法控制引脚电平。
        WebGPIO的协议:HTTP请求有很多种方式,最常见的是POST请求和GET请求。虚谷号的WebGPIO协议采用GET方式获取引脚状态信息,采用POST方式发送控制命令,具体参数介绍如下表所示。
        ①参数Pin对应虚谷号上的引脚为:A0-A5,D0-D13;②参数Value对应的值为:虚谷号
对应引脚的数值;③参数Type对应控制的类型:可以是1、2、3,分别代表“digital”“analog”“servo”。
        设计意图:引入课堂主要内容——原理讲解,分散教学重难点。
        3.实验操作,验证原理
        (1)提问:通过POST/GET方法,是否真的能够控制虚谷号?接下来要通过信息实验来验证。本次实验需要明确完成哪些内容呢?
        引导学生列举出实验所需的操作任务:①在虚谷号上运行WebGPIO服务器程序;②明确POST/GET方法向WebGPIO服务器程序传值的参数;③验证POST/GET方法是否真的能控制虚谷号;④做好实验记录,完成实验报告。
        设计意图:通过引导学生通过实验的方式验证自己的设想,并列举实验操作的任务步骤,让学生能明确实验任务目标。
        (2)学生以小组形式领取实验器材,参考实验报告,小组合作讨论完成实验。教师巡视学生的实验操作,并及时给予帮助和引导。
        设计意图:通过实验操作巩固学生POST/GET方法参数的设置,为后面的项目开发做好准备。
        4.头脑风暴,开发项目
        (1)教师介绍App invneotr2中的Web客户端组件,指出:Web客户端组件为非可视组件,用于发送HTTP的GET、POST、PUT及DELETE请求。App中需要增加Web客户端组件,实现对虚谷号的控制。
        (2)提问:借助WebGPIO功能,安卓手机App可以开发怎样的应用?要求学生小组合作讨论,开展头脑风暴,把创意想法画出来或写在纸上。(教师展示各小组的创意想法,引导学生一起分享交流,并吸收建议)
        (3)教师提供相应的硬件模块和安卓App开发范例帮助文档,要求学生通过小组合作开发项目,并完成作品的测试。教师巡视教室,并及时解答学生的各种问题。
        5.作品展示,心得分享
        教师投屏展示各小组完成的项目,并且邀请学生派代表展示运行效果。学生交流、分享自己小组内的感受、收获等。
        这节课通过讨论交流、实验,让学生尝试了通过WebGPIO控制开源硬件虚谷号,而且还开发出了相应的安卓App程序。其中涉及了GPIO的概念、POST/GET方法参数及AppInventor2的Web客户端组件,体验了软硬件相结合的创客作品开发过程。
        ● 教学反思
        本次课的学习主题是通过安卓手机控制开源硬件。学生通过“新知讲解、探知原理”“实验操作、验证原理”“头脑风暴、开发项目”这三个主要环节逐步实现对知识技能的学习、实践和运用。此外,在“实验操作、验证原理”环节,学生能够直接利用工具,验证学习的WebGPIO协议,表现出莫大的兴趣;在“头脑风暴、开发项目”环节,学生在App测试方面,也用到了实验中学到的方法。可见,先完成信息实验再应用知识开发项目,学以致用,对一些复杂的信息技术知识学习是很有帮助的。
        附件1:
        “开源硬件控制”实验报告单
        ___________学年 七年级___________班 姓名___________
        实验名称:验证POST/GET方法控制虚谷号。
        实验目的:
        ①能够在虚谷号上用多种方法运行WebGPIO服务程序。
        ②能够通过火狐(Firefox)浏览器的“request maker”插件来发送HTTP的POST、GET请求。
        ③验证虚谷号WebGPIO协议的各种参数,能够顺利获取虚谷号的引脚状态,并设置虚谷号的引脚电平。
        实验器材:
        虛谷号1个;micro数据线1条;安卓手机1台;风扇模块1个;Arduino传感器板1个;光线传感器1个。
        实验环境:部署无线网络的机房。
        实验步骤:1.以U盘方式,配置(获取)虚谷号IP地址。 2.在虚谷号上运行WebGPIO服务器程序。
简易安卓app开发        方式1:将WebGPIO.py文件,复制到虚谷号的U盘中Python目录下,改名为main.py,然后重新启动;
        方式2:打开虚谷号Jupyter程序,新建python3文件并在其中运行WebGPIO.py程序。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。