Domanda:
Come collegare un Arduino al WIFI usando un ESP8266
N Sharma
2017-05-03 15:03:24 UTC
view on stackexchange narkive permalink

Ciao, sto cercando di creare Arduino Uno sulla rete locale con l'aiuto del modulo wifi ESP8266.

Ho provato a cercare su Internet, ho scoperto che per lo più stanno facendo ESP8266 come server web. http://circuits4you.com/2016/12/16/esp8266-web-server-html/

Qualcuno può aiutarmi come aggiungere Arduino Uno alla rete con l'aiuto di ESP8266 . enter image description here

enter image description here

Hai mai pensato di cercare questo stesso sito con le parole "Arduino" e "ESP8266"? Dai un'occhiata a https://arduino.stackexchange.com/questions/13470/arduino-with-esp8266 e anche https://arduino.stackexchange.com/questions/30837/setup-arduino-uno-with-esp8266-esp-1. Raffinando la tua ricerca potresti anche trovare ulteriori risposte a domande più dettagliate che potrebbero sorgere man mano che avanzi con questo progetto.
@RobertoLoGiacco Vedo quegli esempi ma stanno inviando alcuni comandi a `ESP8266` e li stanno leggendo. Ho fatto questo esempio. Voglio qualcosa come ottenere l'IP dinamico dalla rete wifi con SSID e password e assegnarlo ad arduino così posso accedervi dalla rete
ottenere un IP dinamico dal wifi è un client DHCP. Non è possibile assegnare un IP ad un Arduino, solo l'ESP8266 sa di essere _sulla rete_. La tua domanda è così ampia e vaga che richiederebbe una serie di post sul blog per essere trattata in tutti i suoi aspetti. Non hai nemmeno spiegato il tuo cablaggio tra ESP8266 e Arduino, quindi supponiamo che tu stia usando una connessione seriale hardware, ma "assegni un IP ad Arduino" mi ha fatto dubitare di questo.
Questo è stato chiuso come poco chiaro. L'ho riaperto su richiesta dell'OP. Penso che potrebbe essere classificato come "troppo ampio", ma vediamo dove ci portano le risposte.
Due risposte:
JRobert
2017-05-03 18:09:44 UTC
view on stackexchange narkive permalink

L'invio dei seguenti comandi all'ESP dovrebbe farti iniziare:

  AT + RST # ResetAT + CWMODE = 1 # Imposta la modalità stazione come clientATE0 # disattiva il comando echoAT + CWLAP # opzionale: elenca i punti di accessoAT + CWJAP_DEF = "SSID", "PASSWORD" # Connettiti sempre a questo SSID  

(Ho creato la sintassi dei commenti; non provare a inviarli. ) Il set di istruzioni AT ESP8266 completo ha il set completo di comandi e una descrizione funzionale di ciascuno.

Aggiornamento:

... devo collegare RX di ESP8266 a RX di Arduino, TX di ESP8266 a TX di Arduino, Ground of Arduino to RESET?

Rx & Tx deve essere cross-connesso con il corrispondente Arduino i pin e il reset dell'ESP si è alzato (3.3v).

Per questo approccio devo collegare RX di ESP8266 a RX di Arduino, TX di ESP8266 a TX di Arduino, Ground di Arduino a RESET?
No, devi ancora incrociarli.
Ho questo codice https://pastebin.com/C4ZUmVc0 quando invio comandi AT a ESP8266 funziona e la luce blu lampeggia .. ora ho codificato come mi hai suggerito .. ora voglio sapere l'indirizzo IP assegnato di esso? in qualche modo?
Ecco i miei registri Invio di un comando AT Risposta da esp8266: AT + CWMODE = 1 Risposta da esp8266: ATE0 Risposta da esp8266: occupato p ... Risposta da esp8266: AT + CWLAP Risposta da esp8266: occupato p ... Risposta ricevuta da esp8266: AT + CWJAP_DEF = Moto, reset1234 Ricevuta risposta da esp8266: occupato p ... Ricevuta risposta da esp8266: Ricevuta risposta da esp8266: OK
Tutti i comandi sono documentati nel manuale che ho linkato, ma "AT + CIFSR" sembra quello che desideri.
Sto riscontrando alcuni problemi durante la connessione di "ESP8266" con WiFi con i comandi "AT". Ho chiesto qui se sai qual è il problema https://arduino.stackexchange.com/questions/37976/error-on-sending-atcwjap-def-commands-to-esp8266 grazie per aver suggerito di utilizzare i comandi "AT". +1
Code Gorilla
2017-05-03 16:43:14 UTC
view on stackexchange narkive permalink

Dipende da come ti vuoi avvicinare. Conosco due opzioni:

  1. Usa i comandi AT.
  2. Programma l'ESP.

Quando usi i comandi AT hai bisogno per programmare Arduino per aprire una linea seriale all'ESP (assicurandosi che rx e tx siano incrociati). Dici ad Arduino di inviare i comandi AT necessari all'ESP e attendi che ciascuno di essi venga riconosciuto. Quindi Arduino invia i suoi dati di rete tramite la connessione seriale, all'ESP e l'ESP li inoltrerà alla rete.

Puoi programmare l'ESP ESATTAMENTE nello stesso modo in cui faresti con Arduino. È possibile scrivere del codice per accettare i dati da Arduino tramite Serial, SPI, I2C o il proprio metodo di comunicazione proprietario. L'ESP ha librerie che possono essere un client DHCP, DNS, client HTTP, ecc. (La maggior parte delle quali probabilmente hai già visto). Se poi scrivi una semplice applicazione che stabilisce la connessione alla rete e poi aspetta un pacchetto di dati da Arduino o dalla rete e lo inoltra come appropriato.

Non posso dirti quale opzione è il migliore, perché non ho mai provato nessuno dei due metodi. Ho solo programmato l'ESP per fare tutto ciò che Arduino avrebbe fatto comunque e semplificare il codice.

Stavo cercando di programmare ESP8266, avere una sorta di configurazione come se avessi collegato Arduino al mio laptop, collegato RX di ESP8266 a RX di Arduino, TX di ESP8266 a TX di Arduino, Terra di Arduino a RESET. Ma stavo facendo qualcosa come https://arduino.stackexchange.com/questions/37798/error-espcomm-open-failed Ho incollato i miei log degli errori anche lì ..
Spero che la mia configurazione fosse corretta? Quale potrebbe essere la causa degli errori? Ti andrebbe di rispondere lì per favore ..
Arduino Rx <- ESP TX e ESP Rx <- Arduino TX. L'Arduino trasmette in Tx e l'ESP lo ascolta in Rx e viceversa. Se esegui Tx to Tx e Rx to Rx non funzionerà affatto. BTW La maggior parte delle persone commette questo errore la prima volta. Anche il Gnd di Arduino e l'ESP devono essere collegati insieme, altrimenti è possibile ottenere un terreno fluttuante, che farà sì che non sappiano cosa siano Low e High. Dovresti anche utilizzare un cambio di livello bidirezionale per qualsiasi connessione (eccetto Gnd) tra un dispositivo 3.3v (ESP) e un dispositivo 5V (Arduino)
Mi sono connesso e ESP8266 è in grado di ricevere il comando qualunque cosa sto inviando in questo modo https://pastebin.com/YYSjASZe ora puoi suggerire quali modifiche devo fare per ottenere l'indirizzo IP assegnato in modo da poter accedervi dalla rete I hanno selezionato "Arduino Uno" come scheda nell'IDE di Arduino


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...