第一代 BeagleBoard 开发板推出于2008年,第三代开发板被命名为 BeagleBone,从这一代开始将 GPIO 口统一放置到开发板的两侧了。BeagleBone Black 诞生于2013年,它是继 BeagleBone 后的新版本,中国版的价格是 399 RMB。BeagleBoard 家族的开发板均采用德州仪器的 ARM 处理器,BeagleBoard 系列开发板的一大优点是它的开源硬件设计及默认运行开源软件。这意味着 BeagleBoard 所有版本的设计原理图都是开放的,这些设计可以被任何人复制、修改和使用。
序号 | 模块 | 描述 |
---|---|---|
1 | 处理器 | 德州仪器 Sitara AM3358 ARM Cortex-A8@ 1 GHz 处理器下面的是 512MB DDR3 RAM |
2 | 电源接口 | BBB 需要 5V/1000mA 的直流电 大部分的 5V DC电源适配器都可以给 BBB 供电 在电源插口附近有一个电压保护器 如果接入 5~12V 的电源,它可以保护你的板子不被烧坏 但是,最好保证你给板子的是 5V 电源 |
3 | 以太网口 | 标准的 RJ45 以太网端口 你可以用网线连接板子,也可连接 WiFi |
4 | 复位按钮 | 复位键 |
5 | USB Host | 就像电脑一样,可以通过 USB Host 连接键盘鼠标、WiFi 适配器 |
6 | 板载 LEDs | 板子上有几个 LED 灯 其中靠近电源插口的是用来指示有电源供电 而靠近reset的4个led你可以用程序控制他们 默认情况下 led 0 代表你的系统正在运转,以心跳模式闪烁 led 1 代表 micro SD 卡在使用中 led 2 闪烁表示 CPU 正在活动 led 3 闪烁代表板载闪存正在被使用中 |
7 | GPIO 扩展口 | 可以直接插入其他硬件插件板实现更多功能 最多连续叠加4块插件板 |
8 | Mini USB 接口 | 当通过这个 USB 口连上电脑时,可以像一个设备那样被电脑识别 电脑可以通过这个端口给板子供电,也可以通过这个端口与板子通信。 同时,在电脑上的板子就像一个存储设备一样 不过,用这个端口给板子供电时,处理器速度会变慢来减少板子的耗电 |
9 | Micro SD card 插槽 | BBB 没有硬盘驱动器,取而代之的是 Micro SD 卡, 可以用来存储操作系统,程序以及你的数据, 在 BBB 上操作系统存储在板载闪存上 可以通过 Micro SD 卡来升级 |
10 | Micro HDMI 接口 | 可以用 micro HDMI 接口来把 BBB 连接到显示器或者电视上 这个接口看上去和 Mini USB 接口很相似,所以你最好看清楚 |
11 | 调试串口 | 可以通过 USB 转串口装置连接电脑和这个调试串口,从而登录终端控制台 |
12 | 板载闪存 | 2 GB eMMC Flash 存储器 |
13 | Boot Switch 按钮 | 长按这个键可以让你的板子从 Micro SD 而不是板载闪存启动 |
BeagleBone Black 比上一代 BeagleBone 新增了串口调试引脚,我们直接把串口转 USB 模块的 TXD,RXD 和地线连到对应的引脚上(如图所示),无需进行任何配置,立刻就能开始使用了。
登录用户:root
BeagleBone Black 中国版配置的板载闪存大小为 2GB,这类似于电脑配置一个 2GB 的硬盘的概念。
root@beaglebone:~# df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 1.7G 1.4G 237M 86% /
udev 10M 0 10M 0% /dev
tmpfs 100M 556K 99M 1% /run
/dev/disk/by-uuid/7dcc1ad1-bbf5-4d1d-acb9-5bbfd7e4630f 1.7G 1.4G 237M 86% /
tmpfs 249M 0 249M 0% /dev/shm
tmpfs 249M 0 249M 0% /sys/fs/cgroup
tmpfs 100M 0 100M 0% /run/user
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/mmcblk0p1 96M 72M 25M 75% /boot/uboot
BeagleBone Black 配置了以太网口,该网口允许通过以太网将 BBB 连接到网络中,最大速率为 100Mbit/s
root@beaglebone:~# ifconfig eth0
eth0 Link encap:Ethernet HWaddr c8:a0:30:aa:45:33
inet addr:192.168.3.2 Bcast:192.168.3.255 Mask:255.255.255.0
inet6 addr: fe80::caa0:30ff:feaa:4533/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2867283 errors:0 dropped:7770 overruns:0 frame:0
TX packets:41726 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:224632977 (214.2 MiB) TX bytes:3013218 (2.8 MiB)
Interrupt:40
也可以通过 USB Host 口外接 WiFi 适配器来提供无线网络,这种连接方式会更加方便。
BeagleBone Black 的两侧是 GPIO 接口,在物理上分为两个集群,分别是 P8 和 P9,每个集群又分别有46个接口,可以插入连接线。通过这些 GPIO 接口,我们可以连接其他模块来实现更多功能。
我们可以将 BeagleBone Black 通过 USB 线连接到电脑,为了和 BBB 通信,需要在你的电脑中安装相应的驱动程序。如果你的电脑是 Win7,只需通过 USB 接口将 BBB 连接到电脑,预先存储在 BBB 上的驱动程序将自动安装,所以不需要花费额外的时间去寻找这些驱动。大伙也可以从 BeagleBoard 的网站下载相应的驱动程序。
因为我手头上没有 mini USB 线,所以我准备直接通过网口访问。
根据工作环境的情况,我将修改 /etc/network/interfaces 文件,为 eth0 网卡设置静态 IP:
auto eth0
iface eth0 inet static
address 192.168.3.2
netmask 255.255.255.0
network 192.168.3.0
gateway 192.168.3.1
打开 Chrome 或 Firefox 浏览器,输入 http://192.168.3.2 即可访问 BeagleBone Black 的 Web 服务器。如果你使用 USB 连接,默认情况下则应该输入 http://192.168.7.2
想编写可以在 BeagleBone Black 上运行的程序,除了使用 C/C++ 之外,还可以使用 Python 和 BoneScript 语言。
在上面打开的网页中,左边导航栏找到 “Cloud9 IDE”,点击进去按提示操作即可在新标签页中打开一个 Cloud9 在线编程环境,这是一个强大的、直接运行在 BeagleBone Black 上的 Web 版本的 IDE。接下来,我们将在这里实现点灯实验。
首先点击 Cloud9 IDE 主窗口中的 “+” 按钮,选择 “New File” 打开一个空白文件,保存为 blink.js。然后,编写如下代码:
var bbb = require('bonescript');
var state = bbb.LOW;
bbb.pinMode('USR1', bbb.OUTPUT);
setInterval(blink, 1000);
console.log('Hello, World!');
function blink() {
if(state == bbb.LOW) {
state = bbb.HIGH;
} else {
state = bbb.LOW;
}
bbb.digitalWrite('USR1', state);
}
保存代码,点击 “Run” 即可运行,你会在 Cloud9 IDE 的页面底部标签 “/blink.js - Running” 中看到打印出来的 “Hello, World!”。
这个实验是通过 BoneScript 库来控制 LED 灯闪烁及打印消息到控制台。需要注意的是,BoneScript 只在 bonescript 库中做了定义,底层的语法和结构是用 JavaScript 编写的。可以看到,使用 BoneScript 编程非常方便,但也有它的局限性。如果面对更复杂的代码和功能,还是建议使用 C/C++ 和 Python 来编写。