INHOUDSOPGAWE:
- Stap 1: Die konsep, konneksie en komponente
- Stap 2: Kry die Arduino IDE aan die werk
- Stap 3: Koppel die temperatuursensor, LED en PIR
- Stap 4: Die opstel van die wolk -webbediener
- Stap 5: Die opstel van die databasis om die temperatuurdata te bewaar
- Stap 6: Skep die "temperatuur" -tabel
- Stap 7: Laai die temperatuursensorskets op na u ESP8266
- Stap 8: Toegang tot u temperatuur- en bewegingsensor
- Stap 9: Installeer HomeBridge vir HomeKit in Raspberry Pi (opsioneel)
- Stap 10: Koppel Homebridge aan u iPhone
- Stap 11: Laat u Homebridge op die agtergrond loop
Video: IoT draadlose temperatuur- en bewegingsensor: 11 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
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 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
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
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
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
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
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
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)
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
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
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:
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino - Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter - Rc Helikopter - Rc -vliegtuig met Arduino: 5 stappe (met foto's)
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino | Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter | Rc Helikopter | Rc -vliegtuig met Arduino: om 'n Rc -motor te bestuur | Quadcopter | Drone | RC -vliegtuig | RC -boot, ons het altyd 'n ontvanger en sender nodig, veronderstel dat ons vir RC QUADCOPTER 'n 6 -kanaals sender en ontvanger nodig het en dat die tipe TX en RX te duur is, so ons maak een op ons
IOT langafstand draadlose temperatuur- en humiditeitsensor met knooprooi: 27 stappe
IOT langafstand draadlose temperatuur- en humiditeitsensor met knooprooi: stel NCD se langafstand-draadlose temperatuurvochtigheidsensor van NCD bekend, met 'n bereik van 28 myl met 'n draadlose netwerk-argitektuur. Deur die Honeywell HIH9130 temperatuur-humiditeitsensor op te neem, dra 'n baie akkurate temperatuur en
Van flitslig tot bewegingsensor met ESP8266 en MQTT: 5 stappe (met foto's)
Van flitslig tot bewegingsensor met ESP8266 en MQTT: In hierdie pos sal ek die volgende items aanbied: LED's benodig 'n beperkte stroom om 'n flitslig 'n lig te maak wat deur die draagbare battery aangedryf word, en die LED's te dim deur ESP8266 via MQTT Die video is die opsomming en 'n kort verduideliking van hoe
Bewegingsensor -geaktiveerde LED -strook met timer: 6 stappe (met foto's)
Bewegingsensor -geaktiveerde LED -strook met timer: Hallo almal! Ek is regtig bly om nou nog 'n opdrag te skryf. Hierdie projek het ontstaan toe ek 'n paar maande gelede deur 'n mede-instrukteur (?!) (David @dducic) gekontak is om ontwerphulp te vra
Outomatiseer 'n lig met MESH -bewegingsensor: 3 stappe (met foto's)
Outomatiseer 'n lig met MESH -bewegingsensor: vergeet u gereeld om die ligte af te skakel? Dit is altyd moontlik om te vergeet om die ligte uit te skakel wanneer u u huis of kamer verlaat, maar met die MESH -bewegingsensor het ons die probleem opgelos deur die opsporings- en ontdekfunksies te gebruik om u te vergemaklik