Turinys:

„IoT“belaidis temperatūros ir judesio jutiklis: 11 žingsnių (su nuotraukomis)
„IoT“belaidis temperatūros ir judesio jutiklis: 11 žingsnių (su nuotraukomis)

Video: „IoT“belaidis temperatūros ir judesio jutiklis: 11 žingsnių (su nuotraukomis)

Video: „IoT“belaidis temperatūros ir judesio jutiklis: 11 žingsnių (su nuotraukomis)
Video: Dr. Smart Home answers: Wired vs. Wireless? #smarthouse #knx #iot #smarthomegadgets 2024, Lapkritis
Anonim
„IoT“belaidis temperatūros ir judesio jutiklis
„IoT“belaidis temperatūros ir judesio jutiklis

Mane įkvėpė daugybė „Instructables“esančių daiktų interneto projektų, todėl mokydamasis stengiuosi sujungti kai kurias naudingas programas, kurios yra svarbios. Kaip ankstesnių „Instructables“, susijusių su daiktų interneto temperatūros jutikliu, plėtinys, dabar pridėjau daugiau galimybių prie posistemio. Papildomos funkcijos yra šios:

- NTP ryšys, kad gautumėte laiko

- LED, kurį galima valdyti nuotoliniu būdu

- PIR jutiklis judesiui aptikti

- Prijungtas „Raspberry PI“veikia homekit, kad būtų galima prisijungti prie „iPhone“namų

1 žingsnis: koncepcija, ryšys ir komponentai

Koncepcija, sujungimas ir komponentai
Koncepcija, sujungimas ir komponentai

Aukščiau pateikta koncepcija leidžia nuotoliniu būdu stebėti temperatūrą ir papildomai aptikti judesį, jei kas nors yra namuose, ir leisti pranešti per LED. Prietaisą galima pasiekti lokaliai LAN arba nuotoliniu būdu per žiniatinklio serverį. Taip pat galite prijungti aviečių pyragą (neprivaloma) su įdiegtu „Homekit“priedu, kad galėtumėte prisijungti prie „iPhone“namų programos.

Kaip ir ankstesnėje versijoje, šiame projekte reikalingi šie komponentai, atkreipkite dėmesį, kad toliau pateikta nuoroda yra filialo nuoroda, taigi, jei nenorite prisidėti, tiesiog eikite tiesiai.

- „NodeMcu Lua ESP8266 dev“plokštė. Aš gaunu savo iš banggood.

- LM35 temperatūros jutiklis

- PIR jutiklis

- LED

- Prototipo lenta

- „Arduino IDE“

- Veikianti žiniatinklio serveris su įjungtais php serverio scenarijais

- Aviečių pi (neprivaloma)

2 žingsnis: Įjunkite „Arduino IDE“

Gaukite „Arduino IDE“į darbą
Gaukite „Arduino IDE“į darbą

Išsamesnės informacijos apie šį veiksmą rasite ankstesnėse instrukcijose, esančiose 2 skyriuje apie daiktų interneto temperatūros jutiklį su ESP8266.

3 žingsnis: prijunkite temperatūros jutiklį, šviesos diodą ir PIR

Temperatūros jutiklio, LED ir PIR prijungimas
Temperatūros jutiklio, LED ir PIR prijungimas
Temperatūros jutiklio, LED ir PIR prijungimas
Temperatūros jutiklio, LED ir PIR prijungimas
Temperatūros jutiklio, LED ir PIR prijungimas
Temperatūros jutiklio, LED ir PIR prijungimas

Temperatūros jutiklis LM35 turi 3 kojas, pirmasis yra VCC, galite jį prijungti prie 3,3 V (ESP8266 plokštės išėjimas yra 3,3 V). Vidurinė kojelė yra „Vout“(iš kur nuskaitoma temperatūra, galite ją prijungti prie analoginio įėjimo iš ESP8266 kaiščio AD0, jis yra viršutinėje dešinėje lentos pusėje, kaip parodyta paveikslėlyje. Ir dešinė koja turi būti prijungtas prie žemės.

PIR jutiklis taip pat susideda iš 3 kojų, ant PCB šalia kojos galite pamatyti mažą ženklą +, 0, -. Taigi prijunkite „+“prie 3.3V, „-“prie žemės, o vidurinį kaištį „0“prie ESP8266 D6 kaiščio.

Šviesos diodas turėjo tik 2 kojas, „+“(anodas), ilgesnė kojelė prijungiama prie ESP8266 kaiščio D5, o „-“(katodas)-trumpesnės kojos turi būti prijungtos prie žemės (GND).

4 veiksmas: nustatykite „Cloud“žiniatinklio serverį

Yra tam tikra prielaida šiam žingsniui:

Jau turite veikiantį žiniatinklio serverį, priglobtą tinkamame domene. Ir esate susipažinęs su failų perkėlimu į savo žiniatinklio serverį per FTP naudodami „Filezilla“ar kitą FTP programą.

Įkelkite pridėtą ZIP failą į savo svetainės šaknį. Tarkime, kad atliekant šį pratimą jūsų svetainė yra „https://arduinotestbed.com“

Daroma prielaida, kad visas failas yra žiniatinklio serverio šaknyje, jei jį išsaugojote kitame aplanke, atitinkamai pakoreguokite failo vietą ir „ArduinoData3.php“faile, ir „Arduino“eskize. Jei nesate tikri, praneškite man ir aš pasistengsiu padėti.

5 veiksmas: nustatykite duomenų bazę temperatūros duomenims laikyti

Duomenų bazės nustatymas temperatūros duomenims laikyti
Duomenų bazės nustatymas temperatūros duomenims laikyti
Duomenų bazės nustatymas temperatūros duomenims laikyti
Duomenų bazės nustatymas temperatūros duomenims laikyti
Duomenų bazės nustatymas temperatūros duomenims laikyti
Duomenų bazės nustatymas temperatūros duomenims laikyti

šiam pratimui naudojame „sqllite“duomenų bazę. „Sqllite“yra lengva failų duomenų bazė, kuriai nereikia serverio. Duomenų bazė yra jūsų žiniatinklio serveryje. Jei nerimaujate dėl saugumo, turėtumėte pakeisti kodą, kad būtų naudojamas tinkamas duomenų bazės serveris, pvz., „Mysql“arba „MSSQL“.

Prieš pradėdami turite pakeisti duomenų bazės slaptažodį, esantį faile phpliteadmin.php. Taigi atidarykite šį failą žiniatinklio serveryje ir redaguokite slaptažodžio informaciją 91 eilutėje iki norimo slaptažodžio.

Tada savo žiniatinklio serveryje nurodykite phpliteadmin.php. Prieš naudodamiesi mūsų pavyzdžiu turėtumėte nukreipti į

Kadangi serveryje nėra duomenų bazės, jums bus pateiktas duomenų bazės kūrimo ekranas. Naujame duomenų bazės įvesties laukelyje įveskite "temperature.db" ir spustelėkite mygtuką "Sukurti". Tada duomenų bazė bus sėkmingai sukurta. Šiuo metu duomenų bazė vis dar tuščia, todėl norint sukurti duomenų bazės lentelės struktūrą, jums reikės SQL scenarijaus.

6 veiksmas: sukurkite „temperatūros“lentelę

Sukurkite
Sukurkite
Sukurkite
Sukurkite

Norėdami sukurti lentelę, spustelėkite skirtuką „SQL“ir įklijuokite šią SQL užklausą.

PRADĖTI SANDORĮ;

-----Lentelės struktūra temperatūrai ---- KURTI LENTELĘ "temperatūra" ("ID" INTEGER PAGRINDINIS RAKTAS NĖRA NULL, drėgmė INT NOT NULL, temperatūra REAL, laiko žyma DATETIME DEFAULT CURRENT_TIMESTAMP, "šildytuvas" BOOLEAN, "goaltemp" TIKRAS); ĮSIPAREIGOTI;

Tada apačioje spustelėkite mygtuką „Eiti“. Lentelę reikia sukurti sėkmingai.

Jei atnaujinsite puslapį, dabar turėtumėte pamatyti lentelę "temperatūra", esančią kairėje pusėje esančioje duomenų bazėje "Tempera.db". Jei spustelėsite temperatūros lentelę, jei vis dar nėra duomenų.

Dabar, kai sukūrėme duomenų bazę, galite nurodyti šį URL

arduinotestbed.com/ArduinoData3.php

Pamatysite temperatūros ratuką, kuriame rodomi fiktyvūs duomenys, judesio jutiklis ir valdymo skydelis, kad būtų galima pasukti šviesos diodą. Apatinė diagramos dalis vis tiek bus tuščia, nes dar nėra duomenų.

7 veiksmas: įkelkite temperatūros jutiklio eskizą į savo ESP8266

Įkelkite temperatūros jutiklio eskizą į savo ESP8266
Įkelkite temperatūros jutiklio eskizą į savo ESP8266
Įkelkite temperatūros jutiklio eskizą į savo ESP8266
Įkelkite temperatūros jutiklio eskizą į savo ESP8266
Įkelkite temperatūros jutiklio eskizą į savo ESP8266
Įkelkite temperatūros jutiklio eskizą į savo ESP8266

Dabar nukopijuokite visą pridėtą failą ir atidarykite „ESP8266TempPIRSensor.ino“, „Arduino“sąsaja sukurs jums aplanką. Perkelkite likusius failus į naują aplanką, kurį sukūrė „Arduino“sąsaja.

Jei reikia, pakeiskite nurodytą žiniatinklio serverį ir failo data_store3.php vietą. Tada įkelkite eskizą į ESP8266.

Jei viskas gerai, tai turėtų būti sėkmingai įkelta ir pirmą kartą ESP pereis į AP režimą. Norėdami prisijungti prie jo, galite naudoti nešiojamąjį kompiuterį ar mobilųjį telefoną. Turėtumėte sugebėti rasti AP pavadinimu „ESP-TEMP“.- Pabandykite prisijungti prie ESP-TEMP naudodami nešiojamojo kompiuterio mobilųjį telefoną- Sužinokite, koks yra jūsų IP adresas, atlikdami „ipconfig“komanda „Windows“arba „ifconfig“komanda „Linux“ar „Mac“. -Jei naudojate „iPhone“, spustelėkite mygtuką i šalia ESP-TEMP, prie kurio esate prisijungę. turi 192.168.4.1 IP, todėl galite tiesiog eiti į https://192.168.4.1 ir jums turėtų būti pateiktas nustatymų puslapis, kuriame galite įvesti savo „WiFi“maršrutizatoriaus „ssid“ir „psk“raktą. įvedę abu ir pažymėję žymės langelį „Atnaujinti„ Wifi Config ““, spustelėkite „atnaujinti“, kad atnaujintumėte nustatymą į savo ESP8266.

Jei norite įjungti serijos monitoriaus derinimą, turėsite nekomentuoti

#define DEBUG

eilutę laikrodyje.h ir pakomentavo

//#undef DEBUG

linija. tada spustelėkite Įrankiai-> Serijinis monitorius. Serijinio monitoriaus lange bus rodoma „Wi -Fi“ryšio pažanga ir vietinis ESP8266 IP adresas. Vidinis mėlynas šviesos diodas vieną kartą sumirksės, kai bus nuskaityta temperatūra. Jis taip pat įsijungs, kai bus aptiktas judesys.

8 žingsnis: Prieiga prie temperatūros ir judesio jutiklio

Prieiga prie jūsų temperatūros ir judesio jutiklio
Prieiga prie jūsų temperatūros ir judesio jutiklio
Prieiga prie jūsų temperatūros ir judesio jutiklio
Prieiga prie jūsų temperatūros ir judesio jutiklio

Dabar turėtumėte dar kartą nurodyti vietinį ESP8266 žiniatinklio serverį. Ir tai parodys laiką, temperatūrą ir judesio jutiklį.

Dabar taip pat galite nurodyti savo išorinį žiniatinklio serverį, šiame pavyzdyje yra

Norėdami perjungti šviesos diodą, galite slinkti mygtuką po valdymo skydeliu. Aš tai naudoju norėdamas pranešti savo vaikams, kai grįžtu namo iš darbo.

Judesio jutiklis atnaujinamas maždaug kas sekundę, todėl turėsite dažniau atnaujinti puslapį, kad pamatytumėte, ar yra aptiktas judesys. Šiuo metu automatinis atnaujinimas nustatytas į 60 sekundžių. Temperatūra bus rodoma kas porą minučių, tačiau taip pat galite ją pritaikyti prie jums tinkamo laiko.

Sveikiname, jei pavyko taip toli !!, paglostykite nugarą ir mėgaukitės savo kūryba. Kitas žingsnis yra neprivalomas, tik jei norite valdyti „Apple“įrenginių šviesos diodą ir stebėti temperatūrą bei judesio jutiklį.

9 veiksmas: įdiekite „HomeBridge for HomeKit“į „Raspberry Pi“(pasirinktinai)

Įdiekite „HomeBridge for HomeKit“į „Raspberry Pi“(pasirenkama)
Įdiekite „HomeBridge for HomeKit“į „Raspberry Pi“(pasirenkama)

Mane įkvėpė „GalenW1“instrukcijos, leidžiančios man tiek daug sužinoti apie „HomeBridge“.

Norėdami įdiegti „HomeBridge for HomeKit“į „Raspberry Pi“, galite naudoti toliau pateiktą instrukciją

github.com/nfarina/homebridge

„HomeBridge“leidžia prijungti „Iphone“programą „Home“prie jutiklių, kuriuos ką tik sukūrėte atlikdami ankstesnius veiksmus.

Įdiegę „HomeBridge“, turite įdiegti kelis papildinius:

- Temperatūros jutiklis

- Judesio jutiklis

- Perjungti

sudo npm įdiegti -g homebridge-http-temperature

sudo npm įdiegti -g homebridge -MotionSensor

sudo npm įdiegti -g homebridge-http-simple-switch

Įdiegę papildinį turėsite sukonfigūruoti žemiau esantį failą config.json

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

galite koreguoti failo config.json turinį, kaip nurodyta toliau, įsitikinkite, kad URL nurodo teisingą vietą.

10 veiksmas: „Homebridge“prijungimas prie „iPhone“

„Homebridge“prijungimas prie „iPhone“
„Homebridge“prijungimas prie „iPhone“
„Homebridge“prijungimas prie „iPhone“
„Homebridge“prijungimas prie „iPhone“
„Homebridge“prijungimas prie „iPhone“
„Homebridge“prijungimas prie „iPhone“

Dabar, kai visi priedai buvo sukonfigūruoti, galite paleisti namų tiltą naudodami šią komandą

namų tiltas

Turėtumėte pamatyti ekraną, kaip nurodyta aukščiau. Norėdami pridėti „Homebridge“prie savo namų aparato, galite atlikti šį veiksmą.

- Dabar paleiskite „Namų“programą savo „iPhone“

- Spustelėkite mygtuką „Pridėti priedus“

- jums bus pateiktas ekranas, skirtas nuskaityti kodą, galite naudoti savo telefono kamerą nuskaityti kodą iš „Raspberry Pi“ekrano arba rankiniu būdu pridėti kodą.

Atminkite, kad „Iphone“ir „Raspberry Pi“turi veikti tame pačiame belaidžio ryšio maršrutizatoriuje.

- Kai prisijungsite, būsite paraginti ekrane, kuriame sakoma, kad jūsų priedai nėra sertifikuoti, norėdami tęsti, spustelėkite mygtuką „Pridėti vis tiek“

- Tada turėsite galimybę konfigūruoti kiekvieną priedą, šiuo atveju turime šviesos jungiklį, judesio jutiklį ir temperatūros jutiklį.

- Paskutiniame ekrane bus rodomi visi prijungti priedai.

Kai jis bus prijungtas, galite naudoti „Siri“, kad patikrintumėte judesio jutiklį, temperatūrą ir įjungtumėte bei išjungtumėte šviesą.

11 veiksmas: paleiskite „Homebridge“veikti fone

Leiskite „Homebridge“veikti fone
Leiskite „Homebridge“veikti fone
Leiskite „Homebridge“veikti fone
Leiskite „Homebridge“veikti fone
Leiskite „Homebridge“veikti fone
Leiskite „Homebridge“veikti fone

Sveikinu !! tu tai padarei. Kaip premiją galite paleisti „Homebridge“fone naudodami šią komandą:

namų tiltas ir

Dabar galite smagiai praleisti laiką su „Siri“ir mėgautis savo sunkiu darbu.

Ačiū, kad sekate tai iki galo. Jei jums tai patinka, palikite komentarus arba balsuokite už mane.

Rekomenduojamas: