Cuprins:

Senzor de temperatură și mișcare fără fir IoT: 11 pași (cu imagini)
Senzor de temperatură și mișcare fără fir IoT: 11 pași (cu imagini)

Video: Senzor de temperatură și mișcare fără fir IoT: 11 pași (cu imagini)

Video: Senzor de temperatură și mișcare fără fir IoT: 11 pași (cu imagini)
Video: Пошаговое подключение и настройка поворотной Wi-Fi IP-камеры видеонаблюдения 2024, Iulie
Anonim
Senzor de temperatură și mișcare fără fir IoT
Senzor de temperatură și mișcare fără fir IoT

Am fost inspirat de numeroasele proiecte IoT care se află în Instructables, așa că în procesul de învățare încerc să combin câteva aplicații utile care sunt relevante. Ca extensie la instructabilele mele anterioare legate de senzorul de temperatură IoT, am adăugat acum mai multe funcții subsistemului. Funcționalitățile adăugate sunt:

- Conexiune NTP pentru a obține timpul

- LED care poate fi controlat de la distanță

- Senzor PIR pentru a detecta mișcarea

- Raspberry PI conectat care rulează homekit pentru a permite conectarea la iPhone „Home”

Pasul 1: Conceptul, conectivitatea și componentele

Conceptul, conectivitatea și componentele
Conceptul, conectivitatea și componentele

Conceptul prezentat mai sus este de a permite monitorizarea temperaturii de la distanță, cu capacitatea suplimentară de a detecta mișcarea dacă cineva este acasă și de a permite notificarea prin LED. Unitatea poate fi accesată local în rețeaua LAN sau de la distanță prin intermediul serverului web. De asemenea, puteți conecta plăcinta cu zmeură (opțional) cu accesoriul Homekit instalat pentru a permite conectarea la aplicația iPhone „Acasă”.

La fel ca și versiunea anterioară, sunt necesare următoarele componente în acest proiect, vă rugăm să rețineți că linkul de mai jos este un link afiliat, deci dacă nu doriți să contribuiți, mergeți direct.

- NodeMcu Lua ESP8266 dev board. O primesc pe a mea de la banggood.

- Senzor de temperatură LM35

- Senzor PIR

- LED

- Placă prototip

- ID Arduino

- Server web funcțional cu scriptarea serverului php activat

- Raspberry pi (Opțional)

Pasul 2: Puneți la dispoziție ID-ul Arduino

Obțineți funcția IDE Arduino
Obțineți funcția IDE Arduino

Pentru detalii cu privire la acest pas, vă rugăm să consultați pasul meu anterior instructabile Pasul 2. pe senzorul de temperatură IoT cu ESP8266.

Pasul 3: Conectarea senzorului de temperatură, LED-ului și PIR

Conectarea senzorului de temperatură, LED și PIR
Conectarea senzorului de temperatură, LED și PIR
Conectarea senzorului de temperatură, LED și PIR
Conectarea senzorului de temperatură, LED și PIR
Conectarea senzorului de temperatură, LED și PIR
Conectarea senzorului de temperatură, LED și PIR

Senzorul de temperatură LM35 are 3 picioare, primul picior este VCC, îl puteți conecta la 3.3V (ieșirea plăcii ESP8266 este de 3.3V). Piciorul din mijloc este Vout (de unde se citește temperatura, îl puteți conecta la intrarea analogică a pinului ESP0266 AD0, acesta este situat în partea dreaptă sus a plăcii, așa cum se arată în imagine. Și piciorul drept ar trebui să fie conectat la sol.

Senzorul PIR constă și din 3 picioare, puteți vedea un mic marcaj de +, 0, - pe PCB lângă picior. Deci conectați „+” la 3,3 V, „-” la sol și pinul central „0” la pinul D6 al ESP8266.

LED-ul avea doar 2 picioare, „+” (anod), cu cât piciorul mai lung îl conectează la pinul D5 al ESP8266 și „-” (catod), picioarele mai scurte ar trebui conectate la masă (GND).

Pasul 4: Configurarea serverului Web Cloud

Există o anumită presupunere pentru acest pas:

Aveți deja un server web funcțional, găzduit într-un domeniu adecvat. Și sunteți familiarizat cu transferul de fișiere în serverul dvs. web prin FTP utilizând Filezilla sau alt program FTP.

Încărcați fișierul zip atașat la rădăcina site-ului dvs. web. Să presupunem că pentru acest exercițiu site-ul dvs. web este „https://arduinotestbed.com”

Se presupune că întregul fișier este situat în rădăcina serverului web, dacă îl aveți stocat într-un alt folder, vă rugăm să ajustați locația fișierului în mod corespunzător atât în fișierul ArduinoData3.php, cât și în schița Arduino. Dacă nu sunteți sigur, vă rugăm să ne anunțați și voi încerca tot ce pot pentru a vă ajuta.

Pasul 5: Configurarea bazei de date pentru a păstra datele de temperatură

Configurarea bazei de date pentru a păstra datele de temperatură
Configurarea bazei de date pentru a păstra datele de temperatură
Configurarea bazei de date pentru a păstra datele de temperatură
Configurarea bazei de date pentru a păstra datele de temperatură
Configurarea bazei de date pentru a păstra datele de temperatură
Configurarea bazei de date pentru a păstra datele de temperatură

folosim baza de date sqllite pentru acest exercițiu. Sqllite este baza de date bazată pe fișiere ușoare care nu necesită un server. Baza de date este localizată local în serverul dvs. web. Dacă sunteți îngrijorat de securitate, atunci ar trebui să modificați codul pentru a utiliza un server de baze de date adecvat, cum ar fi mysql sau MSSQL.

Înainte de a începe, trebuie să modificați parola bazei de date aflată în fișierul phpliteadmin.php. Deci, deschideți acest fișier în serverul dvs. web și editați informațiile despre parolă în linia 91 la parola dorită.

Apoi indicați spre phpliteadmin.php în serverul dvs. web. Folosind exemplul nostru înainte de a arăta spre

Deoarece nu există o bază de date în server, vi se va prezenta ecranul pentru a crea baza de date. Introduceți „temperature.db” în noua casetă de introducere a bazei de date și faceți clic pe butonul „Create”. Baza de date va fi apoi creată cu succes. În acest moment, baza de date este încă goală, deci veți avea nevoie de scriptul sql pentru a crea structura tabelului bazei de date pentru a găzdui datele.

Pasul 6: Creați tabelul „temperatură”

Creați
Creați
Creați
Creați

Pentru a crea tabelul, faceți clic pe fila „SQL” și lipiți în următoarea interogare sql.

ÎNCEPE TRANZACȚIA;

---- - Structura tabelului pentru temperatură ---- CREAȚI TABELUL „temperatură” („ID” TASTĂ PRIMARĂ INTEGRĂ NU NULĂ, umiditate INT NU NULĂ, temperatură REALĂ, timestamp DATETIME DEFAULT CURRENT_TIMESTAMP, „încălzitor” BOOLEAN, „goaltemp” REAL); COMITIA;

Apoi faceți clic pe butonul „Go” din partea de jos. Tabelul ar trebui creat cu succes.

Dacă reîmprospătați pagina, ar trebui să vedeți acum tabelul „temperatură” din baza de date temperature.db din partea stângă. Dacă faceți clic pe tabelul de temperatură, dacă încă nu conține date.

Acum că am creat baza de date, puteți indica următoarea adresă URL

arduinotestbed.com/ArduinoData3.php

Veți vedea cadranul de temperatură care afișează date fictive, senzorul de mișcare și panoul de control pentru a roti LED-ul. Partea de jos a graficului va fi în continuare goală, deoarece încă nu există date.

Pasul 7: încărcați schița senzorului de temperatură pe ESP8266

Încărcați schița senzorului de temperatură pe ESP8266
Încărcați schița senzorului de temperatură pe ESP8266
Încărcați schița senzorului de temperatură pe ESP8266
Încărcați schița senzorului de temperatură pe ESP8266
Încărcați schița senzorului de temperatură pe ESP8266
Încărcați schița senzorului de temperatură pe ESP8266

Acum copiați tot fișierul atașat și deschideți „ESP8266TempPIRSensor.ino” interfața Arduino vă va crea folderul. Mutați restul fișierelor în noul folder creat de interfața Arduino.

Modificați serverul web specificat și locația fișierului data_store3.php dacă este necesar. Apoi încărcați schița pe ESP8266.

Dacă totul merge bine, ar trebui încărcat cu succes și prima dată când ESP va intra în modul AP. Puteți utiliza laptopul sau telefonul mobil pentru a vă conecta la acesta. Ar trebui să puteți găsi AP-ul cu numele de "ESP-TEMP".- Încercați să vă conectați la ESP-TEMP folosind laptopul dvs. de telefon mobil - Aflați care este adresa IP căreia vi se atribuie, făcând Comanda "ipconfig" în Windows sau comanda "ifconfig" în Linux sau Mac. - Dacă utilizați iphone, faceți clic pe butonul i de lângă ESP-TEMP la care sunteți conectat - Deschideți browserul și indicați spre ESP-TEMP, dacă vi se atribuie 192.168.4.10 ca IP, ESP-TEMP are ip-ul 192.168.4.1, deci puteți merge doar la https://192.168.4.1 și ar trebui să vi se prezinte pagina de setări unde puteți introduce router-ul wifi ssid și cheia psk. după ce ați introdus ambele și bifați caseta de selectare „Actualizare configurare Wifi”, faceți clic pe „actualizare” pentru a actualiza setarea la ESP8266.

Dacă doriți să activați depanarea pe Serial Monitor, va trebui să descomentați

#define DEBUG

linie în ceas.h și a comentat

// # undef DEBUG

linia. apoi faceți clic pe Instrumente-> Monitor serial. Fereastra monitorului serial vă va arăta progresul conexiunii wifi și va afișa adresa IP locală a ESP8266. LED-ul albastru intern va clipi o dată când are loc citirea temperaturii. De asemenea, se va activa atunci când este detectată o mișcare.

Pasul 8: Accesarea senzorului de temperatură și mișcare

Accesarea senzorului de temperatură și mișcare
Accesarea senzorului de temperatură și mișcare
Accesarea senzorului de temperatură și mișcare
Accesarea senzorului de temperatură și mișcare

Acum ar trebui să puteți indica din nou către serverul de internet local al ESP8266. Și aceasta va arăta ora, temperatura și senzorul de mișcare.

Acum puteți indica, de asemenea, serverul dvs. web extern, în acest exemplu este

Puteți glisa butonul sub panoul de control pentru a comuta LED-ul. Folosesc acest lucru pentru a-mi anunța copiii când mă întorc acasă de la serviciu.

Senzorul de mișcare este actualizat la fiecare câteva secunde, așa că va trebui să reîmprospătați pagina mai des pentru a vedea dacă este detectată o mișcare. În acest moment, reîmprospătarea automată este setată la 60 de secunde. Temperatura va dura citirea la fiecare câteva minute, dar o puteți regla și la timpul potrivit.

Felicitări dacă ai ajuns până aici !!, dă-ți o palmă în spate și bucură-te de creația ta. Următorul pas este opțional, doar dacă doriți să puteți controla LED-ul și să monitorizați temperatura, precum și senzorul de mișcare de pe dispozitivele Apple.

Pasul 9: Instalați HomeBridge for HomeKit în Raspberry Pi (opțional)

Instalați HomeBridge pentru HomeKit în Raspberry Pi (opțional)
Instalați HomeBridge pentru HomeKit în Raspberry Pi (opțional)

Am fost inspirat de instructibilele de la GalenW1 care îmi permit să aflu atât de multe despre HomeBridge.

Pentru a instala HomeBridge pentru HomeKit pe un Raspberry Pi, puteți utiliza instrucțiunile de mai jos

github.com/nfarina/homebridge

HomeBridge vă permite să conectați aplicația Home în Iphone la senzorii pe care tocmai îi construiți în pașii anteriori.

Unul dintre care aveți instalat HomeBridge, trebuie să instalați câteva pluginuri:

- Senzor de temperatura

- Senzor de mișcare

- Intrerupator

sudo npm instala -g homebridge-http-temperature

sudo npm install -g homebridge-MotionSensor

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

Odată ce pluginul este instalat, va trebui să configurați fișierul config.json aflat mai jos

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

puteți ajusta conținutul fișierului config.json conform celor de mai jos, vă rugăm să vă asigurați că adresa URL indică locația corectă.

Pasul 10: Conectarea Homebridge la iPhone-ul dvs

Conectarea Homebridge la iPhone-ul dvs
Conectarea Homebridge la iPhone-ul dvs
Conectarea Homebridge la iPhone-ul dvs
Conectarea Homebridge la iPhone-ul dvs
Conectarea Homebridge la iPhone-ul dvs
Conectarea Homebridge la iPhone-ul dvs

Acum că toate accesoriile au fost configurate, puteți rula homebridge-ul folosind următoarea comandă

homebridge

Ar trebui să vedeți ecranul ca mai sus. Puteți urma următorul pas pentru a adăuga Homebridge-ul la homekit.

- Acum porniți aplicația „Acasă” în Iphone

- Faceți clic pe butonul „Adăugați accesorii”

- vi se va afișa ecranul pentru a scana codul, puteți utiliza camera telefonului pentru a scana codul de pe ecranul Raspberry Pi sau adăugând manual codul.

Vă rugăm să rețineți că atât Iphone, cât și Raspberry Pi trebuie să fie pe același router wireless pentru a funcționa.

- După conectare, vi se va solicita ecranul care spune că accesoriile dvs. nu sunt certificate, faceți clic pe butonul „Adăugați oricum” pentru a continua

- Veți avea apoi opțiunea de a configura fiecare dintre accesorii, în acest caz avem comutatorul de lumină, senzorul de mișcare și senzorul de temperatură.

- Ecranul final vă va arăta toate accesoriile conectate.

Odată ce este conectat, puteți utiliza Siri pentru a verifica senzorul de mișcare, temperatura și pentru a aprinde și opri lumina.

Pasul 11: Faceți Homebridge să ruleze în fundal

Faceți Homebridge să ruleze în fundal
Faceți Homebridge să ruleze în fundal
Faceți Homebridge să ruleze în fundal
Faceți Homebridge să ruleze în fundal
Faceți Homebridge să ruleze în fundal
Faceți Homebridge să ruleze în fundal

Felicitări!! ai făcut-o. Ca bonus puteți rula homebridge în fundal folosind următoarea comandă:

homebridge &

Acum poți să te distrezi cu Siri și să te bucuri de truda ta.

Vă mulțumim că ați urmat acest lucru până la sfârșit. Dacă vă place acest lucru, vă rugăm să lăsați câteva comentarii sau să mă votați.

Recomandat: