INHOUDSOPGAWE:

IoT draadlose temperatuur- en bewegingsensor: 11 stappe (met foto's)
IoT draadlose temperatuur- en bewegingsensor: 11 stappe (met foto's)

Video: IoT draadlose temperatuur- en bewegingsensor: 11 stappe (met foto's)

Video: IoT draadlose temperatuur- en bewegingsensor: 11 stappe (met foto's)
Video: Sessie 17 Smart Building en facilitering met indoor wireless 2024, Julie
Anonim
IoT draadlose temperatuur- en bewegingsensor
IoT draadlose temperatuur- en bewegingsensor

Ek is geïnspireer deur die vele IoT -projekte in Instructables, so in die proses van leer probeer ek 'n paar nuttige toepassings wat relevant is, kombineer. As uitbreiding van my vorige instruksies wat verband hou met IoT -temperatuursensor, het ek nou meer funksies by die subsisteem gevoeg. Die ekstra funksies is:

- NTP -verbinding om tyd te kry

- LED wat op afstand beheer kan word

- PIR -sensor om beweging op te spoor

- Aangeslote Raspberry PI met homekit om verbinding met iPhone "Home" moontlik te maak

Stap 1: Die konsep, konneksie en komponente

Die konsep, konneksie en komponente
Die konsep, konneksie en komponente

Die konsep soos hierbo getoon, is om temperatuurmonitering op afstand toe te laat met die bykomende vermoë om beweging op te spoor as iemand tuis is, en kennisgewing via LED moontlik te maak. Die eenheid kan plaaslik in die LAN verkry word of op afstand via die webbediener. U kan ook Framboospastei (opsioneel) verbind met Homekit -bykomstigheid geïnstalleer om verbinding met die iPhone "Home" -app moontlik te maak.

Dieselfde as die vorige weergawe, die volgende komponente word benodig in hierdie projek. Let asseblief daarop dat die onderstaande skakel 'n aangeslote skakel is, so as u nie wil bydra nie, gaan dan direk.

- NodeMcu Lua ESP8266 dev board. Ek kry myne van Banggood.

- LM35 temperatuur sensor

- PIR sensor

- LED

- Prototipe bord

- Arduino IDE

- Werkende webbediener met php -bedienerskripte aangeskakel

- Framboos pi (opsioneel)

Stap 2: Kry die Arduino IDE aan die werk

Laat die Arduino IDE werk
Laat die Arduino IDE werk

Raadpleeg my vorige instruksies Stap 2. vir IoT -temperatuursensor met ESP8266 vir meer inligting oor hierdie stap.

Stap 3: Koppel die temperatuursensor, LED en PIR

Koppel die temperatuursensor, LED en PIR
Koppel die temperatuursensor, LED en PIR
Koppel die temperatuursensor, LED en PIR
Koppel die temperatuursensor, LED en PIR
Koppel die temperatuursensor, LED en PIR
Koppel die temperatuursensor, LED en PIR

Die temperatuursensor LM35 het 3 bene, die eerste been is VCC, u kan dit aansluit op die 3.3V (die uitset van ESP8266 is 3,3V). Die middelste been is Vout (waaruit die temperatuur afgelees word, kan u dit aansluit op die analoog ingang van die ESP8266 -pen AD0, dit is regs bo op die bord, soos op die foto getoon). aan die grond gekoppel.

Die PIR -sensor bestaan ook uit 3 bene; u kan 'n klein merkie van +, 0, - op die printplaat langs die been sien. Koppel dus die "+" aan 3.3V, "-" aan die grond en die middelste pen "0" aan pen D6 van ESP8266.

LED het slegs 2 bene, "+" (anode), die langer been verbind dit met pen D5 van ESP8266 en "-" (katode), die korter bene moet met die grond (GND) verbind word.

Stap 4: Die opstel van die wolk -webbediener

Daar is 'n sekere aanname vir hierdie stap:

U het reeds 'n werkende webbediener wat in die regte domein aangebied word. En u ken die oordrag van lêers via FTP na u webserver met Filezilla of 'n ander FTP -program.

Laai die aangehegte zip -lêer op na die wortel van u webwerf. Kom ons neem aan dat u webwerf vir hierdie oefening 'https://arduinotestbed.com' is

Die veronderstelling is dat die hele lêer in die wortel van die webserver geleë is. As u dit in 'n ander gids gestoor het, pas die lêer se ligging dienooreenkomstig aan in beide die ArduinoData3.php -lêer en die Arduino -skets. Laat weet my as u nie seker is nie, en ek sal die beste probeer om u te help.

Stap 5: Die opstel van die databasis om die temperatuurdata te bewaar

Die opstel van die databasis om die temperatuurdata te hou
Die opstel van die databasis om die temperatuurdata te hou
Die opstel van die databasis om die temperatuurdata te hou
Die opstel van die databasis om die temperatuurdata te hou
Die opstel van die databasis om die temperatuurdata te hou
Die opstel van die databasis om die temperatuurdata te hou

ons gebruik sqllite -databasis vir hierdie oefening. Sqllite is die ligte databasis wat nie 'n bediener benodig nie. Die databasis is plaaslik in u webbediener geleë. As u bekommerd is oor die veiligheid, moet u die kode verander om 'n behoorlike databasisbediener soos mysql of MSSQL te gebruik.

Voordat u begin, moet u die databasiswagwoord in die phpliteadmin.php -lêer verander. Maak dus hierdie lêer in u webserver oop en wysig wagwoordinligting in reël 91 na die wagwoord wat u wil hê.

Wys dan na phpliteadmin.php in u webserver. Gebruik ons voorbeeld voordat u na https://arduinotestbed.com/phpliteadmin.php verwys

Omdat daar geen databasis op die bediener is nie, sal u die skerm kry om die databasis te skep. Tik "temperatuur.db" in die nuwe databasisinvoervak en klik op die knoppie "Skep". Die databasis sal dan suksesvol geskep word. Op hierdie stadium is die databasis nog leeg, dus benodig u die sql -script om die databasistabelstruktuur te skep om die data te huisves.

Stap 6: Skep die "temperatuur" -tabel

Skep die
Skep die
Skep die
Skep die

Om die tabel te skep, klik op die blad "SQL" en plak die volgende sql -navraag in.

BEGIN TRANSAKSIE;

-----Tabelstruktuur vir temperatuur ---- SKEP TAFEL 'temperatuur' ('ID' INTEGER PRIMARYRE SLEUTEL NIE NULL nie, humiditeit NIE NULL, temperatuur REG, tydstempel DATETIME STANDAARD CURRENT_TIMESTAMP, 'verwarmer' BOOLEAN, 'goaltemp' WERKLIKE); BETAAL;

Klik dan op die "Gaan" -knoppie onderaan. Die tabel moet suksesvol geskep word.

As u die bladsy verfris, moet u die tabel "temperatuur" onder die temperatuur.db -databasis aan die linkerkant sien. As u op die temperatuurtabel klik as dit nog steeds geen data bevat nie.

Noudat ons die databasis geskep het, kan u na die volgende URL verwys

arduinotestbed.com/ArduinoData3.php

U sal die temperatuurskakelaar sien met dummy -data, die bewegingsensor en die bedieningspaneel om die LED te draai. Die onderste gedeelte van die grafiek sal steeds leeg wees omdat daar nog geen data is nie.

Stap 7: Laai die temperatuursensorskets op na u ESP8266

Laai die temperatuur sensor skets op na u ESP8266
Laai die temperatuur sensor skets op na u ESP8266
Laai die temperatuur sensor skets op na u ESP8266
Laai die temperatuur sensor skets op na u ESP8266
Laai die temperatuur sensor skets op na u ESP8266
Laai die temperatuur sensor skets op na u ESP8266

Kopieer nou al die aangehegte lêer en maak die "ESP8266TempPIRSensor.ino" oop, die Arduino -koppelvlak sal die gids vir u skep. Beweeg die res van die lêers na die nuwe gids wat deur die Arduino -koppelvlak geskep is.

Verander indien nodig die gespesifiseerde webserver en die ligging van die data_store3.php -lêer. Laai dan die skets op na die ESP8266.

As alles goed verloop, moet dit suksesvol opgelaai word, en die eerste keer dat die ESP in die AP -modus gaan. U kan u skootrekenaar of selfoon gebruik om daaraan te koppel. U moet die AP met die naam "ESP-TEMP" kan vind.- Probeer om met u selfoonskootrekenaar aan te sluit by ESP-TEMP- Vind uit wat die IP-adres is waaraan u toegewys word deur die "ipconfig" -opdrag in Windows of "ifconfig" -opdrag in Linux of Mac. -As u 'n iPhone gebruik, klik dan op die i-knoppie langs die ESP-TEMP waarmee u gekoppel is-Maak u blaaier oop en wys na die ESP-TEMP, as u 192.168.4.10 as u IP-adres toewys, die ESP-TEMP het die ip van 192.168.4.1, dus u kan net na https://192.168.4.1 gaan en u moet die instellingsbladsy kry waar u u wifi -router ssid en die psk -sleutel kan invoer. sodra u albei ingevoer het en die vinkje in die "Update Wifi Config" -kassie merk, klik op "update" om die instelling op te dateer na u ESP8266.

As u die ontfouting na die Serial Monitor wil aanskakel, moet u die

#define DEBUG

reël in die klok.h en kommentaar gelewer op die

//#undef DEBUG

lyn. klik dan op Tools-> Serial Monitor. Die seriële monitorvenster wys u die vordering van die wifi -verbinding en die plaaslike IP -adres van die ESP8266. Die interne blou LED sal een keer knip wanneer die temperatuurlesing plaasvind. Dit sal ook aanskakel as daar 'n beweging opgemerk word.

Stap 8: Toegang tot u temperatuur- en bewegingsensor

Toegang tot u temperatuur- en bewegingsensor
Toegang tot u temperatuur- en bewegingsensor
Toegang tot u temperatuur- en bewegingsensor
Toegang tot u temperatuur- en bewegingsensor

U behoort nou weer te kan verwys na die plaaslike webbediener van die ESP8266. En dit sal die tyd, temperatuur en die bewegingsensor wys.

Nou kan u ook na u eksterne webserver verwys, in hierdie voorbeeld is

U kan die knoppie onder die bedieningspaneel skuif om die LED te skakel. Ek gebruik dit om my kinders in kennis te stel as ek terug is huis toe van die werk af.

Die bewegingsensor word elke sekonde bygewerk, dus u moet die bladsy meer gereeld verfris om te sien of daar 'n beweging is. Op die oomblik is die outomatiese herlaai op 60 sekondes gestel. Die temperatuur sal elke paar minute nodig wees, maar u kan dit ook aanpas by die tyd wat u pas.

Baie geluk as jy so ver gekom het !!, gee jouself 'n klop op die skouer en geniet jou skepping. Die volgende stap is opsioneel, slegs as u die LED wil beheer en die temperatuur sowel as die bewegingsensor van Apple -toestelle kan monitor.

Stap 9: Installeer HomeBridge vir HomeKit in Raspberry Pi (opsioneel)

Installeer HomeBridge vir HomeKit in Raspberry Pi (opsioneel)
Installeer HomeBridge vir HomeKit in Raspberry Pi (opsioneel)

Ek is geïnspireer deur die instruksies van GalenW1 waarmee ek soveel oor HomeBridge kan leer.

Om HomeBridge vir HomeKit op 'n Raspberry Pi te installeer, kan u die instruksies hieronder volg

github.com/nfarina/homebridge

Met HomeBridge kan u die Home -app in Iphone koppel aan die sensors wat u in die vorige stappe gebou het.

As u die HomeBridge geïnstalleer het, moet u 'n paar inproppe installeer:

- Temperatuur sensor

- Bewegings sensor

- Skakel

sudo npm installeer -g homebridge-http-temperatuur

sudo npm installeer -g homebridge -MotionSensor

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

Nadat die inprop geïnstalleer is, moet u die config.json -lêer hieronder opstel

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

u kan die inhoud van die config.json -lêer volgens die onderstaande aanpas, maak seker dat die url na die korrekte ligging wys.

Stap 10: Koppel Homebridge aan u iPhone

Koppel Homebridge aan u iPhone
Koppel Homebridge aan u iPhone
Koppel Homebridge aan u iPhone
Koppel Homebridge aan u iPhone
Koppel Homebridge aan u iPhone
Koppel Homebridge aan u iPhone

Noudat al die bykomstighede gekonfigureer is, kan u die tuisbron met die volgende opdrag uitvoer

tuisbrug

U moet die skerm soos hierbo sien. U kan die volgende stap volg om die Homebridge by u tuisstel te voeg.

- Begin nou u "Home" -program in u Iphone

- Klik op die knoppie "Voeg bykomstighede by"

- u kry die skerm om die kode te skandeer; u kan met u telefoonkamera die kode vanaf die Raspberry Pi -skerm skandeer of die kode handmatig byvoeg.

Let daarop dat beide Iphone en Raspberry Pi op dieselfde draadlose router moet wees om te kan werk.

- As u eenmaal gekoppel is, sal u die skerm kry waarin u sê dat u bykomstighede nie gesertifiseer is nie. Klik op die "Voeg in elk geval" -knoppie om voort te gaan

- U het dan die opsie om elk van die bykomstighede te konfigureer; in hierdie geval het ons die ligskakelaar, die bewegingsensor en die temperatuursensor.

- Die laaste skerm wys al die bykomstighede wat gekoppel is.

Sodra dit gekoppel is, kan u Siri gebruik om die bewegingsensor, die temperatuur en die lig aan en uit te kyk.

Stap 11: Laat u Homebridge op die agtergrond loop

Laat u tuisbron op die agtergrond loop
Laat u tuisbron op die agtergrond loop
Laat u tuisbron op die agtergrond loop
Laat u tuisbron op die agtergrond loop
Laat u tuisbron op die agtergrond loop
Laat u tuisbron op die agtergrond loop

Baie geluk!! jy het dit gedoen. As 'n bonus kan u homebridge op die agtergrond gebruik deur die volgende opdrag te gebruik:

tuisbrug &

Nou kan u pret hê met Siri en u harde werk geniet.

Dankie dat u dit tot die einde toe gevolg het. As u hiervan hou, los 'n paar opmerkings of stem vir my.

Aanbeveel: