Come posso collegarmi ad un Arduino usando WiFi?


27

Sto lavorando alla costruzione di una stazione meteorologica ad energia solare, basata su Arduino. La stazione meteorologica è composta da un sensore di temperatura e una fotoresistenza, e ho intenzione di aggiungere un anemometro in futuro. Vorrei collegare la stazione meteorologica alla mia rete wireless in modo da poter recuperare i dati del sensore dal mio computer senza dover passare i cavi (vivo in un noleggio).

Quali sono le diverse opzioni per connettere Arduino al WiFi? Ho esaminato gli schermi Ethernet, gli schermi WiFi e qualcosa chiamato Xbee, ma non capisco a cosa servano ciascuno di essi.

Ho anche un router domestico wireless che potrei usare. È possibile connettere Arduino Uno al router tramite la porta Ethernet o USB del router e quindi ricevere dati e inviare comandi ad Arduino in modalità wireless sulla mia rete domestica? In tal caso, come sarebbe possibile farlo?

Al momento ho un Arduino Uno nudo.


4
Hai uno schermo Ethernet?
jfpoilpret,

3
Devi chiarire la tua domanda: cosa significa "comunicare con essa"? Carica schizzi? Invia comandi a uno schizzo? Ricevi dati da uno schizzo?
jfpoilpret,

Ho tentato di aggiungere dettagli e contesto alla domanda. Al momento non ho scudi.
jlbnjmn,

Non credo che nessuna revisione dello Uno ufficiale abbia una porta ethernet. Immagino che tu debba avere una Arduino Ethernet (che è simile), o forse un clone non ufficiale di qualche tipo?
Peter Bloomfield,

Ho modificato la domanda per specificare la porta Ethernet sul router wireless. Quindi la domanda è: [Arduino +? + (Wireless Router OR?) = Arduino che invia dati sulla mia rete wireless].
jlbnjmn,

Risposte:


24

Hai alcune opzioni per connettere Arduino alla rete / Internet.

Ethernet

Qualcosa come Arduino Ethernet Shield ti consente di collegare un cavo Ethernet dalla parete o dal router al tuo Arduino. Ovviamente, il limite principale è che il tuo dispositivo è ora legato dal cavo. Per uso esterno, non lo farei.

Wi-Fi

L'Arduino WiFi Shield consente di collegare alla rete domestica WiFi. Questo è proprio come Ethernet tranne che ora è wireless.

L'ESP8266 è un'alternativa più economica che, con il firmware di default, ha la stessa funzionalità della Shield WiFi. Fai attenzione a alimentarlo con 3.3V e non 5V come il resto dell'Arduino. Utilizza anche livelli logici a 3,3 V, quindi non collegare il pin TX dell'Arduino direttamente al pin RX dell'ESP; utilizzare un divisore di tensione.

RF

Se hai molti sensori o altri dispositivi che devono comunicare tra loro, l'opzione migliore è di solito un modulo RF. Hai molte opzioni qui, XBee è una di queste. Consulta la Guida all'acquisto di Sparkfun XBee per esaminare tutte le opzioni disponibili. E questo è solo XBee. Ci sono molte altre opzioni wireless disponibili, a tutti i tipi di prezzi.

La cosa con RF è che nessuno di questi si collegherà a Internet. Avrai tutti i tuoi dispositivi in ​​comunicazione tra loro o con una stazione base, che sarà quindi connessa alla rete tramite un modulo WiFi o Ethernet.

Seriale del router wireless

A seconda del tipo di router wireless in uso, è possibile fare in modo che Arduino comunichi direttamente con esso e utilizzarlo come connessione a una rete.


1
Per quanto riguarda la comunicazione "RF", puoi anche utilizzare i popolari moduli nRF24L01 +. Ci sono alcune buone librerie là fuori per questo. Il problema con il collegamento RF è che è necessario disporre di un altro Arduino o Raspberry Pi ecc. In esecuzione come "ricevitore" che è quindi collegato al computer in cui si desidera archiviare / visualizzare / analizzare i dati. Per Wifi ora ci sono anche scudi CC3000
Mike WP

Durante la ricerca delle opzioni fornite mi sono imbattuto nello Yun. Sarebbe un'opzione più semplice? Grazie.
jlbnjmn,

Può essere. non l'ho mai usato da solo. Gli scudi non sono difficili da interfacciare e possono essere più economici.
sachleen,

4

Sposare OpenWrt e il tuo Arduino

Ottieni un piccolo router compatibile con OpenWrt come "TP-Link TL-WR703N", esegui il flash con l'attuale versione stabile di OpenWrt e collega il tuo Arduino alla porta USB del router.

Questa soluzione è la metà o meno del costo degli schermi WiFi e ha molta più potenza.

... ed economico come YÙN.

Il server Web di automazione domestica intelligente sul router OpenWRT WR703N interfacciato con Arduino, rispetto a Raspberry Pi e Ubuntu potrebbe essere un punto di partenza per leggere questo e il tuo motore di ricerca preferito troverà molti altri link su come sposare WR703N e Arduinos ...

(!) Vedi anche /arduino//a/1754/653 ....


4

ESP8266 è un modulo wifi 5 $ economico con UART, connettività SPI. Questo può essere integrato perfettamente con Arduino sia attraverso il firmware di serie utilizzando i comandi AT, sia scrivendo firmware personalizzato utilizzando l'SDK fornito e GIPO disponibile. Per ulteriori riferimenti http://www.esp8266.com/


3

Lavoro con xbee su arduino e raspberry pi da alcuni mesi. Mentre ha i suoi problemi e stranezze, è un ottimo strumento nella catena di comunicazione. Non è perfetto, ma dato il suo lato mesh, per me va oltre il mio wifi e può anche essere più affidabile (il mio raspberry pi con wifi occasionalmente si interrompe, tuttavia lo xbee collegato continua a funzionare in background.

In particolare, nel mio caso, consente una connessione seriale tra i miei dispositivi (essendo diversi arduinos, un raspberry pi (coordinatore) e il mio mac (usato principalmente per il monitoraggio ma anche occasionalmente iniettando dati seriali)). In questo caso è perfetto. Non consente l'accesso a Internet o l'accesso oltre il framework xbee, ma mi si adatta perfettamente poiché l'implementazione è semplice come Serial.print e Serial.read senza sovraccarico Ethernet.


2

Uso Spark Core, una piattaforma di programmazione Arduino molto facile da usare. Questa piattaforma è stata costruita sul principio che il WiFi dovrebbe essere facile da usare ed economico. Può persino programmare Spark Core ovunque e in qualsiasi momento.


Come si confronta con XBee in termini di: prezzo (incluso Arduino che collega elementi come uno scudo), distanza, programmazione (su Arduino)?
jfpoilpret

2

Potresti provare un Arduino Yun, è come uno Uno ma ha un WiFi direttamente sulla scheda.

C'è una parte nella "Guida a Arduino Yún" chiamata "Configurazione del WiFi di bordo" , che descrive come configurare il WiFi.


1
Ciao, potresti modificare la tua risposta con qualche informazione in più. OP già conosce lo Yun, quindi la tua risposta sarebbe più utile se, ad esempio, guidasse le persone a come utilizzare il chip WiFi su di esso.
sachleen,

1

Quello che vuoi è abbastanza facile da fare e il codice esiste già. Ma il modo in cui lo immagino, non collegherai il sensore Arduino al tuo wifi. Invece, utilizzerai un altro Arduino come gateway in questo modo:

Sensor Arduino: situato all'esterno, collegato al sensore di temperatura, velocità del vento, pluviometro?

Gateway Arduino: situato all'interno, con scudo Ethernet Wiznet 5001

Sensor Arduino e Gateway Arduino si dialogano utilizzando un ricetrasmettitore wireless MOLTO facile da usare, nRF24L01 +. I moduli wireless costano $ 3 ciascuno e la libreria per l'uso è molto matura. Tutti i dati del sensore vengono facilmente comunicati al Gateway tramite questa libreria.

Gateway Arduino con Ethernet agisce come un server Web, consentendo a qualsiasi computer nella rete locale di aprire una pagina e visualizzare le condizioni attuali. Guarda questa pagina per il codice Arduino: http://arduino.cc/en/Tutorial/WebServer

Vuoi salvare anche le informazioni storiche sulla temperatura / velocità del vento, giusto? Questa è la parte migliore! Gateway Arduino può inviare i dati a un servizio come Xively, un servizio di raccolta dati gratuito basato sul Web che offre anche un modo elegante per visualizzare / rappresentare graficamente i dati. C'è un piccolo inconveniente nell'uso di Wiznet insieme al modulo nRF24L01. Il modulo wireless e lo scudo ethernet utilizzano entrambi lo stesso bus per comunicare, quindi dai un'occhiata a questo blog per vedere come puoi utilizzare entrambi contemporaneamente:

http://www.heald.ca/content/arduino-ethernet-nrf24l01-and-pachubecosmxively

Xively ti consente anche di rendere tali dati pubblici o privati, in modo da poter scegliere di contribuire alla comunità con i dati della tua stazione meteorologica.

Alcune altre note: mi piacciono i moduli nRF24L01 + perché sono poco costosi. I moduli Xbee costano di più degli Arduinos stessi. Puoi continuare ad aggiungere moduli nRF24L01 + in tutta la casa una volta stabilito un gateway. Lo stesso problema di costo esiste con WiFi Shield: costoso.


1

Se desideri un'alternativa più economica per aggiungere funzionalità WiFi ad Arduino, guarda ESP WiFi shield .

Funziona alla grande con la libreria WiFiEsp . Il modello di programmazione è esattamente lo stesso di Arduino WiFi Shield


0

Controlla il modulo wifi ESP8266, è un modulo economico e può essere controllato utilizzando qualsiasi microcontrollore tramite comandi AT, inoltre è Soc in modo da poterlo utilizzare autonomamente.


0

L'uso del set cmd ESP8266 AT è difficile e soggetto a errori. Suggerire di eseguire il riflash dell'ESP8266-01 come bridge UART-WiFi come descritto qui ESP8266 Wifi Add on per Arduino Made Simple

Si noti che l'installazione consente anche di riconfigurare le impostazioni Wi-Fi senza riprogrammare ESP8266-01


0

L'uso di ESP8266 sield è soggetto a errori, richiede un aggiornamento che deve essere eseguito il flashing, alcune operazioni di saldatura richieste e non è appropriato per un ambiente di produzione. Inoltre, ci sono problemi con l'alimentatore perché è necessario disporre di un alimentatore separato da 3,3 V. È il 2016 (!) E ora ci sono molte altre opzioni disponibili.

"La scheda WiFi UNO è la Arduino UNO con WiFi integrato." http://www.arduino.org/products/boards/arduino-uno-wifi

e

"La Star Otto è la prima scheda Arduino dotata del processore STM32F469 con WiFi." http://www.arduino.org/products/boards/arduino-star-otto (In realtà, a partire da ottobre, non è ancora disponibile, "Coming Soon").

Si prega di notare che queste due tavole sono dal ALTRE organizzazione Arduino.


0

Dopo diverse prove ed errori nel mio progetto IoT, consiglierei di lavorare su ESP32 su ESP8266 (e anche su Arduino Uno e Nano), tranne se conosci molto bene l'ambito del tuo progetto.

Vantaggi di ESP32 rispetto a ESP8266:

  1. RAM più grande, ESP8266: istruzioni 32 KB e dati utente 80 KB, ESP32: 520 KB

Sto lavorando a un progetto IoT e sto provando ad autenticare il dispositivo su GCP usando un certificato. Il certificato radice di GCP è già di circa 120 KB, quindi non si adatta a ESP8266. Ci sono alternative ma ciò complica le cose.

  1. ESP32 ha bluetooth e ESP8266 no

Bene, ad un certo punto del tuo progetto IoT potresti voler collegare il Bluetooth al tuo dispositivo con il tuo telefono ...

  1. Alcune versioni di ESP32 sono dotate di porte integrate per la telecamera (ricerca CAM ESP32)

Con ESP8266 puoi sicuramente usare una videocamera, ma ciò comporterà più codifica e cablaggio e prestazioni potenzialmente peggiori.

E alla fine ho provato a collegare un chip wifi con Arduino Uno e Nano ma ho riscontrato alcuni bug e problemi con i comandi AT. Quindi ora sono abbastanza contento di ESP32 perché tutto è integrato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.