Inhoudsopgave:

IoT draadloze temperatuur- en bewegingssensor: 11 stappen (met afbeeldingen)
IoT draadloze temperatuur- en bewegingssensor: 11 stappen (met afbeeldingen)

Video: IoT draadloze temperatuur- en bewegingssensor: 11 stappen (met afbeeldingen)

Video: IoT draadloze temperatuur- en bewegingssensor: 11 stappen (met afbeeldingen)
Video: Webinar|Hoe maak je een kantoor- of werkomgeving ‘slim’? 2024, November
Anonim
IoT draadloze temperatuur- en bewegingssensor
IoT draadloze temperatuur- en bewegingssensor

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, de connectiviteit en de componenten
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

De Arduino IDE aan het werk krijgen
De Arduino IDE aan het werk krijgen

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

Aansluiten van de temperatuursensor, LED en PIR
Aansluiten van de temperatuursensor, LED en PIR
Aansluiten van de temperatuursensor, LED en PIR
Aansluiten van de temperatuursensor, LED en PIR
Aansluiten van de temperatuursensor, LED en PIR
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

De database instellen om de temperatuurgegevens te bewaren
De database instellen om de temperatuurgegevens te bewaren
De database instellen om de temperatuurgegevens te bewaren
De database instellen om de temperatuurgegevens te bewaren
De database instellen om de temperatuurgegevens te bewaren
De database instellen om de temperatuurgegevens te bewaren

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

Maak de
Maak de
Maak de
Maak de

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

Upload de schets van de temperatuursensor naar uw ESP8266
Upload de schets van de temperatuursensor naar uw ESP8266
Upload de schets van de temperatuursensor naar uw ESP8266
Upload de schets van de temperatuursensor naar uw ESP8266
Upload de schets van de temperatuursensor naar uw ESP8266
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

Toegang tot uw temperatuur- en bewegingssensor
Toegang tot uw temperatuur- en bewegingssensor
Toegang tot uw temperatuur- en bewegingssensor
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)

Installeer HomeBridge voor HomeKit in Raspberry Pi (optioneel)
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

Homebridge verbinden met uw iPhone
Homebridge verbinden met uw iPhone
Homebridge verbinden met uw iPhone
Homebridge verbinden met uw iPhone
Homebridge verbinden met uw iPhone
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

Laat uw Homebridge op de achtergrond draaien
Laat uw Homebridge op de achtergrond draaien
Laat uw Homebridge op de achtergrond draaien
Laat uw Homebridge op de achtergrond draaien
Laat uw Homebridge op de achtergrond draaien
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: