BeagleBone Black 上手体验

发展历史

第一代 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复位按钮复位键
5USB Host就像电脑一样,可以通过 USB Host 连接键盘鼠标、WiFi 适配器
6板载 LEDs板子上有几个 LED 灯
其中靠近电源插口的是用来指示有电源供电
而靠近reset的4个led你可以用程序控制他们
默认情况下
led 0 代表你的系统正在运转,以心跳模式闪烁
led 1 代表 micro SD 卡在使用中
led 2 闪烁表示 CPU 正在活动
led 3 闪烁代表板载闪存正在被使用中
7GPIO 扩展口可以直接插入其他硬件插件板实现更多功能
最多连续叠加4块插件板
8Mini USB 接口当通过这个 USB 口连上电脑时,可以像一个设备那样被电脑识别
电脑可以通过这个端口给板子供电,也可以通过这个端口与板子通信。
同时,在电脑上的板子就像一个存储设备一样
不过,用这个端口给板子供电时,处理器速度会变慢来减少板子的耗电
9Micro SD card 插槽BBB 没有硬盘驱动器,取而代之的是 Micro SD 卡,
可以用来存储操作系统,程序以及你的数据,
在 BBB 上操作系统存储在板载闪存上
可以通过 Micro SD 卡来升级
10Micro HDMI 接口可以用 micro HDMI 接口来把 BBB 连接到显示器或者电视上
这个接口看上去和 Mini USB 接口很相似,所以你最好看清楚
11调试串口可以通过 USB 转串口装置连接电脑和这个调试串口,从而登录终端控制台
12板载闪存2 GB eMMC Flash 存储器
13Boot 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 适配器来提供无线网络,这种连接方式会更加方便。

GPIO 接口

BeagleBone Black 的两侧是 GPIO 接口,在物理上分为两个集群,分别是 P8 和 P9,每个集群又分别有46个接口,可以插入连接线。通过这些 GPIO 接口,我们可以连接其他模块来实现更多功能。

在这里插入图片描述

访问 Web 服务器

我们可以将 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 来编写。

  • 5
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿基米东

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值