Innehållsförteckning:
- Steg 1: Låt oss titta på översikten
- Steg 2: Konfigurera för Raspberry Pi 1 (Office)
- Steg 3: Konfigurera för Raspberry Pi 2 (dörr)
- Steg 4: Konfigurera Telegram Bot
- Steg 5: Konfigurera DynamoDB
- Steg 6: Konfigurera AWS S3 Bucket
- Steg 7: Konfigurera AWS SNS
- Steg 8: Skapa en regel
- Steg 9: Skapa webbgränssnitt
- Steg 10: Huvudmanus
Video: Raspberry Pi - Smart Office: 10 steg (med bilder)
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Vad handlar ansökan om?
OfficeHelperBOT är ett program riktat mot en smart kontorsinställning. 2 Raspberry Pi 3 Model B skulle installeras för detta.
Raspberry Pi 1 skulle vara huvudmaskinen som tar in alla värden från sensorerna, publicerar data via MQTT, lagrar data i molndatabasen som vi använder DynamoDB och kör webbportalservern.
Raspberry Pi 2 skulle användas vid dörren. Det skulle kräva att den anställde verifierar sin identitet innan de får tillträde till kontoret. Det finns två metoder att göra det via en PIN -kodsekvens och en QR -kodverifiering. I de fall verifieringen kan missbrukas skulle vi ta bild av den som misslyckats med verifieringen och lagra personens bild på AWS S3 Bucket.
En webbsida skulle kunna visa DHT, ljus, rörelsedetekterade foton och video från kontoret. Webbsidan skulle också kunna styra kontorsljusen och även se en livestream av CCTV från kontoret.
Det skulle också finnas en Telegram -bot som gör det möjligt att styra LED -lamporna på kontoret, kontrollera värdet på sensorvärden som temperaturen och även tillåta medarbetare att få sin QR -kodbild om de råkar förlora sin QR -kodbild eller glömmer sin pin genom att begära och få sin QR -kodbild från AWS S3 Bucket.
Steg 1: Låt oss titta på översikten
Systemarkitektur Diagram
Hur maskinerna kommer att kommunicera med varandra
Hårdvaruutfall
Titta på hur de två Raspberry Pi skulle se ut i slutändan
Webbportal
Visa webbportalen som är gjord med Python via Flask
Telegram Bot
Hitta boten vi skapade
Direktsändning
Använda 1 av PiCam som övervakningskamera och strömmande live -filmer
Hårdvarukrav
- 2x Raspberry Pi
- 2x GPIO -kort
- 1x LDR
- 1x DHT11
- 1x rörelsesensor
- 4x LED
- 7x knapp
- 2x summer
- 2x LCD -skärm
- 1x webbkamera
Steg 2: Konfigurera för Raspberry Pi 1 (Office)
- Skapa en mapp för att lagra dina HTML -mallar
- Skapa en mapp för att lagra dina css/javascript -filer som kallas statiska
- Skapa en mapp för att lagra dina kamerafiler som kallas kamera med tre undermappar capture_photos, motion_photos, motion_videos
mkdir ~/ca2
mkdir ~/ca2/mallar
mkdir ~/ca2/static
mkdir ~/ca2/statisk/kamera
mkdir ~/ca2/static/camera/capture_photos
mkdir ~/ca2/static/camera/motion_photos
mkdir ~/ca2/static/camera/motion_Videos
Steg 3: Konfigurera för Raspberry Pi 2 (dörr)
- Skapa en mapp för att lagra dina filer som kallas dörr
- Skapa en mapp för att lagra dina QR -kodbilder som kallas qr_code
mkdir ~/dörr
mkdir ~/door/qr_code
Steg 4: Konfigurera Telegram Bot
- Öppna Telegram
- Hitta "BotFather"
- Skriv "/start"
- Skriv "/newbot"
- Följ instruktionerna, namn för bot, användarnamn för bot, skriv ner botautentiseringstoken
Steg 5: Konfigurera DynamoDB
- Registrera dig för AWS
- Sök DynamoDB i AWS -tjänst
- Klicka på "Skapa tabell"
- Fyll i tabellnamn
- Ställ in partitionsnyckel som 'id' (sträng) och lägg till sorteringsnyckel som 'datetime' (sträng)
- Gör det för de 4 borden, dht, lampor, galleri, anställd
Förhandsgranskning av de 4 tabellerna
Steg 6: Konfigurera AWS S3 Bucket
- Sök efter AWS S3
- Klicka på "Skapa hink"
- Följ reglerna för att namnge skopan
- Följ skärmdumpar
- Skapa hink
Hur laddar jag upp till S3 -hink?
Vi har ingen administratörsportal så vi skulle importera QR-kodbilden manuellt via AWS-grafiskt användargränssnitt. Följ skärmdumparna för att skapa hinken. Kodavsnittet är logiken som krävs för att ladda upp bilden till S3 Bucket
Steg 7: Konfigurera AWS SNS
- Sök efter AWS SNS
- Följ ämnesmärket
- Skapa nytt ämne
- Ange ämnesnamn och visningsnamn
- Redigera policy så att alla kan publicera
- Prenumerera på ämnet som skapas
- Ange e -post i slutpunktsfältet för att ta emot e -post när värdet når ett visst värde
Steg 8: Skapa en regel
- Klicka på "Skapa en regel"
- Skriv namn och kort beskrivning
- Välj den senaste SQL -versionen för att skicka hela MQTT -meddelandet
- Regelmotorn använder ämnesfiltret för att avgöra vilka regler som ska utlösas när ett MQTT -meddelande tas emot
- Klicka på "Lägg till åtgärd"
- Välj att skicka ett meddelande via SNS push -avisering
Steg 9: Skapa webbgränssnitt
Skapa dessa nya html -filer som heter
- huvud
- logga in
- loggar
- dht
- ljus
- Galleri
- rörelse
- led
Kopiera och klistra in från Google Drive -filen i respektive html.
drive.google.com/file/d/1zd-x21G7P5JeZyPGZp1mdUJsfjoclYJ_/view?usp=sharing
Steg 10: Huvudmanus
Det finns 3 huvudmanus
- server.py - Skapa en webbportal
- working.py - Logic for Raspberry Pi 1 (Office)
- door.py Logic för Raspberry Pi 2 (Door)
Vi kör helt enkelt alla tre koder för att få det resultat vi vill ha
Vi kan hämta det från Google -enheten under Main.zip
drive.google.com/open?id=1xZRjqvFi7Ntna9_KzLzhroyEs8Wryp7g