Controllare dei led tramite WIFI e il NODEMCU

Per il cosplay che abbiamo portato al Lucca Comics di quest’anno abbiamo usato una normalissima striscia da 12V di led, il piano originale però era quello di usare dei led RGB per poterne cambiare il colore.

Per controllarli tramite lo smartphone avevo pensato di usare un NodeMCU che facesse sia da access point che da webserver. Il colore dei led era invece gestito dalle librerie NeoPixel di Adafruit.

Dato che utilizzo l’Arduino Ide per caricare il programma sul NodeMCU e i pin sono leggermente differenti per comodità gli inizializzo così:

pinnode Creo la mia “striscia” di led in base a quanti led voglio inserire.

ledst

 

Setto l’ssid, password dell’access point e la porta del server.

server-ap

 

Ed ecco l’html che comporrà la mia pagina web

htmlstring

Le varie stringhe vengono composte nella funzione di risposta del server in modo da fornire le informazioni sul bottone premuto.

standalonewebserver

A seconda dello stato quando viene eseguita una risposta dal server, viene fornita la stringa html con lo stato attuale del led.

loopsetup

WiFi.softAP(ssid,password) viene usata per inizializzare i dati dell’access point, come indirizzo IP usiamo quello di default dell’Esp8266 (192.168.4.1).
Server.on viene usato per fornire gli URL della risposta
Server.on(url della risposta, la funzione della risposta).

Le ultime funzioni sono prese dagli esempi delle librerie Adafruit e consentono di cambiare il colore al led.

adafruitNel codice è presente anche una funzione Rainbow che cicla tutti i colori ma attualmente quando viene selezionata il server crasha e bisogna resettare il NodeMCU per farlo ripartire.

Il codice completo è su GitHub github-mark-light-32px

 

Lascia un commento