Il nodeMCU Lua Wifi getUrl è un esempio di come poter usare il tuo ESP8266 per connetterti ad un sito web in modalità client get http
dopo l’articolo in cui hai imparato a connettere il node mcu al wifi con lua è il momento di iniziare a sfruttare la connessione wifi e provare qualche esempio di connessione.
Prima di passare alla realizzazione di un server e di iniziare a programmare pagine e pagine web per visualizzare sul browser come accendere e spegnere il classico led è bene prendere confidenza con i comandi del modulo net e le connessioni http.
NodeMCU Lua WiFi getUrl
Il primo esperimento che ti propongo è quello di connetterti ad un sito web, nello specifico ho scelto www.mauroalfieri.it, e chiedere gli header della homepage ( se non sai cosa sono gli header http puoi leggere il seguente link ) ecco come ho fatto:
conn=net.createConnection(net.TCP, 0) conn:on("connection",function(conn, payload) conn:send("HEAD / HTTP/1.1\r\n".. "Host: www.mauroalfieri.it\r\n".. "Accept: */*\r\n".. "User-Agent: Mozilla/4.0 (compatible; esp8266 Lua;)".. "\r\n\r\n") end) conn:on("receive", function(conn, payload) print( payload ) end) conn:dns('www.mauroalfieri.it',function(conn,ip) ipaddr=ip end) conn:connect(80,ipaddr)
il risultato su node mcu lua wifi getUrl è stato:
leggendo lo sketch puoi notare facilmente i comandi:
linea 01: crei una connessione di tipo TCP in cui il parametro “0” significa “Non SSL” ( vedi manuale node mcu module )
linee 02-08: imposta l’evento “connection” della connessione associandogli la funzione che invia la richiesta della sola parte HEAD al sito www.mauroalfieri.it ( HEAD / HTTP/1.1\r\n Host: www.mauroalfieri.it\r\n )
linee 10-12: imposta l’evento “receive” della connessione associando la funzione che scriverà sul monitor seriale le informazioni ricevute in risposta dalla chiamata precedente;
linea 13: crea la query DNS per ricevere l’IP corrispondente all’url impostato;
linea 14: esegui la connessione all’IP ricavato dalla riga precedente sulla porta 80 ( http standard non ssl )
Nota la semplicità di questa chiamata con sole 14 righe hai interrogato un webserver e ricevuto gli HEADER della pagina interrogata.
Warning!
Ricorda che i comandi di connessione funzionano solo se hai già eseguito la connessione wifi all’SSID.
Prima di inserire un commento, per favore, leggi il regolamento
14 pings
Skip to comment form