网站大量收购独家精品文档,联系QQ:2885784924

pinpong:让开源硬件的编程更加简单.docx

pinpong:让开源硬件的编程更加简单.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

pinpong:让开源硬件的编程更加简单

涉及学科:技术、工程

开源硬件的快速发展,给中小学教师带来了更多的选择,但同时也带来了新的麻烦。因为不同的开源硬件采用的芯片不同,其支持的编程语言和编程工具也各不相同,甚至连引脚的编号、运行的电压和支持的扩展模块也不同。选择Arduino、micro:bit还是掌控板(如图1)?一些刚刚入门的教师难免会陷入选择恐惧。有没有一种编程语言,用统一的编程规范来控制不同的开源硬件?这道看似无解的难题,随着pinpong库的出现,让我们看到了曙光。

pinpong的原理和设计理念

1.pinpong的原理

pinpong是如何做到用统一的语言控制不同的硬件?其原理是给开源硬件烧录一个特定的固件,使开源硬件可以通过串口与电脑通信,执行各种命令。这个特定的库也是一个广泛流行的开源通信协议,名字叫做Firmata。pinpong库的名称由“Pin”和“Pong”组成,“Pin”指引脚,“pinpong”为“乒乓球”的谐音,指信号的往复(如下页图2)。

目前pinpong库支持Arduino、掌控板、micro:bit等开源硬件,同时支持虚谷号、树莓派和拿铁熊猫等。借助pinpong库,直接用Python代码就能给各种常见的开源硬件编程。

2.pinpong的设计理念

pinpong的编程规范

1.pinpong的安装

pingpong库的安装和Python的其他库安装一样,在命令行下用pip命令即可。参考命令:pipinstallpinpong。

2.pinpong的基本用法

以ArduinoUNO为例,表1中的代码,将点亮Arduino板载的LED灯(D13引脚)。

从上述代码可以看出,通过pinpong库控制开源硬件的代码不仅简洁,而且容易理解。初始化硬件只要正确输入硬件的品牌和型号即可。如果端口号省略,pinpong会自动扫描本机可用的所有串口,然后给硬件烧录特定的固件。这样一来,开源硬件的入门门槛降到了最低:只要能辨别开源硬件的型号,并且知道其引脚的正确编号即可。

在引脚控制方面,pinpong的语法跟micro:bit和掌控板是一致的,同时又兼容MicroPython的标准语法。例如,电平信号输出处改为“led.value(1)”,代码也能正常运行,非常灵活。而且,一台计算机还能同时连接多块开源硬件,彼此可以互动。

pinpong的应用案例

1.数据科学应用案例:传感器数据的采集

案例背景:在新版的普通高中信息技术教材中,增加了“传感与控制”方面的学习内容。这里的“传感”指通过传感器采集外界环境中的各种信息,如温度、声音、光线等。利用pinpong库,只要在普通电脑上接上一块开源硬件,如Arduino、掌控板,然后再接相应的传感器即可。

器材清单:(1)开源硬件:Arduino;(2)扩展模块:溫度传感器。

参考代码如图3所示。

2.人工智能应用案例:迎宾机器人

案例背景:人脸识别是人工智能方面的经典应用,很多教材都会通过各种方式去实现人脸识别。本案例采用了OpenCV,实现了对人脸的识别。只要摄像头检测到人脸,就会说“您好”,并且驱动舵机摆动小手,向客人打招呼。

器材清单:(1)开源硬件:Arduino;(2)扩展模块:舵机;(3)电脑配件:摄像头、小音箱。

参考代码如下页图4所示。

pinpong的优势和价值分析

1.支持市场上绝大多数的开源硬件

pinpong库支持绝大多数的开源硬件。目前pinpong库已经支持Arduino、虚谷号和掌控板,其他的开源硬件支持已经在规划中,从下页表2可以看出。实际上,开源硬件的品牌虽然很多,但基本上可以分为Arduino(涵盖了拿铁熊猫和虚谷号等)、ESP32(包括ESP8266和掌控板等)、micro:bit和树莓派(涵盖了pcDuino和banana派等)这四个类别。

2.信息系统的开发调试和迁移部署非常方便

pinpong库是采用串口的形式与开源硬件进行通信,因而不管最终使用什么硬件,信息系统的开发都可以在普通电脑上进行,只要计算机上接一块Arduino或掌控板就行。等到系统调试成功后,将代码迁移到虚谷号、树莓派和拿铁熊猫等开源硬件,或者NUC(NextUnitofComputing,Intel的迷你电脑)、HTPC(HomeTheaterPersonalComputer,即家庭影院电脑)、MacMini(苹果的迷你电脑),几乎不用做任何修改即可正常运行。

3.让人工智能应用结合硬件更加方便

自国务院发布《新一代人工智能发展规划》以来,全国各地涌现出一大批人工智能教材。但对于中小学生来说,没有结合硬件的人工智能应用总不够酷炫有趣,缺乏“生活”气息。

目前,Python是当之无愧的人工智能第一编程语言,也是当前绝大多数中小学

文档评论(0)

ZC强 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档