Sommario:

Raspberry Pi - Smart Office: 10 passaggi (con immagini)
Raspberry Pi - Smart Office: 10 passaggi (con immagini)

Video: Raspberry Pi - Smart Office: 10 passaggi (con immagini)

Video: Raspberry Pi - Smart Office: 10 passaggi (con immagini)
Video: Easy Raspberry Pi Projects for 2023! 2024, Novembre
Anonim
Raspberry Pi - Smart Office
Raspberry Pi - Smart Office

Di cosa tratta l'applicazione?

OfficeHelperBOT è un'applicazione destinata a un ambiente di ufficio intelligente. 2 Raspberry Pi 3 Modello B sarebbe configurato per questo.

Raspberry Pi 1 sarebbe la macchina principale che acquisirà tutti i valori dai sensori, pubblicando i dati tramite MQTT, archiviando i dati nel database cloud che stiamo utilizzando DynamoDB ed eseguendo il server del portale web.

Raspberry Pi 2 verrebbe utilizzato alla porta. Richiederebbe al dipendente di verificare la propria identità prima di poter accedere all'ufficio. Ci sono due metodi per farlo che sono tramite una sequenza di codice pin e una verifica del codice QR. Nei casi in cui la verifica possa essere utilizzata in modo improprio, scatteremo una foto di chi ha fallito la verifica e memorizzeremo l'immagine della persona su AWS S3 Bucket.

Una pagina web sarebbe in grado di visualizzare DHT, luce, foto rilevate dal movimento e video dell'ufficio. La pagina web sarebbe anche in grado di controllare le luci dell'ufficio e anche di visualizzare un flusso live di CCTV dell'ufficio.

Ci sarebbe anche un bot di Telegram che consente il controllo delle luci a LED in ufficio, controlla il valore dei valori dei sensori come la temperatura e consente anche ai dipendenti di ottenere l'immagine del codice QR se perde l'immagine del codice QR o dimentica il pin richiedendo e ottenendo l'immagine del codice QR da AWS S3 Bucket.

Passaggio 1: diamo un'occhiata alla panoramica

Diamo un'occhiata alla panoramica!
Diamo un'occhiata alla panoramica!
Diamo un'occhiata alla panoramica!
Diamo un'occhiata alla panoramica!
Diamo un'occhiata alla panoramica!
Diamo un'occhiata alla panoramica!

Diagramma dell'architettura del sistema

Come le macchine comunicheranno tra loro

Risultato hardware

Guarda come sarebbero i due Raspberry Pi alla fine

Portale web

Visualizza il portale web realizzato con Python tramite Flask

Bot di Telegram

Trovare il Bot che abbiamo creato

Trasmissione in diretta

Utilizzo di 1 della PiCam come CCTV e streaming di filmati dal vivo

Requisiti hardware

  • 2x Raspberry Pi
  • 2x scheda GPIO
  • 1x LDR
  • 1x DHT11
  • 1x sensore di movimento
  • 4x LED
  • Pulsante 7x
  • 2x cicalino
  • Display LCD 2x
  • 1x webcam

Passaggio 2: configurazione per Raspberry Pi 1 (Office)

  1. Crea una cartella per memorizzare i tuoi modelli html chiamati modelli
  2. Crea una cartella per memorizzare i tuoi file css/javascript chiamata static
  3. Crea una cartella per memorizzare i file della tua fotocamera chiamata fotocamera con 3 sottocartelle capture_photos, motion_photos, motion_videos

mkdir ~/ca2

mkdir ~/ca2/templates

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

Passaggio 3: configurazione per Raspberry Pi 2 (porta)

  1. Crea una cartella per archiviare i tuoi file chiamata porta
  2. Crea una cartella per memorizzare le immagini del tuo QR Code chiamata qr_code

mkdir ~/porta

mkdir ~/door/qr_code

Passaggio 4: configura il bot di Telegram

Imposta il bot di Telegram
Imposta il bot di Telegram
Imposta il bot di Telegram
Imposta il bot di Telegram
Imposta il bot di Telegram
Imposta il bot di Telegram
Imposta il bot di Telegram
Imposta il bot di Telegram
  1. Apri Telegramma
  2. Trova "BotFather"
  3. Digita "/inizio"
  4. Digita "/newbot"
  5. Segui le istruzioni, nome per bot, nome utente per bot, annota token di autenticazione bot

Passaggio 5: configurazione di DynamoDB

Configura DynamoDB
Configura DynamoDB
Configura DynamoDB
Configura DynamoDB
Configura DynamoDB
Configura DynamoDB
  1. Iscriviti ad AWS
  2. Cerca DynamoDB nel servizio AWS
  3. Fare clic su "Crea tabella"
  4. Inserisci il nome della tabella
  5. Imposta la chiave di partizione come "id" (stringa) e aggiungi la chiave di ordinamento come "datetime" (stringa)
  6. Fallo per i 4 tavoli, dht, luci, galleria, dipendente

Anteprima dei 4 tavoli

Passaggio 6: configurazione del bucket AWS S3

Configurare il bucket AWS S3
Configurare il bucket AWS S3
Configurare il bucket AWS S3
Configurare il bucket AWS S3
Configurare il bucket AWS S3
Configurare il bucket AWS S3
  1. Cerca AWS S3
  2. Fare clic su "Crea bucket"
  3. Segui le regole per dare un nome al secchio
  4. Segui gli screenshot
  5. Crea secchio

Come faccio anche a caricare nel bucket S3?

Non abbiamo un portale di amministrazione, quindi importeremmo manualmente l'immagine del codice QR tramite l'interfaccia utente grafica di AWS. Segui gli screenshot per creare il bucket. Lo snippet del codice è la logica necessaria per caricare l'immagine su S3 Bucket

Passaggio 7: configurazione di AWS SNS

  1. Cerca AWS SNS
  2. Segui il tag dell'argomento
  3. Crea nuovo argomento
  4. Imposta il nome dell'argomento e il nome visualizzato
  5. Modifica la politica per consentire a tutti di pubblicare
  6. Iscriviti all'argomento che viene creato
  7. Imposta l'e-mail nel campo dell'endpoint per ricevere l'e-mail quando il valore raggiunge un certo valore

Passaggio 8: creazione di una regola

  1. Clicca su "Crea una regola"
  2. Scrivi nome e breve descrizione
  3. Scegli l'ultima versione SQL per inviare l'intero messaggio MQTT
  4. Il motore delle regole utilizza il filtro dell'argomento per determinare quali regole attivare quando viene ricevuto un messaggio MQTT
  5. Fare clic su "Aggiungi azione"
  6. Seleziona l'invio di un messaggio tramite notifica push SNS

Passaggio 9: creazione dell'interfaccia Web

Crea questi nuovi file html chiamati

  • testa
  • Accedere
  • log
  • dht
  • leggero
  • galleria
  • movimento
  • guidato

Copia e incolla dal file di Google Drive nel rispettivo html.

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

Passaggio 10: script principali

Ci sono 3 script principali

  • server.py - Crea un portale web
  • working.py - Logica per Raspberry Pi 1 (Office)
  • door.py Logica per Raspberry Pi 2 (porta)

Eseguiamo semplicemente tutti e 3 i codici per ottenere il risultato che vogliamo

Possiamo ottenerlo da Google Drive sotto Main.zip

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

Consigliato: