pinpong:让开源硬件的编程更加简单
作者:***
来源:《中国信息技术教育》2020年第17期
涉及學科:技术、工程
开源硬件的出现,让中小学的编程教育不再限制在虚拟世界,开始与物理世界互动。从Arduino、树莓派和pcDuino到拿铁熊猫,各种品牌的开源硬件不断涌现,推动了我国创客教育和STEM教育的发展。2016年,因为高中信息技术教材选择了Python语言,于是micro:bit、掌控板和虚谷号快速崛起,成为当前中小学创客教育的重要选择之一。
为什么跷二郎腿那么舒服 开源硬件的快速发展,给中小学教师带来了更多的选择,但同时也带来了新的麻烦。因为不同的开源硬件采用的芯片不同,其支持的编程语言和编程工具也各不相同,甚至连引脚的编号、运行的电压和支持的扩展模块也不同。选择Arduino、micro:bit还是掌控板(如图1)?一些刚刚入门的教师难免会陷入选择恐惧。有没有一种编程语言,用统一的编程规范来控制不同的开源硬件?这道看似无解的难题,随着pinpong库的出现,让我们看到了曙光。
rank函数从小到大排名 pinpong的原理和设计理念
pinpong库是一个基于Firmata协议开发的Python硬件控制库。2020年春,当虚谷计划
组委会的一线教师们提出相关需求时,上海DFRobot的创客们欣然承担了开发任务。历经三个多月的时间,他们推出了测试版,得到广大教师和专家的好评。目前pinpong的最新版本为0.3。
1. pinpong的原理
最好的python入门教材 pinpong是如何做到用统一的语言控制不同的硬件?其原理是给开源硬件烧录一个特定的固件,使开源硬件可以通过串口与电脑通信,执行各种命令。这个特定的库也是一个广泛流行的开源通信协议,名字叫做Firmata。pinpong库的名称由“Pin”和“Pong”组成,“Pin”指引脚,“pinpong”为“乒乓球”的谐音,指信号的往复(如下页图2)。
目前pinpong库支持Arduino、掌控板、micro:bit等开源硬件,同时支持虚谷号、树莓派和拿铁熊猫等。借助pinpong库,直接用Python代码就能给各种常见的开源硬件编程。
2.pinpong的设计理念
pinpong库的设计,是为了让开发者在开发过程中不用被繁杂的硬件型号束缚,而将重点转移到软件的实现。哪怕程序编写初期用Arduino开发,部署时改成了掌控板,只要修
php mysql一键环境改一下硬件的参数就能正常运行,实现了“一次编写处处运行”。
pinpong的编程规范
1.pinpong的安装
pingpong库的安装和Python的其他库安装一样,在命令行下用pip命令即可。参考命令:pip install pinpong。
2.pinpong的基本用法
以Arduino UNO为例,表1中的代码,将点亮Arduino板载的LED灯(D13引脚)。
从上述代码可以看出,通过pinpong库控制开源硬件的代码不仅简洁,而且容易理解。初始化硬件只要正确输入硬件的品牌和型号即可。如果端口号省略,pinpong会自动扫描本机可用的所有串口,然后给硬件烧录特定的固件。这样一来,开源硬件的入门门槛降到了最低:只要能辨别开源硬件的型号,并且知道其引脚的正确编号即可。
在引脚控制方面,pinpong的语法跟micro:bit和掌控板是一致的,同时又兼容MicroP
ython的标准语法。例如,电平信号输出处改为“led.value(1)”,代码也能正常运行,非常灵活。而且,一台计算机还能同时连接多块开源硬件,彼此可以互动。
pinpong的应用案例
1.数据科学应用案例:传感器数据的采集
案例背景:在新版的普通高中信息技术教材中,增加了“传感与控制”方面的学习内容。这里的“传感”指通过传感器采集外界环境中的各种信息,如温度、声音、光线等。利用pinpong库,只要在普通电脑上接上一块开源硬件,如Arduino、掌控板,然后再接相应的传感器即可。
网页对话框太小怎么办
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论