Occorrente
NodeMCU -- https://amzn.to/30ZJiVf
Display OLED 0.96" -- https://amzn.to/2WXNKCs
Sensore di temperatura DHT22 -- https://amzn.to/2W9vXuY
Pulsanti (3x) -- https://amzn.to/2Wffo0H
In alternativa possono essere utilizzati anche i pulsanti touch -- https://amzn.to/2VxxXZy
Relè arduino 5v -- https://amzn.to/2Wa8GJp
Convertitore seriale USB -- https://amzn.to/2YzHJ03
Cavetti jumper Dupont -- https://amzn.to/2YyBObv
Collegamento display e sensore
Prima di procedere all'installazione del firmware bisogna obbligatoriamente procedere al collegamento del display OLED e del sensore di temperatura. I pulsanti potranno essere connessi in un secondo momento. Il sistema infatti effettuera una verifica sulla presenza di display e sensore prima di collegarlo alla vostra rete domestica. Pertanto non sarà possibile effettuare il paring con l'app Casa se eseguite questo passaggio.
Pin D1 NodeMCU va collegato a Pin SDA Display
Pin D5 NodeMCU va collegato a Pin SCL Display
Pin 3v3 (o 3v*) NodeMCU va collegato a Pin VCC Display
Pin GND (o G*) NodeMCU va collegato a Pin GND Display
Pin D2 NodeMCU va collegato a Pin OUT Sensore
Pin 3v3 (o 3v*) NodeMCU va collegato a Pin + Sensore
Pin GND (o G*) NodeMCU va collegato a Pin - Sensore
* il nome può variare a seconda del modello NodeMCU utilizzato
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.bin, rboot.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/new-homekit-thermostat
4. non modificare il testo presente nel campo OTA Binary File e quindi lasciate la voce main.bin
5. assicuratevi che il display ed il sensore siano connessi come indicato nel primo passaggio
6. 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.
Se avete eseguito le operazioni correttamente, al termine dell caricamento del firmware, il vostro display apparirà così:
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 è ubicato:
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 finale
Ecco lo schema di collegamento tra NodeMCU, sensore di temperatura/umidità, display OLED, relè e pulsanti
![](https://cdn.twibuk.com/upload/photos/2019/05/551vshxVtVnfMtUzKFFO_20_35ca3eedc85cace5d64161ab40a76805_image.jpg)
(clicca sull'immagine per ingrandirla)
Pin D1 NodeMCU va collegato a Pin SDA Display
Pin D5 NodeMCU va collegato a Pin SCL Display
Pin 3v3 (o 3v*) NodeMCU va collegato a Pin VCC Display
Pin GND (o G*) NodeMCU va collegato a Pin GND Display
Pin D2 NodeMCU va collegato a Pin OUT Sensore
Pin 3v3 (o 3v*) NodeMCU va collegato a Pin + Sensore
Pin GND (o G*) NodeMCU va collegato a Pin - Sensore
Pin D0 NodeMCU va collegato a Pin S relè
Pin VIN (o V*) NodeMCU va collegato a Pin + relè
Pin GND (o G*) NodeMCU va collegato a Pin - relè
Pin D6 NodeMCU va collegato a Pin S pulsante temperatura +
Pin VIN (o V*) NodeMCU va collegato a Pin + pulsante temperatura +
Pin GND (o G*) NodeMCU va collegato a Pin - pulsante temperatura +
Pin D7 NodeMCU va collegato a Pin S pulsante temperatura -
Pin VIN (o V*) NodeMCU va collegato a Pin + pulsante temperatura -
Pin GND (o G*) NodeMCU va collegato a Pin - pulsante temperatura -
Pin D3 NodeMCU va collegato a Pin S pulsante modalità
Pin VIN (o V*) NodeMCU va collegato a Pin + pulsante modalità
Pin GND (o G*) NodeMCU va collegato a Pin - pulsante modalità
*il nome può variare a seconda del modello NodeMCU utilizzato
Funzionamento dei pulsanti e del relè
Alla porta COM ed NO del relè andranno collegati i cavi connessi al vostro sistema di riscaldamenrto. Naturalmente quando il termostato sarà attivo il relè sarà commutato da NC a NO azionando il sistema.
I tre pulsanti, ovvero "+", "-" e "modalità" consentono di:
- pulsante "+": aumentare di 0,5° la temperatura
- pulsante "-": diminuire di 0,5° la tempertaura
- pulsante "modalità": cliccando 1 volta cambia lo status da acceso "heat" a spento "off". La pressione continua invece resetterà il device
I pulsanti funzionano in modo autonomo.
Extra
Ecco il file STL per il triplo frutto porta display. Lo trovi qui
topzoe 5 anni
When I press + and - buttons, nothing append... the Mode button is ok. Any idea?