What if we have already developed an Arduino application and we want internet connectivity for it?
Yun shield is the answer.
Yun shield provides Internet connectivity for all Arduino boards. It features the same connectivity functions implemented on Arduino Yun. Yun shield runs the OpenWrt GNU / Linux operating system, specially designed to manage internet connectivity. It’s the same on Arduino Yun and is commonly used by open source software equipped Access Points. Well, why Yun shield and not Arduino Yun itself? Simple, the shield can be connected to different Arduino boards, giving the opportunity to connect online our already developed applications, offering them new interoperability and remote applications.
Obviously it is possible to use it in new applications for which you want to adopt a different module than Arduino Leonardo. Among the Arduino boards compatible with Yun shield, we have Arduino Uno, Duemilanove / DIECIMILA, Arduino Mega and, of course, Arduino Leonardo, as well as several others. Another pleasant surprise is the ability to adapt both to 5V and 3.3V port voltage levels according to the different modules it is matching to. Among other peculiarities, a WiFi antenna is included in the package, helping you to establish particularly stable WiFi connections in various conditions.
In the block diagram, you can see how Yun shield connects to hosting boards. The host board powers the Yun shield through the VIN pin. It uses both the UART connection (Bridge library) to communicate with the module it is inserted on and the SPI connection to program Arduino, with its IDE connected via TCP / IP.
The “heart” of Yun shield is based on Atheros AR9331 processor, widely used in WiFi connectivity solutions (also in Arduino Yun). It has various interfaces such as Ethernet, USB, UART, and various GPIO peripheral devices. Supports 802.11b / g / n 2.4 GHz WiFi standard up to 150Mb. As said before, the operating system is OpenWrt, a GNU / Linux open distribution especially dedicated to WiFi connectivity and routing. RJ45, WiFi, USB Host and Failsafe are connected directly to the Dragino HE module. Dragino HE uses UART and SPI ports to communicate with Arduino. Yun shield is compatible with 3,3V and 5V powered Arduino boards.
To set the right port working voltage, you need to act on SV1 jumper. The SPI interface is used only to load a sketch from the IDE to the board. Once you finished loading the sketch, the SPI interface is released and can be used to connect to other devices. The UART interface is locked by the Bridge library. As for Arduino Yun, even on Yun shield the Bridge lib is the heart of the communication link between the Atheros AR9331 processor (running OpenWRT) and Arduino microcontroller, so the UART interface can not be used by other applications.
The working principle of the Yun shield – Arduino microcontroller link is fully described in the book “Discovering Arduino Yun”.