装在口袋里的Beagle,上手很Easy
本文来简单和大家介绍一下如何用python开发PocketBeagle。
一、概述
在开源硬件领域,继Beaglebone大火之后,17年9月22日,BeagleBoard.org推出最新产品PocketBeagle。
这是一款外形小巧、但功能全面,且装有USB密钥卡的开源开发板,尺寸仅为35 x 56 x 5毫米,小巧灵活,适用于游戏、3D打印,机器人和其他电子项目;PocketBeagle包含一个1-GHz处理器、面向行业的外围设备,以及优化的微控制器,能够更好地与外界进行连接。PocketBeagle成本低、设计精良且用法简单,是初学者和专业人士的理想之选。
二、Pocketbeagle资源简介
作为与BeagleBone同系列的开发板,PocketBeagle与其采用了相同的设计架构。采用TI新的Octavo Systems OSD3358-SM 系统级封装处理器,尺寸只有21x 21毫米。
OSD3358-SM内部集成有:
1GHz ARM Cortex-A8 中央处理器、
SGX530图像处理器,支持3D加速、
512MB 800MHz DDR3 RAM内存、
2个32-bit 200-MHz PRU(可编程实时单元)、
4kB I2C EEPROM芯片、
ARM Cortex-M3电源管理芯片;
PocketBeagle板载有:
高速USB 2.0 OTG (host/client)接口、
支持系统启动的microSD 插槽、
JTAG调试触点以及72个扩展接口;
其中72个扩展引脚的功能定义如下图:
PocketBeagle支持运行Debian、Ubuntu等常用Linux系统,官方推荐使用Debian:
三、使用python开发Pocket
随着这两年编程语言的长足进步,作为一种面向对象的解释型计算机程序设计语言,Python似乎是发展的无处不在,作为是纯粹的自由软件,Python的源代码和解释器CPython均遵循 GPL协议,同时Python具有各种丰富而强大的代码库,可以应用到各个领域。
此处顺便吐槽一下PocketBeagle的设计师,画PCB的时候能不能走点心,这么低级的错误不要犯,会被扣工资的。
害得我苦逼的刮了半天的排针,好在干涉的空间不大,焊接起来还是不影响使用的,而且挺漂亮。
在我们应用PocketBeagle的过程中,我们惊奇的发现,Debian 9.3系统已经集成了Python 2.7,最简单的验证方式就是在终端界面输入python命令验证一下,如下图。同样惊奇的是,我们在Python的help()中发现,Pyhton在Pocket上已经有大量的模块可以使用了,涵盖了常用的软件、硬件的各种资源,具体列表如下。
下面我们简单演示一下Adafruit_BBIO这个模块在Pocket上的使用。
Adafruit_BBIO是从最早的BeagleBone就开始支持的,几乎兼容了全系列的狗骨头板子,主要用于提供对基本IO外设的操作,在他的官方主页,我们可以看到Adafruit_BBIO提供的API。
我们点击GPIO一项,进入Adafruit_BBIO对GPIO的操作函数界面,可以看到Adafruit_BBIO不但提供了基本的函数使用说明,还给出了简单的应用例程供我们学习。
下面我们就根据Adafruit_BBIO的基本例程,来操作一下我们的Pocketbeagle,就简单用板载的LED点个灯吧。
首先我们通过对GPIO相关函数的学习发现,我们需要知道要操作的IO口的“名称”、“控制方向”以及需要的“输出电平”,其中要控制LED灯,IO自然是输出方向了,至于另外两个参数就需要我们记性查找了。
首先我们点击上图“Beaglebone pin names table”,找到在beagle中关于引脚的定义,如下图,我们发现板载的四颗LED的名字就是“USR0-3”。
然后我们打开Pocketbeagle的原理图,找到四颗LED的部分,电路结构一目了然,想要点亮LED自然是输出高电平了。然后我们回到Pocket的终端界面,进入Pyhton模式,并导入我们需要使用的Adafruit_BBIO模块,操作如下。然后我们要将需要使用的LED控制引脚设置为输出方向,指令如下。这时候我们发现板子上的USR3是灭的,如下图。好的,那我们就输出个高电平点亮一下,Python指令跟点亮效果如下。同样我们也可以通过输出低电平,来关闭LED,Pyhotn指令如下。
四、Pocketbeagle创意锦集
最后我们一起来看几个网友用Pocketbeagle做的创意开发。
1、首先是网友做的扩展板,由于Pocketbeagle实在是太小了,没法集成USB Host接口,所以我们只能通自己扩展引出USB了,如下图示网友用FET1.1 HUB做的USB扩展板。
2、当然除了扩展板,我们也可以学学这个网友,直接用面包板玩。
3、然后还有网友做的游戏机
4、还有四轴飞行器
5、顺便我还发现了一张歪果仁大叔焊板子的照片,看来工程师都是苦逼的一类,不区分国内还是国外。