Thursday, February 18, 2016

YellowJacket Arduino with WiShield Wifi (Part 1)

Short History — 
Several years ago (probably 2010) I purchased two hard to get YellowJacket Wifi boards from Rugged Circuits. The YellowJacket board incorporates a wifi backpack module on an Arduino Uno-equivalent microprocessor. At that time, wifi on a microprocessor was a dazzling concept, but BlueTooth Low Energy (BLE-4) technology soon emerged as a versatile means of communication between a microprocessor chip and an iPhone. The YellowJacket Wifi boards sat unused since that time. Recently I had the inclination to use Wifi technology for a project and dusted off these boards. In the intervening 5 years, technology had moved a bit, there was almost no information on the Rugged Circuits YellowJacket board on the web, and the WiShield software that was required for the board was no longer supported by the author. This series of blogs will examine how I moved forward with using YellowJacket Wifi boards.
As a backdrop for this series of blogs, my local development network is comprised of several Mac computers (with Windows running on  Bootcamp partitions), connected through ethernet and/or wifi to an Apple ethernet/wifi router. The router uses the default ip address //10.0.1.1/  and ethernet and wifi ip addresses are assigned either automatically or manually by the router. The YellowJacket boards were manually assigned ip addresses //10.0.1.56/ (board identified as YJ56) and //10.0.1.57/ (board identified as YJ57). The Mac computers are currently running OS X 10.10 Yosemite or 10.11 El Capitan. Arduino IDE 1.6.5 is used for Arduino code development.
YellowJacket Hardware and Wifi Software

The YellowJacket (YJ short name) WiShield board briefly manufactured by Rugged Circuits comprises an Arduino Uno-equivalent microprocessor with a Microchip MRF24WB0MA Wifi backpack.
The original AsyncLabs WiShield precursor to the YellowJacket used the ZeroG ZG2100 Wifi board, which was bought out by Microchip in January 2010 and then presumably marketed (probably with some design changes) as the MRF24B0MA. The AsyncLabs WiShield code library on GitHub can be used to program the YellowJacket Arduino/Wifi board. My current version of the Arduino development software (IDE) is version 1.6.5, which compiles the original 2010 WiShield software with errors. For Arduino 1.6.5, the WiShield library (as of 2016-02-25) modified by “kaptk2” (Ref: “https://github.com/kaptk2/ZG2100BasedWiFiShield”) fixed most all of the compile errors. This version of the WiShield library was the third I had tried to use with the YellowJacket boards and is referred to in this blog as “WiShield_V3” as the Arduino Library name.
One early problem getting the hardware and software to work was that spi.h code in the WiShield library conflicted with spi.h code used by other devices. For clarity, the WiShield Library spi.h was renamed spi_WS.h and that reference was changed to “#include spi_WS.h” in all files in WiShield_V3 library. Renaming the WiShield library spi_WS.h file, fixed the conflicts with SPI.h used by other Arduino devices. The WiShield spi_WS.h is specific to the spi interface between the YJ Arduino and the MRF24 Wifi backpack.
As I became more proficient with the YellowJacket boards and WiShield software, I located other versions of the WiShield software on GitHub that had been updated and incorporated additional features. My most recent WiShield_V14 Library is that contributed by “hamityanik” (Ref: https://github.com/hamityanik/WiShield_user_contrib) which compiles without errors on Arduino IDE 1.6.5.
Future blogs will provide details on using the YellowJacket Wifi boards for various wifi applications.
(Feb 18, 2016)

No comments:

Post a Comment