Comunicazione Serial.
- Collegare GND, perché il segnale non va su un filo.
- Per la comunicazione unidirezionale, collegare i pin dati al mittente -> ricevitore come TX -> RX.
- Il seriale può essere hardware (i pin sono firmati sulla scheda) o software, ad esempio la libreria SoftwareSerial.h integrata. I pin
sono specificate manualmente.
- Per la comunicazione bidirezionale è necessario collegare anche RX -> TX.
- Attenzione! Se il firmware viene caricato tramite un hardware UART, ad esempio TX RX su Arduino Nano, allora il pin RX deve essere liberato, altrimenti il firmware non verrà caricato.
Lettura:
Invio con CRC:
Lettura con CRC:
Caratteristiche di esp8266.
Quando si utilizza il metodo sopra descritto per inviare dati a o da esp, ci sono alcune cose da tenere a mente sulla memoria in esp:
- Il tipo di dati int richiede 4 byte per esp, ovvero Arduino dovrebbe accettare questo tipo come long.
- Il compilatore esp comprime i byte in una struttura in un modo molto strano, quindi i tipi di dati a byte singolo devono essere posizionati alla fine della struttura.
- Posizionare prima i tipi di dati pesanti (float, int, long).
- int qui prende 4 byte, quindi su Arduino deve essere accettato come long.
- Posiziona i byte alla fine della struttura.
- La struttura delle strutture del destinatario e del mittente deve essere la stessa.
Accettazione di due numeri float.
Analisi del flusso seriale. Opzione 1 (strtok_r, nessun ritardo).
Questo algoritmo ti consente di ottenere un sacco di valori tramite Serial e di disperderli in un array intero. Puoi usarlo banalmente per controllare QUALSIASI COSA tramite bluetooth, poiché i moduli bluetooth hanno un'interfaccia di comunicazione UART. Oppure controllo via Seriale da qualche programma da PC. ATTENZIONE! L'analisi funziona tramite la funzione pesante strtok_r. Si consiglia di utilizzare altri algoritmi o una raccolta di algoritmi.
Analisi del flusso seriale. Opzione 2 (manuale, nessun ritardo).
Differenza dall'esempio precedente: e senza l'uso di funzioni complesse. Funziona in modo molto semplice e chiaro.
L'analisi seriale è separata. Opzione 3 (ritardata).
L'analisi seriale è separata. Opzione 4 (ritardata).
L'analisi seriale è separata. Opzione 5 (lettera singola, nessun ritardo).
L'analisi seriale è separata. Opzione 6 (interfaccia di testo, readString).
L'analisi seriale è separata. Opzione 7 (comodo, readString).
L'analisi seriale è separata. Opzione 8 (comodo, ottimale).
L'analisi seriale, il mio progetto "Receive_SMS" (libreria "ATCommand_1.0").
Questo esempio si basa su una scheda Arduino e un modulo SIM800L, interconnessi tramite protocollo UART.