Firmware NodeMCU + HC-SR501 compatibile HomeKit: installazione e configurazione

In questa breve e semplificata guida è spiegato come aggiungere un sensore di movimento HC-SR501 a un NodeMCU (o Wemos), flashare e configurarlo per renderlo compatibile con Apple Homekit.

Occorrente

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

Sensore di movimento HC-SR501 -- https://amzn.to/2KODfy6
(Usare questo modello, altri potrebbero non essere compatibili! Vedi nota a fine guida)

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

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

Collegamento al lettore 

Collega il tuo NodeMCU al convertitore seriale così come di seguito illustrato

 

Installazione con OTA

Prima di tutto crea una cartella sulla scrivania del vostro mac e rinominala "files". Scarica quindi otaboot.binrboot.bin e blank_config.bin all'interno della cartella creata. Assicurati di aver collegato il tuo NodeMCU come illustrato al passo precedente e collega il tuo convertitore seriale alla porta USB del tuo Mac, tenendo premuto il pulsante "FLASH" presente sul dispositivo. La pressione simultanea del pulsante sul NodeMCU all'alimentazione dello stesso mettera questo in modalità "flash". Usa esptool.py per "flashare" il dispositivo

Primo step: fai un "erase"

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

cd Desktop/file

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. Scollegate il vostro cavo usb e ricollegatelo tenendo premuto il tasto "flash" del NodeMCU. 

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'erase dovreste avere un messaggio come il seguente:

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

Effettuato questo scollegate e ricollegate il cavo usb dal vostro mac. Questa volta non serve premere il tasto di accensione del NodeMCU poichè non dobbiamo metterlo in modalità flash.

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

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

1. selezionate la rete wifi a cui volete connettere il dispositivo

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

3. sostituite il testo presente nel campo OTA repositery con lizzus/homekit-motion-sensor

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

5. premete il pulsante Join Una volta cliccato il tasto join il vostro 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 dovrete iniziare la procedura dal primo step.

Quarto step: installazione nell'app Casa:

Seguite le normali procedure per aggiungere un dispositivo all'applicazione Casa di Apple. Non appena l'app vi chiederà di inquadrare il codice di configurazione di HomeKit, cliccate su "Non hai il codice o non puoi scansionarlo?"

Nella schermata successiva andate a selezionare il vostro dispositivo

l'app Casa vi avviserà che l'accessorio non è certificato. Ignorate questo messaggio e cliccate su "Aggiungi comunque"

inserite quindi il seguente codice: 11111111

L'operazione di pairing del tuo dispositivo impiega circa 30-60 secondi.

Non appena terminato il paring comparirà una finestra come questa:

Successivamente l'app casa ci darà la possibilità di impostare il nome del dispositivo e la stanza ove questo è ubiocato:

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

Schema di collegamento

Ecco lo schema di collegamento tra NodeMCU, sensore di temperatura/umidità e sensore di qualità dell'aria

 

NodeMCU VIN collegata a Sensore HC-SR501 VCC

NodeMCU GND collegata a Sensore HC-SR501 GND

 

NodeMCU D6 (GPIO12) collegata a Sensore HC-SR501 out 

Taratura Sensore

Il sensore presenta due rotelline che consentono rispettivamente di tarare il tempo ritardo e la sensibilità del sensore. Sara sufficiente ruotare con un cacciavite a stella in un verso o nel senso opposto per aumentare o diminuire il valore. 

 

Anteprima

Note

In commercio il sensore si trova in due versioni, ovvero con o senza pin e ponticello. Tecnicamente non cambia nulla, però a parità di costo consiglio il modello con ponticello (tra l'altro già impostato sul giusto valore) così da non dover far saldature. 

Il modello nel link di Amazon è quello corretto.


Filippo Lizza

42 Blog post

Commenti
Pilot1981 5 anni

se il tutto viene alimentato a batteria, secondo te ogni quanto bisognerebbe cambiare batteria?