查看: 3109|回复: 0

BeagleBone Black 上手体验

[复制链接]

该用户从未签到

发表于 2019-1-14 09:01:02 | 显示全部楼层 |阅读模式
分享到:
发展历史

第一代 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 -hFilesystem                                              Size  Used Avail Use% Mounted onrootfs                                                  1.7G  1.4G  237M  86% /udev                                                     10M     0   10M   0% /devtmpfs                                                   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/shmtmpfs                                                   249M     0  249M   0% /sys/fs/cgrouptmpfs                                                   100M     0  100M   0% /run/usertmpfs                                                   5.0M     0  5.0M   0% /run/lock/dev/mmcblk0p1                                           96M   72M   25M  75% /boot/uboot以太网

BeagleBone Black 配置了以太网口,该网口允许通过以太网将 BBB 连接到网络中,最大速率为 100Mbit/s
root@beaglebone:~# ifconfig eth0eth0      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 Scopeink          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 eth0iface 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 来编写。
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /2 下一条

手机版|小黑屋|与非网

GMT+8, 2024-4-26 12:18 , Processed in 0.108585 second(s), 17 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.