Sadržaj:

IoT bežični senzor temperature i pokreta: 11 koraka (sa slikama)
IoT bežični senzor temperature i pokreta: 11 koraka (sa slikama)

Video: IoT bežični senzor temperature i pokreta: 11 koraka (sa slikama)

Video: IoT bežični senzor temperature i pokreta: 11 koraka (sa slikama)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Juli
Anonim
IoT bežični senzor temperature i pokreta
IoT bežični senzor temperature i pokreta

Inspirirali su me mnogi IoT projekti koji se nalaze u Instructables -u, pa u procesu učenja pokušavam kombinirati neke korisne aplikacije koje su relevantne. Kao proširenje mojih prethodnih instrukcija vezanih za IoT temperaturni senzor, sada sam dodao više mogućnosti u podsistem. Dodatne funkcije su:

- NTP veza za dobijanje vremena

- LED koji se može daljinski upravljati

- PIR senzor za detekciju pokreta

- Povezani Raspberry PI koji pokreće homekit za omogućavanje povezivanja na iPhone "Home"

Korak 1: Koncept, povezanost i komponente

Koncept, povezanost i komponente
Koncept, povezanost i komponente

Gore prikazani koncept je omogućiti daljinsko praćenje temperature s dodatnom mogućnošću detekcije kretanja ako je netko kod kuće i omogućiti obavijest putem LED diode. Jedinici se može pristupiti lokalno na LAN -u ili daljinski putem web servera. Također možete povezati Raspberry pie (opcionalno) s instaliranom dodatnom opremom Homekit kako biste omogućili povezivanje s iPhone "Home" aplikacijom.

Kao i prethodna verzija, sljedeće komponente su potrebne u ovom projektu. Imajte na umu da je donja veza partnerska veza, pa ako ne želite dati svoj doprinos, idite direktno.

- NodeMcu Lua ESP8266 ploča za razvoj. Ja svoje dobivam od banggooda.

- Senzor temperature LM35

- PIR senzor

- LED

- Prototipna ploča

- Arduino IDE

- Rad web servera sa omogućenim skriptama php servera

- malina pi (nije obavezno)

Korak 2: Uključite Arduino IDE

Pokrenite Arduino IDE za rad
Pokrenite Arduino IDE za rad

Za detalje o ovom koraku, pogledajte moje ranije upute Korak 2. na IoT Temperaturnom senzoru s ESP8266.

Korak 3: Povezivanje temperaturnog senzora, LED i PIR

Povezivanje temperaturnog senzora, LED i PIR
Povezivanje temperaturnog senzora, LED i PIR
Povezivanje temperaturnog senzora, LED i PIR
Povezivanje temperaturnog senzora, LED i PIR
Povezivanje temperaturnog senzora, LED i PIR
Povezivanje temperaturnog senzora, LED i PIR

Senzor temperature LM35 ima 3 noge, prva noga je VCC, možete je spojiti na 3,3 V (izlaz ESP8266 ploče je 3,3 V). Srednji krak je Vout (odakle se očitava temperatura, ovo možete spojiti na analogni ulaz ESP8266 pina AD0, koji se nalazi na gornjoj desnoj strani ploče kao što je prikazano na slici. A desna noga bi trebala biti spojen na uzemljenje.

PIR senzor se sastoji i od 3 nožice, možete vidjeti sitnu oznaku +, 0, - na PCB -u pored noge. Zato spojite "+" na 3.3V, "-" na masu, a srednji pin "0" na pin D6 ESP8266.

LED je imao samo 2 kraka, "+" (anoda), što je duža noga spojena na pin D5 ESP8266 i "-" (katoda), kraće noge treba spojiti na masu (GND).

Korak 4: Postavljanje Cloud web poslužitelja

Za ovaj korak postoje određene pretpostavke:

Već imate radni web poslužitelj, hostiran na odgovarajućoj domeni. Upoznati ste s prenosom datoteka na vaš web poslužitelj putem FTP -a pomoću Filezille ili nekog drugog FTP programa.

Otpremite priloženu zip datoteku u korijen vaše web stranice. Pretpostavimo da je za ovu vježbu vaša web stranica "https://arduinotestbed.com"

Pretpostavlja se da se sva datoteka nalazi u korijenu web poslužitelja, ako ste je spremili u drugu mapu, prilagodite lokaciju datoteke u skladu s tim u ArduinoData3.php datoteci i Arduino skici. Ako niste sigurni, obavijestite me i pokušat ću najbolje što mogu da vam pomognem.

Korak 5: Postavljanje baze podataka za držanje podataka o temperaturi

Postavljanje baze podataka za držanje podataka o temperaturi
Postavljanje baze podataka za držanje podataka o temperaturi
Postavljanje baze podataka za držanje podataka o temperaturi
Postavljanje baze podataka za držanje podataka o temperaturi
Postavljanje baze podataka za držanje podataka o temperaturi
Postavljanje baze podataka za držanje podataka o temperaturi

za ovu vježbu koristimo sqllite bazu podataka. Sqllite je baza podataka zasnovana na lakim datotekama za koju nije potreban server. Baza podataka se nalazi lokalno na vašem web serveru. Ako ste zabrinuti za sigurnost, trebate promijeniti kôd tako da koristi odgovarajući server baze podataka poput mysql ili MSSQL.

Prije nego počnete, morate promijeniti lozinku baze podataka koja se nalazi u datoteci phpliteadmin.php. Zato otvorite ovu datoteku na svom web poslužitelju i uredite podatke o lozinci u retku 91 sa lozinkom koju želite.

Zatim pokažite na phpliteadmin.php na svom web poslužitelju. Koristeći naš primjer prije nego što pokažete na

Budući da na serveru nema baze podataka, prikazat će vam se zaslon za stvaranje baze podataka. Unesite "temperature.db" u novo polje za unos baze podataka i kliknite na dugme "Kreiraj". Baza podataka će se tada uspješno kreirati. U ovom trenutku baza podataka je još uvijek prazna pa će vam trebati sql skripta za kreiranje strukture tablice baze podataka za hostovanje podataka.

Korak 6: Kreirajte tablicu "temperatura"

Kreirajte
Kreirajte
Kreirajte
Kreirajte

Da biste stvorili tablicu, kliknite karticu "SQL" i zalijepite sljedeći sql upit.

POČNITE TRANSAKCIJU;

-----Struktura tablice za temperaturu ---- CREATE TABLE 'temperature' ('ID' INTEGER PRIMARNI KLJUČ NULL, vlažnost INT NOT NULL, temperatura REAL, vremenska oznaka DATETIME DEFAULT CURRENT_TIMESTAMP, 'grijač' BOOLEAN, 'goaltemp' REAL); COMMIT;

Zatim kliknite na dugme "Idi" pri dnu. Tablicu treba uspješno kreirati.

Ako osvježite stranicu, sada biste trebali vidjeti tablicu "temperatura" ispod baze podataka temperature.db na lijevoj strani. Ako kliknete na tablicu temperature ako i dalje nema podataka.

Sada kada smo stvorili bazu podataka, možete ukazati na sljedeći url

arduinotestbed.com/ArduinoData3.php

Vidjeli biste da regulator temperature prikazuje lažne podatke, senzor pokreta i upravljačku ploču kako biste okrenuli LED. Donji dio grafikona i dalje će biti prazan jer još nema podataka.

Korak 7: Prenesite skicu osjetnika temperature na svoj ESP8266

Prenesite skicu osjetnika temperature na svoj ESP8266
Prenesite skicu osjetnika temperature na svoj ESP8266
Prenesite skicu osjetnika temperature na svoj ESP8266
Prenesite skicu osjetnika temperature na svoj ESP8266
Prenesite skicu osjetnika temperature na svoj ESP8266
Prenesite skicu osjetnika temperature na svoj ESP8266

Sada kopirajte svu priloženu datoteku i otvorite "ESP8266TempPIRSensor.ino" Arduino sučelje će stvoriti mapu za vas. Premjestite ostatak datoteka u novu mapu koju je kreiralo sučelje Arduino.

Izmijenite navedeni web poslužitelj i lokaciju datoteke data_store3.php ako je potrebno. Zatim otpremite skicu na ESP8266.

Ako sve prođe u redu, trebalo bi ga uspješno učitati i prvi put će ESP preći u način rada za pristup. Za povezivanje možete koristiti prijenosno računalo ili mobilni telefon. Trebali biste biti u mogućnosti pronaći AP pod imenom "ESP-TEMP".- Pokušajte se povezati s ESP-TEMP-om pomoću prijenosnog računara mobilnog telefona- Saznajte koja je IP adresa kojoj ste dodijeljeni tako što ćete Naredba "ipconfig" u Windowsima ili "ifconfig" naredba u linuxu ili macu. -Ako koristite iphone, kliknite na dugme i pored ESP-TEMP-a na koji ste povezani ima ip 192.168.4.1, pa možete samo otići na https://192.168.4.1 i prikazati će vam se stranica s postavkama na kojoj možete unijeti ssid vašeg WiFi rutera i ključ psk. nakon što unesete oboje i označite potvrdni okvir "Update Wifi Config", kliknite na "update" da ažurirate postavku na svoj ESP8266.

Ako želite uključiti otklanjanje pogrešaka na serijskom monitoru, morat ćete ukloniti komentare iz datoteke

#define DEBUG

red u satu.h i komentirao

//#undef DEBUG

linija. zatim kliknite na Tools-> Serial Monitor. Prozor serijskog monitora pokazat će vam napredak WiFi veze i lokalnu IP adresu ESP8266. Unutrašnja plava LED lampica će jednom zatreperiti kada dođe do očitanja temperature. Uključit će se i kada se otkrije pokret.

Korak 8: Pristupanje vašem senzoru temperature i pokreta

Pristupanje vašem senzoru temperature i pokreta
Pristupanje vašem senzoru temperature i pokreta
Pristupanje vašem senzoru temperature i pokreta
Pristupanje vašem senzoru temperature i pokreta

Sada biste trebali moći ponovno ukazati na lokalni web poslužitelj ESP8266. Ovo će pokazati vrijeme, temperaturu i senzor pokreta.

Sada možete ukazati i na vanjski web poslužitelj, u ovom primjeru je

Možete prevući dugme ispod kontrolne table da biste uključili LED. Koristim ovo da obavijestim svoju djecu kad se vraćam s posla kući.

Senzor pokreta se ažurira otprilike svake sekunde, pa ćete morati češće osvježavati stranicu da vidite da li je otkriveno kretanje. Trenutno je automatsko osvježavanje postavljeno na 60 sekundi. Temperatura će se očitavati svakih nekoliko minuta, ali i ovo možete prilagoditi vremenu koje vam odgovara.

Čestitamo ako ste uspjeli tako daleko !!, potapšajte se po leđima i uživajte u svom stvaranju. Sljedeći korak nije obavezan, samo ako želite kontrolirati LED diodu i pratiti temperaturu, kao i senzor pokreta s Apple uređaja.

Korak 9: Instalirajte HomeBridge za HomeKit u Raspberry Pi (izborno)

Instalirajte HomeBridge za HomeKit u Raspberry Pi (izborno)
Instalirajte HomeBridge za HomeKit u Raspberry Pi (izborno)

Inspirisan sam instrukcijama sa GalenW1 koje mi omogućavaju da naučim toliko o HomeBridge -u.

Da biste instalirali HomeBridge za HomeKit na Raspberry Pi, možete koristiti upute u nastavku

github.com/nfarina/homebridge

HomeBridge vam omogućava da povežete aplikaciju Home na iPhoneu sa senzorima koje ste upravo izgradili u prethodnim koracima.

Ako instalirate HomeBridge, morate instalirati nekoliko dodataka:

- Senzor temperature

- Senzor pokreta

- Prebaci

sudo npm install -g homebridge-http-temperature

sudo npm install -g homebridge -MotionSensor

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

Nakon što se dodatak instalira, morat ćete konfigurirati datoteku config.json koja se nalazi ispod

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

možete prilagoditi sadržaj datoteke config.json prema dolje, provjerite je li url usmjeren na ispravnu lokaciju.

Korak 10: Povežite Homebridge sa svojim iPhoneom

Povezivanje kućnog mosta sa vašim iPhoneom
Povezivanje kućnog mosta sa vašim iPhoneom
Povezivanje kućnog mosta sa vašim iPhoneom
Povezivanje kućnog mosta sa vašim iPhoneom
Povezivanje kućnog mosta sa vašim iPhoneom
Povezivanje kućnog mosta sa vašim iPhoneom

Sada kada je sva dodatna oprema konfigurirana, možete pokrenuti homebridge pomoću sljedeće naredbe

homebridge

Trebali biste vidjeti ekran kao gore. Možete slijediti sljedeći korak da biste dodali Homebridge u svoj homekit.

- Sada pokrenite aplikaciju "Home" na svom iPhoneu

- Pritisnite dugme "Dodaj pribor"

- prikazat će vam se zaslon za skeniranje koda, kamerom telefona možete skenirati kôd s ekrana Raspberry Pi ili ručnim dodavanjem koda.

Imajte na umu da i iPhone i Raspberry Pi moraju raditi na istom bežičnom usmjerivaču da bi radili.

- Kada se povežete, od vas će biti zatraženo da prikažete ekran na kojem piše da vaš pribor nije certificiran, kliknite gumb "Svejedno dodaj" za nastavak

- Tada ćete imati mogućnost konfiguriranja svakog pribora, u ovom slučaju imamo prekidač za svjetlo, senzor pokreta i osjetnik temperature.

- Završni ekran će vam pokazati svu dodatnu opremu koja je povezana.

Kada se povežete, pomoću Siri možete provjeriti senzor pokreta, temperaturu i uključiti i isključiti svjetlo.

Korak 11: Pokrenite svoj kućni most u pozadini

Pokrenite svoj kućni most u pozadini
Pokrenite svoj kućni most u pozadini
Pokrenite svoj kućni most u pozadini
Pokrenite svoj kućni most u pozadini
Pokrenite svoj kućni most u pozadini
Pokrenite svoj kućni most u pozadini

Congratulations !! uradili ste to. Kao bonus, možete pokrenuti homebridge u pozadini pomoću sljedeće naredbe:

kućni most i

Sada se možete zabaviti sa Siri i uživati u svom trudu.

Hvala vam što ste ovo pratili do kraja. Ako vam se ovo sviđa, ostavite neke komentare ili glasajte za mene.

Preporučuje se: