Search This Blog

Sunday, 17 April 2011

Watterott RedFly-Shield

From Project: Burt

Watterott Electronic very generously sent me a new Arduino Shield they are close to releasing. It's called RedFly-Shield, and uses a RedPine Signals WiFi module (RS9110-N-11-22).

Here's the feature list for this WiFi module -
  • Compliant to 802.11b/g and single stream 802.11n
  • Fully self-contained serial-to-wireless functionality - does not require any host processor bandwidth
  • Includes all the protocol and configuration functions required for WLAN connectivity in Open, WEP and WPA/WPA2-PSK modes of operation
  • Payload data through Serial Interface and SPI
  • Terminates TCP and UDP connections, and offers transparent serial modem functionality
  • Configuration through AT commands and SPI frames
  • Integrated antenna, frequency reference, and low-frequency clock
  • Ultra low power operation with power save modes
  • Ad-hoc and infrastructure modes for maximum deployment flexibility
  • Single supply 3.1 to 3.6 V operation
  • Certification : Module is based on RS9110-N11-02 which is certified by FCC, IC and CE.

Watterott have done a great job in designing this shield. Communication to the RedPine WiFi module is via standard UART using modem-like ASCII 'AT' commands. Supplied with the shield is a nicely fleshed out Wiring library and example code for the Arduino (Tweeter, HTTP client and server).

I'd picked up a Sparkfun FT232RL Breakout board for another project. So the first job was to use it to talk to the RedPine module. As the above picture shows it's quite straight forward to setup and snoop on the serial port.

I'm currently using Windows Vista for development, so I needed to grab HyperTerminal to be able to see the UART data, and to use the Kermit protocol to transfer the latest firmware to the module. NOTE: I first tried using the TeraTerm supplied by GHI for use with their .Net boards, but although this looked like it can successfully transfer the firmware files to the RedPine module, the module failed to load them upon reboot. Thankfully using HyperTerminal worked fine.

Although the Arduino is a wonderful module, I usually get frustrated with the development tools. Hence my current projects are focused on using a GHI FEZ Domino module, and recently their Panda module. I'd become familiar with porting Arduino Wiring code to .Net C# with the Watterott S65-Shield. So with the RedFly-Shield's quite complete Wiring library and examples, I've set about porting this across to managed C# code.

Work-in-progress C# class library and testing solution can be found on Burt's GoogleCode repository (revision r92, 20th April 2011);
http://code.google.com/p/burt/source/browse/trunk/FEZ+Domino+Projects/RedFly/
http://code.google.com/p/burt/source/browse/trunk/FEZ+Domino+Projects/RedFly-Tester/

So far I've managed to get the RedPine module; reset, obtained and decoded the firmware version and MAC address, scanning of broadcast WiFi access points (AP), joining an AP, and obtaining an IP via DHCP.

Hopefully in the next week or so I can complete the port of the Wiring library and examples. Plus code up a Socket class.

*Must resist Portal 2*
 
Matt Isenhower's Blog - MicroTweet - Twitter OAuth API Library for the .NET Micro Framework


MicroLinq for the .NET Micro Framework -MicroLinq for the .NET Micro Framework

C# .NET DNS query component
NETMF FTP SERVER
NETBIOS NAME SERVER FOR WIZ5100
NTP TIME ADJUSTEMENT FOR WIZ5100

3 comments:

Rohan said...

You are right. We did run into problems when we used TeraTerm for upgrading the module's firmware. We use the Kermit software (http://kermit.wwarthen.com/) instead for upgrading the firmware.

Stefen Kaur said...

Is this Watterott RedFly-Shield able to connect to a MS-CHAPv2 network?

Looking for a shield to be able to do that and thought to ask.

Stefen Kaur
smkaur@bsu.edu

Richard Crowder said...

Hi Stefan,

The Redpine Signals Wifi module only provides the first few interface layers (OSI model). You would need to provide sockets and MS-CHAPv2 driver code on top of the layers they provide, not an easy task.

I guess you could leverage an existing implementation through a custom proxy server. Using the TCP/UDP sockets to connect to the proxy server. Then having the proxy server handle the MS-CHAPv2 authentication?

Regards, Richard.