A bordo c'è già installato il firmware NodeMCU basato su una versione semplificatissima del linguaggio scripting Lua (per cui non ho neppure bisogno di usarlo in modalità Arduino) con tanto di prompt comandi sulla seriale USB.
L'applicazione-tipo è questa:
- sempre connesso alla wifi di casa
- ogni tot secondi legge il valore dei pin
- invia il risultato su socket del server (in pratica: serve per accedere a quei pin via wifi anziché i soliti bluetooth o porta seriale).
Come tutti i prodotti originali Adafruit è ottimo ma costa un sacco di soldi (attualmente 3600 euro al chilo).
Il buongiorno si vede dal mattino:
- impostare il terminale seriale a 9600 8N1 sulla porta /dev/serial/by-id/usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_0136E32E-if00-port0
- premere il tastino di reset, compare la scritta: NodeMCU 0.9.5 build 20150318 powered by Lua 5.1.4
- se non è ancora impostato un autoexec (init.lua) comparirà anche la scritta lua: cannot open init.lua
- al prompt dare i comandi per connettersi e verificare l'indirizzo IP assegnato:
wifi.setmode(wifi.STATION)
wifi.sta.config("SSID_del_mio_wifi", "mia_password")
print(wifi.sta.getip()) - a questo punto può trasferire dati via internet:
c = net.createConnection(net.TCP, 0)
c:on("receive", function(s, c) print(c) end )
c:connect(80, "www.adafruit.com")
c:send("GET /testwifi/index.html HTTP/1.1\r\nHost: www.adafruit.com\r\nConnection: keep-alive\r\nAccept: */*\r\n\r\n") - (cioè: crea una connessione attraverso il wifi, associa un evento in caso di "receive", invia una GET.... e qualche attimo dopo, in caso di "receive" andata a buon fine, arriva la stringa di Adafruit "if you can read this, it's working :)"
- ovviamente non è necessario accedere al web, si può usare anche un IP fisso su una rete locale wifi.
Nella versione che ho indicato, rispetto alla lista ufficiale il nodemcu comprende solo questi moduli:
RispondiEliminaadc
bit
cjson
coap
file
gpio
i2c
mqtt
net
node
ow
pwm
spi
tmr
u8g
uart
wifi
ws2812
salve, che ide usi per programmarl
RispondiElimina