INHOUDSOPGAWE:

Raspberry Pi - Smart Office: 10 stappe (met foto's)
Raspberry Pi - Smart Office: 10 stappe (met foto's)

Video: Raspberry Pi - Smart Office: 10 stappe (met foto's)

Video: Raspberry Pi - Smart Office: 10 stappe (met foto's)
Video: Маленький лисенок вышел к людям за помощью 2024, November
Anonim
Framboos Pi - Smart Office
Framboos Pi - Smart Office

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

Kom ons kyk na die oorsig!
Kom ons kyk na die oorsig!
Kom ons kyk na die oorsig!
Kom ons kyk na die oorsig!
Kom ons kyk na die oorsig!
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)

  1. Skep 'n gids om u html -sjablone te stoor
  2. Skep 'n gids om u css/javascript -lêers wat staties genoem word, te stoor
  3. 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)

  1. Skep 'n gids om u lêers met die naam deur te stoor
  2. 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

Stel Telegram Bot op
Stel Telegram Bot op
Stel Telegram Bot op
Stel Telegram Bot op
Stel Telegram Bot op
Stel Telegram Bot op
Stel Telegram Bot op
Stel Telegram Bot op
  1. Maak Telegram oop
  2. Soek "BotFather"
  3. Tik "/begin"
  4. Tik "/newbot"
  5. Volg die instruksies, naam vir bot, gebruikersnaam vir bot, teken botverifikasie -token neer

Stap 5: Stel DynamoDB op

Stel DynamoDB op
Stel DynamoDB op
Stel DynamoDB op
Stel DynamoDB op
Stel DynamoDB op
Stel DynamoDB op
  1. Sluit aan by AWS
  2. Soek DynamoDB in AWS -diens
  3. Klik op "Skep tabel"
  4. Vul die tabelnaam in
  5. Stel die partisiesleutel as 'id' (string) en voeg sorteersleutel by as 'datetime' (string)
  6. Doen dit vir die 4 tafels, dht, ligte, galery, werknemer

Voorskou van die 4 tabelle

Stap 6: Stel AWS S3 Bucket op

Stel AWS S3 Bucket op
Stel AWS S3 Bucket op
Stel AWS S3 Bucket op
Stel AWS S3 Bucket op
Stel AWS S3 Bucket op
Stel AWS S3 Bucket op
  1. Soek AWS S3
  2. Klik op "Skep emmer"
  3. Volg die reëls om die emmer te noem
  4. Volg skermkiekies
  5. 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

  1. Soek AWS SNS
  2. Volg Onderwerp Tag
  3. Skep nuwe onderwerp
  4. Stel onderwerpnaam en vertoonnaam in
  5. Wysig beleid sodat almal kan publiseer
  6. Teken in op die onderwerp wat geskep word
  7. 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

  1. Klik op "Skep 'n reël"
  2. Skryf naam en kort beskrywing
  3. Kies die nuutste SQL -weergawe om die hele MQTT -boodskap te stuur
  4. Die reëlmotor gebruik die onderwerpfilter om te bepaal watter reëls geaktiveer moet word wanneer 'n MQTT -boodskap ontvang word
  5. Klik op "Voeg aksie by"
  6. 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

Aanbeveel: