《用安卓手机控制开源硬件》
教学设计
郑祥  浙江省温州市第四中学
谢作如  浙江省温州中学
● 教材分析
《用安卓手机控制开源硬件》位于校本课程《安卓应用程序的设计与开发》第三章,其教学内容是开发能够控制开源硬件的手机App。课程中选择的开源硬件是虚谷号,支持蓝牙和Wi-Fi两种形式与手机通信。相对来说,用Wi-Fi形式更加方便,更符合物联网的常见通信形式。本节课的教学内容需要2个课时,采用连堂课的形式开展。要求学生能够通过Web服务的方式,即WebGPIO来控制虚谷号,不仅要完成一系列的信息实验,还要能自主开发安卓手机的应用程序,通过App按钮来控制虚谷号上的电风扇模块。
● 教学对象
本节课的教学对象是初中学生,他们不仅熟悉安卓手机A p p的一般开发过程,能够用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引脚。顾名思义,
专 题
teacher@chinaitedu
18中国信息技术教育
WebGPIO可以通过Web的方式控制GPIO。
虚谷号的WebGPIO服务采用了简单的设计,即用HT T P的GET请求方法获取虚谷号PIN引脚状态,用POST请求方法控制引脚电平。
We b GPIO的协议:HT T P 请求有很多种方式,最常见的是POST请求和GET请求。虚谷号的WebGPIO协议采用GET方式获取引脚状态信息,采用POST方式发送控制命令,具体参数介绍如下表所
示。
①参数Pin对应虚谷号上的引脚为:A0-A5,D0-D13;②参数Value对应的值为:虚谷号对应引脚的数值;③参数Type对应控制的类型:可以是1、2、3,分别代表“digital”“analog”“servo”。
设计意图:引入课堂主要内容——原理讲解,分散教学重难点。
3.实验操作,验证原理
(1)提问:通过POST/GET方法,是否真的能够控制虚谷号?接下来要通过信息实验来验证。本次实验需要明确完成哪些内容呢?安卓课程设计源代码
引导学生列举出实验所需的操作任务:①在虚谷号上运行Web GPIO服务器程序;②明确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测试方面,也用到了实
验中学到的方法。可见,先完成信息
实验再应用知识开发项目,学以致
用,对一些复杂的信息技术知识学
习是很有帮助的。
专 题
teacher@chinaitedu
19
APR 2020 NO.07
POST方法
GET方法
附件2:
1.安卓手机App根据POST/GET方法参数设计界面。
注意:小组可讨论,根据需要自行设计安卓App界面,也可参考范例进行设计。范例界面如图1、图2所示。2.安卓手机App编程实现。
注意:此步骤的编程内容,与界面设计组件的选择相关。(限于版面,代码略。)
安卓App开发范例帮助文档
——安卓App控制虚谷号风扇
图1
图2
20
中国信息技术教育

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