Firmware NodeMCU relè 4ch compatibile HomeKit: installazione e configurazione

In questa breve e semplificata guida è spiegato come flashare e configurare il dispositivo NodeMCU per renderlo compatibile con Apple Homekit.

Occorrente

NodeMCU -- https://amzn.to/2CZjJuf

5 x Modulo 1 Relé -- https://amzn.to/2DFPvwA

in alternativa può essere usato anche questo modello a 4ch

  -- https://amzn.to/2IUSyoT

Convertitore seriale USB -- https://amzn.to/2YzHJ03

Cavetti jumper Dupont -- https://amzn.to/2YyBObv

 

Installazione con OTA

Scarica otaboot.binrboot.bin e blank_config.bin all'interno di una cartella (che per comodità chiameremo files e posizioneremo sul Desktop). Assicurati di aver collegato il tuo NodeMCU così come illustrato al passo precedente e mettilo in flash mode tenendo premuto il pulsante "Flash" mentre colleghi la porta USB al mac. Usa esptool.py per "flashare" il dispositivo.

Primo step: fai un "erase"

Posizionati tramite terminale con il comando cd all'interno della cartella dove avevi in precedenza salvato i file

cd Desktop/files

A questo punto puoi iniziare l'erase del nostro device 

esptool.py -p /dev/your_ESPPort erase_flash

Generalmente la porta ESP è /dev/tty.SLAB_USBtoUART oppure /dev/tty.USB0000

Puoi fare una ricerca tra i vari dispositivi con il comando ls /dev/tty* che ti mostrerà tutti i dispositivi connessi Effettuato l'erase dovreste avere un messaggio come il seguente: 

Chip erase completed successfully in 0.0s Hard resetting via RTS pin... 

La procedura è quindi andata a buon fine e possiamo passare allo step successivo. Rimetti in flash mode il dispositivo e passa allo step successivo.

Secondo step: flash firmware OTA

esptool.py -p /dev/your_ESPPort --baud 115200 write_flash -fs 1MB -fm dout -ff 40m \ 0x0 rboot.bin 0x1000 blank_config.bin 0x2000 otaboot.bin 

Nota: se stai usando una vecchia versione di esptool, devi cambiare -fs 1MB con -fs 8MB 

Effettuato l'upload del firmware dovresti avere un messaggio come il seguente:

Hash of data verified. Leaving... Hard resetting via RTS pin... 

Effettuato questo scollega il cavo usb dal tuo mac e ricollegalo, questa volta senza premere il tasto flash.

Se vuoi puoi controllare quanto avviene nel dispositivo attraverso il monitor seriale, lanciando questo comando:

screen /dev/your_ESPPort 115200

Terzo step: configurazione OTA

Ora andremo a configurare la rete wi-fi e la repositery da installare. Il dispositivo, una volta avviato, genera una sua rete wifi che inizia con LCM ed è seguita dagli ultimi numeri del mac address. Per iniziare la configurazione iniziamo con il collegare un dispositivo iOS a questa rete (sarà sufficiente andare in Impostazioni, Wi-Fi e cercare tra le varie reti raggiungibili la rete che inizia con LCM- e collegarci).

Dopo alcuni secondi si aprirà automaticamente una finestra come quella nell'immmagine qui sotto

Procedi con questo ordine, assicurati di aver seguito tutti e 5 i punti prima di premere il tasto Join!

1. seleziona la rete wifi a cui vuoi connettere il dispositivo

2. nel campo Password inserisci la password della rete wi-fi selezionata

3. sostituisci il testo presente nel campo OTA repositery con RavenSystem/ravencore

4. non modificare il testo presente nel campo OTA Binary File e quindi lascia la voce main.bin

5. premi il pulsante Join. Una volta cliccato il tasto join il tuo device inizierà a scaricare l'ultima release del firmware direttamente dalla repositery GitHub. Questa procedura impiega circa 5-7 minuti. 

Nota: se questo step fallisce devi iniziare la procedura dal primo step.

Quarto step: installazione nell'app Casa

Segui le normali procedure per aggiungere un dispositivo all'applicazione Casa di Apple. Non appena l'app ti chiederà di inquadrare il codice di configurazione di HomeKit, inquadra la seguente immagine:

 

(nel qual caso non riesci a far inquadrare correttamente il codice al tuo iPhone/iPad, clicca su "Non hai il codice o non puoi scansionarlo?" poi vai alla voce "codice manuale" e clicca su "inserisci codice". Inserisci quindi il codice a 8 cifre seguente: 021-82-017

L'operazione di pairing del tuo dispositivo impiega circa 30-60 secondi. Non appena terminato il paring potrai vedere aggiunto il tuo dispositivo nell'app casa di Apple.

Nota: se il pairing fallisce sarà sufficiente riavviare il tuo dispositivo e procedere nuovamente con questo step (non la procedura dall'inizio).

 

Quinto step: configurazione nell'app EVE

Ecco come andrà configurato il tuo NodeMCU nell'app EVE:

Board Type va impostato su 

Device Type va impostato su 4  

Log output va impostato su 0

Init State SW1 va impostato:

- su 0 se desideri che in caso di mancanza di alimentazione al Sonoff al ripristino sia su OFF

- su 1 se desideri che in caso di mancanza di alimentazioneal Sonoff al ripristino sia su ON

- su 2 se desideri che in caso di mancanza di alimentazioneal Sonoff al ripristino sia sullo stesso stato in cui si trovava (se on -- on, se off-- off)

- su 4 se desideri che in caso di mancanza di alimentazioneal Sonoff al ripristino sia sullo stato inverso in cui si trovava (se on -- off, se off-- on)

Init State SW2 va impostato:

- su 0 se desideri che in caso di mancanza di alimentazione al Sonoff al ripristino sia su OFF

- su 1 se desideri che in caso di mancanza di alimentazioneal Sonoff al ripristino sia su ON

- su 2 se desideri che in caso di mancanza di alimentazioneal Sonoff al ripristino sia sullo stesso stato in cui si trovava (se on -- on, se off-- off)

- su 4 se desideri che in caso di mancanza di alimentazioneal Sonoff al ripristino sia sullo stato inverso in cui si trovava (se on -- off, se off-- on)

Init State SW3 va impostato:

- su 0 se desideri che in caso di mancanza di alimentazione al Sonoff al ripristino sia su OFF

- su 1 se desideri che in caso di mancanza di alimentazioneal Sonoff al ripristino sia su ON

- su 2 se desideri che in caso di mancanza di alimentazioneal Sonoff al ripristino sia sullo stesso stato in cui si trovava (se on -- on, se off-- off)

- su 4 se desideri che in caso di mancanza di alimentazioneal Sonoff al ripristino sia sullo stato inverso in cui si trovava (se on -- off, se off-- on)

Init State SW4 va impostato:

- su 0 se desideri che in caso di mancanza di alimentazione al Sonoff al ripristino sia su OFF

- su 1 se desideri che in caso di mancanza di alimentazioneal Sonoff al ripristino sia su ON

- su 2 se desideri che in caso di mancanza di alimentazioneal Sonoff al ripristino sia sullo stesso stato in cui si trovava (se on -- on, se off-- off)

- su 4 se desideri che in caso di mancanza di alimentazioneal Sonoff al ripristino sia sullo stato inverso in cui si trovava (se on -- off, se off-- on)

Configurati i parametri impostiamo Reboot su usciamo dalla finestra di configurazione e dall'app (se la nostra app Casa è aperta chiudiamola. Attendiamo circa 10 secondi e riapriamo l'app Casa. Avremo ora il nostro dispositivo configurato e pronto per essere utilizzato.

Schema di collegamento

Ecco lo schema di collegamento tra NodeMCU, alimentazione, i 4 relè ed i 4 pulsanti (opzionali):

 

5vdc + collegato a NodeMCU pin VIN ed ai Relè 1, 2 e 3 pin +

5vdc - collegato a NodeMCU pin GND ed ai Relè 1, 2 e 3 pin -

NodeMCU D6 (GPIO12) collegata a Relè 1 S

NodeMCU D1 (GPIO5) collegata a Relè 2 S

NodeMCU D2 (GPIO4) collegata a Relè 3 S

NodeMCU D8 (GPIO15) collegata a Relè 4 S

NodeMCU D3 (GPIO0) collegata a Pulsante 1

NodeMCU SD2 (GPIO9) collegata a Pulsante 2

NodeMCU SD3 (GPIO10) collegata a Pulsante 3

NodeMCU D5 (GPIO14) collegata a Pulsante 4

Esempio di utilizzo 


Filippo Lizza

42 Blog post

Commenti
Paolino Codazzi 2 anni

buongiorno, a me restituisce un errore l'app casa dicendomi che il codice che inquadro non è corretto.