当前位置: 代码迷 >> 综合 >> BeagleBone Black猎兔犬骨头(黑)- 简单介绍及快速开始
  详细解决方案

BeagleBone Black猎兔犬骨头(黑)- 简单介绍及快速开始

热度:66   发布时间:2023-12-10 07:32:13.0

 

一.开源硬件与BeagleBoard简介

 

在开源硬件渐渐盛行的时代,不少社区已经积累了很高的人气,例如大名鼎鼎的Arduino和Raspberry Pi,在众多开发者的共同努力下,已经成为了随处可见的小硬件玩具。没有玩过Arduino和Raspberry Pi都不好意思说自己在玩硬件!

 

Arduino-点击可进入官方网站

 

 Rasperry Pi-点击可进入官方网站

 

同时,不少新的平台,新的板子也不断加入到开源硬件的大家族,如mbed,由于其方便的在线编译功能,成为了不少项目的首选硬件。

 

mbed-点击可进入官方网站

 

其中有一个平台,虽然也已经发展了一段时间,但是相对在国内受欢迎程度不如上面提及的这些平台:

从左到右的产品分别是BeagleBoard,BeagleBoardxM,BeagleBone 和BeagleBone Black。点击图片进入官方网站。

 

而今年距这个平台最初面世已经五年了:Beagle(猎兔犬)板。Beagle板实际是由TI支持的一个以教育(STEP)为目的的开源项目。其发布的四款板子的硬件都是由TI的工程师Gerald Coley一人设计。我们今天的主角,BbeagleBone Black(BBB),就是这一平台最新的硬件板子,或者说单板计算机/微型计算机。

 

二.BeagleBone Black 硬件一览

BBB今年4月首次被BeagleBoard社区介绍给大家时就受到了不少的关注,因为BBB的上一代产品BeagleBone(2011年发布的白色的板子)就因其强大的功能,丰富的外设支持赢得了不少开发者的青睐。而这一代的产品搭载更为先进TI的ARM Cortex-A8 CPU:AM335x。主频在不同的供电模式下均可以高达1GHz。主要的板上硬件可以参考下表:

 

 

主要的硬件参数可以参考下表:

 

在信用卡片大小的板子上能有如此强大的性能,且人民币不到400就能拿下,确实让BBB十分有吸引力。

 

如果觉得板上的硬件还不能满足你的项目需求,那并不用太担心,因为BeagleBoard社区也提供了不少硬件拓展模块(Capes),让其功能更加丰富强大,这和Arduino或者Raspberry Pi的模式并没有很大差异。

 

三.BeagleBone Black快速开始

 

在软件层面,BBB自带?ngstr?m Linux,同时兼容其他版本的Linux如Android和Ubuntu等。同时支持Cloud9 IDE on Node.js w/ BoneScript library, 也就是BeagleBone自家特有的脚本语言BoneScript,开发便捷,兼容性强。

 

在刚刚开箱后,若没有额外的硬件如hdmi显示屏,键盘鼠标和电源的情况下,可以直接连接板子到电脑上,通过Cloud9 开发环境进行简单的开发。

 

下面我们就介绍一下如何快速开始。

1.将板子通过USB连接到电脑上,这个时候板子会亮灯。等待电脑识别板子为可移动存储设备。

 

2.打开存储设备,打开START.htm文件,这会通过浏览器将你带到一个开始页面,这个时候按照自己的操作系统选择安装相应的驱动程序:

 

         

3.安装完成之后,用Chrome或者Firefox浏览器打开地址:http://192.168.7.2:3000/,便是Cloud9 IDE,BBB自带的编程环境。你可以在进行下一步前阅读IDE的说明,熟悉一下IDE的环境。

 

4.接下来我们就创建一个blinkled.js的空白文件,并且保存。

5.好了,接下来我们就正式编程,在blinkled.js文件里写入如下代码,并保存:

 

var b = require('bonescript');
var pins=b.bone.pins;
var ledPin0=pins.USR0;
var ledPin1=pins.USR1;
var ledPin2=pins.USR2;
var ledPin3=pins.USR3;
b.pinMode(ledPin0,b.OUTPUT);
b.pinMode(ledPin1,b.OUTPUT);
b.pinMode(ledPin2,b.OUTPUT);
b.pinMode(ledPin3,b.OUTPUT);
var state = b.LOW;
b.digitalWrite(ledPin0,state);
b.digitalWrite(ledPin1,state);
b.digitalWrite(ledPin2,state);
b.digitalWrite(ledPin3,state);
setInterval(toggle,1000);
function toggle(){
if(state==b.LOW) state=b.HIGH;
else state=b.LOW;
b.digitalWrite(ledPin0,state);
b.digitalWrite(ledPin1,state);
b.digitalWrite(ledPin2,state);
b.digitalWrite(ledPin3,state);
}

 

6.选中Run tab,选中blinkled.js,并点击Run(或者debug),这时IDE就如下图:

 


 7.好了大功告成,这个时候你应该能够看到BBB板上的一排LED在不断闪烁。用Bone脚本语言就是这么简单!

 

其实这里面的语法相当简单,第一句有点类似C中的#include,紧接着声明端口和设置端口为输出,然后隔一段时间给输出写入高或者低电平以实现让LED闪烁的效果。

BBB就是这样易于上手和开发,BBB的全部威力就静待我们去开发啦。

 

四.BeagleBone Black 和其他板子比较

 

如果你还没有购买这个板子,或者正在考虑选择一款入门板子学习的话,那么你肯定会苦恼于要选择哪个平台。

 

说实话,各个板子有各自特长,可谓八仙过海。Arduino轻便易于上手而且拓展部件众多,社区成熟;Raspberry Pi也是拥有良好的社区支持。Beagle Bone相对来说困难在于其开发者社区主要集中在美国,如果需要查找相关的资料,没有良好的英语阅读能力是会有点吃力。但是有一点很值得注意,Arduino实际上是 8位AVR单片机(或32位ARM单片机),而Raspberry Pi用的是ARMv6 的芯片,这些都无法和BBB的ARMCortexA8 芯片相比。所以如果想了解最新的ARM CortexA系列的芯片,同时又愿意折腾的朋友,不妨选择这一款板子。另外一方面从性能来看,BBB性能远超过Raspberry Pi,至于Arduino,那更没有到达微型计算机的性能。

 

所以如果是初学者,不一定要选择这款板子。但是如果是有热情和兴趣的发烧友,BBB确实是一块十分难得的性价比出众的微型计算机。

 

那么如果你已经购买了这块板子,并且觉得BBB十分有意思,有挑战性,期待着深入学习并且乐意将BBB应用于自己的项目开发里,那么欢迎你加入BBB开发的大家庭。

 

 

Enjoy your BeagleBone!

 

 

 

  相关解决方案