BeagleBoard.org BBB Wireless BBBWL-SC-562 - Review

Table of contents

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.

 

 

 

 

Introduction

 

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.

 

 

Technical Specifications

 

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:

  • Octavo System OSD3358 1GHz ARM® Cortex-A8
  • 512MB DDR3 RAM
  • 4GB 8-bit eMMC on-board flash storage
  • 3D graphics accelerator
  • NEON floating-point accelerator
  • 2x PRU 32-bit microcontrollers

 

Software Compatibility:

  • Debian
  • Android
  • Ubuntu
  • Cloud9 IDE on Node.js w/ BoneScript library

 

Connectivity:

  • USB client for power & communications
  • USB host
  • 802.11b/g/n and Bluetooth 4.1 plus BLE
  • HDMI
  • 2x 46 pin Headers
  • Serial port UART0 access via 6 pin 3.3V TTL populated Header
  • Optional Onboard 20-pin CTI JTAG unpopulated
  • Stereo audio over HDMI interface
  • 4 user configurable LEDs, WiFi and BT LEDs, Power LED
  • Power button, Reset button, Boot button

 

 

BBB and BBBW differences

 

The main differences between BBBW and BBB are 3:

  1. Connectivity: the BBBW is equipped with a Bluetooth/WiFi module and the RJ-45 connector has been removed
  2. Layout: the board has been refactored using a System In Package processor (same am335x processor, ram, emmc)
  3. Connector: the USB mini-B connector has been replaced with a more comfortable USB micro-B connector

 

 

 

Unboxing

 

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.

 

 

 

Getting Started

 

There are 3 ways to connect to the BBBW:

  • Stand alone: Connect monitor (micro hdmi port), keyboard and mouse to the board
  • USB: Connect the BBBW to a pc via USB cable
  • Wireless: This method is not present on the Quick Start Guide cardboard but is found on Beagleboard.org Getting Started guide (http://beagleboard.org/getting-started)

 

  • Stand Alone

This method require peripherals not included in the board package:

    • Keyboard and Mouse
    • USB HUB
    • HDMI A to HDMI micro D converter
    • HDMI A cable
    • DC Power Supply (5v, 2.5A) with USB micro B plug or 2.1mm x 5.5mm Power Jack Positive Center

 

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

 

  • USB

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.

  • Wireless

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/)

 

 

Connect to WLAN

 

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'.

 

 

Access Point settings

 

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.

 

 

Fooling around with the BBBW

 

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.

 

 

 

Conclusion:

 

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.

 

Links:

Anonymous