当前位置:首页 > 开发板 > 开发板
[导读]RPI3才出来没多久,又遭到seeed的追虐。BBGW也是Beablebone系列中首款支持内建(Built-in)Wi-Fi(MIMO技术)和BLE(4.1 LE)的开发板。

BeagleBone Green Wireless(BBGW)是BeagleBoard.org和Seeed联合推出的新款SBC开发板,被认为是Raspberry Pi 3的竞争者。BBGW也是Beablebone系列中首款支持内建(Built-in)Wi-Fi和BLE的开发板。其中Wi-Fi特性支持MIMO技术,数据传送时速度更快;BLE支持BLE 4.1 LE规范。

BBGW基于硬件开源的BeagleBone Black(BBB)。此前Seeed曾推出BeagleBone Green(BBG),也是基于BBB硬件,使用的网络接口是ETH,此次推出的BBGW并不是BBG的升级版,可以看作是BBG的兄弟版本,将ETH变更为Wi-Fi/BLE,Beaglebone家族再添新丁。

让我们第一时间开启BBGW体验之旅。

 

图1:BBGW包装盒正面

蓝绿色系的封面设计,大概是为了和BBB的经典黑区别开来。很cute的小狗标志,表明BBGW也是Beagle的一员,封面上也列出了BBGW的主要特征:Wi-Fi+BLE以及集成Grove接口。


图2:包装盒背面

包装盒背面列出了产品包含的部件:BBG开发板1块,USB线缆1根,还有用户指南1份。另外将开发板的一些主要特性都列出在背面,方便用户对开发板有一个基本的认识。除了Seeed的logo之外,开源硬件标志也表明这是一款硬件开源产品,是广大开源世界的成员之一。


图3:开发板及配件

打开包装盒,有BBGW,USB数据线及附送的天线,当然在开发板的下面还有1份用户指南。


图4:BBGW主要接口(micro SD在背面)

BBGW是Seeed基于BBB重新设计的产品,主要变化在于:拿掉了HDMI显示接口;拿掉了ETH网络接口;将原本X1的USB接口改成了X4;添加了Wi-Fi/BLE模块Texas Instruments WiLink8 (model WG78V0),同时注意BBGW上预配置了两个Grove接口。下面是BBB的正面,可以明显看到二者的区别。


图5:BBB主要接口(背面有HDMI及micro SD)

去掉了HDMI接口,怎么连接显示器?不用担心,还有扩展板可以用来引出HDMI显示接口,官方把扩展板称为Cape。因为BB板的尺寸比较小,只有信用卡大小,所以许多的功能不能完全集成到开发板上,而是通过Cape来增强开发板的功能。官方提供了丰富的扩展板及外设。


图6:HDMI Cape

USB接口则从原来的一个变成了4个,极大方便了用户扩展USB类型的设备。


图7:USB接口

从BBG开始,Seeed的BB板就引入了Grove接口,方便用户接驳各类丰富的Grove外部设备。


图8:Grove接口

外观与接口就介绍到这里,最后来一张表,比较BBB/BBG/BBGW的基本情况


图9:BBB/BBG/BBGW比较(来自:CNX-SOFTWARE)

开始体验BBGW。

BBGW板载4GB eMMC存储器,还提供了一个micro SD卡接口,用于扩展存储。系统启动时会先检查SD卡中是否有可启动的OS,如果有,则优先启动SD卡中的OS,这样就不用担心设备变砖!

从附录给出的BBGW操作系统映像资源下载最新的系统映像,使用Win32diskimager将系统映像写入到SD卡中,然后将SD存储卡插入到BBGW的SD卡槽,就可以开始上电,正式体验BBGW的魅力了。


图10:制作SD卡系统

需要注意的,官方没有单独为eMMC提供额外的系统映像,而是统一使用一个映像。官方提供了额外的脚本来将SD卡中的系统写入到eMMC中。在系统映像有一个/boot/uEnv.txt文件,里面包含了系统启动时环境变量参数的设置,里面包含了类似下面的配置项

##enable BBG: eMMC Flasher:

#cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3-bbgw.sh[!--empirenews.page--]

如果要将SD卡的系统写入到eMMC中,只需要将上述代码的注释去掉,重新上电后,就会将SD卡上的系统写入到Flash存储器中,烧写过程中,开发板上的4个用户LED灯会作跑马灯运动,此时千万不要弹出SD卡,否则可能会对SD卡造成永久性损坏。写入完成后,下次启动如果检测到没有SD卡系统,则会从内置存储器中的系统启动。

用附送的USB线缆连接开发板与PC,内置存储器的部分空间会映射成PC端的一个移动磁盘,里面包含有BBGW的入门指南及相关的驱动。


图11:BBGW映射到PC端的移动磁盘

打开Drivers目录,根据PC系统的类型选择安装32位或64位驱动,驱动安装完毕后,在设备管理器会找到如下的串口设备


图12:BBGW的通信串口

如果一切正常,此时打开浏览器,输入http://192.168.7.2,会弹出如下的内容


图13:访问bone101

是不是很神奇,有没有颠覆你的网络认知?大道不过三两句,说破不值一文钱。让我们先来解开这个疑惑。

打开你的Windows系统的命令提示符窗口,执行ipconfig命令看下结果,其中有一项输出如下


图14:PC端的虚拟网卡

霍霍,原来虚拟了一个以太网适配器,猜想BBGW的一端应该也有一个类似的配置,只不过它的IP地址设定为192.168.7.2,所以,所以就能联网,当然现在还只是局域网连接。

既然已经联网,是不是咱的SSH也可以连接上了呢?打开SSH,配置连接参数


图15:SSH配置

然后用预设的用户及密码debian/temppwd登陆,毫无障碍就进入了系统!至此解决了第一个疑问。


图16:SSH访问BBGW

且住!说好的Wi-Fi,说好的BLE呢?看官您可真性急,这不马上就要介绍到了么。

要体验Wi-Fi,你需要一个能提供Wi-Fi访问的设备,如手机、笔记本之类的都可以,如果是台式机的话,准备一个Wi-Fi Dongle连接上去也行。当然还要记得把俩天线给接上去,要不然信号不好有可能会影响体验及使用效果。


图17:BBGW天线安装及上电

本次测试使用的是Windows 10系统,请自行准备一个Wi-Fi Dongle,任意品牌都行。然后点击桌面右下角的网络图标,会弹出扫描到的可用Wi-Fi连接,如图


图18:BBGW提供的无线访问点

这个BeagleBonXXXXXX就是咱们的BBGW提供的Wi-Fi了,点击连接,默认没有配置加密功能,直接就连接上去了。不过现在还没有配置BBGW的上级路由器,咱们的BBGW还没有联上Internet,当然也不能访问外网咯,接下来的操作就是配置好网络功能,让我们的BBGW能与Internet连接。

打开浏览器,输入http://192.168.8.1/login,可以在里面选择要连接的上级路由器并设置相应的密码。如下图所示


图19:配置Wi-Fi

上面的图片是已连接好的效果,可以看到上级router的SSID及BBGW获得的IP地址。

网络配置过程非常简单。呃,你可能会觉得有点失落。你花了那么多的时间专门研究Linux网络配置的知识突然间用不上了,这么轻松就搞定了网络配置,还要不要好好学习了?!

打住,打住,前面有个192.168.7.2,这里又出现一个192.168.8.1,还有192.168.2.104? 有没有晕菜,嗯,有点乱,得捋一捋!现在就是你学的Linux知识派上用场的时候了,用个SSH连接上BBGW,看看混乱的背后,究竟是什么?

先用ifconfig命令看下网络配置


图20:BBGW网络配置[!--empirenews.page--]

嗯,这个easy, easy。一个SoftAP0, 一个usb0,一个wlan0,分别对应的IP为:192.168.8.1,192.168.7.2,192.168.2.104。确实有3个IP地址。解决了这个问题,再用route命令来查看路由设置


图21:BBGW的路由

这下不用担心学无所用了吧,很明显,wlan0负责处理192.168.2.0/24及192.168.8.0/24的所有路由转发,而usb0则负责所有192.168.7.0/24的路由转发!

如果没看懂,骚年,补补网络基础知识吧!

然而还有BLE,咱也体验一下。准备小蓝牙音箱一个


图22:蓝牙测试用音箱

在控制台命令窗口模式下,执行BLE配置及连接命令,下面的命令输出列表供参考

debian@beaglebone:~$ sudo bb-wl18xx-bluetooth

Found a Texas Instruments' chip!

Firmware file : /lib/firmware/ti-connectivity/TIInit_11.8.32.bts

Loaded BTS script version 1

texas: changing baud rate to 3000000, flow control to 1

Device setup complete

debian@beaglebone:~$ sudo bluetoothctl

[NEW] Controller 80:30:DC:2F:B9:5D BlueZ 5.23 [default]

[NEW] Device 52:D3:13:83:D4:65 HYUNDAI I80

[NEW] Device B4:0B:44:33:76:A6 坚果手机

[CHG] Controller 80:30:DC:2F:B9:5D UUIDs:

00001200-0000-1000-8000-00805f9b34fb

00001800-0000-1000-8000-00805f9b34fb

00001801-0000-1000-8000-00805f9b34fb

0000110e-0000-1000-8000-00805f9b34fb

0000110c-0000-1000-8000-00805f9b34fb

……

[CHG] Controller 80:30:DC:2F:B9:5D Name: beaglebone

[CHG] Controller 80:30:DC:2F:B9:5D Alias: BlueZ 5.23

[CHG] Controller 80:30:DC:2F:B9:5D Alias: beaglebone

[bluetooth]# connect 52:D3:13:83:D4:65

Attempting to connect to 52:D3:13:83:D4:65

[CHG] Device 52:D3:13:83:D4:65 Connected: yes

Connection successful

[bluetooth]# quit

[DEL] Controller 80:30:DC:2F:B9:5D beaglebone [default][!--empirenews.page--]

接下来播放一段Carpenters的Yestday once more经典音乐,下面是控制台输出的信息


图23:蓝牙播放

嗯,下次有机会写个自动报时程序什么的来体验一下!

当然,这些都是浮云,重点是咱们要用BBGW来编程,来控制外设,来进行物联,来创造价值!

用上面提到的任一一个IP地址访问BBGW(注,这里的任一也是有条件的,比如你用USB线连接,则只能使用192.168.7.2这个地址),打开浏览器,在地址栏内输入IP地址,如192.168.8.1,浏览器出现BBGW的简明教程,这里不仅介绍了一些必备的基础知识,还提供了可以直接在网页上运行的例程。先来看下这个例程。将联机文档的内容调整到如图所示的位置


图24:简单的脚本控制演示

这是一段Node.js代码,将BBGW上的4个用户LED灯同时点亮,延时2秒,然后再恢复原状。神奇的是那个run按钮,点击一下,会发现这一段代码就直接在BBGW上运行了,请仔细看代码前后的说明。关于bonescript更详细的用法,请参考官方文档说明。

教程里还提到了两个编程工具,一个是Node-RED,另一个是Cloud9 IDE。

Node-RED是一个轻量的基于浏览器的编辑器,易于集成来自不同的物理或数字事件流,它的轻量特点使得其易于运行在网络边缘也就是最靠近终端的地方,比如可以运行在Raspberry Pi等设备上,它提供了一个可视化的编程环境,如果你用过Pi的Scratch编程环境,一定对它的可视化编辑模式印象颇深。这种搭积木式的程序设计方法特别适合儿童及青少年学习程序设计,过程直观且符合思维逻辑!不过要想用好这个工具,也还是需要花一定的时间来掌握基本操作流程的。

Cloud9看起来似乎更专业。这是一个完整的IDE,基于Node.js构建,集代码编辑、调试及应用程序配置为一体。在刚打开的浏览器中找到Cloud9 IDE,点击该链接,就会打开Cloud9开发环境,如下图所示


图25:Cloud9 IDE

启动Cloud9 IDE后,可以看到这实际就是一个完整的开发环境,左边是文件夹管理窗口,可以查看当前的位置及一些例程,IDE的右边是文件编辑窗口,使用标签页的方式组织。默认打开的是Welcome窗口,在这里可以对IDE的外观及用户选项进行配置。用户新建或打开的代码文件也是以标签页的方式呈现,单击标签页的标题,可以在不同的文件之间切换。

在左侧的文件夹管理窗口展开examples文件夹,双击blinkled.js文件,打开该文件查看内容,这是一个demo程序,演示如何控制板载的LED灯。代码内容如下,如果你熟悉javascript或Node.js,这一段代码的阅读应该十分简单

#!/usr/bin/env node

var b = require('bonescript');

var leds = ["USR0", "USR1", "USR2", "USR3", "P9_14"];

for(var i in leds) {

b.pinMode(leds[i], b.OUTPUT);

}

var state = b.LOW;

for(var i in leds) {

b.digitalWrite(leds[i], state);

}

setInterval(toggle, 1000);

function toggle() {

if(state == b.LOW) state = b.HIGH;

else state = b.LOW;

for(var i in leds) {

b.digitalWrite(leds[i], state);

}

}[!--empirenews.page--]

点击IDE菜单栏右侧的run按钮,Cloud9会将代码部署到BBGW上,然后执行这一段代码。这个过程可能会需要几秒钟的时间,稍后就会看到开发板上的4个用户LED灯开始同时闪烁。

如果要让这一段代码自动运行,需要了解一些额外的知识。在BBGW启动时,systemd会打开一个bonescript-autorun.service的服务,该服务会监视/var/lib/cloud9/autorun目录下文件的变化,当一个js文件被添加到该目录下,则使用一个独立的进程来执行这个文件;如果一个js文件被移除,则自动终止该进程。

现在将这个文件复制到/var/lib/cloud9/autorun目录下,稍等片刻,得到的效果与在Cloud9 IDE中执行的效果一致。

上述过程都是基于bonescript来实现。Bonescript的本质是javascript,使用Node.js作为服务端来解释脚本,正如使用浏览器用来解释javascript一样。如果你是一名真正的Linux玩家,也有了自己更偏爱的编程语言,希望使用C++/Python/Ruby或其它语言来实现自己的功能,那么恭喜你,因为底层的Linux及Userland早已为你准备好了一切,打开你最喜欢的Vim或是Emacs编辑器,直接编辑代码,按你自己惯用的方式,或底层,或高级操控,BBGW已为你准备好一切!

总结来说,BBGW除了在开发板上添加了Wi-Fi/BLE连接功能之外,与BBB的主要硬件规格是一致的,实际上就是BBB的一个差异化产品。BBGW的硬件配置一般,不过Wi-Fi/BLE功能的加入,对于建立和评估物联网应用,无疑是非常有吸引力的。BBGW和其它Beaglebone产品一样,内置Node-RED及Cloud9 IDE开发环境,简化了产品体验及开发步骤,特别对于新手及非专业人员来说,确实非常贴心!不过BBGW去掉了HDMI及ETH接口,如果要想体验这些功能,就得另行添置Capes才行了。

BBGW介绍

BBGW操作系统映像

Bonescript参考

 

本文系21ic原创,未经许可禁止转载

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭