nov 182010
 

arduino

Aggiunta di Ethernet, WiFi e altre comunicazioni al tuo Arduino (o altri PIC) – Compreso il NSLU2

Author: John Smitty

Arduino è un piccolo dispositivo programmabile che può contenere un piccolo programma ed eseguire attività quali la lettura di sensori di temperatura, accendere o spegnere interruttori, e può anche servire come il ‘cervello’ di un robot. Ho usato Arduino (in realtà freeduino) per i progetti legati alla climatizzazione e automazione idroponica.




Spesso è utile essere in grado di comunicare con l’Arduino – per esempio, un uso comune di un Arduino è per la raccolta dati. Si può avere un sensore di temperatura collegato all’ Arduino ed una interfaccia con una memoria flash per registrare i dati di temperatura. Più tardi si deve andare a rimuovere la memoria flash ed effettuare il trasferimento al computer. Ma cosa succederebbe se si potesse comunicare con Arduino? Grazie alla connettività Ethernet o wireless, è possibile connettersi semplicemente ad Arduino con un computer e catturare i dati in tempo reale. Questo offre molta più automazione, e si apre un mondo di possibilità – gli avvisi in tempo reale, gli aggiustamenti in tempo reale (la qualcosa è per Arduino interruttore on/off) e altro ancora.

Ci sono già un certo numero di scelte disponibili per le comunicazioni.

Seriale: Arduino ha linee TTL, RS232 non tradizionali, ma è possibile con costi ragionevoli utilizzare un adattatore/convertitore di livello o di circuito. Si può quindi collegare una linea seriale ad un computer. Questo è accettabile in molti casi, ma si limita ad usare un computer, e nel caso della mia casa, il cablaggio non è così conveniente. Ho Ethernet Cat5, in tutto il luogo, quindi se ho intenzione di utilizzare una soluzione cablata l’ethernet ha più senso.

WiFi: per alcuni, questa potrebbe essere la soluzione migliore. Se non puoi o non vuoi posare i cavi di qualsiasi genere, ci sono soluzioni che vanno da ricetrasmettitori a 400/900 MHz che usano 4-6 pin per le comunicazioni più semplici alle più potente XBee, ZigBee e anche 802.11 WiFi. Il problema principale che ho trovato con queste soluzioni è il costo o la competenza tecnica necessaria. Fate anche un doppio controllo che l’interfaccia che si sta utilizzando richieda librerie o codice di interfaccia che utilizzerà lo spazio all’interno dell’Arduino. Le unità RFM sono promettenti, in quanto sono a basso costo, anche se non ho l’ho ancora interfacciata con successo.

Ethernet: Ci sono una serie di buone soluzioni per l’aggiunta di funzionalità Ethernet come shields e da seriale a Ethernet bridges/adattatori. Alcuni richiedono uno stack TCP/IP scritto dentro Arduino – consideratelo, in quanto questo utilizza usualmente molto spazio di archiviazione.

NSLU2 o Computer: Per la mia applicazione, ho scelto di utilizzare alcune unità NSLU2 che avevo (sono spesso disponibili tramite asta online). L’NSLU2 è un dispositivo di immagazzinamento di rete (NAS) che è spesso modificato (hacked) per eseguire sistemi operativi alternativi e cambiare le funzionalità a livello hardware. Nel mio caso ho overcloccato la mia e installato Debian Linux utilizzando un flash drive da 8GB. La NSLU2 utilizza anche un interfaccia TTL, anche se a 3.3V invece di 5V. L’interfacciamento è fatto con 3 fili semplici, e una resistenza è richiesta su una linea per la conversione da 3,3 V a 5V.

Questo articolo ha presentato diverse opzioni per l’aggiunta di funzionalità di comunicazione ad Arduio. In un prossimo articolo mi occuperò delle effettive specifiche per l’aggiunta di una specifica interfaccia, tra cui il NSLU2.

About the Author

Find more technical articles at http://www.n1van.com

Popular Posts:

flattr this!

  2 Responses to “Estendi il tuo arduino”

  1. There’s a compromise approach between a straightforward RS232 connection of the Arduino to the host that wants its info, and loading an entire tcp/ip stack into the Arduino to support ethernet or wireless communications. If you’ve got another box that’s placed nearby the Arduino, you can connect the Arduino to a serial port on that box and install a serial-to-ethernet adapter program in that box. Effectively, that box becomes a server for device access via that serial port, a worthy semiretirement job for ancient hardware if you happen to have it (especially since the ancient hardware is more likely to possess a serial port than anything current).

    I went looking for such adapter programs on Freshmeat some years back, and came up with these candidate programs for you to Google: conserver, logserial, ser2net, serproxy, sjinn and sredird, all of which are old enough to have LSM records :) I didn’t have a chance to play with them then, so I’ll watch to see what you make of them instead.

  2. Use the USB connector! Load Simple Message System on your Arduino and communicate via shell scripts. The package is on my website, user.cavenet.com/rolandl. Full IO & PWM control. AD is scaled to mV and CSV formatted. It’s proof-of-concept: easy to modify for your project. If you need more range than a 16′ USB cable, use an old laptop or Sheeva and ssh into it.

 Leave a Reply

(required)

(required)


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>