●教材分析
《用安卓手机控制开源硬件》位于校本课程《安卓应用程序的设计与开发》第三章,其教学内容是开发能够控制开源硬件的手机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)的简称,即PI N引脚。顾名思义,WebGPIO可以通过Web的方式控制GPIO。
虚谷号的Web GPIO服务采用了简单的设计,即用H T TP的GET请求方法获取虚谷号PIN引脚状态,用POST请求方法控制引脚电平。
Web GPIO的协议:H T T P请求有很多种方式,最常见的是POST请求和GET请求。虚谷号的WebGPIO协议采用GET方式获取引脚状态信息,采用POST方式发送控制命令,具体参数介绍如下表所示。