Turinys:
- 1 žingsnis: Pažvelkime į apžvalgą
- 2 veiksmas: nustatykite „Raspberry Pi 1“(„Office“)
- 3 veiksmas: nustatykite „Raspberry Pi 2“(durys)
- 4 veiksmas: nustatykite „Telegram Bot“
- 5 veiksmas: nustatykite „DynamoDB“
- 6 veiksmas: nustatykite AWS S3 kibirą
- 7 veiksmas: nustatykite AWS SNS
- 8 žingsnis: taisyklės sukūrimas
- 9 veiksmas: žiniatinklio sąsajos kūrimas
- 10 veiksmas: pagrindiniai scenarijai
Video: „Raspberry Pi“- „Smart Office“: 10 žingsnių (su nuotraukomis)
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Apie ką paraiška?
„OfficeHelperBOT“yra programa, skirta pažangiam biuro nustatymui. Tam būtų nustatytas 2 „Raspberry Pi 3“modelis B.
„Raspberry Pi 1“būtų pagrindinė mašina, kuri imtų visas jutiklių vertes, skelbtų duomenis per MQTT, saugotų duomenis debesų duomenų bazėje, kurią naudojame „DynamoDB“, ir paleistų žiniatinklio portalo serverį.
Prie durų būtų naudojamas „Raspberry Pi 2“. Prieš įleidžiant į biurą darbuotojas privalėtų patikrinti savo tapatybę. Yra du būdai tai padaryti naudojant PIN kodo seką ir QR kodo patvirtinimą. Tais atvejais, kai patvirtinimas gali būti naudojamas netinkamai, mes nufotografuosime asmenį, kurio patvirtinimas nepavyko, ir išsaugosime asmens atvaizdą „AWS S3 Bucket“.
Tinklalapyje būtų galima peržiūrėti DHT, šviesą, judesio aptiktas biuro nuotraukas ir vaizdo įrašus. Tinklalapis taip pat galėtų valdyti biuro apšvietimą ir tiesioginį biuro vaizdo stebėjimo srautą.
Taip pat būtų „Telegram“robotas, leidžiantis valdyti biuro šviesos diodus, patikrinti jutiklių reikšmių, pvz., Temperatūros, vertę, taip pat leisti darbuotojui gauti QR kodo vaizdą, jei jis prarastų QR kodo vaizdą arba pamirštų PIN kodą prašydami ir gavę jų QR kodo vaizdą iš „AWS S3 Bucket“.
1 žingsnis: Pažvelkime į apžvalgą
Sistemos architektūros diagrama
Kaip mašinos bendrauja tarpusavyje
Aparatinės įrangos rezultatas
Pažiūrėkite, kaip galiausiai atrodytų du „Raspberry Pi“
Interneto portalas
Peržiūrėkite interneto portalą, sukurtą naudojant „Python“per kolbą
Telegramos robotas
Suradome sukurtą robotą
Tiesiogiai
Naudojant vieną iš „PiCam“kaip vaizdo stebėjimo kamerą ir transliuojant tiesioginę medžiagą
Techninės įrangos reikalavimas
- 2x „Raspberry Pi“
- 2x GPIO plokštė
- 1x LDR
- 1x DHT11
- 1x judesio jutiklis
- 4x LED
- 7x mygtukas
- 2x garsinis signalas
- 2x LCD ekranas
- 1x internetinė kamera
2 veiksmas: nustatykite „Raspberry Pi 1“(„Office“)
- Sukurkite aplanką, kuriame bus saugomi jūsų html, vadinami šablonais
- Sukurkite aplanką, kuriame bus saugomi jūsų css/javascript failai, vadinami statiniais
- Sukurkite aplanką, kuriame bus saugomi fotoaparato failai, vadinami fotoaparatu su 3 antriniais aplankais „capture_photos“, „motion_photos“, „motion_videos“
mkdir ~/ca2
mkdir ~/ca2/šablonai
mkdir ~/ca2/static
mkdir ~/ca2/static/camera
mkdir ~/ca2/static/camera/capture_photos
mkdir ~/ca2/static/camera/motion_photos
mkdir ~/ca2/static/camera/motion_Videos
3 veiksmas: nustatykite „Raspberry Pi 2“(durys)
- Sukurkite aplanką savo failams saugoti, vadinamą durimis
- Sukurkite aplanką, kuriame bus saugomi jūsų QR kodo vaizdai, vadinami qr_code
mkdir ~/durys
mkdir ~/door/qr_code
4 veiksmas: nustatykite „Telegram Bot“
- Atidarykite „Telegram“
- Raskite „BotFather“
- Įveskite „/start“
- Įveskite „/newbot“
- Vykdykite instrukcijas, bot pavadinimą, bot vartotojo vardą, užsirašykite roboto autentifikavimo žetoną
5 veiksmas: nustatykite „DynamoDB“
- Užsiregistruokite AWS
- Ieškokite „DynamoDB“AWS tarnyboje
- Spustelėkite „Sukurti lentelę“
- Užpildykite lentelės pavadinimą
- Nustatykite skaidinio raktą kaip „id“(eilutė) ir pridėkite rūšiavimo raktą kaip „datetime“(eilutė)
- Padarykite tai už 4 stalus, dht, šviesas, galeriją, darbuotoją
4 lentelių peržiūra
6 veiksmas: nustatykite AWS S3 kibirą
- Ieškoti AWS S3
- Spustelėkite „Sukurti kibirą“
- Vadovaukitės taisyklėmis, kad pavadintumėte kibirą
- Sekite ekrano kopijas
- Sukurkite kibirą
Kaip net įkelti į S3 kibirą?
Mes neturime administratoriaus portalo, todėl rankiniu būdu importuotume QR kodo vaizdą per AWS grafinę vartotojo sąsają. Sekite ekrano kopijas, kad sukurtumėte grupę. Kodo fragmentas yra logika, reikalinga vaizdui įkelti į „S3 Bucket“
7 veiksmas: nustatykite AWS SNS
- Ieškoti AWS SNS
- Sekite temos žymą
- Sukurkite naują temą
- Nustatykite temos pavadinimą ir rodomą pavadinimą
- Redaguokite politiką, kad visi galėtų skelbti
- Prenumeruokite sukurtą temą
- Galutinio taško lauke nustatykite el. Laišką, kad gautumėte el. Laišką, kai vertė pasiekia tam tikrą vertę
8 žingsnis: taisyklės sukūrimas
- Spustelėkite „Sukurti taisyklę“
- Parašykite pavadinimą ir trumpą aprašymą
- Pasirinkite naujausią SQL versiją, kad išsiųstumėte visą MQTT pranešimą
- Taisyklių variklis naudoja temų filtrą, kad nustatytų, kurias taisykles suaktyvinti, kai gaunamas MQTT pranešimas
- Spustelėkite „Pridėti veiksmą“
- Pasirinkite siųsti pranešimą per SNS tiesioginį pranešimą
9 veiksmas: žiniatinklio sąsajos kūrimas
Sukurkite šiuos naujus html failus, vadinamus
- galva
- Prisijungti
- rąstai
- dht
- šviesa
- galerija
- judesys
- vedė
Nukopijuokite ir įklijuokite iš „Google“disko failo į atitinkamą html.
drive.google.com/file/d/1zd-x21G7P5JeZyPGZp1mdUJsfjoclYJ_/view?usp=sharing
10 veiksmas: pagrindiniai scenarijai
Yra 3 pagrindiniai scenarijai
- server.py - sukurkite žiniatinklio portalą
- working.py - „Raspberry Pi 1“logika („Office“)
- „door.py“logika, skirta „Raspberry Pi 2“(durys)
Mes tiesiog paleidžiame visus 3 kodus, kad gautume norimą rezultatą
Jį galime gauti iš „Google“disko, esantį „Main.zip“
drive.google.com/open?id=1xZRjqvFi7Ntna9_KzLzhroyEs8Wryp7g