User manual
tramite il messaggio +IPD. I comandi legittimi che possono essere inviati tramite
Packet Sender sono led1 e led0. Il controller li interpreta e di conseguenza
accende o spegne il LED. Viene anche trasmesso un feedback al mittente. Se
viene inviato un altro comando, sul monitor seriale appare il messaggio "Wrong
UDP Command". Lo stesso messaggio viene trasmesso al mittente anche
attraverso la rete. Nel codice sorgente prendiamo nuovamente in considerazione
una riga nella funzione configUDP():
success &= sendCom("AT+CIPSTART=\"UDP\",\"192.168.4.255
\",90,91", "OK");
Questa volta è cambiato l'indirizzo IP. Questo IP deve sembrare strano, perché
non è l'IP del computer. Quindi come si possono ricevere i dati? Che questo IP
funziona è dimostrato dal fatto che è un IP molto speciale, cioè un cosiddetto IP di
broadcasting. Il broadcast è sostanzialmente una tecnica di diffusione, per
esempio di trasmissioni radio. Proprio come con le trasmissioni radio questi dati
trasmessi possono essere ricevuti da diversi partecipanti, in questo caso, da tutti i
partecipanti che si trovano nella stessa sottorete. L'indirizzo 255 alla fine dell'IP
indica sempre un indirizzo di broadcasting. Ora, per esempio, è possibile avviare il
programma Packet Sender su un altro computer, ascoltare tutti i messaggi
trasmessi e inviare comandi. La comunicazione non avviene più solo tra due
partecipanti.
001
void loop() {
002
if (esp8266.available())
003
{
004
if (esp8266.find("+IPD,"))
005
{
006
if (esp8266.find("led")) {
007
int setLed = esp8266.parseInt();
008
digitalWrite(LED, setLed);
009
010
debug("LED=" + String(setLed));
011
if (sendCom("AT+CIPSEND=7", ">"))
012
{
013
sendCom("LED=" + String(setLed), "OK");
014
}
015
}