Sommario:

Sensore di temperatura e movimento wireless IoT: 11 passaggi (con immagini)
Sensore di temperatura e movimento wireless IoT: 11 passaggi (con immagini)

Video: Sensore di temperatura e movimento wireless IoT: 11 passaggi (con immagini)

Video: Sensore di temperatura e movimento wireless IoT: 11 passaggi (con immagini)
Video: RECENSIONE E TUTORIAL ITA - Sensore Shelly Door Window Make ioT Simple by Robotics Allterco 2024, Luglio
Anonim
Sensore di temperatura e movimento wireless IoT
Sensore di temperatura e movimento wireless IoT

Sono stato ispirato dai molti progetti IoT che sono in Instructables, quindi nel processo di apprendimento sto cercando di combinare alcune applicazioni utili e rilevanti. Come estensione ai miei precedenti Instructables relativi al sensore di temperatura IoT, ora ho aggiunto più funzionalità al sottosistema. Le funzionalità aggiunte sono:

- Connessione NTP per ottenere l'ora

- LED controllabile a distanza

- Sensore PIR per rilevare il movimento

- Collegato Raspberry PI con homekit in esecuzione per consentire la connessione a iPhone "Home"

Passaggio 1: il concetto, la connettività e i componenti

Il concetto, la connettività e i componenti
Il concetto, la connettività e i componenti

Il concetto come mostrato sopra è quello di consentire il monitoraggio della temperatura in remoto con la capacità aggiuntiva di rilevare il movimento se qualcuno è in casa e consentire la notifica tramite LED. È possibile accedere all'unità localmente nella LAN o in remoto tramite webserver. Puoi anche collegare Raspberry pie (opzionale) con l'accessorio Homekit installato per consentire la connessione all'App iPhone "Home".

Come nella versione precedente, in questo progetto sono richiesti i seguenti componenti, si prega di notare che il link sottostante è un link di affiliazione, quindi se non vuoi contribuire, vai direttamente.

- Scheda di sviluppo NodeMcu Lua ESP8266. Prendo il mio da Banggood.

- Sensore di temperatura LM35

- Sensore PIR

- GUIDATO

- Scheda prototipo

- Arduino IDE

- Server web funzionante con script del server php abilitato

- Raspberry pi (opzionale)

Passaggio 2: far funzionare l'IDE Arduino

Fai funzionare l'IDE Arduino
Fai funzionare l'IDE Arduino

Per i dettagli su questo passaggio, vedere le mie istruzioni precedenti Passaggio 2. sul sensore di temperatura IoT con ESP8266.

Passaggio 3: collegamento del sensore di temperatura, LED e PIR

Collegamento del sensore di temperatura, LED e PIR
Collegamento del sensore di temperatura, LED e PIR
Collegamento del sensore di temperatura, LED e PIR
Collegamento del sensore di temperatura, LED e PIR
Collegamento del sensore di temperatura, LED e PIR
Collegamento del sensore di temperatura, LED e PIR

Il sensore di temperatura LM35 ha 3 gambe, la prima gamba è VCC, è possibile collegarla a 3,3 V (l'uscita della scheda ESP8266 è 3,3 V). La gamba centrale è Vout (da dove viene letta la temperatura, puoi collegarla all'ingresso analogico del pin AD0 di ESP8266, questo si trova nella parte in alto a destra della scheda come mostrato nell'immagine. E la gamba destra dovrebbe essere collegato a terra.

Anche il sensore PIR è composto da 3 gambe, è possibile vedere un piccolo segno di +, 0, - sul PCB accanto alla gamba. Quindi collega "+" a 3,3 V, "-" a terra e il pin centrale "0" al pin D6 di ESP8266.

Il LED aveva solo 2 gambe, "+" (Anodo), la gamba più lunga collegala al pin D5 di ESP8266 e "-" (catodo) le gambe più corte dovrebbero essere collegate a terra (GND).

Passaggio 4: configurazione del server web cloud

C'è una certa ipotesi per questo passaggio:

Hai già un server web funzionante, ospitato in un dominio appropriato. E hai familiarità con il trasferimento di file nel tuo server web tramite FTP utilizzando Filezilla o qualche altro programma FTP.

Carica il file zip allegato nella radice del tuo sito web. Supponiamo che per questo esercizio il tuo sito web sia "https://arduinotestbed.com"

Si presume che tutto il file si trovi nella radice del server web, se lo hai archiviato in un'altra cartella, regola la posizione del file di conseguenza sia nel file ArduinoData3.php che nello sketch Arduino. Se non sei sicuro, fammelo sapere e farò del mio meglio per aiutarti.

Passaggio 5: impostazione del database per contenere i dati della temperatura

Impostazione del database per contenere i dati della temperatura
Impostazione del database per contenere i dati della temperatura
Impostazione del database per contenere i dati della temperatura
Impostazione del database per contenere i dati della temperatura
Impostazione del database per contenere i dati della temperatura
Impostazione del database per contenere i dati della temperatura

stiamo usando il database sqllite per questo esercizio. Sqllite è il database basato su file leggero che non richiede un server. Il database si trova localmente nel tuo server web. Se sei preoccupato per la sicurezza, dovresti modificare il codice per utilizzare un server di database appropriato come mysql o MSSQL.

Prima di iniziare è necessario modificare la password del database che si trova nel file phpliteadmin.php. Quindi apri questo file nel tuo server web e modifica le informazioni sulla password nella riga 91 con la password che desideri.

Quindi punta a phpliteadmin.php nel tuo server web. Usando il nostro esempio prima dovresti puntare a

Poiché non c'è un database nel server, ti verrà presentata la schermata per creare il database. Immettere "temperature.db" nella casella di input del nuovo database e fare clic sul pulsante "Crea". Il database verrà quindi creato correttamente. A questo punto il database è ancora vuoto quindi sarà necessario lo script sql per creare la struttura della tabella del database per ospitare i dati.

Passaggio 6: creare la tabella "temperatura"

Crea il
Crea il
Crea il
Crea il

Per creare la tabella, fare clic sulla scheda "SQL" e incollare la seguente query sql.

INIZIA TRANSAZIONE;

---- -- Struttura della tabella per la temperatura ---- CREATE TABLE 'temperature' ('ID' INTEGER PRIMARY KEY NOT NULL, umidità INT NOT NULL, temperatura REAL, timestamp DATETIME DEFAULT CURRENT_TIMESTAMP, 'heater' BOOLEAN, 'goaltemp' VERO); COMMETTERE;

Quindi fare clic sul pulsante "Vai" in basso. La tabella dovrebbe essere creata correttamente.

Se aggiorni la pagina, ora dovresti vedere la tabella "temperature" sotto il database temperature.db sul lato sinistro. Se si fa clic sulla tabella delle temperature, se ancora non contiene dati.

Ora che abbiamo creato il database puoi puntare al seguente URL

arduinotestbed.com/ArduinoData3.php

Vedresti il quadrante della temperatura che mostra dati fittizi, il sensore di movimento e il pannello di controllo per accendere il LED. La parte inferiore del grafico sarà ancora vuota perché non ci sono ancora dati.

Passaggio 7: carica lo schizzo del sensore di temperatura sul tuo ESP8266

Carica lo schizzo del sensore di temperatura sul tuo ESP8266
Carica lo schizzo del sensore di temperatura sul tuo ESP8266
Carica lo schizzo del sensore di temperatura sul tuo ESP8266
Carica lo schizzo del sensore di temperatura sul tuo ESP8266
Carica lo schizzo del sensore di temperatura sul tuo ESP8266
Carica lo schizzo del sensore di temperatura sul tuo ESP8266

Ora copia tutto il file allegato e apri "ESP8266TempPIRSensor.ino" l'interfaccia Arduino creerà la cartella per te. Sposta il resto dei file nella nuova cartella creata dall'interfaccia Arduino.

Modificare il server web specificato e la posizione del file data_store3.php se necessario. Quindi carica lo schizzo su ESP8266.

Se tutto va bene, dovrebbe essere caricato correttamente e la prima volta che l'ESP entrerà in modalità AP. Puoi usare il tuo laptop o telefono cellulare per connetterti. Dovresti essere in grado di trovare l'AP con il nome di "ESP-TEMP".- Prova a connetterti a ESP-TEMP usando il tuo laptop o cellulare - Scopri qual è l'indirizzo IP che ti viene assegnato, facendo il Comando "ipconfig" in Windows o comando "ifconfig" in Linux o Mac. - Se stai utilizzando un iPhone, fai clic sul pulsante i accanto a ESP-TEMP a cui sei connesso - Apri il browser e punta a ESP-TEMP, se ti è stato assegnato 192.168.4.10 come IP, ESP-TEMP sta avendo l'ip di 192.168.4.1, quindi puoi semplicemente andare su https://192.168.4.1 e dovresti essere presentato con la pagina delle impostazioni in cui puoi inserire il tuo router wifi ssid e la chiave psk. una volta inseriti entrambi e spuntare la casella di controllo "Aggiorna configurazione Wi-Fi", fare clic su "Aggiorna" per aggiornare l'impostazione sul tuo ESP8266.

Se vuoi attivare il debug sul monitor seriale dovrai decommentare il

#define DEBUG

line nell'orologio.h e ha commentato il

//#undef DEBUG

linea. quindi fare clic su Strumenti->Serial Monitor. La finestra del monitor seriale ti mostrerà l'avanzamento della connessione wifi e mostrerà l'indirizzo IP locale di ESP8266. Il LED blu interno lampeggerà una volta quando avviene la lettura della temperatura. Si accenderà anche quando viene rilevato un movimento.

Passaggio 8: accesso al sensore di temperatura e movimento

Accesso al sensore di temperatura e movimento
Accesso al sensore di temperatura e movimento
Accesso al sensore di temperatura e movimento
Accesso al sensore di temperatura e movimento

Ora dovresti essere in grado di puntare ancora una volta al server web locale di ESP8266. E questo mostrerà l'ora, la temperatura e il sensore di movimento.

Ora puoi anche puntare al tuo server web esterno, in questo esempio è

È possibile far scorrere il pulsante sotto il pannello di controllo per attivare il LED. Lo uso per avvisare i miei figli quando torno a casa dal lavoro.

Il sensore di movimento viene aggiornato ogni secondo circa, quindi dovrai aggiornare la pagina più spesso per vedere se viene rilevato un movimento. Al momento l'aggiornamento automatico è impostato su 60 secondi. La temperatura verrà rilevata ogni paio di minuti, ma puoi regolare anche questa all'ora che preferisci.

Congratulazioni se sei arrivato fin qui!!, datti una pacca sulle spalle e goditi la tua creazione. Il passaggio successivo è facoltativo, solo se desideri essere in grado di controllare il LED e monitorare la temperatura e il sensore di movimento dai dispositivi Apple.

Passaggio 9: installa HomeBridge per HomeKit in Raspberry Pi (opzionale)

Installa HomeBridge per HomeKit in Raspberry Pi (opzionale)
Installa HomeBridge per HomeKit in Raspberry Pi (opzionale)

Sono stato ispirato dalle istruzioni di GalenW1 che mi permettono di imparare così tanto su HomeBridge.

Per installare HomeBridge per HomeKit su un Raspberry Pi è possibile utilizzare le istruzioni di seguito

github.com/nfarina/homebridge

HomeBridge ti permette di connettere l'App Home in Iphone ai sensori che hai appena costruito nei passaggi precedenti.

Una volta installato HomeBridge, devi installare alcuni plugin:

- Termometro

- Sensore di movimento

- Interruttore

sudo npm install -g homebridge-http-temperature

sudo npm install -g homebridge-MotionSensor

sudo npm install -g homebridge-http-simple-switch

Una volta installato il plugin, dovrai configurare il file config.json che si trova di seguito

sudo vi /home/pi/.homebridge/config.json

puoi regolare il contenuto del file config.json come di seguito, assicurati che l'URL punti alla posizione corretta.

{ "bridge": { "name": "Homebridge", "username": "CC:22:3D:E3:CE:30", "port": 51886, "pin": "031-45-154" }, "description": "Questo è il file di configurazione di HomeBridge, aggiungi altri accessori e piattaforma.", "accessories": [{ "accessory": "HttpTemperature", "name": "Living Room Temp", "url": "https://arduinotestbed.com/temp.txt", "http_method": "GET", "field_name": "" }, { "accessory": "Motion", "name": "Motion Sensor on my Desk", " url": "https://arduinotestbed.com/motion_data.php?json=true", "http_method": "GET", "json_response": "motion" }, { "accessory": "SimpleHttpSwitch", "name": "Light Switch", "url": "https://arduinotestbed.como/setlight.php", "http_method": "POST", "default_state_off": true, "sendimmediately": "" }] }

Passaggio 10: collegamento di Homebridge al tuo Iphone

Collegamento di Homebridge al tuo Iphone
Collegamento di Homebridge al tuo Iphone
Collegamento di Homebridge al tuo Iphone
Collegamento di Homebridge al tuo Iphone
Collegamento di Homebridge al tuo Iphone
Collegamento di Homebridge al tuo Iphone

Ora che tutti gli accessori sono stati configurati, puoi eseguire l'homebridge usando il seguente comando

homebridge

Dovresti vedere la schermata come sopra. Puoi seguire il seguente passaggio per aggiungere Homebridge al tuo homekit.

- Ora avvia la tua app "Home" sul tuo Iphone

- Fare clic sul pulsante "Aggiungi accessori"

- ti verrà presentato lo schermo per scansionare il codice, puoi usare la fotocamera del tuo telefono per scansionare il codice dalla schermata Raspberry Pi o aggiungere il codice manualmente.

Tieni presente che sia Iphone che Raspberry Pi devono essere sullo stesso router wireless per funzionare.

- Una volta connesso ti verrà chiesto con la schermata che dice che i tuoi accessori non sono certificati, fai clic sul pulsante "Aggiungi comunque" per continuare

- Avrai quindi la possibilità di configurare ciascuno degli accessori, in questo caso abbiamo l'interruttore della luce, il sensore di movimento e il sensore di temperatura.

- La schermata finale ti mostrerà tutti gli accessori collegati.

Una volta connesso, puoi usare Siri per controllare il sensore di movimento, la temperatura e accendere e spegnere la luce.

Passaggio 11: fai funzionare il tuo Homebridge in background

Fai funzionare il tuo Homebridge in background
Fai funzionare il tuo Homebridge in background
Fai funzionare il tuo Homebridge in background
Fai funzionare il tuo Homebridge in background
Fai funzionare il tuo Homebridge in background
Fai funzionare il tuo Homebridge in background

Congratulazioni!! l'hai fatto. Come bonus puoi eseguire homebridge in background usando il seguente comando:

homebridge &

Ora puoi divertirti con Siri e goderti il tuo duro lavoro.

Grazie per averlo seguito fino alla fine. Se ti piace, lascia qualche commento o votami.

Consigliato: