Beaglebone green wireless
SeeedStudio BeagleBone Green Wireless is the first board in Beaglebone community with wireless connection and BLE enabled. SeeedStudio BeagleBone Green Wireless (BBG Wireless) is a joint effort by BeagleBoard.org and Seeed. The wireless and other on-board components make this board become a tiny laptop computer with router functions. The wireless components support MIMO (only dual input in dual out implemented) which makes data transmission quicker. You can also configure the AP mode of this development board to set it as a mobile router. We also provide highly adapted UPM libraries to make programming work easy and universal. Combined with rich Grove sensor, you can build more powerful and interesting IoT projects.
SeeedStudio BeagleBone Green Wireless is integrated with AM3358 1GHz ARM® Cortex-A8 processor, 512MB DDR3 RAM, 3D graphics accelerator, NEON floating-point accelerator, 2x PRU 32-bit microcontrollers, Wi-Fi 802.11 b/g/n 2.4GHz and Bluetooth 4.1 LE technology, four USB 2.0(host) ports, and two Grove sockets. It Supports AP and Station mode of communication.
This board also complies with Bluetooth Advanced Audio Distribution Profile (A2DP). You can also use MRAA library to develop applications with this board.
Using this board is easy. For a beginner, we provided recoded and specialized UPM library for our dozens of sensors (We will add more of this kind APIs). With Grove modules, you can build your prototypes just by connect a module to BBG Wireless with Grove cables and call those highly abstracted APIs to execute intended behaviors. You can still use pin-connections and MRAA library, Bonescript and other capes (expansion functional boards in BeagleBone community). We also provide a Grove Base Cape for the situations of an amount of Grove modules to be connected.
Version Tracker
Product version |
Release date |
Support status |
Notes
|
SeeedStudio BeagleBone Green Wireless(v1.0, latest version) |
May 2016 |
Supported |
None
|
Features
- The first Wi-Fi + Bluetooth Low Energy (BLE) board among BeagleBone community
- Built-in 2.4 GHz TI WLinkTM8 Module with two antenna
- Onboard chip antenna
- IEEE 802.11b/g/n compliant(Wi-Fi)
- FCC, IC, ETSI/CE, and TELEC certified
- Supports AP+STA mode of communication
- Comply with Bluetooth Advanced Audio Distribution Profile (A2DP)
- Supports MRAA library and UPM library
Specifications
Processor |
Sitara AM3358BZCZ100 1GHz, 2000 MIPS
|
Power Source |
Micro type B USB Jack, 5 volts DC
|
Graphics Engine |
SGX530 3D, 20M Polygons/S
|
SDRAM Memory |
512MB DDR3L 933 MHz
|
On-board Flash |
4GB, 8-bit Embedded MMC
|
LED Indicators |
one for power, one for USB, one for WiFi, one for Bluetooth and four User Controllable LEDs
|
HS USB 2.0 Client Port |
Access to USB0, Client mode via Micro Type-B USB
|
HS USB 2.0 Host Port |
Access to USB1, Type A Socket, Total 1500mA LS/FS/HS, 4-Port hub
|
Serial Port |
UART0 access via 6 pin 3.3V TTL Header
|
WLAN/Bluetooth |
2 MIMO Wi-Fi®, Bluetooth®, and Bluetooth Low Energy (LE)
|
SD/MMC Connector |
microSD , 3.3V
|
Grove sockets |
one UART, one I2C sockets
|
User Input |
Reset Button
Boot Button
Power Button
|
Video Out |
none(HDMI socket removed)
|
Audio Out |
Via A2DP(Advanced Audio Distribution Profile)
|
Expansion Connectors |
McASP0, SPI1, I2C, GPIO (69 max), LCD, GPMC, MMC1, MMC2, 7 AIN (1.8V MAX), 4 Timers, 4 Serial Ports, CAN0, EHRPWM(0,2),XDMA Interrupt, Power button, Expansion Board ID (Up to 4 can be stacked)
|
Expansion Connectors voltage |
Power 5 volts, 3.3 volts, VDD_ADC (1.8 volts)
|
PCB dimensions |
86.4 mm(length) x 53.3 mm(width) or 3.4 inches(length) × 2.1 inches(width)
|
Max height |
19 mm(0.776 inches)
|
RoHS Compliant |
Yes
|
Weight |
42 grams(1.48 oz)
|
Comparison with BeagleBone Green and BeagleBone Black
BeagleBoneBlack (BBB)MSRP: US 55 Dollars |
SeeedStudioBeagleBoneGreen (BBG)MSRP: US 39 Dollars |
SeeedStudioBeagleBoneGreen Wireless(BBGWireless)MSRP: US 44.9 Dollars
|
Processor: AM3358 1GHz ARM® Cortex-A8 |
Processor: AM3358 1GHz ARM® Cortex-A8 |
Processor: AM3358 1GHz ARM® Cortex-A8
|
512MB DDR3 RAM |
512MB DDR3 RAM |
512MB DDR3 RAM
|
4GB 8-bit eMMC on-board flash storage |
4GB8-bit eMMCon-board flash storage |
4GB 8-bit eMMC on-board flash storage
|
3D graphics accelerator |
3D graphics accelerator |
3D graphics accelerator
|
NEON floating-point accelerator |
NEON floating-point accelerator |
NEON floating-point accelerator
|
2x PRU 32-bit microcontrollers |
2x PRU 32-bit microcontrollers |
2x PRU 32-bit microcontrollers
|
USB client for power & communications |
USB client for power & communications |
USB client for power & communications
|
One USB host |
One USB host |
Four USB host
|
Ethernet |
Ethernet |
Wi-Fi 802.11 b/g/n 2.4 GHz and Bluetooth 4.1 LE
|
2×46 pin headers |
2×46 pin headers |
2×46 pin headers
|
HDMI port |
Two Grove connectors |
Two Grove connectors
|
Hardware Overview
SeeedStudio BeagleBone Green Wireless hardware details
No. |
Name |
Function
|
1 |
LEDs |
Indicates the system status
|
2 |
Reset Button |
Allow the user to reset the processor
|
3 |
Power Button |
Initiate the power down sequence
|
4 |
P8 |
I/O expansion connector
|
5 |
eMMC |
On board MMC chip that holds up to 4GB of data
|
6 |
User & Boot Button |
Force to boot from Micro SD Card or Switch the Wi-Fi mode between AP and station mode
|
7 |
Grove Interface |
Grove – UART Port
|
8 |
Grove Interface |
Grove – I2C Port
|
9 |
DDR3 |
512MB DDR3 is the Dual Data Rate RAM memory
|
10 |
Processor |
Sitara AM3358BZCZ100 is the processor of the board
|
11 |
USB Hub Controller |
GL852G USB 2.0 MTT Hub Controller
|
12 |
Wi-Fi&BT Module |
TI WiLink 8(WL1835/WG7835-V0) IEEE 802.11b/g/n, Bluetooth.Bluetooth LE, SISO& MIMO supported
|
13 |
USB Host*4 |
Connect different USB interfaces such as Wi-Fi, BT, Keyboard, etc. Can power up to 1.5A
|
14 |
TPS65217C |
Provides the power rails to the various components on the board.
|
15 |
Serial Debug |
Serial Debug Port
|
16 |
P9 |
I/O expansion connector
|
17 |
Antenna base |
Increase the signal strength
|
18 |
Antenna base |
Increase the signal strength
|
19 |
USB Client |
Connect to a PC that can also power the board
|
20 |
Micro SD Slot |
A place where micro SD card can be installed
|
Note that DO take care as you handle the USB micro type-B socket, or you might break the socket off.
expansion Headers
Note that The expansion interface on the board is comprised of two 46 pin connectors. All signals on the expansion headers are 3.3V unless otherwise indicated.
Note that do not connect 5V logic level signals to these pins or the board will be damaged. We do not recommend that using other ways to power up this board except powering up with USB cable.
The expansion headers provide extensive I/O capabilities.
Expansion Headers
Each digital I/O pin has 8 different modes that can be selected, including GPIO.
65 Possible Digital I/Os
In GPIO mode, each digital I/O can produce interrupts.
PWMs and Timers
Up to 8 digital I/O pins can be configured with pulse-width modulators (PWM) to produce
signals to control motors or create pseudo analog voltage levels, without taking up any extra
CPU cycles.
Analog Inputs
Make sure you don't input more than 1.8V to the analog input pins. This is a single 12-bit
analog-to-digital converter with 8 channels, 7 of which are made available on the headers.
UART
There is a dedicated header for getting to the UART0 pins and connecting a debug cable.
Five additional serial ports are brought to the expansion headers,
but one of them only has a single direction brought to the headers.
I2C
The first I2C bus is utilized for reading EEPROMS on cape add-on boards and can't be used for
other digital I/O operations without interfering with that function, but you can still use it
to add other I2C devices at available addresses.
The second I2C bus is available for you to configure and use.
SPI
For shifting out data fast, you might consider using one of the SPI ports.
Package includes(main parts)
Parts name |
Quantity
|
SeeedStudio BeagleBone Green Wireless |
one piece
|
User manual(brief copy) |
one piece
|
USB cable (Type-A to micro Type-B) × 1 |
one piece
|
Preliminary work for programming
Use station mode to connect local web server
- 1. Once you have connected BBG Wireless to your computer or Mac with USB cables (type A to micro type B). A folder will pop up and you click the file START.htm. Then follow guidance to install driver. You can visit the site http://beagleboard.org/getting-started#step2 (only step2) to install driver. After you have driver installed successfully, you are connected to Internet with station mode. And you can visit the web server (a local server is built on BBG Wireless system) to by click: http://192.168.7.2.
- Note that in some cases, you may need to change a web browser to login the local server.
- 2. Communicate with BBG Wireless system with SSH client. After login to local web server successful, Open an SSH client such as putty. Then select protocol SSH, input server IP 192.168.7.2 and use default port 22. Click Yes after that a confirming dialog pops up. Now you configure the embedded system (a Debian Linux distributions) on BBG Wireless. For other SSH clients, the responses from may differ, but you can still use the host information mentioned to connect with embedded system.
- Note that And in general, you shall create a password of accessing your board's AP, the command to change password in terminal is: echo "xxxxxx" > /etc/wificonfig/password
Use AP mode to connect local web server
- In rare cases, you might need to connect local server in a wireless manner. Once you have connected BBG Wireless to your computer or Mac with USB cables. On a Wi-Fi enabled computer or a laptop Mac, you can find an AP named BeagleBonexxxx. Connect this AP and click http://192.168.8.1. Then you will login to the local server in BBG Wireless.
- Note that in some cases, you may need to change a web browser to login the local server.
Connect another device with AP provided by BBG Wireless
- One of biggest feature of BBG Wireless is that it can be used a router. Connect your another Wi-Fi enabled device to the AP BeagleBonexxxx. Open your browser and type 192.168.8.1 in the address bar. Then select another Wi-Fi network name which can be connected to Internet and its password as following figure shows. Tip: use the arrow to up or bottom to switch different input box on phones.
-
- Tip: In some device such as Iphone, you may not have to input 192.168.8.1 in Wi-Fi enabled device's browser address bar, the device will switch to Wi-Fi connection page in browser automatically.
- Click OK and wait few seconds, after then your device are connected to the Local area network which is consist of BBG Wireless and your device. We will improve this functionality to make it connect to Internet rather than a local area network.
-
Update to latest image
- You can find a guidance for updating to latest image at: https://beagleboard.org/getting-started#update.
- Note that you need to select the image that is fit for BBG Wireless.
- Note that only v8.4 or above versions of image file can be used flashed to SeeedStudio BeagleBone Green Wireless .
- Tip You can find latest and stable images for BBGW at https://beagleboard.org/latest-images. You can find all newest and testing images at https://rcn-ee.net/rootfs/bb.org/testing/2016-06-06/seeed-iot/. For latter address in this paragraph, all images for BBG Wireless are under a folder named seeed-iot, you can change directory to find latest ones. Note that only the file with the string blank in its file name is suitable for updating.
Extra operations to updating BBG Wireless
- 1. Use the way mentioned to connect SSH client with BeagleBone Wireless to access operation system(Debian) embedded.
- 2. We suppose you that you have written fitting image to a micro SD card. And you have root privilege right now. Insert microSD card to the slot on the back side of BBG Wireless. Run following code in a terminal to before you insert microSD card, run following code again after you insert microSD card. You will find another MMC device which may contain string mmcblk1p1. So you have inserted correctly.
- 3. Run following code to mount the microSD card device.
mount /dev/mmcblk1p1 /mnt
- Note that replace mmcblk1p1 to your actual device name. But the the device name must contains string p.
- 4. Use the utility Vim to edit a file named uEnv.txt under folder /mnt/boot/. Run following code.
- 5. Disable the last line cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh by add symbol # to the begin of the code line.
- 6. Save and exit. Visit web page http://unix.stackexchange.com/questions/93144/exit-vim-more-quickly to see how to do it. Now you can re-power your BBG wireless. And then the image updating process start automatically. You probably need to wait about eight minutes before updating process finish. After update process finishes, you can see USR LEDs light on in default configurations. Visit web page http://beagleboard.org/getting-started#step1 to know its default configurations.
Open IDEs
After login to the local web server, you can open IDEs at the left column by clicking Node-RED and Cloud9. We will describe how to use both IDE later.
Note that in some cases, you may need to change a web browser to login the local server.
Programming on this board
Now let us get started with how to program on this board. For BeagleBone community, there are two main category libraries (or SDK): BoneScript, MRAA(UPM) library. BoneScript is a library developed by BeagleBone community and has Arduino-library-like JavaScript APIs. We have constructed local IDEs Node-RED and Cloud9 in BeagleBone Wireless system or build a JavaScript IDE by yourself to run codes written with BoneScript library. Because of that BoneScript only cover basic operations, so it may usually take more time for a big coding project.
MRAA library is development by Intel and we recoded it to make it more convenient to use. UPM library is just a more abstracted and encapsulated library from MRAA library. This library covers more detailed and complicated operations for BBG wireless. UPM library is targeted for programming on different functional modules such as a sensor, actuator or motors. We recommend that you use UPM library to develop applications or projects. Also, you can use embedded IDE Node-RED or Cloud9 or build your own IDE.
Tip: Down a MRAA mapping reference to find Pin mapping between MRAA and BBGW.
We will show the details to build an application with different libraries as following.
A example with BoneScript and Node-RED
This example shows a hello world like demo in elections domain.
- 1. After login to local web server, open Node-RED IDE by click http://192.168.7.2:1880/ if you use USB-cable connection. Click only http://192.168.8.1:1880 if you use AP mode connection to your development environments. We use cable-connection in this case.
- 2. Select a inject node in input category, drag it to workspace. Double click it and type information as follows. The node will be input of this flow.
-
-
- Tip: you can find enough information about current node in info tab in right column of this IDE.
- 3. Create another inject node on workspace and input following information. The node will be input of this flow.
-
- 4. Select a BBB discrete(output) node in BeagleBone category. Drag it to workspace on right of previous nodes as following image shows.
-
- 5. Configure the BBB discrete node as following image shows.
-
- 6. Connect input and output nodes. Place cursor to the right square of inject node until it is filled red color. Drag cursor onto the left square of BBB discrete(output) node and release cursor. Then you have made a connection between input and output nodes. And you can make another connection between lower inject node with BBB discrete(output) node in the same way.
-
- 7. Click the deploy button (in red background) on top-right of IDE to run code on BBG Wireless.
- 8. Click the buttons (the square filled with blue color lies left of an arrow) on left side of the input nodes, you can find a the USR3 LED is turned on or off. Note that if the USR3 is already blink, use USR2 LED or other USR LEDs instead in coding.
A example with BoneScript and Cloud9
This example shows you
- 1. After login to local web server, open Cloud9 IDE by clicking http://192.168.7.2:3000/ if you use a USB cable connection. Click http://192.168.8.1:3000 if you use AP mode connection to your development environments. We use cable-connection in this case.
- 2. You can a visit http://beagleboard.org/Support/bone101/#cloud9 to know how to run a basic example in Cloud9.
A example with UPM and Node-RED
Material required
- Grove - Button(P) × 1
- USB cable (type A to type B, for Arduino) × 1 or USB cable (Type-A to micro Type-B, for Seeeduino) × 1
- BBG Wireless × 1
- Jumper wire × 3
Coding work
- 1. After you login to local web server, open Node-RED IDE.
- 2. Select a Grove Button node in Grove_sensors category, drag it to workspace. Double click it and type information as follows.
-
- 3. Soldering jumper wires to Grove-button pins.
-
- 4. Select a BBB discrete(output) node in BeagleBone category. Drag it to workspace on right of previous nodes as following image shows.
-
- 5. Connect Grove Button node to BBB discrete(output) node in the way mentioned before.
-
- 6. Plug GNG jumper wire (the jumper wire be connected to GND pin on Grove - Button LED) to GND pins on BBG Wireless expansion headers such as pin 1 in the P9 connector. Plug SIG jumper wire (the jumper wire be connected to SIG pin on Grove - button) to pin 12 on the P9 connector of BBG Wireless expansion headers. Plug VCC jumper wire (the jumper wire be connected to VCC pin on Grove - button) to VDD pins on BBG Wireless expansion headers such as pin 4 in the P9 connector.
-
- 7. Click deploy in Node-RED IDE to run codes on BBG Wireless.
- 8. Press and release button, you can see LED on and off respectively.
A example with UPM and Cloud9
Material required
- Grove - Multi Color Flash LED (5mm) × 1
- USB cable (type A to type B, for Arduino) × 1 or USB cable (Type-A to micro Type-B, for Seeeduino) × 1
- BBG Wireless × 1
- Jumper wire × 3
Coding work
This example shows how to read signal from a digital pin.
- 1. After login to local web server, open Cloud9 IDE.
- 2. You can find more demo sketch at https://github.com/Seeed-Studio/upm and development library at https://github.com/Seeed-Studio/upm/tree/BBGW/src.
- Note that only several modules (listed in Grove_sensors category of Node-RED IDE)' UPM libraries and its examples have been tested, other modules' UPM libraries and its examples have not been tested yet. We will catch up as soon as possible.
- 3. Soldering jumper wires to Grove-button pins.
-
- 4. Connect Grove Button node to BBB discrete(output) node in the way mentioned.
-
- 5. Copy following code to Cloud9, save it to a .js file.
/*
Get input form Grove-button and print its current state one time in a second
*/
// Load Grove module
var groveSensor = require('jsupm_grove');
// Create the button object using GPIO pin 60
var button = new groveSensor.GroveButton(60);
// Read the input and print, waiting one second between readings
function readButtonValue() {
console.log(button.name() + " value is " + button.value());
}
setInterval(readButtonValue, 1000);
- 6. Click Run in Cloud9 IDE to run codes on BBG Wireless.
- 7. Wait about 10 seconds to view output at the bottom of Cloud9 IDE. The output probably looks like following image showing.
-
- Tip: for more advanced demos, please visit http://www.seeed.cc/projects.html?t=BeagleBone.
- Tip: in UPM and MRAA libraries, you rarely can find that a library or example file's name is same with our products' name. Because we have to write code for the chip used inside a product rather than for the whole product.
A example with MRAA library and Cloud9
This example will make little noise with a buzzer.
Material required
- Grove - Buzzer × 1
- BBG Wireless × 1
- USB cable (type A to type B, for Arduino) × 1 or USB cable (Type-A to micro Type-B, for Seeeduino) × 1
- Jumper wire × 3
Coding work
- 1. After login to local web server, open Cloud9 IDE.
- 2. You can find more demo sketch at https://github.com/Pillar1989/mraa/tree/BBGW/examples.
- 3. Soldering jumper wires to Grove-button pins.
-
- 4. Connect Grove - Buzzer to BBG Wireless.
-
- 5. Create a Python file named buzzing.py in Cloud9 IDE and save it.
- 6. Copy and paste following code into the file buzzing.py and Click Run button to run the code.
import mraa
import time
# Using BBG Wireless pin P9_14
x = mraa.Gpio(60)
x.dir(mraa.DIR_OUT)
while True:
x.write(1) //send a high level digital signal to pin P9_14
time.sleep(0.5) //set duration
x.write(0)//send a low level digital signal to pin P9_14
time.sleep(0.5)//set duration
Play music over Bluetooth
This board features blooth communicatioin. And this example will show you how to play music over bluetooth.
====Material required====
- Bluetooth speaker × 1
- BBG Wireless × 1
- USB cable (type A to type B, for Arduino) × 1 or USB cable (Type-A to micro Type-B, for Seeeduino) × 1
- MicroSD card × 1 (with music files of MP3 format)
Steps to play music with BBG Wireless
- 1. Power your BBG Wireless up with USB cable.
- 2. Build serial communication between BBG Wireless and host computer through SSH terminal emulators. In this case we use xshell.
- 3. Run following command to start Bluetooth service.
'''bb-wl18xx-bluetooth'''
-
- 4. Run follwing command to enter Bluetooth configuration environment.
- 5. Run following command to scan your Bluetooth devices. It will take several minutes to find out your Bluetooth speaker. You can use device identifier number or device name to recognize your device. In this case, our device name is 301. The output of terminal emulator probably like following image.
-
- 6. Run following command to stop scanning devices.
- 7. Run following command to pair your Bluetooth with BBG Wireless. The output of terminal emulator probably like following image.
- Note that replace device identifier number to actual device identifier number of your Bluetooth speaker.
-
- 8. Run following command to ensure your Bluetooth speaker is trusted by BBG Wireless.
- 9. Run following command to let BBG Wireless connect to Bluetooth speaker. The output of terminal emulator probably like following image.
connect 78:09:73:C8:77:50
-
- 10. Run following command to quit Bluetooth configuration environment.
- 11. Run following command to find your device file in Linux files system, after you insert your MicroSD into SD card slot.
- 12. Run following command to mount MicroSD card to files the directory /mnt/.
mount /dev/mmcblk0p5 /mnt/
- Note that replace mmcblk1p1 to your actual device name.
- 13. Run following command to play your music. The output of terminal emulator probably like following image.
- Note that mpg123 is utility in Linux environment to open a music file of MP3 format. And replace the music filename 1.mp3 with actual music file names.
Make an Acrylic Case for BBGW
If you need an acrylic case to protect your BBGW.
There's a tutorial to help you to make one. (click image)
Resources
Is this page helpful
-
Copyright (c) 2008-2016 Seeed Development Limited (
www.seeedstudio.com /
www.seeed.cc)
This static html page was created from http://www.seeedstudio.com/wiki