Indholdsfortegnelse:

IoT trådløs temperatur- og bevægelsessensor: 11 trin (med billeder)
IoT trådløs temperatur- og bevægelsessensor: 11 trin (med billeder)

Video: IoT trådløs temperatur- og bevægelsessensor: 11 trin (med billeder)

Video: IoT trådløs temperatur- og bevægelsessensor: 11 trin (med billeder)
Video: Zigbee lys-, temperatur- og fugtighedssensor med Moes e-ink-skærm 2024, Juli
Anonim
IoT trådløs temperatur- og bevægelsessensor
IoT trådløs temperatur- og bevægelsessensor

Jeg blev inspireret af de mange IoT -projekter, der er i Instructables, så i gang med at lære prøver jeg at kombinere nogle nyttige applikationer, der er relevante. Som udvidelse til mine tidligere instruktioner relateret til IoT -temperatursensor tilføjede jeg nu flere muligheder til delsystemet. Den ekstra funktionalitet er:

- NTP -forbindelse for at få tiden

- LED, der kan fjernstyres

- PIR -sensor til at registrere bevægelse

- Tilsluttet Raspberry PI kører homekit for at tillade forbindelse til iPhone "Home"

Trin 1: Konceptet, tilslutningsmuligheder og komponenter

Konceptet, tilslutningsmuligheder og komponenter
Konceptet, tilslutningsmuligheder og komponenter

Konceptet som vist ovenfor er at tillade fjernovervågning af temperatur med den ekstra evne til at registrere bevægelse, hvis nogen er hjemme, og tillade meddelelse via LED. Enheden kan tilgås lokalt i LAN eller eksternt via webserver. Du kan også forbinde Hindbærpai (valgfrit) med Homekit -tilbehør installeret for at tillade forbindelse til iPhone "Home" -appen.

Det samme som tidligere version er følgende komponenter påkrævet i dette projekt. Bemærk venligst, at nedenstående link er et tilknyttet link, så hvis du ikke vil bidrage, skal du bare gå direkte.

- NodeMcu Lua ESP8266 dev board. Jeg får min fra banggood.

- LM35 temperatursensor

- PIR sensor

- LED

- Prototype bord

- Arduino IDE

- Arbejdende webserver med php -server scripting aktiveret

- Hindbær pi (valgfrit)

Trin 2: Få Arduino IDE til at fungere

Få Arduino IDE til at fungere
Få Arduino IDE til at fungere

For detaljer om dette trin, se mine tidligere instruktioner trin 2. om IoT -temperatursensor med ESP8266.

Trin 3: Tilslutning af temperatursensor, LED og PIR

Tilslutning af temperatursensor, LED og PIR
Tilslutning af temperatursensor, LED og PIR
Tilslutning af temperatursensor, LED og PIR
Tilslutning af temperatursensor, LED og PIR
Tilslutning af temperatursensor, LED og PIR
Tilslutning af temperatursensor, LED og PIR

Temperatursensoren LM35 har 3 ben, det første ben er VCC, du kan tilslutte dette til 3,3V (ESP8266 -kortets output er 3,3V). Det midterste ben er Vout (hvor temperaturen læses fra, kan du slutte dette til den analoge indgang på ESP8266 pin AD0, dette er placeret øverst til højre på brættet som vist på billedet. Og det højre ben skal være forbundet til jorden.

PIR -sensor består også af 3 ben, du kan se en lille markering på +, 0, - på printkortet ved siden af benet. Så tilslut "+" til 3,3V, "-" til jorden og midterste pin "0" til pin D6 på ESP8266.

LED havde kun 2 ben, "+" (Anode), det længere ben forbinder dette med pin D5 på ESP8266 og "-" (katode) de kortere ben skal forbindes til jorden (GND).

Trin 4: Opsætning af Cloud Webserver

Der er en vis antagelse for dette trin:

Du har allerede en fungerende webserver, der er hostet i et ordentligt domæne. Og du er fortrolig med at overføre filer til din webserver via FTP ved hjælp af Filezilla eller et andet FTP -program.

Upload den vedhæftede zip -fil til roden på dit websted. Lad os antage, at dit websted for denne øvelse er "https://arduinotestbed.com"

Det antages, at hele filen er placeret i webserverens rod. Hvis du har gemt den i en anden mappe, skal du justere filplaceringen i overensstemmelse hermed i både ArduinoData3.php -filen og Arduino -skitsen. Hvis du ikke er sikker, så lad mig det vide, så prøver jeg så godt jeg kan at hjælpe.

Trin 5: Opsætning af databasen til lagring af temperaturdata

Opsætning af databasen til lagring af temperaturdata
Opsætning af databasen til lagring af temperaturdata
Opsætning af databasen til lagring af temperaturdata
Opsætning af databasen til lagring af temperaturdata
Opsætning af databasen til lagring af temperaturdata
Opsætning af databasen til lagring af temperaturdata

vi bruger sqllite -database til denne øvelse. Sqllite er den lysfilbaserede database, som ikke kræver en server. Databasen er lokaliseret lokalt i din webserver. Hvis du er bekymret for sikkerheden, skal du ændre koden for at bruge en ordentlig databaseserver som mysql eller MSSQL.

Inden du starter, skal du ændre databaseadgangskoden i phpliteadmin.php -filen. Så åbn denne fil i din webserver, og rediger adgangskodeoplysninger i linje 91 til den adgangskode, du ønsker.

Peg derefter på phpliteadmin.php i din webserver. Brug vores eksempel, før du skal pege på

Fordi der ikke er nogen database på serveren, får du vist skærmen for at oprette databasen. Indtast "temperatur.db" i den nye databaseinputboks og klik på "Opret" -knappen. Databasen oprettes derefter med succes. På dette tidspunkt er databasen stadig tom, så du skal bruge sql -scriptet til at oprette databasetabelstrukturen for at være vært for dataene.

Trin 6: Opret "temperatur" -tabellen

Opret
Opret
Opret
Opret

For at oprette tabellen skal du klikke på fanen "SQL" og indsætte følgende SQL -forespørgsel.

BEGYND TRANSAKTION;

-----Bordstruktur for temperatur ---- OPRET TABEL 'temperatur' ('ID' INTEGER PRIMÆR NØGLE IKKE NULL, fugtighed INT IKKE NULL, temperatur REAL, tidsstempel DATETIME DEFAULT CURRENT_TIMESTAMP, 'varmelegeme' BOOLEAN, 'goaltemp' ÆGTE); BEGÅ;

Klik derefter på knappen "Gå" nederst. Tabellen skal oprettes med succes.

Hvis du opdaterer siden, skal du nu se "temperatur" -tabellen under temperatur.db -databasen i venstre side. Hvis du klikker på temperaturtabellen, hvis den stadig ikke indeholder nogen data.

Nu hvor vi har oprettet databasen, kan du pege på følgende url

arduinotestbed.com/ArduinoData3.php

Du vil se temperaturskiven med dummy -data, bevægelsessensoren og kontrolpanelet for at dreje LED'en. Den nederste del af grafen vil stadig være tom, fordi der ikke er data endnu.

Trin 7: Upload temperatursensorskitsen til din ESP8266

Upload temperatursensorskitsen til din ESP8266
Upload temperatursensorskitsen til din ESP8266
Upload temperatursensorskitsen til din ESP8266
Upload temperatursensorskitsen til din ESP8266
Upload temperatursensorskitsen til din ESP8266
Upload temperatursensorskitsen til din ESP8266

Kopier nu al den vedhæftede fil og åbn "ESP8266TempPIRSensor.ino" Arduino -grænsefladen vil oprette mappen for dig. Flyt resten af filerne til den nye mappe, der blev oprettet af Arduino -grænsefladen.

Rediger om nødvendigt den angivne webserver og placeringen af data_store3.php -filen. Upload derefter skitsen til ESP8266.

Hvis alt går godt, skal det uploades med succes, og første gang går ESP i AP -tilstand. Du kan bruge din bærbare computer eller mobiltelefon til at oprette forbindelse til den. Du bør kunne finde AP'et ved navnet "ESP-TEMP".- Prøv at oprette forbindelse til ESP-TEMP ved hjælp af din mobiltelefon- Find ud af, hvad er den IP-adresse, du bliver tildelt til, ved at gøre "ipconfig" kommando i Windows eller "ifconfig" kommando i Linux eller Mac. -Hvis du bruger iphone, skal du klikke på i-knappen ved siden af ESP-TEMP, som du har forbindelse til-Åbn din browser og peg på ESP-TEMP, hvis du er tildelt 192.168.4.10 som din ip, ESP-TEMP har ip på 192.168.4.1, så du kan bare gå til https://192.168.4.1, og du bør blive præsenteret for indstillingssiden, hvor du kan indtaste din wifi router ssid og psk -nøglen. Når du har indtastet begge og markeret afkrydsningsfeltet "Opdater Wifi -konfiguration", skal du klikke på "opdater" for at opdatere indstillingen til din ESP8266.

Hvis du vil aktivere fejlfindingen til Serial Monitor, skal du ikke kommentere

#define DEBUG

linje i uret.h og kommenterede

//#undef DEBUG

linje. klik derefter på Værktøjs-> Seriel skærm. Det serielle monitorvindue viser dig wifi -forbindelsesforløbet og viser den lokale IP -adresse for ESP8266. Den interne blå LED blinker én gang, når temperaturmåling finder sted. Den tændes også, når der registreres en bevægelse.

Trin 8: Adgang til din temperatur- og bevægelsessensor

Adgang til din temperatur- og bevægelsessensor
Adgang til din temperatur- og bevægelsessensor
Adgang til din temperatur- og bevægelsessensor
Adgang til din temperatur- og bevægelsessensor

Du skulle nu igen kunne pege på den lokale webserver på ESP8266. Og dette viser tid, temperatur og bevægelsessensoren.

Nu kan du også pege på din eksterne webserver, i dette eksempel er

Du kan skubbe knappen under kontrolpanelet for at skifte LED'en. Jeg bruger dette til at underrette mine børn, når jeg er på vej hjem fra arbejde.

Bevægelsessensoren opdateres hvert sekund eller deromkring, så du bliver nødt til at opdatere siden oftere for at se, om der er registreret en bevægelse. I øjeblikket er den automatiske opdatering indstillet til 60 sekunder. Temperaturen tager at læse hvert par minutter, men du kan også justere dette til den tid, der passer dig.

Tillykke, hvis du nåede så langt !!, giv dig selv et skulderklap og nyd din skabelse. Det næste trin er valgfrit, kun hvis du gerne vil kunne styre LED'en og overvåge temperaturen samt bevægelsessensoren fra Apple -enheder.

Trin 9: Installer HomeBridge til HomeKit i Raspberry Pi (valgfrit)

Installer HomeBridge til HomeKit i Raspberry Pi (valgfrit)
Installer HomeBridge til HomeKit i Raspberry Pi (valgfrit)

Jeg blev inspireret af instruktørerne fra GalenW1, som giver mig mulighed for at lære så meget om HomeBridge.

For at installere HomeBridge til HomeKit på en Raspberry Pi kan du bruge instruktionen i det følgende

github.com/nfarina/homebridge

HomeBridge giver dig mulighed for at forbinde Home -appen i Iphone til de sensorer, som du lige har bygget i de foregående trin.

Når du får installeret HomeBridge, skal du installere et par plugins:

- Temperatur måler

- Bevægelsessensor

- Kontakt

sudo npm install -g homebridge-http-temperatur

sudo npm install -g homebridge -MotionSensor

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

Når pluginet er installeret, skal du konfigurere filen config.json nedenfor

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

du kan justere indholdet af filen config.json som vist nedenfor, skal du sørge for, at url peger på den korrekte placering.

Trin 10: Tilslutning af Homebridge til din Iphone

Tilslutning af Homebridge til din Iphone
Tilslutning af Homebridge til din Iphone
Tilslutning af Homebridge til din Iphone
Tilslutning af Homebridge til din Iphone
Tilslutning af Homebridge til din Iphone
Tilslutning af Homebridge til din Iphone

Nu hvor alt tilbehøret var konfigureret, kan du køre homebridge ved hjælp af følgende kommando

hjemmebro

Du skal se skærmen som ovenfor. Du kan følge følgende trin for at tilføje Homebridge til dit hjemmekit.

- Start nu din "Home" -app i din Iphone

- Klik på knappen "Tilføj tilbehør"

- du får vist skærmen til at scanne koden, du kan bruge dit telefonkamera til at scanne koden fra Raspberry Pi -skærmen eller tilføje koden manuelt.

Bemærk, at både Iphone og Raspberry Pi skal være på den samme trådløse router for at fungere.

- Når du er tilsluttet, bliver du bedt om at se skærmen, der siger, at dit tilbehør ikke er certificeret, klik på "Tilføj alligevel" -knappen for at fortsætte

- Du har derefter mulighed for at konfigurere hvert tilbehør, i dette tilfælde har vi lyskontakten, bevægelsessensoren og temperatursensoren.

- Den sidste skærm viser dig alt det tilsluttede tilbehør.

Når den er tilsluttet, kan du bruge Siri til at kontrollere bevægelsessensoren, temperaturen og tænde og slukke lyset.

Trin 11: Få din Homebridge til at køre i baggrunden

Få din Homebridge til at køre i baggrunden
Få din Homebridge til at køre i baggrunden
Få din Homebridge til at køre i baggrunden
Få din Homebridge til at køre i baggrunden
Få din Homebridge til at køre i baggrunden
Få din Homebridge til at køre i baggrunden

Tillykke!! du har gjort det. Som en bonus kan du køre homebridge i baggrunden ved hjælp af følgende kommando:

homebridge &

Nu kan du hygge dig med Siri og nyde dit hårde arbejde.

Tak fordi du følger dette indtil slutningen. Hvis du kan lide dette, kan du efterlade nogle kommentarer eller stemme på mig.

Anbefalede: