Inhoudsopgave:
- Stap 1: Het concept, de connectiviteit en de componenten
- Stap 2: Laat de Arduino IDE werken
- Stap 3: Aansluiten van de temperatuursensor, LED en PIR
- Stap 4: De cloudwebserver instellen
- Stap 5: De database instellen om de temperatuurgegevens vast te houden
- Stap 6: Maak de "temperatuur"-tabel
- Stap 7: Upload de schets van de temperatuursensor naar uw ESP8266
- Stap 8: Toegang tot uw temperatuur- en bewegingssensor
- Stap 9: Installeer HomeBridge voor HomeKit in Raspberry Pi (optioneel)
- Stap 10: Homebridge verbinden met uw iPhone
- Stap 11: Laat uw Homebridge op de achtergrond draaien
Video: IoT draadloze temperatuur- en bewegingssensor: 11 stappen (met afbeeldingen)
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Ik werd geïnspireerd door de vele IoT-projecten in Instructables, dus tijdens het leren probeer ik een aantal nuttige toepassingen te combineren die relevant zijn. Als uitbreiding op mijn vorige Instructables met betrekking tot IoT-temperatuursensor, heb ik nu meer mogelijkheden aan het subsysteem toegevoegd. De toegevoegde functionaliteiten zijn:
- NTP-verbinding om de tijd te krijgen
- LED die op afstand kan worden bediend
- PIR-sensor om beweging te detecteren
- Verbonden Raspberry PI met homekit om verbinding met iPhone "Home" mogelijk te maken
Stap 1: Het concept, de connectiviteit en de componenten
Het concept zoals hierboven getoond is om temperatuurbewaking op afstand mogelijk te maken met de extra mogelijkheid om beweging te detecteren als iemand thuis is, en melding via LED mogelijk te maken. De unit is lokaal toegankelijk in het LAN of op afstand via een webserver. U kunt ook een frambozentaart (optioneel) aansluiten met een Homekit-accessoire geïnstalleerd om verbinding met de iPhone "Home"-app mogelijk te maken.
Hetzelfde als de vorige versie zijn de volgende componenten vereist in dit project, houd er rekening mee dat de onderstaande link een gelieerde link is, dus als je niet wilt bijdragen, ga dan gewoon direct.
- NodeMcu Lua ESP8266 ontwikkelbord. Ik krijg de mijne van banggood.
- LM35 temperatuursensor
- PIR-sensor
- LED
- Prototype bord
- Arduino IDE
- Werkende webserver met php-serverscripting ingeschakeld
- Raspberry pi (optioneel)
Stap 2: Laat de Arduino IDE werken
Voor meer informatie over deze stap, zie mijn eerdere instructables Stap 2. op IoT-temperatuursensor met ESP8266.
Stap 3: Aansluiten van de temperatuursensor, LED en PIR
De temperatuursensor LM35 heeft 3 poten, de eerste poot is VCC, u kunt deze aansluiten op de 3.3V (uitgang ESP8266 board is 3.3V). De middelste poot is Vout (waar de temperatuur wordt afgelezen, deze kunt u aansluiten op de analoge ingang van de ESP8266 pin AD0, deze bevindt zich rechtsboven op het bord zoals op de afbeelding te zien is. En de rechterpoot moet verbonden met de grond.
PIR sensor bestaat ook uit 3 pootjes, je ziet een minuscuul merkteken van +, 0, - op de print naast het pootje. Dus sluit de "+" aan op 3.3V, "-" op de grond en middelste pin "0" op pin D6 van ESP8266.
LED had slechts 2 poten, "+" (Anode), de langere poot sluit deze aan op pin D5 van ESP8266 en "-" (kathode) de kortere poten moeten worden aangesloten op massa (GND).
Stap 4: De cloudwebserver instellen
Er is een bepaalde aanname voor deze stap:
Je hebt al een werkende webserver, gehost in een goed domein. En u bent bekend met het overbrengen van bestanden naar uw webserver via FTP met behulp van Filezilla of een ander FTP-programma.
Upload het bijgevoegde zipbestand naar de hoofdmap van uw website. Laten we aannemen dat voor deze oefening uw website "https://arduinotestbed.com" is
Er wordt aangenomen dat het hele bestand zich in de hoofdmap van de webserver bevindt. Als u het in een andere map hebt opgeslagen, past u de bestandslocatie dienovereenkomstig aan in zowel het ArduinoData3.php-bestand als de Arduino-schets. Als je het niet zeker weet, laat het me dan weten en ik zal mijn best doen om je te helpen.
Stap 5: De database instellen om de temperatuurgegevens vast te houden
we gebruiken de sqllite-database voor deze oefening. Sqllite is de op lichte bestanden gebaseerde database waarvoor geen server nodig is. De database bevindt zich lokaal op uw webserver. Als u zich zorgen maakt over de beveiliging, moet u de code aanpassen om een goede databaseserver zoals mysql of MSSQL te gebruiken.
Voordat u begint, moet u het databasewachtwoord in het bestand phpliteadmin.php wijzigen. Open dit bestand dus in uw webserver en bewerk wachtwoordinformatie in regel 91 naar het wachtwoord dat u wilt.
Wijs vervolgens naar phpliteadmin.php in uw webserver. Gebruik ons voorbeeld voordat u naar https://arduinotestbed.com/phpliteadmin.php. verwijst
Omdat er geen database op de server staat, krijgt u het scherm te zien om de database aan te maken. Voer "temperature.db" in het nieuwe database-invoerveld in en klik op de knop "Maken". De database wordt dan succesvol aangemaakt. Op dit moment is de database nog steeds leeg, dus u hebt het sql-script nodig om de databasetabelstructuur te maken om de gegevens te hosten.
Stap 6: Maak de "temperatuur"-tabel
Om de tabel te maken, klikt u op het tabblad "SQL" en plakt u de volgende sql-query.
BEGIN TRANSACTIE;
---- -- Tabelstructuur voor temperatuur ---- CREATE TABLE 'temperatuur' ('ID' INTEGER PRIMARY KEY NOT NULL, vochtigheid INT NOT NULL, temperatuur REAL, tijdstempel DATETIME DEFAULT CURRENT_TIMESTAMP, 'heater' BOOLEAN, 'goaltemp' ECHT); VERBINDEN;
Klik dan onderaan op de knop "Go". De tabel moet met succes worden gemaakt.
Als u de pagina ververst, ziet u nu de tabel "temperatuur" onder de database temperature.db aan de linkerkant. Als u op de temperatuurtabel klikt, bevat deze nog geen gegevens.
Nu we de database hebben gemaakt, kunt u verwijzen naar de volgende url
arduinotestbed.com/ArduinoData3.php
Je zou de temperatuurknop zien met dummy-gegevens, de bewegingssensor en het bedieningspaneel om de LED te draaien. Het onderste deel van de grafiek is nog steeds leeg omdat er nog geen gegevens zijn.
Stap 7: Upload de schets van de temperatuursensor naar uw ESP8266
Kopieer nu al het bijgevoegde bestand en open de "ESP8266TempPIRSensor.ino". De Arduino-interface zal de map voor u maken. Verplaats de rest van de bestanden naar de nieuwe map die is gemaakt door de Arduino-interface.
Wijzig indien nodig de opgegeven webserver en de locatie van het bestand data_store3.php. Upload vervolgens de schets naar de ESP8266.
Als alles goed gaat, zou het succesvol moeten worden geüpload en de eerste keer dat de ESP in AP-modus gaat. U kunt uw laptop of mobiele telefoon gebruiken om er verbinding mee te maken. U zou de AP moeten kunnen vinden met de naam "ESP-TEMP". - Probeer verbinding te maken met ESP-TEMP met uw laptop of mobiele telefoon - Zoek uit aan welk IP-adres u wordt toegewezen door de "ipconfig" commando in windows of "ifconfig" commando in linux of mac. - Als u iphone gebruikt, klikt u op de i-knop naast ESP-TEMP waarmee u bent verbonden heeft het IP-adres van 192.168.4.1, dus je kunt gewoon naar https://192.168.4.1 gaan en je zou de instellingenpagina moeten zien waar je de ssid van je wifi-router en de psk-sleutel kunt invoeren. zodra u beide hebt ingevoerd en het selectievakje "Update Wifi Config" hebt aangevinkt, klikt u op "update" om de instelling bij te werken naar uw ESP8266.
Als u de foutopsporing voor de seriële monitor wilt inschakelen, moet u de commentaar verwijderen
#define DEBUG
regel in de clock.h en becommentarieerde de
//#undef DEBUG
lijn. klik vervolgens op Extra->Seriële monitor. Het seriële monitorvenster toont u de voortgang van de wifi-verbinding en toont het lokale IP-adres van de ESP8266. De interne blauwe LED knippert één keer wanneer de temperatuurmeting plaatsvindt. Het gaat ook aan als er beweging wordt gedetecteerd.
Stap 8: Toegang tot uw temperatuur- en bewegingssensor
Je zou nu weer naar de lokale webserver van de ESP8266 moeten kunnen verwijzen. En dit toont de tijd, temperatuur en de bewegingssensor.
Nu kun je ook verwijzen naar je externe webserver, in dit voorbeeld is dit
U kunt de knop onder het bedieningspaneel schuiven om de LED te wisselen. Ik gebruik dit om mijn kinderen op de hoogte te stellen wanneer ik op weg ben naar huis van mijn werk.
De bewegingssensor wordt elke seconde of zo bijgewerkt, dus je zult de pagina vaker moeten verversen om te zien of er beweging wordt gedetecteerd. Op dit moment staat de auto refresh op 60 seconden. De temperatuur wordt om de paar minuten uitgelezen, maar u kunt dit ook aanpassen aan de tijd die u schikt.
Gefeliciteerd als je zo ver bent gekomen !!, geef jezelf een schouderklopje en geniet van je creatie. De volgende stap is optioneel, alleen als u de LED wilt kunnen bedienen en zowel de temperatuur als de bewegingssensor van Apple-apparaten wilt kunnen controleren.
Stap 9: Installeer HomeBridge voor HomeKit in Raspberry Pi (optioneel)
Ik werd geïnspireerd door de instructables van GalenW1, waardoor ik zoveel over HomeBridge kan leren.
Om HomeBridge voor HomeKit op een Raspberry Pi te installeren, kunt u de onderstaande instructie gebruiken:
github.com/nfarina/homebridge
Met HomeBridge kun je de Home App in Iphone verbinden met de sensoren die je zojuist in de vorige stappen hebt gebouwd.
Als je de HomeBridge hebt geïnstalleerd, moet je een paar plug-ins installeren:
- Temperatuursensor
- Bewegingssensor
- Schakelaar
sudo npm install -g homebridge-http-temperatuur
sudo npm install -g homebridge-MotionSensor
sudo npm install -g homebridge-http-simple-switch
Nadat de plug-in is geïnstalleerd, moet u het onderstaande config.json-bestand configureren:
sudo vi /home/pi/.homebridge/config.json
u kunt de inhoud van het config.json-bestand aanpassen zoals hieronder, zorg ervoor dat de url naar de juiste locatie verwijst.
{ "bridge": { "name": "Homebridge", "username": "CC:22:3D:E3:CE:30", "port": 51886, "pin": "031-45-154" }, "description": "Dit is het HomeBridge-configuratiebestand, voeg meer accessoires en platform toe.", "accessories": [{ "accessory": "HttpTemperature", "name": "Living Room Temp", "url": "https://arduinotestbed.com/temp.txt", "http_method": "GET", "field_name": "" }, { "accessory": "Motion", "name": "Bewegingssensor op mijn bureau", " url": "https://arduinotestbed.com/motion_data.php?json=true", "http_method": "GET", "json_response": "motion" }, { "accessory": "SimpleHttpSwitch", "name": "Light Switch", "url": "https://arduinotestbed.como/setlight.php", "http_method": "POST", "default_state_off": true, "sendimmediately": "" }] }
Stap 10: Homebridge verbinden met uw iPhone
Nu alle accessoires zijn geconfigureerd, kunt u de homebridge uitvoeren met de volgende opdracht:
thuisbrug
U zou het scherm moeten zien zoals hierboven. Je kunt de volgende stap volgen om de Homebridge aan je homekit toe te voegen.
- Start nu uw "Home" -app op uw Iphone
- Klik op de knop "Accessoires toevoegen"
- u krijgt het scherm te zien om de code te scannen, u kunt uw telefooncamera gebruiken om de code vanaf het Raspberry Pi-scherm te scannen of de code handmatig toe te voegen.
Houd er rekening mee dat zowel de iPhone als de Raspberry Pi op dezelfde draadloze router moeten zijn aangesloten om te kunnen werken.
- Eenmaal verbonden, wordt u gevraagd naar het scherm dat zegt dat uw accessoires niet zijn gecertificeerd, klik op de knop "Toch toevoegen" om door te gaan
- Je hebt dan de mogelijkheid om elk van de accessoires te configureren, in dit geval hebben we de lichtschakelaar, de bewegingssensor en de temperatuursensor.
- Het laatste scherm toont u alle aangesloten accessoires.
Zodra hij is aangesloten, kun je Siri gebruiken om de bewegingssensor en de temperatuur te controleren en het licht aan en uit te zetten.
Stap 11: Laat uw Homebridge op de achtergrond draaien
Gefeliciteerd!! je hebt het gedaan. Als bonus kun je homebridge op de achtergrond draaien met het volgende commando:
thuisbrug &
Nu kun je plezier hebben met Siri en genieten van je harde werk.
Bedankt om dit tot het einde te volgen. Als je dit leuk vindt, laat dan wat opmerkingen achter of stem op mij.
Aanbevolen:
Aan de slag met draadloze temperatuur- en trillingssensoren met groot bereik: 7 stappen
Aan de slag met draadloze temperatuur- en trillingssensoren met groot bereik: Soms zijn trillingen de oorzaak van ernstige problemen in veel toepassingen. Van machineassen en lagers tot de prestaties van de harde schijf, trillingen veroorzaken schade aan de machine, vroegtijdige vervanging, lage prestaties en veroorzaken een grote aanslag op de nauwkeurigheid. Toezicht houden
Bewegingssensor deurbel: 5 stappen (met afbeeldingen)
Bewegingssensor deurbel: Toen ik mijn zoon Jayden vertelde over de uitdaging, dacht hij meteen aan de LEGO WeDo set. Hij speelt al jaren met Lego, maar pas begin vorig schooljaar kreeg hij de kans om te coderen met WeDo 2.0
Gegevens van draadloze trillingen en temperatuur naar Google Spreadsheets verzenden met Node-RED: 37 stappen
Gegevens van draadloze trillingen en temperatuur naar Google Spreadsheets verzenden met Node-RED: Introductie van NCD's Long Range IoT Industrial draadloze trillings- en temperatuursensor, met een bereik tot 3 mijl door het gebruik van een draadloze mesh-netwerkstructuur. Dit apparaat is voorzien van een nauwkeurige 16-bits trillings- en temperatuursensor en
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
E-mailwaarschuwingen maken van de NCD draadloze temperatuur- en vochtigheidssensor met Node-Red: 22 stappen
E-mailwaarschuwingen maken van de NCD draadloze temperatuur- en vochtigheidssensor met behulp van Node-Red: we gebruiken hier de temperatuur- en vochtigheidssensor van NCD, maar de stappen blijven gelijk voor elk van de ncd-producten, dus als u andere draadloze ncd-sensoren heeft, kunt u gratis naast observeren. Door middel van de stop van deze tekst moet je