Inhoudsopgave:

Raspberry Pi - Smart Office - Ajarnpa
Raspberry Pi - Smart Office - Ajarnpa

Video: Raspberry Pi - Smart Office - Ajarnpa

Video: Raspberry Pi - Smart Office - Ajarnpa
Video: Smart Office Automation using Raspberry Pi 2024, November
Anonim
Raspberry Pi - Smart Office
Raspberry Pi - Smart Office

Waar gaat de aanvraag over?

OfficeHelperBOT is een applicatie gericht op een slimme kantooromgeving. 2 Raspberry Pi 3 Model B zou hiervoor zijn ingesteld.

Raspberry Pi 1 zou de hoofdmachine zijn die alle waarden van de sensoren opneemt, de gegevens publiceert via MQTT, gegevens opslaat in de clouddatabase die we gebruiken DynamoDB en de webportalserver uitvoert.

Raspberry Pi 2 zou aan de deur worden gebruikt. Het zou vereisen dat de werknemer zijn identiteit verifieert voordat hij toegang krijgt tot het kantoor. Er zijn twee methoden om dit te doen, namelijk via een pincodereeks en een QR-codeverificatie. In het geval dat de verificatie kan worden misbruikt, nemen we een foto van degene die de verificatie niet heeft doorstaan en slaan we de afbeelding van de persoon op in de AWS S3-bucket.

Een webpagina zou DHT-, licht-, bewegingsdetectiefoto's en video's van het kantoor kunnen bekijken. De webpagina zou ook in staat zijn om de kantoorverlichting te bedienen en ook een livestream van CCTV van het kantoor te bekijken.

Er zou ook een Telegram-bot zijn waarmee de LED-verlichting op kantoor kan worden bediend, de waarde van sensorwaarden zoals de temperatuur kan worden gecontroleerd en waarmee werknemers ook hun QR-code-afbeelding kunnen krijgen als ze hun QR-code-afbeelding kwijtraken of hun pincode vergeten. door hun QR-codeafbeelding op te vragen en te krijgen van AWS S3 Bucket.

Stap 1: Laten we eens kijken naar het overzicht

Laten we eens kijken naar het overzicht!
Laten we eens kijken naar het overzicht!
Laten we eens kijken naar het overzicht!
Laten we eens kijken naar het overzicht!
Laten we eens kijken naar het overzicht!
Laten we eens kijken naar het overzicht!

Systeemarchitectuurdiagram

Hoe de machines met elkaar zullen communiceren

Hardware-resultaat

Kijk hoe de twee Raspberry Pi er uiteindelijk uit zou zien

Web portaal

Bekijk de webportal die gemaakt is met Python via Flask

Telegram Bot

De Bot vinden die we hebben gemaakt

Livestream

1 van de PiCam gebruiken als CCTV en live beelden streamen

Hardwarevereiste:

  • 2x Raspberry Pi
  • 2x GPIO-bord
  • 1x LDR
  • 1x DHT11
  • 1x bewegingssensor
  • 4x LED
  • 7x Knop
  • 2x zoemer
  • 2x LCD-scherm
  • 1x webcam

Stap 2: Instellen voor Raspberry Pi 1 (Office)

  1. Maak een map om uw html op te slaan met de naam sjablonen
  2. Maak een map om uw css/javascript-bestanden op te slaan, genaamd static
  3. Maak een map om uw camerabestanden op te slaan genaamd camera met 3 submappen capture_photos, motion_photos, motion_videos

mkdir ~/ca2

mkdir ~/ca2/sjablonen

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

Stap 3: Instellen voor Raspberry Pi 2 (deur)

  1. Maak een map om uw bestanden op te slaan met de naam door
  2. Maak een map om uw QR-codeafbeeldingen op te slaan, genaamd qr_code

mkdir ~/door

mkdir ~/door/qr_code

Stap 4: Telegram Bot instellen

Telegram Bot instellen
Telegram Bot instellen
Telegram Bot instellen
Telegram Bot instellen
Telegram Bot instellen
Telegram Bot instellen
Telegram Bot instellen
Telegram Bot instellen
  1. Telegram openen
  2. Zoek "BotFather"
  3. Typ "/start"
  4. Typ "/nieuwebot"
  5. Volg de instructies, naam voor bot, gebruikersnaam voor bot, noteer botverificatietoken

Stap 5: DynamoDB instellen

DynamoDB instellen
DynamoDB instellen
DynamoDB instellen
DynamoDB instellen
DynamoDB instellen
DynamoDB instellen
  1. Aanmelden voor AWS
  2. Zoek DynamoDB in AWS-service
  3. Klik op "Tafel maken"
  4. Vul tabelnaam in
  5. Stel partitiesleutel in als 'id'(string) en voeg sorteersleutel toe als 'datetime'(string)
  6. Doe het voor de 4 tafels, dht, lichten, galerij, medewerker

Voorbeeld van de 4 tabellen

Stap 6: AWS S3-emmer instellen

AWS S3-emmer instellen
AWS S3-emmer instellen
AWS S3-emmer instellen
AWS S3-emmer instellen
AWS S3-emmer instellen
AWS S3-emmer instellen
  1. Zoeken naar AWS S3
  2. Klik op "Emmer maken"
  3. Volg de regels om de emmer een naam te geven
  4. Schermafbeeldingen volgen
  5. Emmer maken

Hoe kan ik zelfs uploaden naar S3-bucket?

We hebben geen beheerdersportaal, dus we zouden de QR-codeafbeelding handmatig importeren via de grafische gebruikersinterface van AWS. Volg de screenshots om de bucket te maken. Het codefragment is de logica die nodig is om de afbeelding te uploaden naar S3 Bucket

Stap 7: AWS SNS instellen

  1. Zoeken naar AWS SNS
  2. Onderwerptag volgen
  3. Nieuw onderwerp maken
  4. Onderwerpnaam en weergavenaam instellen
  5. Beleid bewerken zodat iedereen kan publiceren
  6. Abonneer je op het onderwerp dat is aangemaakt
  7. Stel e-mail in het eindpuntveld in om e-mail te ontvangen wanneer de waarde een bepaalde waarde bereikt

Stap 8: Een regel maken

  1. Klik op "Een regel maken"
  2. Schrijf naam en korte beschrijving
  3. Kies de nieuwste SQL-versie om het volledige MQTT-bericht te verzenden
  4. De regelengine gebruikt het onderwerpfilter om te bepalen welke regels moeten worden geactiveerd wanneer een MQTT-bericht wordt ontvangen
  5. Klik op "Actie toevoegen"
  6. Selecteer een bericht verzenden via SNS-pushmelding

Stap 9: Webinterface maken

Maak deze nieuwe html-bestanden met de naam

  • hoofd
  • Log in
  • logboeken
  • dht
  • licht
  • galerij
  • beweging
  • LED

Kopieer en plak vanuit het Google Drive-bestand in de betreffende html.

drive.google.com/file/d/1zd-x21G7P5JeZyPGZp1mdUJsfjoclYJ_/view?usp=sharing

Stap 10: Hoofdscripts

Er zijn 3 hoofdscripts:

  • server.py - Een webportaal maken
  • working.py - Logica voor Raspberry Pi 1 (Office)
  • door.py Logica voor Raspberry Pi 2 (Deur)

We voeren gewoon alle 3 de codes uit om het gewenste resultaat te krijgen

We kunnen het van Google Drive krijgen onder de Main.zip

drive.google.com/open?id=1xZRjqvFi7Ntna9_KzLzhroyEs8Wryp7g

Aanbevolen: