ARDUINO YÚN
Caratteristiche HW
AVR Arduino
Microcontroller
Operating Voltage
Input Voltage
Digital I/O Pins
PWM Channels
Analog Input Channels
DC Current per I/O Pin
DC Current for 3.3V Pin
Flash Memory
SRAM
EEPROM
Clock Speed
ATmega32u4
5V
5V
20
7
12
40 mA
50 mA
32 KB (4 KB usati per il bootloader)
2.5 KB
1 KB
16 MHz
Caratteristiche HW
Linux machine
Processor
Architecture
Operating Voltage
Ethernet
WiFi
USB Type-A
Card Reader
RAM
Flash Memory
Atheros AR9331
MIPS @400MHz
3.3V
IEEE 802.3 10/100Mbit/s
IEEE 802.11b/g/n
2.0 Host
Micro-SD only
64 MB DDR2
16 MB
PoE compatible 802.3af card support (see the note below)
Arduino Yún
Arduino Yún è una scheda di prototipazione, della
famiglia Arduino, caratterizzata dalla presenza di
due chip di controllo:
1.  Un microcontrollore Atmel ATmega32U4, presente
anche nella scheda denominata Arduino Leonardo
2.  Un processore Atheros AR9331 che permette di
far girare una distribuzione Linux per sistemi
embedded (OpenWrt-Yun) basata su OpenWrt.
Arduino Yún
La scheda prevede uno slot per Micro SD, un jack
Ethernet ed un connettore di tipo USB-A Host.
L’Arduino Yún è anche dotato di un modulo WiFi
integrato per la connessione ad un router wireless, o
per agire come access point.
La scheda può essere alimentata solamente attraverso
il connettore micro-USB o il pin Vin, inoltre, non include
un regolatore di tensione a 5V: alimentando la
scheda con più di 5V (ad es. attraverso il pin Vin) si
rischia di danneggiarla.
Arduino Yún
Architettura
Indicatori di stato
Reset
3 diversi tasti
di reset per:
•  32U4
•  WiFi
•  Linino
(AR9331)
Reset
Per riavviare il chip 32U4 e quindi lo sketch
installato servono 2 click sul tasto “32U4 RST”
¨  Per il WiFi (tasto “WLAN RST”), ci sono 3 diverse
opzioni di reset:
¨ 
¤  <
5s : Riavvio WiFi
¤  > 5s e < 30s : Riconfigurazione WiFi
¤  > 30s : Reset dell’OpenWrt-Yun allo stato iniziale
cancellando anche tutti i file installati e le
configurazioni di rete.
¨ 
Con il tasto “YÚN RST” si riavvia il chip AR9331 e
quindi l’OpenWrt-Yun
Configurazione rete via cavo
Quando si collega attraverso il cavo Ethernet un
Arduino Yún ad una rete o ad un PC, l’Arduino tenterà
la connessione automatica con DHCP.
È comunque possibile impostare manualmente indirizzi
IP statici per l’Arduino Yún.
Configurazione rete via cavo
I passi per l’impostazione manuale della configurazione di
rete sono:
1. 
Connettere Arduino Yún e PC:
a. 
b. 
L’Arduino Yún al PC attraverso il cavo USB
L’Arduino Yún alla rete attraverso il cavo Ethernet
Accedere alla console Linux:
2. 
a. 
Dall’IDE di Arduino (versione > 1.5.4) caricare lo sketch
File->Examples->Bridge->YunSerialTerminal
b. 
c. 
Avviare il monitor seriale con parametri NewLine e 57600
Premere il tasto “Invio” dal PC
Configurazione rete via cavo
A questo punto è possibile leggere/impostare la
configurazione di rete attraverso i comandi ifconfig e
route.
Es. 1) Lettura degli indirizzi IP delle interfacce di rete:
Digitare il comando: ifconfig
L’indirizzo IP per ogni interfaccia di rete, se
disponibile, sarà contenuto nel campo inet addr
Es. inet addr:192.168.1.145
Configurazione rete via cavo
Es. 2) Impostare l’indirizzo IP dell’interfaccia di rete
eth1:
Digitare il comando:
ifconfig eth1 192.168.1.140
o per specificare anche la netmask, il comando:
ifconfig eth1 192.168.1.140 netmask 255.255.255.0
Configurazione rete via cavo
Es. 3) Impostare il gateway dell’interfaccia di rete eth1:
Digitare il comando:
route add default gw 192.168.1.1 metric 10 eth1
Configurazione Wi-Fi
Connettere Arduino Yún e PC:
1. 
a. 
b. 
L’Arduino Yún al PC attraverso il cavo USB
Il PC all’Arduino Yún attraverso la rete Arduino Yún –
XXXXXXXXXXXX
Accedere alla pagina di configurazione:
2. 
a. 
con il browser visitare l’indirizzo
http://arduino.local
o l’indirizzo IP di default (192.168.240.1) o, l’indirizzo IP
per l’interfaccia wireless letto attraverso la procedura di
configurazione spiegata in precedenza per le connessioni
via cavo.
Configurazione Wi-Fi
La password per accedere al pannello di configurazione
è arduino.
Dall’interfaccia grafica:
¨ 
¨ 
¨ 
¨ 
Modificare il campo “YÚN NAME” in modo da differenziare
l’Arduino Yún in possesso dagli altri
Specificare le impostazioni per l’accesso alla rete wireless
di interesse (es. LabArchitetture con pwd: aa2014_15)
Settare il campo “REST API ACCESS” su OPEN
Fare click su “Configure and Restart”
Accesso SSH
Una volta effettuata la connessione con Arduino Yún è
possibile effettuare accesso SSH sulla scheda
attraverso il comando:
ssh root@IP_Arduino_Yún
oppure
ssh root@Arduino_Yún_name.local
Password di default
WiFi
ESSID: LabArchitetture
PWD: aa2015_16
Arduino Yún
PWD: arduino
Libreria Bridge
La libreria Bridge ha lo scopo di semplificare la
comunicazione (bidirezionale) tra il microcontrollore
ATmega32U4 e l’AR9331. La libreria permette
l’utilizzo dell’hardware collegato all’AR9331
(Interfaccia di rete wireless, ethernet e microSD)
altrimenti non accessibile dal microcontrollore con
bootloader Arduino.
Libreria Bridge - Classi
Bridge
La classe Bridge permette di avviare l’interazione tra
microcontrollore e Linux machine e offre metodi per la
scrittura/lettura di dati in una struttura di tipo chiave/
valore (mantenuta nella memoria RAM della Linux
machine).
Process
La classe Process viene utilizzata per lanciare processi
sulla Linux machine e prelevarne i risultati.
Libreria Bridge - Classi
Console
Console serve per la communicazione con il network
monitor nell'IDE di Arduino. Le sue funzionalità son
molto simili a quelle della classe Serial.
FileIO
Rappresenta un'interfaccia al file system della Linux
machine. Questa classe viene utilizzata per la lettura/
scrittura di file sulla SD Card.
Libreria Bridge - Classi
HttpClient
Crea un client HTTP nella Linux machine. Questa classe
è un wrapper per i più comuni comandi cURL.
Mailbox
Rappresenta un'interfaccia asincrona e senza sessione
per la comunicazione tra il microcontrollore con
bootloader Arduino e la Linux Machine
Libreria Bridge - Classi
YunClient
Implementa un client HTTP. Questa classe prende
spunto dalla classe EthernetClient utilizzata in altre
versioni di Arduino.
YunServer
Implementa un server HTTP. Questa classe prende
spunto dalla classe EthernetServer utilizzata in altre
versioni di Arduino.
Riferimenti
http://www.arduino.cc/en/Main/ArduinoBoardYun
¨  http://www.arduino.cc/en/Guide/ArduinoYun
¨  http://www.arduino.cc/en/Reference/
YunBridgeLibrary
¨