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, Studeni
Anonim
IoT bežični senzor temperature i pokreta
IoT bežični senzor temperature i pokreta

Nadahnuli 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 podsustav. Dodatne funkcije su:

- NTP veza za dobivanje vremena

- LED koji se može daljinski upravljati

- PIR senzor za detekciju pokreta

- Povezani Raspberry PI koji pokreće homekit za omogućavanje povezivanja s iPhoneom "Home"

Korak 1: Koncept, povezivost 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 otkrivanja 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 poslužitelja. 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 pridonijeti, idite izravno.

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

- LM35 osjetnik temperature

- PIR senzor

- LED

- Prototipna ploča

- Arduino IDE

- Radni web poslužitelj s omogućenim skriptiranjem php poslužitelja

- malina pi (nije obavezno)

Korak 2: Pokrenite Arduino IDE za rad

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: Spajanje temperaturnog osjetnika, LED i PIR

Spajanje temperaturnog osjetnika, LED i PIR
Spajanje temperaturnog osjetnika, LED i PIR
Spajanje temperaturnog osjetnika, LED i PIR
Spajanje temperaturnog osjetnika, LED i PIR
Spajanje temperaturnog osjetnika, LED i PIR
Spajanje temperaturnog osjetnika, LED i PIR

Senzor temperature LM35 ima 3 noge, prva noga je VCC, možete je spojiti na 3,3 V (izlaz ploče ESP8266 je 3,3 V). Srednji krak je Vout (odakle se očitava temperatura, to 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 tlo.

PIR senzor se sastoji i od 3 nožice, možete vidjeti sitnu oznaku +, 0, - na PCB -u pored noge. Spojite "+" na 3,3 V, "-" 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 trebaju biti spojene 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 prijenosom datoteka na svoj web poslužitelj putem FTP -a pomoću Filezille ili nekog drugog FTP programa.

Prenesite priloženu zip datoteku u korijen svoje 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 datotekom ArduinoData3.php i Arduino skicom. 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 koja se temelji na laganim datotekama i za koju nije potreban poslužitelj. Baza podataka nalazi se lokalno na vašem web poslužitelju. Ako ste zabrinuti zbog sigurnosti, trebate promijeniti kôd tako da koristi odgovarajući poslužitelj 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 na lozinku 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 poslužitelju nema baze podataka, prikazat će vam se zaslon za stvaranje baze podataka. Unesite "temperature.db" u novi okvir za unos baze podataka i kliknite gumb "Kreiraj". Baza podataka tada će se uspješno stvoriti. U ovom trenutku baza podataka je još uvijek prazna pa će vam trebati sql skripta za stvaranje strukture tablice baze podataka za hostiranje podataka.

Korak 6: Izradite tablicu "temperature"

Kreirajte
Kreirajte
Kreirajte
Kreirajte

Za izradu tablice 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' STVARAN); POČINITI;

Zatim kliknite gumb "Idi" pri dnu. Tablicu je potrebno uspješno stvoriti.

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

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

arduinotestbed.com/ArduinoData3.php

Vidjet ćete da regulator temperature prikazuje lažne podatke, senzor pokreta i upravljačku ploču za okretanje LED -a. 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 sve priložene datoteke i otvorite "ESP8266TempPIRSensor.ino", sučelje Arduino stvorit će mapu za vas. Premjestite ostatak datoteka u novu mapu koju je izradilo sučelje Arduino.

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

Ako sve prođe dobro, trebao bi se 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 moći pronaći AP pod imenom "ESP-TEMP".- Pokušajte se povezati s ESP-TEMP-om pomoću prijenosnog računala mobitela- Saznajte koju je IP adresu kojoj ste dodijeljeni, radeći Naredba "ipconfig" u Windowsima ili "ifconfig" naredba u linuxu ili macu. -Ako koristite iPhone, kliknite gumb i pored ESP-TEMP-a na koji ste povezani-Otvorite svoj preglednik i pokažite na ESP-TEMP, ako vam je za IP dodijeljen 192.168.4.10, ESP-TEMP ima ip 192.168.4.1, pa možete jednostavno otići na https://192.168.4.1 i prikazati će vam se stranica s postavkama na kojoj možete unijeti ssid svog WiFi rutera i ključ psk. nakon što unesete oboje i označite potvrdni okvir "Update Wifi Config", kliknite na "update" da biste ažurirali postavku na svoj ESP8266.

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

#define DEBUG

redak u satu.h i komentirao

//#undef DEBUG

crta. zatim kliknite Alati-> Serijski monitor. Prozor serijskog monitora pokazat će vam napredak WiFi veze i lokalnu IP adresu ESP8266. Unutarnja plava LED dioda jednom će zatreperiti kada se očita temperatura. Uključit će se i kada se otkrije pokret.

Korak 8: Pristup senzoru temperature i pokreta

Pristup vašem osjetniku temperature i pokreta
Pristup vašem osjetniku temperature i pokreta
Pristup vašem osjetniku temperature i pokreta
Pristup vašem osjetniku 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 svoj vanjski web poslužitelj, u ovom primjeru je

Možete gurnuti gumb ispod upravljačke ploče da biste uključili LED. Koristim ovo da obavijestim svoju djecu kad se vraćam s posla kući.

Senzor pokreta ažurira se otprilike svake sekunde, pa ćete morati češće osvježavati stranicu kako biste vidjeli postoji li otkriveno gibanje. 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 Appleovih 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)

Nadahnuli su me instruktori s GalenW1 koji mi omogućuju da naučim toliko o HomeBridgeu.

Za instaliranje HomeBridge for HomeKit na Raspberry Pi možete upotrijebiti sljedeće upute

github.com/nfarina/homebridge

HomeBridge omogućuje povezivanje aplikacije Home na iPhoneu sa senzorima koje ste upravo izgradili u prethodnim koracima.

Ako instalirate HomeBridge, morate instalirati nekoliko dodataka:

- Senzor temperature

- Senzor pokreta

- Sklopka

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 ispravno mjesto.

Korak 10: Povezivanje kućnog mosta s vašim iPhoneom

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

Sada kada je sav pribor konfiguriran, možete pokrenuti kućni most pomoću sljedeće naredbe

domaći most

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

- Sada pokrenite aplikaciju "Dom" na svom iPhoneu

- Pritisnite gumb "Dodaj pribor"

- prikazat će vam se zaslon za skeniranje koda, kamerom telefona možete skenirati kôd s zaslona 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.

- Nakon povezivanja od vas će se prikazati zaslon na kojem piše da vaš pribor nije certificiran, kliknite gumb "Svejedno dodaj" za nastavak

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

- Posljednji zaslon će vam pokazati svu dodatnu opremu koja je povezana.

Nakon što je spojen, 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

Čestitamo!! ti si to učinio. 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čeni: