Sommario:

Seriale wireless (UART) per Arduino/STM32/ecc.: 3 passaggi (con immagini)
Seriale wireless (UART) per Arduino/STM32/ecc.: 3 passaggi (con immagini)

Video: Seriale wireless (UART) per Arduino/STM32/ecc.: 3 passaggi (con immagini)

Video: Seriale wireless (UART) per Arduino/STM32/ecc.: 3 passaggi (con immagini)
Video: INTRODUZIONE AI MICROCONTROLLORI STM32 2024, Luglio
Anonim
Seriale wireless (UART) per Arduino/STM32/ecc
Seriale wireless (UART) per Arduino/STM32/ecc
Seriale wireless (UART) per Arduino/STM32/ecc
Seriale wireless (UART) per Arduino/STM32/ecc

Spero che tutti siano d'accordo con me sul fatto che Arduino Serial sia un ottimo strumento per il debug dei tuoi progetti. Bene, è fondamentalmente l'unica opzione per il debug di un Arduino. Ma a volte, non è possibile o pratico eseguire un cavo USB da Arduino o da qualsiasi altro microcontrollore nel computer.

Quindi ho realizzato questa scheda UART-WiFi, basata sull'ESP8266-01, che è molto economica in questi giorni. La scheda è piccola, puoi collegarla a una breadboard, collegare alimentazione, RX, TX e massa e trasmetterà tutto ciò che riceve dall'UART al tuo computer tramite WiFi e viceversa.

Caratteristiche:

  • baudrate fino a 115200 (teoricamente anche fino a 921600, ma questo non è testato)
  • riceve/invia dati da UART e invia/riceve dati tramite WiFi direttamente al tuo computer utilizzando la porta 23 (Telnet)
  • 18 componenti, le parti costano circa 3,50 USD
  • PCB a doppia faccia 20 x 45 mm, compatibile con breadboard
  • Pin RX tollerante 5 V
  • ingresso in tensione da 12 V a 3,3 V, assorbimento di corrente di circa 80 mA in media

Uso queste schede da circa sei mesi e le ho trovate estremamente utili. Li preferisco anche ai bridge USB-UART, perché con la mia scheda, ne inserisco semplicemente uno in una breadboard e non devo preoccuparmi di far passare i cavi su tutta la mia scrivania. Inoltre, non hai nessun altro hardware, nessuna porta USB libera e queste schede forniscono un completo isolamento galvanico dal tuo computer, che è una buona precauzione di sicurezza e non devi preoccuparti di potenziali di terra diversi.

Passaggio 1: come funziona

Come funziona
Come funziona
Come funziona
Come funziona

Una volta applicata l'alimentazione al modulo, inizia a provare a connettersi al WiFi predefinito. Durante tale fase il LED giallo lampeggia. Una volta connesso, il LED giallo rimane acceso. Successivamente, il modulo è in attesa di una connessione da un client Telnet (vedere il passaggio successivo) e il LED verde lampeggia. Dopo che la connessione è stata stabilita con successo, il terminale Telnet mostra un prompt, chiedendo il baudrate desiderato. Inserisci il baudrate nel terminale e hai finito! Ora tutto ciò che digiti nel terminale viene inviato tramite WiFi e quindi viene emesso dal pin TX dell'ESP8266. Allo stesso modo, tutto ciò che appare sul pin RX viene inviato al terminale. Fondamentalmente, non puoi dire la differenza tra una console seriale e telnet.

LED:

  • giallo (più a sinistra) - stato Wi-Fi, lampeggiante - tentativo di connessione, acceso - connesso
  • verde (secondo da sinistra) - Stato Telnet. lampeggiante - in attesa di connessione, verde - connesso
  • blu (due più a destra) - RX e TX

Passaggio 2: come configurarlo

Come impostarlo
Come impostarlo
Come impostarlo
Come impostarlo
Come impostarlo
Come impostarlo
Come impostarlo
Come impostarlo

Connessione

L'unica piccola complicazione è che hai bisogno di una sorta di identificatore per ogni dispositivo Telnet (simile a ogni porta seriale che ha un numero). Nel mio progetto ho usato IP statico. Normalmente, una volta che un dispositivo si connette al WiFi, riceve automaticamente un indirizzo IP dal server DHCP. Questo è chiamato indirizzamento IP dinamico, ma il problema qui è che l'indirizzo IP potrebbe cambiare. Quindi ho programmato la scheda in modo tale che riceva sempre un indirizzo IP predefinito, nel mio caso 192.168.2.20x, dove x è il numero della scheda. Questo è chiamato indirizzamento IP statico. Quindi colleghi semplicemente una console Telnet a 192.168.2.20x:23 e sei pronto per partire.

Come console puoi utilizzare una varietà di app, le due più conosciute sono probabilmente PuTTY o YAT (Yet Another Terminal). Io uso quest'ultimo e nella sezione dell'immagine puoi vedere come configurarlo: devi solo conoscere l'indirizzo IP statico menzionato in precedenza.

Firmware

Il firmware è scritto in Arduino IDE e lo puoi trovare sul mio GitHub. Se desideri programmare il tuo ESP8266, devi guardare nell'intestazione e modificare alcune variabili lì, vale a dire:

  • ssid - il nome del WiFi che vuoi che la scheda si connetta
  • pass - password per quel WiFi
  • ip - l'IP statico che vuoi che abbia la scheda; scegli qualcosa al di fuori del pool DHCP (o scegli semplicemente qualcosa tra 200 - 250, che di solito è gratuito)
  • gateway - l'IP del tuo router
  • sottorete

Puoi ottenere le ultime due informazioni dalla riga di comando, premendo Win + R, digitando "cmd" e quindi digitando "ipconfig". Vedi le immagini.

Ovviamente hai bisogno dell'IDE Arduino, della toolchain esp8266 ecc., Ma ci sono molti altri tutorial a riguardo.

Tavola

È inoltre necessario produrre il PCB. Anche se non è complicato e potresti teoricamente farlo a casa, ti consiglio di utilizzare un produttore cinese di PCB. È economico e funziona bene. Ho usato ALLPCB e sono rimasto soddisfatto.

Potenza

Devi fornire alimentazione alla scheda. È possibile alimentarlo direttamente con 3,3 V (jumper JP1 in posizione 3,3 V) o alimentare la tensione tramite un regolatore da 3,3 V (jumper nell'altra posizione). Il regolatore può accettare tensioni fino a 12 V. Tutti i condensatori sono già integrati a bordo.

Passaggio 3: conclusione

Conclusione
Conclusione

Come dicevo prima, ho trovato queste schede molto utili per la prototipazione, non solo con un Arduino, ma con qualsiasi MCU in generale. E li uso da circa mezzo anno e non ho avuto problemi con loro.

Il codice sorgente, i file Eagle e alcune immagini possono essere trovati sul mio GitHub o nel file zip sottostante. Ma consiglio GitHub, poiché potrebbe esserci una versione più recente.

Se hai domande, commenti o suggerimenti, non esitare a lasciarli qui sotto.

Consigliato: