Arduino
YUN. Esso è basato sul progetto di Arruino Uno v3, ed è stato ritirato dal commercio, perchè sostituito nel tempo da altre versioni più moderne e potenti. Tuttavia per chi lo possiede, può essere ancora utilizzato per interessanti progetti per IoT, ovvero per la domotica. Nota: quando Arduino Yùn è stato configurato correttamente, può eseguire tutti i programmi per Arduino Uno r3 e Arduino Nano. Solo in casi rari saranno necessari piccoli aggiustamenti. |
Le
caratteristiche di Arduino Yun |
Queste
informazioni sono tratte dalla documentazione ufficiale di
Arduino. Arduino Yún è una scheda microcontrollore basata su ATmega32u4 e Atheros AR9331. Il processore Atheros supporta una distribuzione Linux basata su OpenWrt denominata Linino OS. La scheda ha supporto Ethernet e WiFi integrato, una porta USB-A, uno slot per scheda micro-SD, 20 pin di input/output digitali (7 dei quali possono essere utilizzati come output PWM e 12 come input analogici), un oscillatore a cristallo da 16 MHz, una connessione micro USB, un header ICSP e 3 pulsanti di reset. Yún si distingue dalle altre schede Arduino (del periodo) per la sua capacità di comunicare con una distribuzione Linux a bordo, offrendo un potente computer in rete con la facilità di un Arduino. Oltre ai comandi Linux come cURL, permette di scrivere i propri script shell e Python® per interazioni solide. Yún possiede una comunicazione USB integrata, eliminando la necessità di un processore secondario. |
Variazioni
rispetto ad
Arduino Uno v3: - scheda di rete 100 Mb/s integrata; - scheda WiFi integrata; - slot per scheda SD; - sistema operativo Linino OS - possibilità di usare 11 I/O seriali |
La
piedinatura di Arduino Yùn |
Alimentazione E' consigliabile alimentare per mezzo della connessione microUSB con 5 V cc. Se si alimenta la scheda attraverso la porta VIN, fornire un'alimentazione a +5 Vcc, perché Yùn non ha un regolatore di tensione a bordo, e alimentandolo con una tensione superiore, verrebbe danneggiato. VIN. La tensione in ingresso alla scheda Arduino. A differenza di altre schede Arduino, se si intende fornire alimentazione alla scheda tramite questo pin, è necessario fornire 5 V cc. 3V3. Un'alimentazione da 3,3 volt generata dal regolatore di tensione interno. L'assorbimento massimo di corrente è 50 mA. 5V. La tensione usata per alimentare la scheda e le peiferiche collegate. Ground. La massa, ovvero il negativo. IOREF. Questo pin sulla scheda Arduino fornisce il riferimento di tensione con cui funziona il microcontrollore. Uno schermo adeguatamente configurato può leggere la tensione del pin IOREF e selezionare la fonte di alimentazione appropriata o abilitare i traduttori di tensione sulle uscite per lavorare con 5 V o 3,3 V. |
Memoria L'ATmega32u4 ha 32 KB (con 4 KB utilizzati per il bootloader). Dispone inoltre di 2,5 KB di SRAM e 1 KB di EEPROM (che può essere letto e scritto con la libreria EEPROM). La memoria dell'AR9331 non è incorporata nel processore. La RAM e la memoria di archiviazione sono collegate esternamente. Lo Yún ha 64 MB di RAM DDR2 e 16 MB di memoria flash. La memoria flash è precaricata in fabbrica con una distribuzione Linux basata su OpenWrt denominata Linino OS. Si può modificare il contenuto dell'immagine di fabbrica, ad esempio quando si installa un programma o quando si modifica un file di configurazione. È possibile ripristinare la configurazione di fabbrica premendo il pulsante "WLAN RST" per 30 secondi. L'installazione del sistema operativo Linino occupa circa 9 MB dei 16 MB disponibili nella memoria flash interna. Si può utilizzare una scheda micro SD se si necessita di più spazio su disco per l'installazione delle applicazioni. |
Ingressi
e uscite Non è possibile accedere ai pin I/O dell'Atheros AR9331. Tutte le linee I/O sono collegate al 32U4. Ciascuno dei 20 pin di i/o digitale su Yún può essere utilizzato come input o output, utilizzando le funzioni pinMode(), digitalWrite() e digitalRead(). Funzionano a 5 volt. Ciascun pin può fornire o ricevere un massimo di 40 mA e dispone di una resistenza pull-up interna (disconnessa per impostazione predefinita) di 20-50 kOhm. Inoltre, alcuni pin hanno funzioni specializzate: Seriale: 0 (RX) e 1 (TX). Utilizzato per ricevere (RX) e trasmettere (TX) dati seriali TTL utilizzando la funzionalità seriale hardware ATmega32U4. Le seriali hardware dell'ATmega32U4 e dell'AR9331 presenti su Yún sono collegate tra loro e vengono utilizzate per comunicare tra i due processori. Come è comune nei sistemi Linux, sulla porta seriale dell'AR9331 è esposta la console per l'accesso al sistema, questo significa che puoi accedere ai programmi e agli strumenti offerti da Linux dal tuo sketch. |
Descrizione
delle porte di Yùn TWI (I2C): sulla morsettiera di destra, dove ci sono le connessioni digitali, in alto si trova SCL e appena sotto SDA. Si possono collegare i sensori e le periferiche che seguono il protocollo I2C a questi pin. Si possono collegare più periferiche I2C in parallelo, purchè abbiano indirizzi interni differenti. Interrupt esterni: porta digitale 3 (interrupt 0), porta digitale 2 (interrupt 1), porta digitale 0 (interrupt 2), porta digitale 1 (interrupt 3) e porta digitale 7 (interrupt 4). Questi pin possono essere configurati per attivare un'interruzione su un valore basso, un fronte di salita o di discesa o una variazione di valore. Per i dettagli vedere la funzione attachInterrupt(). Non è consigliabile utilizzare i pin 0 e 1 come interrupt perché sono anche la porta seriale hardware utilizzata per comunicare con il processore Linux. Il pin 7 è collegato al processore AR9331 e in futuro potrà essere utilizzato come segnale di handshake. Si raccomanda di fare attenzione ai possibili conflitti se si intende utilizzarlo come interrupt. Quindi nei propri programmi conviene usare solamente interrupt 0 o interrupt 1. PWM: le porte digitali 3, 5, 6, 9, 10, 11e 13. Fornisce un uscita PWM a 8 bit (valori: 0/./255) con la funzione analogwrite(). Le porte digitali forniscono solo i valori "0" o "1". Se per esempio si vuole variare la luminosità di un led, si può usare questa utile funzione. SPI: presenti sul connettore ICSP. Questi pin supportano la comunicazione SPI utilizzando la libreria omonima. Si noti che i pin SPI non sono collegati a nessuno dei pin I/O digitali come su Arduino Uno; essi sono disponibili solo sul connettore ICSP. I pin SPI sono collegati anche ai pin gpio AR9331, dove è stata implementata l'interfaccia software SPI. Ciò significa che ATMega32u4 e AR9331 possono comunicare anche utilizzando questo protocollo. Led interno programmabile: 13. È presente un LED integrato collegato al pin digitale 13. Quando il pin ha un valore "alto", il Led è acceso, quando il pin è "basso", esso è spento. Ci sono molti altri Led di stato sullo Yún, che indicano alimentazione, connessione WLAN, connessione WAN e USB. Ingressi analogici: A0/./A5 e A6/./A11 (sui pin digitali 4, 6, 8, 9, 10 e 12). Yún ha 12 ingressi analogici, etichettati da A0 a A11, che possono essere utilizzati anche come i/o digitali. I pin A0-A5 appaiono nelle stesse posizioni di Arduino Uno; gli ingressi A6/./A11 sono rispettivamente sui pin i/o digitali 4, 6, 8, 9, 10 e 12. Ciascun ingresso analogico fornisce 10 bit di risoluzione (ovvero 1024 valori diversi). Per impostazione predefinita, gli ingressi analogici misurano da 0 a 5 volt, tuttavia è possibile modificare il limite superiore del loro intervallo utilizzando il pin AREF e la funzione analogReference(). Ingressi digitali: sono presenti 14 ingressi direttamente configurati come digitali, da D0 a D13. Poichè D0 (Rx) e D1 (Tx) sono utilizzati per la comunicazione seriale, si consiglia di non usarli nei propri programmi, per evitare malfunzionamenti. Ma anche le 6 porte dichiarate come "analogiche", possono essere usate come digitali, portando il numero delle porte digitali addirittura a 20. AREF: Il pin AREF (riferimento analogico) può essere utilizzato per fornire una tensione di riferimento esterna per la conversione da analogico a digitale degli ingressi ai pin analogici. La tensione di riferimento specifica essenzialmente il valore superiore dell'intervallo di ingresso e di conseguenza ogni gradino discreto nell'uscita convertita. |
I
tre pulsanti a bordo di Arduino Yùn: |
Yún
RST. (riquadro giallo). Premendolo si resetta il
microprocessore AR9331. Il ripristino dell'AR9331 causerà il
riavvio del sistema Linux. Tutti i dati memorizzati nella
RAM andranno persi e tutti i programmi in esecuzione
verranno terminati. 32U4RST. (riquadro verde) Premendolo si ripristina il microcontrollore ATmega32U4. WLAN RST. Questo pulsante ha una doppia funzione. Serve principalmente a ripristinare il WiFi alla configurazione di fabbrica. La configurazione di fabbrica consiste nel riportare il WiFi di Yún in modalità punto di accesso (AP) e assegnargli l'indirizzo IP predefinito che è 192.168.240.1, in questa condizione ci si può connettere con il proprio computer ad una rete WiFi che appare con la descrizione Nome SSID "Arduino Yun-XXXXXXXXXXXX", dove le dodici "X" sono l'indirizzo MAC del tuo Yún. Una volta connesso si potrà raggiungere il pannello web di Yún con un browser all'indirizzo 192.168.240.1 o "http://arduino.local". Bisogna tenere presente che il ripristino della configurazione WiFi causerà il riavvio dell'ambiente Linux. Per ripristinare la configurazione WiFi bisogna tenere premuto il pulsante WLAN RST per 5 secondi. Quando si preme il pulsante, il Led blu WLAN inizierà a lampeggiare e continuerà a lampeggiare quando si rilascia il pulsante dopo 5 secondi, indicando che la procedura di ripristino WiFi è stata registrata. La seconda funzione del pulsante WLAN RST consente di ripristinare l'immagine Linux all'immagine predefinita di fabbrica. Per ripristinare l'ambiente Linux è necessario premere il pulsante per 30 secondi. Si noti che il ripristino dell'immagine di fabbrica comporta la perdita di tutti i file salvati e del software installato sulla memoria flash integrata collegata all'AR9331. |
I
tre pulsanti di Arduino Yùn
|
Le
librerie necessarie Per poter utilizzare Arduino Yùn, è necessario installare una libreria specifica, Bridge.h, che puoi scaricare qui. Essa permette il colloquio tra ATmega32u4 e Atheros AR9331. Aprendo la IDE di Arduino, e cliccando su "File/Esempi/Bridge, si trova una nutrita serie di programmi di esempio. |
Selezionare
Arduino Yùn nella IDE Per selezionare Yùn nella IDE di Arduino, caricare il programma stabilito e collegare Yùn al computer con il cavo USB. Cliccare sulla linguetta "Strumenti", poi "Scheda xxx" ovvero quella presente alla passataapertura del programma (per esempio, "Arduino Uno", oppure "Arduino Nano", ecc.; poi da "Gestore schede" selezionare "Arduino AVR Boards" e infine cliccare su "Arduino Yùn. Verificare che la porta selezionata sia quella adeguata per Yùn. La
selezione della scheda Arduino Yùn.
|
Verificare
l'indirizzo IP (via cavo) di Yùn. Dopo aver configurato Yun e aver caricato correttamente il primo programma, è necessario conoscere l'indirizzo IP del proprio Arduino. Al primo accesso, è necessario che Yùn sia connesso alla propria rete interna via cavo, e che il proprio ruter abbia la funzione DHCP abilitata (DHCP fornisce automaticamente un indirizzo PCP/IP alle periferiche collegate). Dopo
aver caricato il proprio programma, cliccare su
"Strumenti", "Porta". Oltre alla solita porta seriale,
viene (o vengono) mostrate gli indirizzi TCP/IP della
scheda. Quando si carica per la prima un programma, viene
mostrato solo l'indrizzo IP ottenuto via cavo (in questo
caso il primo, "192.168.1.126"). Quando si sarà
configurato la rete WiFi, apparirà anche il secondo,
ovvero "192.168.1.127", che è appunto l'indirizzo di Yùn
sulla propria rete WiFi.
Nei prossimi paragrafi si vedrà come effettuare questa configurazione. |
Il
terminale di Linino (sistema operativo di Yùn) Dopo aver installato la libreria "Bridge (vedi sopra), si può utilizzare il terminale di Linino. Apreire la IDE di Arduino, cliccare su File/Esempi/Bridge/YunTerminalServer, si aprira il programma che attiva il terminale. Lanciarlo, e quando è stato caricato, aprire il monitor seriale. Apparirà un'immagine simile a questa: Nella piccola finestra in alto, evidenziata in rosso, si potranno inserire i propri comandi. |
|
Resettare
la password di Arduino Yùn. La configurazione di Arduino Yun può essere controllata e modificata da browser (vedi paragrafo successivo). Ma per far ciò, è necessario conoscere la password inserita, che di default è "arduino". Però può succedere di averla dimenticata, di averlo acquistato usato, o di averlo ricevuto in regalo. Come fare in questo caso? Conoscendo la procedura non è difficile. Aprire il terminale di Linino - vedi paragrafo precedente e nella riga di introduzione dei comandi digitare "passwd". Verrà chieso di inserire la nuova password e di riconfermarla. Fatto! Ora si può accedere alla configurazione di Y |
Come
verificare (e modificare) la configurazione di Yùn via
Browser. Ottenuto l'indirizzo TCP/IP via rete e conosciuta la password di accesso, si può aprire la pagina web per la configurazione. Aprire il proprio browser e digitare "http://arduino.local", oppure "http://xxx.xxx.xxx.xxx", dove al posto delle "x", sostituire l'indirizzo IP (nel mio caso, 192.168.1.126) di Yùn, rilevato come indicato nei paragrafi precedenti. Si aprirà una pagina simile a questa: Nota:
su un browser, nonostante avessi abilitato i cookies e
digitato la password correttamente, ottenevo come risposta
caparbiamente "wrong password". Cambiando browser, tutto
si è sistemato.
Risolto
questo problema, digitare la password di accesso, e
poi cliccare su "LOG IN". Si apre la pagina successiva:
Ecco
gli indirizzi, il Mac Address, i dati trasmessi e
ricevuti.
Premere su "Configure". Nel
primo riquadro, incorniciato di rosso, è possibile
cambiare il nome della scheda e sostituire graficamente la
password e cambiare la zona in cui si risiede.
Il
riquadro blu è molto importante: infatti se si vuole
utilizzare Yùn sulla rete WiFi, è necessario selezionare
la propria rete WiFi, inserire la password e il livello di
sicurezza. Come si vede, è un sistema un po' diverso da
quello perseguito dalle schede ESP01/8266/32, che
inseriscono questi dati direttamente nel programma.
Nel terzo riquadro (verde), si configura la sicurezza. Se si usa il programma semplicemente all'interno della propria rete WiFi, si puo lasciare la sicurezza "aperta"; altrimenti è meglio attivare la password. |
https://docs.arduino.cc/retired/getting-started-guides/ArduinoYun/ https://docs.arduino.cc/retired/boards/arduino-yun/ https://www.progettiarduino.com/88-arduino-yun-web-server-ajax-controllo-dispositivi.html |