INHOUDSOPGAWE:
Video: Raspberry Pi - Smart Office: 10 stappe (met foto's)
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Waaroor gaan die aansoek?
OfficeHelperBOT is 'n toepassing wat gerig is op 'n slim kantooromgewing. 2 Raspberry Pi 3 Model B sal hiervoor opgestel word.
Raspberry Pi 1 sou die belangrikste masjien wees wat al die waardes van die sensors inneem, die data via MQTT publiseer, data stoor in die wolkdatabasis wat ons DynamoDB gebruik en die webportaalbediener bestuur.
Framboos Pi 2 sou by die deur gebruik word. Dit sal van die werknemer vereis om hul identiteit te verifieer voordat hulle toegang tot die kantoor kry. Daar is twee metodes om dit te doen: via 'n PIN -kode volgorde en 'n QR -kode verifikasie. In die gevalle dat die verifikasie misbruik word, neem ons 'n foto van die persoon wat die verifikasie misluk en stoor die beeld van die persoon op AWS S3 Bucket.
'N Webbladsy kan DHT, lig, foto's en bewegingsbespeurde foto's en video van die kantoor sien. Die webbladsy kan ook die kantoorligte beheer en ook 'n regstreekse kringtelevisie van die kantoor sien.
Daar sal ook 'n Telegram -bot wees wat die LED -ligte in die kantoor beheer, die waarde van sensorwaardes soos die temperatuur kan kontroleer en ook die werknemer toelaat om hul QR -kodebeeld te kry as hy / sy hul QR -kode verloor of sy pen vergeet deur hul QR -kodebeeld van AWS S3 Bucket aan te vra en te kry.
Stap 1: Kom ons kyk na die oorsig
Stelsel argitektuur diagram
Hoe die masjiene met mekaar sal kommunikeer
Hardeware -uitkoms
Kyk hoe die twee Raspberry Pi uiteindelik sou lyk
Webportaal
Kyk na die webportaal wat gemaak is met behulp van Python via Flask
Telegram Bot
Soek die Bot wat ons geskep het
Lewendige stroom
Gebruik 1 van die PiCam as 'n kringtelevisie en stroom lewendige opnames
Hardewarevereiste
- 2x Framboos Pi
- 2x GPIO -bord
- 1x LDR
- 1x DHT11
- 1x bewegingsensor
- 4x LED
- 7x knoppie
- 2x gonser
- 2x LCD -skerm
- 1x webkamera
Stap 2: Stel op vir Raspberry Pi 1 (Office)
- Skep 'n gids om u html -sjablone te stoor
- Skep 'n gids om u css/javascript -lêers wat staties genoem word, te stoor
- Skep 'n gids om u kameralêers met die naam kamera op te slaan met 3 submap capture_photos, motion_photos, motion_videos
mkdir ~/ca2
mkdir ~/ca2/templates
mkdir ~/ca2/staties
mkdir ~/ca2/static/kamera
mkdir ~/ca2/static/camera/capture_photos
mkdir ~/ca2/static/camera/motion_photos
mkdir ~/ca2/static/camera/motion_Videos
Stap 3: Stel op vir Raspberry Pi 2 (deur)
- Skep 'n gids om u lêers met die naam deur te stoor
- Skep 'n gids om u QR -kode beelde met die naam qr_code te stoor
mkdir ~/deur
mkdir ~/deur/qr_code
Stap 4: Stel Telegram Bot op
- Maak Telegram oop
- Soek "BotFather"
- Tik "/begin"
- Tik "/newbot"
- Volg die instruksies, naam vir bot, gebruikersnaam vir bot, teken botverifikasie -token neer
Stap 5: Stel DynamoDB op
- Sluit aan by AWS
- Soek DynamoDB in AWS -diens
- Klik op "Skep tabel"
- Vul die tabelnaam in
- Stel die partisiesleutel as 'id' (string) en voeg sorteersleutel by as 'datetime' (string)
- Doen dit vir die 4 tafels, dht, ligte, galery, werknemer
Voorskou van die 4 tabelle
Stap 6: Stel AWS S3 Bucket op
- Soek AWS S3
- Klik op "Skep emmer"
- Volg die reëls om die emmer te noem
- Volg skermkiekies
- Skep emmer
Hoe kan ek selfs in die S3 -emmer oplaai?
Ons het nie 'n admin-portaal nie, dus sou ons die QR-kode-prent handmatig invoer via 'n grafiese gebruikerskoppelvlak van die AWS. Volg die kiekies om die emmer te skep. Die brokkie van die kode is die logika wat nodig is om die prent op S3 Bucket te laai
Stap 7: Stel AWS SNS op
- Soek AWS SNS
- Volg Onderwerp Tag
- Skep nuwe onderwerp
- Stel onderwerpnaam en vertoonnaam in
- Wysig beleid sodat almal kan publiseer
- Teken in op die onderwerp wat geskep word
- Stel e -pos in die eindpuntveld om e -pos te ontvang wanneer die waarde 'n sekere waarde bereik
Stap 8: Stel 'n reël op
- Klik op "Skep 'n reël"
- Skryf naam en kort beskrywing
- Kies die nuutste SQL -weergawe om die hele MQTT -boodskap te stuur
- Die reëlmotor gebruik die onderwerpfilter om te bepaal watter reëls geaktiveer moet word wanneer 'n MQTT -boodskap ontvang word
- Klik op "Voeg aksie by"
- Kies om 'n boodskap te stuur via SNS -stootkennisgewing
Stap 9: Skep webkoppelvlak
Skep hierdie nuwe html -lêers met die naam
- kop
- teken aan
- logs
- dht
- lig
- galery
- beweging
- led
Kopieer en plak van die Google Drive -lêer in die onderskeie html.
drive.google.com/file/d/1zd-x21G7P5JeZyPGZp1mdUJsfjoclYJ_/view?usp=sharing
Stap 10: Hoofskrifte
Daar is 3 hoofskrifte
- server.py - Skep 'n webportaal
- working.py - Logika vir Raspberry Pi 1 (Office)
- door.py Logic for Raspberry Pi 2 (Deur)
Ons voer eenvoudig al drie kodes uit om die gewenste resultaat te kry
Ons kan dit van Google Drive af kry onder die Main.zip
drive.google.com/open?id=1xZRjqvFi7Ntna9_KzLzhroyEs8Wryp7g