Archive

Posts Tagged ‘seeed studio’

Wio GPS is a $40 Grove & Arduino Compatible Bluetooth 3.0 + GSM/GPRS + GPS Tracker Board

April 21st, 2017 No comments

After Wio Link and Wio Node boards, Seeed Studio has added a new board to their Wio (Wireless Input Output) family with Wio GPS board based on Microchip SAMD21 Cortex M0+ MCU for Arduino compatibility, and Mediatek MT2503 ARM7 processor for GPS, Bluetooth 3.0, and 2G (GPRS) connectivity.

Click to Enlarge

Wio GPS board specifications:

  • MCU – Microchip ATSAMD21G18A-MU ARM Cortex M0+ MCU @ 48 MHz with 256KB flash, 32KB SRAM
  • Wireless SoC – Mediatek MT2503 ARM7EJ-S processor @ 260 MHz
  • Storage – micro SD slot (shared with nano SIM slot)
  • Connectivity (built-in MT2503 in Quectel MC20 module)
    • Bluetooth 2.1 + EDR, 3.0 with SPP Profile and HFP-AG Profile; u.FL connector for external antenna
    • Quad band 2G GSM/GPRS  with u.FL connector for external antenna and nano SIM card slot
    • GNSS – GPS + BeiDou + QZSS with u.FL connector for external antenna
  • Audio – Speaker footprint (+/-), 3.5mm AUX jack with mic and stereo audio
  • Expansion – 6x Grove Connectors (2x Digital, 2x Analog, 1x UART, 1x I2C)
  • USB – 1x micro USB port for power and firmware update
  • Misc – RGB LED, GSM power button, reset button
  • Power Supply – 5V via micro USB port, 2-pin JST 1.0 header for battery
  • Dimensions – 54.7mm x 48.2mm
  • Weight – 45 grams; antennas add 9 grams

While you can already do much of the things achieved with Wio GPS using an Arduino board, and corresponding GPRS/GPS shields, Seeed Studio’s board offers a more compact solution, and access to over 180 modules via the grove connectors. The board can be programmed with the Arduino IDE, and in due time a Wiki will be setup showing how to get started with the board.

Wio GPS Board with tis three antennas (GPS, Bt, GSM) is available for pre-order for $39.90 on Seeed Studiofor pre-order for $39.90 on Seeed Studio, and shipping is scheduled for June 1st. The company also plans to released an 4G /LTE version in Q3 2017.

ESP8266, Mongoose OS & Grove Sensors – An Alternative Solution for Hackathons

April 12th, 2017 5 comments

CNXSoft: This is a guest post by Cesanta

If you walked into any Hardware hackathon over the last year, you would see they are about innovation and bringing new ideas to this world and most of them are centered around the connected devices nowadays. However, just walk the floor, talk to the teams and you can quickly see an elephant in the room. The Hackathons are about connected devices, but with the ‘recommended’ and frequently sponsored hardware distributed to the teams such as Intel Galileo, Raspberry Pi, etc…. developers may struggle for a long time to even connect it to the cloud!

Not to mention the innovation is usually hindered by a tedious environment setup which takes hours, things to learn about the specific hardware and how it can be programmed using low level languages. So many teams spent most of the time fighting with those issues and oftentimes still do not have their prototype ready and connected by the end of hackathon.

This situation can be improved by using ESP8266 boards with Mongoose OS and SeeedStudio Grove Sensors. The solution brings the following benefits:

  1. Low price:
    • ESP8266 development board is $4-15 depending on the board;
    • Seeed Studio Sensors are priced  $3 to $15 each, but you can also save by purchase them as a part of Grove Starter Kit for $39.
  2. The solution is solderless & plug and play – so anyone can actually use it fast.
  3. With Mongoose OS the firmware logic can be coded within few minutes using JavaScript code
  4. The data can be pushed to any cloud or public MQTT server such as Mosquitto, HiveMQ, AWS IoT, etc…

Let’s jump into the action and get ESP8266 & Seeed Light Sensor up and running with Mongoose OS in a few minutes. This example below shows how to get the hardware (sensor) data and send it to the cloud.

  1. Get your ESP8266 (e.g. NodeMCU) and Seeedstudio Light Sensor and Button ready.
  2. Download and install mOS tool for Mongoose OS. This works in Linux, Mac OS X, or Windows operating systems
  3. Connect the hardware
    • Power the Grove base shield: connect GND and VCC pins to the NodeMCU GND and VCC pins
    • Connect light sensor to slot 7 on the Grove base shield
    • Connect slot 7 to the ADC pin on the NodeMCU board
    • Connect NodeMCU board to your computer
  4. Program the board to retrieve the light sensor data and send it to the cloud (HiveMQ in this example)
    • Start mos tool, switch to the prototyping mode, edit init.js file
    • Click ‘Save and reboot device”
  5. Go to http://www.hivemq.com/demos/websocket-client/, connect and subscribe to the topic “my/topic”
  6. Press a button and see how light sensor reading is sent to the MQTT server

Light Sensor Data Shown on HiveMQ Dashboard – Click to Enlarge

Now you can see how easy it was! Want to play with other Seedstudio sensors from Grove Kits? Check video tutorials for button, motion sensor, moisture sensor, UV sensor, relay, buzzer, etc… including the one below with the light sensor.

BLE Carbon 96Boards IoT Edition Board Runs Zephyr OS

September 27th, 2016 6 comments

Linaro Connect Las Vegas 2016 is taking place right now, and the organization has some very interesting development, with a new focus on the Internet of Things thanks to the creation of LITE (Linaro IoT and Embedded) segment group that will work on “delivering end to end open source reference software for more secure connected products, ranging from sensors and connected controllers to smart devices and gateways, for the industrial and consumer markets”. The first LITE IoT Reference Platform release to be made in December 2016, but in the meantime, Linaro introduced 96Board IoT specifications, as well as the first compliant board with the launch of Carbon board (aka BLE Carbon) running Zephyr OS.

Click to Enlarge

Click to Enlarge

Carbon 96Boards IoT Edition board specifications:

  • MCU – STMicro STM32F401 ARM Cortex M4 microcontroller @ up to 84 MHz with 512kB Flash, 96kB ram
  • Connectivity – Bluetooth 4.0 LE via Nordic Semi nRF51822 SoC + chip antenna
  • USB – 1x micro USB OTG port, 1x micro USB port for UART
  • Expansion – 2x 15-pin Low speed connector with GPIO, UART, Analog inputs,SPI, I2C, PWM, and power signals; 3.3V I/O voltage
  • Debugging – SWD debug connectors, UART console via micro USB port
  • Misc – 6LEDs ( USR1, USR2, BT, PWR, RX, TX), 2x push buttons (BOOT0 and RESET)
  • Power Supply – 5V via micro USB port with fuse protect
  • Dimensions –  60 x 30 mm as per 96Boards IoT standards
Click to Enlarge

Click to Enlarge

You’ll find the software and hardware documentation on 96Boards Carbon page, as well as Seeed Studio Wiki, since they are the designer and manufacturer of the board.

As with other 96Boards specifications, 96Board IoT Edition (IE) specification defines requirement for multiple revision of boards either using Cortex-A or Cortex-R/M profile, and IE standard (60x30x9mm) or IE Extended (85x54x12mm) form factor. On top of that you’ll also have board with 3.3V I/Os, and others with 1.8V I/Os. That means that BLE Carbon board is compliant with “96Board IoT Edition standard using Cortex-R/M profile and 3.3V I/Os“.

96Boards IoT Edition Standard (3.3V) Dimensions

96Boards IoT Edition Standard (3.3V) Dimensions

The specifications also mandates at least one wireless interface such as Zigbee and Bluetooth LE, as well as optional Ethernet, USB, and micro SD card support.

Seeed Studio is now taking pre-orders for the BLE Carbon board for $27.95 with shipping planned for October 20th.

HICAT.Livera Machine Vision Board and Robot Kit Feature HiSilicon Hi3518 SoC (Crowdfunding)

September 21st, 2016 3 comments

HiSilicon Hi3518 ARM9 processor is mostly being used in IP cameras, but Hicat startup decided to combined the camera processor with an Atmel MCU and a MT7601 WiFi module to create a wireless camera board to be used with OpenCV, and even provide a complete affordable robot kit with the board.

livera-boardHicat.livera board specifications:

  • Vision Core – Hisilicon Hi3518 ARM9 processor @ 440 MHz
  • Storage – 16MB flash + micro SD card
  • MCU – Atmel ATmega32U4 AVR micro-controller
  • Connectivity – 802.11 b/g/n WiFi via Mediatek MT7601 module + u.FL antenna connector
  • Camera interface with provided 140 deg. camera using Omnivision OV9712 720p (1280×720) sensor
  • USB – 1x micro USB port for power and programming
  • Audio – Built-in microphone, speaker header
  • Sensors – MPU6050 accelerometer and gyro
  • Expansion – 2x GPIO headers with GPIOs, I2C, SPI, serial, PWM, digital, analog and power signals.
  • Misc – MCU reset and Linux reset buttons,
  • Power Supply – 5V via USB or 3.3V LiPo battery
  • Dimensions – 60 x 42 mm

They’ve also provide a comparison table between HICAT.Livera and two competing platforms, namely openMV and PIXY.

hicat-livera-openmv-pixy

The firmware in the Hisilicon chip is based on Linux, and includes a video and file streaming server, OpenCV support for object tracking, Node.js support. The ARM9 processor and Atmel MCU communicate over a serial port, and an Arduino library is provided. An Android app (iOS coming soon) can also be used to view the live stream, control the robot, and change settings. Some code is available on Github, but not Linux, which may be an issue to due Hisilicon strict NDA requirements. The developer also claims the project will be open source hardware.

computer-vision-robot-kit

Beside Livera kit with the board and camera, a robot kit is also offered with a extension cable for the camera, a motor driver board based on lv8548 H-Bridge, two DC motors, a servo motor, wheels and body, 9V rechargeable battery, and laser beam. The board and robot are demonstrated in the embedded video.

The project has just launched via Kickstarter, where the goal is to raise $5000 ore more to fund mass production. They have not mentioned the manufacturing partner in Kickstarter, but it should be Seeed Studio, since they informed me about the project. Livera board with camera requires a $39 pledge (Early bird), while the complete robot kit is just $69 (Early Bird). Shipping adds $2 to $20 depending on rewards and destination, and delivery is scheduled for (end of) December 2016 or January 2017.

You Can Now Buy ESP3212 ESP32 WiFi + Bluetooth Module for $6.95

September 5th, 2016 28 comments

After the official launch of ESP32 processor for less than $3, it did not take long before ESP32 modules hit the market, and Seeed Studio has already listed ESP3212, one of the first modules based on Espressif ESP32 Bluetooth LE + WiFi SoC, for $6.95 with shipping scheduled to start on September 23, 2016.

ESP3212-ModuleESP3212 module specifications:

  • SoC – Espressif ESP32 dual core Xtensa LX6 processor @ up to 240 MHz with 448 KB flash, 520 KB SRAM, 16 KB SRAM in RTC, WiFi and Bluetooth LE connectivity
  • Storage – 4MB Winbond SPI flash
  • Connectivity
    • 802.11 b/g/n/e/i WiFi (HT40) up to 150 Mbps
    • Bluetooth 4.2 BR/EDR and BLE
    • 3 dBi PCB antenna
  • Headers – 22x GPIOs (multiplexed with ADC, Touch, DAC, SPI, UART, CAN, ETH, IR, PWM, and I2S), 1x UART, Sense VP/Sense VN, EN pin. 3.3V and GND
  • Power Supply – 3.0 – 3.6V
  • Dimensions – 24 x 16 x 3 mm

ESP32-ModuleThe exact pinout of the module can be found on Taobao, section “3.2 接口定义”.

Number Pin Name Description
1 GND 接地
2 EN 模组使能端,高电平有效
3 SVP SENSOR_VP, GPIO36, ADC1_CH0, RTC_GPIO0
4 SVN SENSOR_VN, GPIO39, ADC1_CH3, RTC_GPIO3
5 IO34 GPIO34, ADC1_CH6, RTC_GPIO4
6 IO35 GPIO35, ADC2_CH7, RTC_GPIO5
7 IO32 GPIO32, 32K_XP, (32.768 kHz晶体振荡器输入),ADC1_CH4, TOUCH9, RTC_GPIO9
8 IO33 GPIO33, 32K_XN,(32.768 kHz晶体振荡器输出),ADC1_CH5, TOUCH8, RTC_GPIO8
9 IO25 GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6
10 IO26 GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7
11 IO27 GPIO27, ADC2_CH7, TOUCH7, RTC_GPIO17
12 IO14 GPIO14, ADC2_CH6, TOUCH6, RTC_GPIO16, MTMS,HSPICLK
13 IO12 GPIO12, ADC2_CH5, TOUCH5, RTC_GPIO15, MTDI, HSPIQ
14 IO13 GPIO13, ADC2_CH4, TOUCH4, RTC_GPIO14, MTCK, HSPID, U0CTS
15 IO15 GPIO15, ADC2_CH3, TOUCH3, RTC_GPIO13, MTDO, HSPICS0, U0RTS
16 GND 接地
17 IO2 GPIO2, ADC2_CH2, TOUCH2, RTC_GPIO12, HSPIWP
18 IO0 GPIO0, ADC2_CH1, TOUCH1, RTC_GPIO11, CLK_OUT1
19 IO4 GPIO4, ADC2_CH0, TOUCH0, RTC_GPIO10, HSPIHD
20 IO16 GPIO16, HS1_DATA4
21 3V3 3.3V 供电
22 IO17 GPIO17, HS1_DATA5
23 IO5 GPIO5, VSPICS0, HS1_DATA6
24 IO18 GPIO18, VSPICLK, HS1_DATA7
25 IO23 GPIO23
26 IO19 GPIO19, VSPIQ, HS2_DATA2
27 IO22 GPIO22, VSPIWP, HS2_CLK
28 U0RX U0RXD, GPIO3, CLK_OUT2, HS2_DATA0
29 U0TX U0TXD, GPIO1, CLK_OUT3, HS2_DATA1
30 IO21 GPIO21, VSPIHD, HS2_CMD
31 GND 接地

On the software side of things, you should be able to use ESP32 SDK available from Espressif website, aka ESP32 IoT Development Framework (IDF). If you prefer Arduino or NodeMCU firmware, the former is available for ESP32 in beta phase @ Arduino Core for ESP31B ESP32 and NodeMCU should be work in progress, but I have not found code specific to ESP32 on NodeMCU github repo.

Getting Started with ReSpeaker WiFi IoT Board’s Audio Capabilities, Voice Recognition and Synthesis

August 27th, 2016 8 comments

ReSpeaker is a development board combining an Atmel AVR MCU, a MediaTek MT7688 WiFi module running OpenWrt, a built-in microphone, an audio jack, and I/O headers to allow for voice control and output for IoT applications. That means you could make your own Amazon Echo like device with the board and add-ons, use it as a voice controlled home automation gateway and more. The board was launched on Kickstarter a few days ago, and already raised $100,000 from about 100 backers, but I’ve received an early sample, so I’ll provide some more information about the firmware, and shows how to use with some Python scripts leveraging Microsoft Bing Speech API.

Click to Enlarge

Click to Enlarge

You’ll need a micro USB to USB cable to connect your to computer (Linux, Windows, Mac OS…), and a speaker to connect to the board. Linux (OpenWrt) boots in a few seconds, and once it’s done all RGB LED will continuously blink.

I’m using a computer running Ubuntu 16.04, and ReSpeaker is detected by the system as an Arduino Leonardo board:

That’s optional, but if you want you can access the serial console, with programs like Minicom, screen, putty or hyperterminal and set the connection to 57600 8N1 to access the command. Here’s the full boot log:

If you think something is odd here… That’s because the serial connection will miss some characters. This happens with two computers and different USB cables. Hopefully this is either a specific issue with my sample, or if it is an issue it will be fixed by the time boards ship to Kickstarter backers [Update: The company explained me that it’s because the Atmel 32u4 and Mediatek MT7688 share the same USB port]. So instead of using the serial console, I’ll use SSH instead which means I have to connect to ReSpeaker WiFi access point first, and configure it.

LinkIt_Smart_Access_PointReSpeaker will show as LinkIt_Smart_7688_XXXXX, because the WiFi module is exactly the same as LinkIt Smart 7688 IoT board, and unsurprisingly the configuration interface is exactly the same.ReSpeaker_WiFi_PasswordFirst set the root password, and login with that password.

ReSpeaker_Station_Mode_OpenWrt_LUCIThen go to Network tab, select station mode, and connect to your access point by entering your password. Click Configure, and you’re done. As you can see on the right above, you can also use OpenWrt’s LUCI interface to configure networking.

Now find ReSpeaker IP address via your Router DHCP client list, arp-scan, or other method:

You can now connect to the board via SSH:

and use the password you set in the web interface.

Now let’s check some CPU information:

We’ve got Mediatek NT7688 MIPS24K processor as advertised, so let’s check a few more details:

The board runs Linux 3.18.23, has 7.6MB available storage, and 128MB RAM in total.

I’m not going to test the audio features with command tools, and python script, and also include a video demo at the end of this review.Since I don’t have ReSpeaker Microphone array add-on, I have to be fairly close to the microphone for it to work well, maybe one meter at most, or the volume would be really low.

I’ll start by checking audio recording and playback with any API or internet access requirements.
We can record audio with 16000 sample rate, 16 bit width, 1 channel using the following command

and play it back with aplay:

It worked OK for me, although the volume seemed quite low.

Now we can do something a little more interested as Seeed Studio develop a few Text-to-speech and Speech-to-text Python scripts. You can retrieve the scripts from ReSpeaker github account, and install one dependencies to setup the board:

The script are using Microsoft Speech API, but in theory you could use any other speech API. Since Seeed Studio has already done all the hard work, I simply applied for a Microsoft peech API key in order to be able to use the demo.

Microsoft_API_KeyThat’s free for testing / evaluation, but if you intend to use it in commercial products, or for your own case, if you use more 5,000 transactions per month, you’d need to purchase a subscription.

You’ll find three Python scripts in the directory namely: bing_voice.py, bing_stt_with_vad.py,  tts.py. Look for BING_KEY inside each script, and paste your own key.

Time to have some fun, starting with the speech to text script:

It’s pretty slow to start (about 15 seconds), and then there are a few error message, before you can see the “* recording” message, and you can talk, with Bing returning the results: “Bing:你好”. Chinese? Yep, as currently the default is Chinese, but if it is not your strongest language, you can edit bing_stt_with_vad.py, and change the language replacing zh-CN by en-US, or other language strings:

An English works too (sort of):

In the first sentence, I said “Hello World! Welcome to CNX Software today”, but it came out as “hello world next software”, maybe because of my accent, but I doubt it…

Then I wanted to try Thai language, but I got an API failure simply because the number of supported languages by Microsoft Speeach API is limited as shown in the table below.

language-Country language-Country language-Country language-Country
ar-EG* en-IN fr-FR pt-BR
ca-ES en-NZ it-IT pt-PT
da-DK en-US ja-JP ru-RU
de-DE es-ES ko-KR sv-SE
en-AU es-MX nb-NO zh-CN
en-CA fi-FI nl-NL zh-HK
en-GB fr-CA pl-PL zh-TW

If your language is not listed here, then you could Google Speech API instead, and it’s likely Seeed Studio or the community will have written compatible scripts by the time ReSpeaker boards ship to backers.

So you now know how to convert your voice to text, and you can use that text to send a web search, or toggle GPIOs, but you may also want to get an audio answer to your action, and tts.py script is there for your, and very easy to use:

It did not really feel realistic, but at least I could understand the female voice in the speakers. Looks in the script I did not see any language settings, so I assume the API will automatically detect the language, and inputted a string in French instead, and all I heard was gibberish. Finally I found that you can change the voice language in bing_voice.py script with contains most of the code:

I replaced the US female voice, but a French male voice, added a “famous French saying”:

At least it was understandable, but Microsoft has still some work to do the audio output was more like “Salut mon gars. commencer a va?”. The reason could also be that the correct writing is “Comment ça va”, but the terminal (set to UTF-8), did not let me input “ç”.

You can watch all those demo in the video below to get a better feel about the audio quality, delays, and capabilities of Microsoft Bing Speech API.

ReSpeaker WiFi IoT Board is Designed for Voice Interaction (Crowdfunding)

August 24th, 2016 3 comments

More and more devices are supporting voice interaction nowadays from your smartphone to devices like Amazon Echo, but so far, I had not seen development boards specifically designed for that purpose, and that’s exactly what Seeed Studio ReSpeaker board does by combining audio capabilities, WiFi connectivity, and I/O headers.

Click to Enlarge

Click to Enlarge

ReSpeaker Core board specifications:

  • WiFi Module – Acsip AI7688 Wi-Fi 802.11 b/g/n module based on Mediatek MT7688 MIPS SoC
  • Storage – micro SD card slot
  • USB – 1x micro USB port for programming and power
  • Audio – 3.5mm AUX port, WM8960 audio codec, 2-pin header for external speakers
  • Expansion – 2x 8-pin expansion headers for I2C, GPIO and USB 2.0 host connected to MT7688, built-in microphone.
  • MCU – Atmel ATMega32U4 @ 16 MHz
  • Misc – 12x RGB LEDs, 8x touch sensors, 3 push buttons
  • Power Supply – 5V DC
  • Dimensions – 70mm diameter
  • Weight – 70 grams

The board runs OpenWrt, and uses Text-to-Speech and Speech-to-Text capabilities from Bing and Google with the company having focused on the English language so far, but you should be able to add other languages fairly easily.  A “detailed and easy-to-use” Python SDK is provided to developers, and other programming languages/options such as C/C++, Arduino, JavaScript and Lua are also available. You can find more details and source code on the Wiki.

Beside the core board, the company also offers two add-on boards such as Grove Extension board to add I2C, UART, digital or analog Grove modules to your projects, and a Microphone array board with 7 microphones and 12 LEDs.

Mic Array (Top Left), Grove Extension (Bottom Left), and (Right)

Mic Array (Top Left), Grove Extension (Bottom Left), and Meow King Drive Unit (Right)

Finally if you want something hackable, but looking more like a consumer product, Seeed Studio has partnered with Meow King Audio Electronic to design Meow King Drive Unit with a 5W speaker and taking ReSpeaker Core and Mic Array boards. ReSpeaker Core is also compatible with ESP8266 based Wio Link, and its graphical setup interface.

Some fun projects include a smart speaker answering your questions, weather forecasting decorative cloud, voice controlled meeting scheduler, talking “I’m thirsty” flower, smart photo album showing photos from a given date or event, and more…

The project has launched on Kickstarter a few hours ago, and already raised $37,000 out of its $40,000 funding target. ReSpeaker Core with a 8GB micro SD card requires a $39 pledge (early bird, $59 normal), which goes up to $89 with ReSpeaker Mic Array, and $139 with the complete Meow King Drive unit kit with all necessary boards. There are many other rewards to choose from with various sensors, bundles, etc… Shipping is not included, and adds $10 for standard shipping (Tip: select Hong Kong irregardless of your country), or $20 for DHL shipping according to their latest update. Delivery is scheduled for November 2016, except for the Meow King kit  (January 2017).

PS: I have an early sample of ReSpeaker Core board, and I’ll post a review/guide in a few days.

Getting Started with Beaglebone Green Wireless Development Board

May 21st, 2016 5 comments

SeeedStudio introduced BeagleBone Green Wireless based on BeagleBone Green, but replacing the Ethernet port by a Wilink8 WiFi and Bluetooth module, and providing 4 USB ports in total. I’ve also ready taken some picture of the board, and Grove Base Cape to addition the company’s add-on boards via I2C, UART, analog, or digital interfaces. So today, I’ll report about my experience getting started with the board.

First Boot of BeagleBone Green Wireless

Since the board comes with a Debian image installed on the internal 4GB eMMC flash, checking out the board should be really easy. The Wiki may help, but for a first try to check the board is indeed working, you can simply connect it to a 5V power supply, or the USB port of your computer to port it up.

I’m using a development machine running Ubuntu 14.04 with both Ethernet connected to my router, and a WiFi USB dongle which I used to find and connect to BeagleBoneXXXXXX access point. You’ll get assigned an IP address (e.g. 192.168.8.138), and can access the board using 192.168.8.1.

BeagleBone_Green_Wireless_Access_PointAlternatively, you could use the micro USB to USB cable to connect the board over IP. In Linux, it just works, but in Windows or Mac OS X, you may need to following the instructions to install the drivers.
BeagleBone_Green_Wireless_USB_Ethernet

You should see a new ethX device in your computer in 192.168.7.x subnet

Now you can start your favorite web browser, and access the board using http://192.168.8.1 (WiFi), or http://192.168.7.2 (USB Ethernet gadget) to get access to some documentation in the board, and links to tools like Node-RED,  Cloud9 IDE, and BoneScript.

Click to Enlarge

Click to Enlarge

Updating Firmware Image

Now that we’ve made sure we’ve received a working board, it might be a good idea to update the firmware. Bear in mind that the board will officially start shipping on May 30, 2016, and I got an early board, so the final image may differ.

I’ve open a terminal to download, extract, and flash the image to a 16GB micro SD card (4GB or greater required):

Replace sdX in the command line above, your own SD card device which you can check with lsblk.

This is an installer image designed to install Debian in the internal storage of the board. While the board is turned off, insert the micro SD card, hold the USER button (on board or Cape), connect the power supply, release the button, and the installation should start. The instructions mention that all 4 USRx LEDs will be lit solid when the update is complete and that it may take up to 45 minutes. So I went for dinner, and when I came back over one hour later, I did not see the LEDs were on, so I waited a little longer. But eventually, I decided to turn off the board, remove the micro SD card, and boot the board again.

After connecting to the BeagleBone SSID, I access the board with SSH successfully:

The date was 2016/05/16, so the update was successful.

BeagleBone Green Wireless Network Configuration

So far, everything went rather smoothly, but setting up networking was more of a challenge.

Since I now had two network interfaces on my computer with Ethernet to my router and WiFi to BeagleBone Green Wireless (BBGW), Internet traffic was routed to both, and since BBGW had no network connection I often had problems accessing the net to browse the web or send emails. So I had two options: change the routing table or connect the board to my router. I tried the routing table method first, which looked as follows initially:

After my attempt at changing metric to a high value did not work as expected, I changed the route from “link” to “host” for WiFi so that only the local traffic is routed there.

This did not work that well either, so I went with plan B to connect the board to my router. Network connections in BBGW:

So we wan t to configure wlan0 to connect to my router. Remember that only 2.4 GHz can work,  as the board does not support 5 GHz.

So I edited /etc/network/interfaces with vi, and added the following four line at the end of the file:

I save the done, and brought down and up the interface:

Awesome! Only problem is that after reboot, wlan0 would not acquire an IP address, and I had to run ifdown and ifup manually again.

I switched to static IP address configuration:

But the same problem occurred, so I asked on the beta group mailing list, and was informed that I could configure that using my smartphone. Simply connect BBGW AP, go to the sign-in page (http://192.168.8.1/login), click the select SSID, and enter password. That method is also mention in the system reference manual.

Click to Enlarge

Click to Enlarge

That’s supposed to be so easy, but sadly it did not work at all for me the first time as none of the ESSID were detected, but I tried the day after, and it eventually worked… I just don’t know why…

Click to Enlarge

Click to Enlarge

I could connect to 192.168.0.111 on my local network, even after a reboot. Good.

Node-RED in BeagleBone Green Wireless

Node-RED is a tool for wiring together hardware devices, APIs and online services in new and interesting ways, and it’s one of the tools available in BBGW web interface. The link is actually hardcoded to http:192.168.7.2:1880, which is a bug, but you can easily access the page using your own IP and 1880 port. I found one example for BeagleBone Black to turn on and off user LEDs, which I imported into Node-RED, and Deployed to the board.

BeagleBone_Green_Wireless_Node-REDClick on the square on the left of the “on” / “off” injector with turn on or off LED 2 or 3. You can change settings of one block by double-clicking  on it, and I’ve done so for bbb-discrete-out: USR2. You can see it will let you select whatever output pin supported by the board, change the name, invert values and so on.

BeagleBone_Green_Wireless_Node-RED_GPIO_Selection
The Blue gray “injectors” will either “0” or “1” string to the bbb-discrete-out nodes to change the GPIO status.

One interesting part of the BeagleBone Green boards are Grove connectors for add-on modules with the same name.

Click to Enlarge

Click to Enlarge

I’ve connected Grove LED strip (Digital I/O), Grove Button (Digital I/O), and a digital light sensor (I2C), but Node-RED does not list the LED strip , and only shows the analog Grove light sensor, so I was left with the Grove Button connected to GPIO 51 as marked on the silkscreen of the Grove connector on the cape. So I dragged and dropped Grove Button in Node-RED, and configured it to poll for GPIO_51 every 500 ms.

BeagleBone_Green_Node-RED_Button_ConfigurationI planned to turn on and off some user LEDs, but connecting directly to bbb-discrete-out node for USR2 LED did not work. The problem is that I could not find documentation for this, except something about GrovePi, which explains that the Grove Button sends a JSON object containing a ‘state’ key:

So I probably would have to use another block to convert that JSON objects into “0” or “1” strings to controlled the LED/GPIOs. I’m not quite familiar enough with Node-RED, so I switched to testing Cloud9 IDE. [Update: There’s a tutorial using Node-RED, WioLink and BBGW, but it currently lacks in details]

Cloud9 IDE on BeagleBone Green Wireless

Cloud9 is a cloud based development environment that you can access using http://<IP_address>:3000.

Click to Enlarge

Click to Enlarge

The first neat thing I noticed is that you have access to the console as root from within the web browser, so SSH is not even needed with the board. I quickly checked the OS version (Debian GNU Linux 8) and kernel version (Linux 4.4.9-ti-r25) to test it out. We’ll also find several Python examples for BBG and Grove modules in the left panel.

Click to Enlarge

Click to Enlarge

I’ve open grove_i2x_digital_light_sensor.py demo program.

Access the terminal in the board to install the missing module

Another error:

So I’ve checked the I2C interfaces in the board:

There’s no i2c-1, so I changed the code to try with I2C-2 used with the Grove connector on BBGW:

And it went a little further:

I stopped there as it’s clear the sample have not been ported to the board, and to compound the issue Seeed Studio Wiki is currently down.

So I’ve had my share of issues with BeagleBone Green Wireless, but remember that the board is not shipping yet, so they still have time to improve the firmware and especially documentation. Yet I was expecting an easier experience considering the board leverages code and documentation from BeagleBone Black (software compatible), and there’s only about 10 days left before the retail boards ship.

If you are interested in the board, you can purchase BeagleBone Green Wireless for $44.50, the Grove Base Cape for $9.90, and various Grove modules on Seeed Studio website.