《新电脑》杂志社
首页 > 期刊导读
 
/ / /
 

换一种方式开发“电脑魔法控制器”

 
来源:新电脑 栏目:期刊导读 时间:2021-06-22
 

2017年发布的普通高中信息技术课标中,新增了一个选择性必修模块“开源硬件项目设计”。(如图1)受浙江教育出版社的邀请,我参与了这套教材的编写,重点工作是担任“开源硬件项目设计”模块的执行主编。考虑到人机互动是创客作品比较常见的主题,在“开源硬件项目的开发实践”部分,我选择了一个经典的人机交互创客项目——电脑魔法控制器。

电脑魔法控制器指的是一款类似PPT遥控器的手持设备,能够脱离传统的鼠标键盘来控制各种计算机应用软件的运行,是一个典型的人机互动项目。和现有PPT遥控器不同的是,它除了能控制PPT播放外,还支持一些简单的桌面游戏控制,如太空弹球、小恐龙等,即可以后期定义,扩展功能。

图1

● 教材中魔法控制器的设计思路概述

我们在教材中对电脑魔法控制器这一项目的开发进行了分析,具体如表1所示。其中远程控制和模拟按键是核心功能。

受硬件条件的限制,教材选择了当时刚刚进入国内不久的开源硬件micro:bit。因为micro:bit还不能支持模拟为HID设备(Human Interface Device,人机接口设备),我们只好采用了两块板子,分别作为控制器和接收器,二者无线通信,其中接收器用USB线和电脑连接,再利用Python写了一个串口命令转按键事件的代码,具体流程如图2所示。

毫无疑问,这个创客作品的使用有点复杂。让两块micro:bit相互通信的操作还算简单,但是每一次使用都要先在电脑上运行串口信息转模拟按键的Python代码,确实不太方便。教材在2017年底定稿,并且通过了教育部教材局的审查,但我们这些编写者总是不满意,希望这些创客项目能够与时俱进。2021年的元旦期间,我又对这个作品进行了重新设计,重点工作是让“电脑魔法控制器”的部署变得简单一些。

表1 电脑魔法控制器的项目分析需求 描述 理由 键盘模拟 能模拟常用软件的快捷键 能够适用于更多的应用场景,如控制PPT的播放,能控制桌面弹球之类的小游戏 自然交互 能用手势或身体状态发出操作指令 能够体现出一种比较自然的交互,用户容易接受远程控制 摆脱数据线的束缚,实现无线控制电脑魔法控制器本来就是为了解放用户,让他们不受鼠标键盘的限制,那自然不能再被“线”所束缚,如演讲的时候,用户一般会站在投影或者大屏幕前 小巧便携 一只手就能携带、操作 控制器如果体积过大,既不易携带又容易转移观众的注意力

图2

● 新的设计思路分析

既然是电脑的控制器,那么直接模拟为键盘或者鼠标设备,肯定是最通用也是最简单的方法。不管是什么操作系统,都会支持键盘和鼠标,不管是什么应用软件,通过鼠标和键盘也一定能操作。例如PPT遥控器,其实就是一个HID设备,电脑会将PPT遥控器的接收端识别为键盘,只不过这个键盘只能发送固定的按键信号,即F5、ESC、向上翻页键和向下翻页键。

开源硬件Ar duino中有一个叫作Leonardo的型号,采用ATMega32 U4芯片,下载特定的程序后,计算机就能直接把它识别成一个鼠标或键盘设备,甚至是游戏柄。著名的人机互动项目Makey Makey上使用的就是ATMega32 U4芯片。掌控板采用的则是ESP32芯片,这个芯片本来就自带了溃夷芄荒D馕狧ID设备。在掌控板团队的努力下,这个功能在2019年就已经实现了。2020年,经过众多创客的共同努力,通过图形化的编程方式,可以把掌控板模拟为一个蓝牙键盘或者蓝牙鼠标(如图3)。

现在绝大多数的电脑带了蓝牙功能,用蓝牙的方式远程控制电脑,显然是最好的选择之一。只要将常见的应用软件的控制按键分类整理出来,就能实现个性化的控制,利用掌控板来做电脑魔法控制器,工作流程如图4所示。

图3

图4

图5

HID设备在不同操作系统下都是通用的,这种工作方式的优点显而易见,电脑端不需要做任何设置,只要连接上掌控板这个蓝牙设备即可。至于对不同应用程序的支持,可以在掌控板上做功能选择。

● 电脑魔法控制器的代码实现

图6

图7

图8

图9

图10

新版本的Mind+和mPython都提供了将掌控板模拟为HID设备的语句。一般来说,核心代码就两处,一是如何模拟为HID设备,二是输出按键信号。

在Mind+中,需要切换到“上传模式”,然后在用户库中搜索“蓝牙”,选择“ESP32蓝牙键盘”进行安装,如上页图5所示。这是知名创客铁熊开发的库。

在m P y t h o n 中,则要选择“扩展”中的“蓝牙”。相对来说,mPython中提供的功能更多,如串口透传、人机互动等。其中,模拟为键盘和鼠标的编程语句在“人机互动”中,如上页图6所示。

不管是Mind+还是mPython,代码都是一看即懂,几乎没有什么技术门槛。本文以Mind+为例,介绍核心编程语句。

1.模拟为HID设备

设备名称可以自定义,这里定义为handpy,连接成功后进行文字提示。参考代码如图7所示。

2.发送按键信息

按A键发送“Ctrl+Alt+Delete”的组合键信息,按B键则发送PageUP键信息。参考代码如图8所示。

3.控制功能的切换

掌控板还有6个触摸键,可以用来切换功能。如图9所示的参考代码中,提供了“PPT播放”和“媒体播放”两种模式,然后将用户的选择记录在变量“功能”中。那么在“按下A键”这一事件中,只要判断变量,再选择发送相对应的按键信息即可。

当然,如果接上更多的传感器模块,切换就更加方便了。如果利用Wi-Fi,甚至可以用语音进行功能切换,或者语音控制电脑。

● 电脑魔法控制器的功能测试和拓展

将代码下载到掌控板上,重新启动后,电脑很快就能发现名称为“handpy”的蓝牙设备。连接方式、使用方法和其他蓝牙键盘、音箱几乎完全一致。如图10所示,我的电脑上已经连接上“handpy”设备,下次开机会自动连接。

不得不表扬掌控板和铁熊,掌控板模拟为HID设备的功能非常稳定。在Mind+上编写的代码同时支持电脑和手机。我成功实现了在掌控板上集成PPT播放和媒体播放两种功能。看起来,创客空间里的PPT遥控器可以送人了,完全可以用掌控板来做真实可用的多功能电脑遥控器。

当然,无论是PPT播放还是媒体播放的控制,用掌控板来实现远程控制仅仅是很初级的创意。结合应用程序和键盘控制,联系真实的应用场景,还能够做出更多有趣的应用。比如,利用摄像头软件做远程触发的抓拍,结合加速度传感器做大型的互动游戏道具,还可以结合Scratch、Processing做更加多元的互动艺术作品等。


文章来源:新电脑 网址: http://xdn.400nongye.com/lunwen/itemid-50611.shtml


上一篇: 暂无
下一篇: 初等教育论文_小小平板电脑为乡村小学带来的不仅是欣喜



点击在线投稿

 
/ / /
 
 
 
 

Copyright 2001-2021 400农业期刊网版权所有 做最专业学术期刊论文发表网站
本站不是《新电脑杂志社》官网,如果需要联系官方杂志社,请联系客服索取网站或者电话。