RoadTest: BeagleBoard.org BBB Wireless BBBWL-SC-562
Author: dreambound
Creation date:
Evaluation Type: Evaluation Boards
Did you receive all parts the manufacturer stated would be included in the package?: True
What other parts do you consider comparable to this product?: Raspberry Pi 3, Beaglebone Green Wireless, Beaglebone Blue
What were the biggest problems encountered?: Wireless specific firmware didn't work properly with the default OS Image, fixed in the newest releases. HDMI Micro and USB port too close together. Missing SRM for this board.
Detailed Review:
Before starting with the review I'd like to thank the Element 14 community for allowing me to participate in the road test of this product. I'd also like to say thanks to all the reader of this review, I hope you'll enjoy the reading.
In the IoT era, I think that the BeagleBone Black Wireless is the natural evolution of the Beaglebone Black, fixing the lack of wireless connectivity.
I've been using BBB for a couple of year by now, mainly for electronics projects, and although sometimes i missed wireless connectivity i've never really felt the urge to make a change.
That was until now.
I recently got some wireless board (Arduino Uno WiFi and Raspberry Pi 3) and started thinking of making my own domestic sensors network. I just needed the right device to provide a WLAN for wireless sensors and expose data on a local web server, and since my past experience with BeagleBone Black the BBBW was obviously my first choice.
That's why I applied to this Road Test and that's what I achieved with the BeagleBone Black Wireless.
The BeagleBone Black Wireless is basically a BeagleBone Black with Wireless connectivity, and thus its technical specifications are very similar to those of BBB.
Processor:
Software Compatibility:
Connectivity:
The main differences between BBBW and BBB are 3:
The BBBW was packaged very well by Newark Element14. It arrived in a solid cardboard box with recyclable protective paper and antistatic bubble wrap in the inside. Everything in the box was intact upon opening.
The Beagleboard.org BBBW box, containing the BBBW, is also pretty solid, although a little small.
Inside the box we find the BBBW, a USB to micro-B USB and a little cardboard with instructions
The board is packaged with "closed" antennas, but when you point the antenna to the outside the board doesn't fix in his box anymore.
Fun fact: the Element 14 BBB box is bigger (although no antennas involved) and can contain the BBBW even with "opened" antennas.
There are 3 ways to connect to the BBBW:
This method require peripherals not included in the board package:
In this method you simply connect everything listed above and start using this board like a workstation pc.
Note: the USB port and the micro-HDMI are very close togheter
This is the standard and preferred method to remote connect to this board.
In this mode you simply have to connect the BBBW USB micro B port to a standard USB A port of a PC- This provide the BBBW with power and ethernet over USB.
At this point your PC will detect a new mass storage. Open this drive and double click START.HTM5. Then follow the instructions.
This is the third and last Getting Started method.
First plug in the power source to the BBBW. When the board is up and running (WiFi and Bluetooth led on) you should find an access point called "BeagleBone-XXXX" where "XXXX" varies between boards. The access point defaults password is "BeagleBone".
The BBBW will now provide your computer with an IP address in the 192.168.8.x range and reserve 192.168.8.1 for itself.
You can now SSH into your board using its reserved static ip '192.168.8.1' or using the mDNS 'beaglebone.local' with username "debian" and default password "temppwd".
I personally like to use MobaXTerm to SSH into remote pc. (https://mobaxterm.mobatek.net/)
To connect the BBBW to an existing WLAN do as follow (in this example I will connect to fadan)
debian@beaglebone:~$ connmanctl
Error getting VPN connections: The name net.connman.vpn was not provided by any connmanctl> scan wifi
Scan completed for wifi
connmanctl> services
fadan wifi_f45eab2eda93_666164616e_managed_psk
WOW FI - FASTWEB wifi_f45eab2eda93_574f57204649202d2046415354574542_managed_ieee8021x
Vodafone-30480172 wifi_f45eab2eda93_566f6461666f6e652d3330343830313732_managed_psk
chabe71 wifi_f45eab2eda93_63686162653731_managed_psk
InfotreSerenella wifi_f45eab2eda93_496e666f747265536572656e656c6c61_managed_psk
connmanctl> agent on
Agent registered
connmanctl> connect wifi_f45eab2eda93_666164616e_managed_psk
After you execute the last command you will be prompted to give the WLAN password, entered it and you will be connected to your network.
Eventually exit from connmanctl with 'quit'.
As mentioned in the Introduction my goal was to provide WLAN for wireless sensors. For this scenario the default configuration is great, but I wanted to twist around and change Access Point settings.
First I must say that I had some problem using the wl-18xx firmware provided with the shipping image, since it conflicted with the network manager connman. Those issues were gone since Debian image 2017-05-07, were everything works as expected.
The wireless chip, wl1835MOD, is set to AP + STA + Bluetooth mode as default. This setup is just what I wanted. Now let's add personalization to the Access Point settings.
To configure Access Point we need to change the settings in the file '/etc/default/bb-wl18xx'. Below the content of the file with my settings
debian@beaglebone:~$ cat /etc/default/bb-wl18xx
# TETHER_ENABLED: Whether or not to run the /usr/bin/bb-wl18xx-tether daemon; set to no to disable.
TETHER_ENABLED=yes
# USE_CONNMAN_TETHER: Whether or not to just use connman tether inteface; set to no to disable.
USE_CONNMAN_TETHER=no
# USE_WL18XX_IP_PREFIX: default IP block of SoftAP0 interface
USE_WL18XX_IP_PREFIX="192.168.8"
# USE_WL18XX_MAC_ADDRESS: use custom mac address, for when work wifi starts sending deauthentication packet spam.
#USE_WL18XX_MAC_ADDRESS="EC:11:27:B:14:97"
# USE_PERSONAL_SSID: set custom ssid
USE_PERSONAL_SSID="BBBWhomeMQTT"
# USE_PERSONAL_PASSWORD: set ssid password
USE_PERSONAL_PASSWORD="homeMQTTap"
# USE_GENERATED_DNSMASQ: use generated version of /etc/dnsmasq.d/SoftAp0; set to no so user can modify /etc/dnsmasq.d/SoftAp0
USE_GENERATED_DNSMASQ=yes
# USE_GENERATED_HOSTAPD: use generated version of /etc/hostapd.conf; set to no so user can modify /etc/hostapd.conf
USE_GENERATED_HOSTAPD=no
# USE_APPENDED_SSID: appends mac address after SSID (aka -WXYZ, BeagleBone-WXYZ)
USE_APPENDED_SSID=no
I simply changed the AP SSID to "BBBWhomeMQTT" and AP password to "homeMQTTap", removed the appended mac address after SSID and set to don't use generated hostapd.
This is because I want to change hostapd configuration. Before rebooting to apply changes, I copied the automatic generated '/tmp/hostapd.conf' to '/etc/hostapd.conf' with command 'sudo cp /tmp/hostapd.conf /etc/hostapd.conf'.
Doing this I created a hostapd configuration file based on the default settings that will be use to set the Access Point.
At this point I modified the file '/etc/hostapd.conf' to enable the hidden network option (set ignore_broadcast_sssid to 1).
debian@beaglebone:~$ cat /etc/hostapd.conf
interface=SoftAp0
ssid=BBBWhomeMQTT
hw_mode=g
channel=1
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=1
wpa=2
wpa_passphrase=homeMQTTap
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
logger_syslog=-1
logger_syslog_level=2
That's it, reboot the board with 'sudo reboot' and from now on your BBBW will act as a hidden Access Point.
After the setup I finally started playing with the BBBW. I made an MQTT broker and a Local Web Server, both using node.js and started fooling around with Arduino Uno Wifi and Raspberry Pi 3 as wireless sensors.
Playing with the BeagleBone Black Wireless was real fun, although initially there were problems setting the AP (compatibility issue between bb-wl18xx firmware and connmanctl), that were promptly resolved in newest version of the Debian Image.
The specific documentation for this board is lacking, in particular the SRM(System Reference Manual) is missing. But this was not a real issue, since all the BeagleBone Black, BeagleBone Green Wireless, and some linux related Raspberry Pi documentation apply to this board.
I was really pleased when I found that this board could work in AP + STA mode since it was useful for my project, and I really liked the bb-wl18xx setup thing. This saved me a lot of time that I would've lost trying to manually set hostapd and dnsmasq to work with connman.
On the performance side, this board has no problem running mongodb, an MQTT broker and a Web Server at the same time.
In conclusion, I find this board a nice way to add wireless connectivity to the BeagleBone Black. In particular I appreciated the new design with the Octavo SIP and the smart change from USB mini-B to USB micro-B.
I surely recommend this board to anyone wanting to experiment with wireless connectivity with a reliable Single Board Computer capable of real-time operations (thanks to the 2xPRU module).
Thank you for your patience.
Top Comments
Great review
Good road test report.
I am curious, what is the wifi data rate limit from the BBB to another computer?
DAB
Thank you
Regarding your question I found a link about a wl1835MOD cape (http://processors.wiki.ti.com/index.php/WL1835_Cape_on_BeagleBone_with_Debian)
At 1m it gets:
TCP (Mb/s)UDP (Mb/s), %age lossRx39…