Spisu treści:

Raspberry Pi - Smart Office: 10 kroków (ze zdjęciami)
Raspberry Pi - Smart Office: 10 kroków (ze zdjęciami)

Wideo: Raspberry Pi - Smart Office: 10 kroków (ze zdjęciami)

Wideo: Raspberry Pi - Smart Office: 10 kroków (ze zdjęciami)
Wideo: Która wersja Raspberry Pi OS jest dla Ciebie? [tylko dla początkujących] 2024, Grudzień
Anonim
Raspberry Pi - Inteligentne biuro
Raspberry Pi - Inteligentne biuro

Czego dotyczy aplikacja?

OfficeHelperBOT to aplikacja ukierunkowana na ustawienie inteligentnego biura. 2 Raspberry Pi 3 Model B byłby do tego skonfigurowany.

Raspberry Pi 1 będzie główną maszyną, która będzie pobierać wszystkie wartości z czujników, publikując dane za pośrednictwem MQTT, przechowując dane w bazie danych w chmurze, z której korzystamy w DynamoDB i uruchamiając serwer portalu internetowego.

Raspberry Pi 2 będzie używany przy drzwiach. Wymagałoby to od pracownika zweryfikowania swojej tożsamości, zanim uzyska dostęp do biura. Można to zrobić na dwa sposoby, za pomocą sekwencji kodu PIN i weryfikacji kodu QR. W przypadkach, w których weryfikacja może być niewłaściwie wykorzystana, zrobimy zdjęcie osobie, która nie przeszła weryfikacji i zapiszemy jej zdjęcie w zasobniku AWS S3.

Strona internetowa byłaby w stanie wyświetlić zdjęcia DHT, światło, wykryty ruch i wideo z biura. Strona internetowa byłaby również w stanie sterować oświetleniem biura, a także oglądać na żywo transmisję z CCTV biura.

Byłby również bot Telegram, który umożliwiałby sterowanie oświetleniem LED w biurze, sprawdzanie wartości wartości czujników, takich jak temperatura, a także umożliwianie pracownikowi uzyskanie obrazu kodu QR, jeśli zgubi obraz kodu QR lub zapomniał kodu PIN poprzez żądanie i pobranie obrazu kodu QR z AWS S3 Bucket.

Krok 1: Spójrzmy na przegląd

Spójrzmy na przegląd!
Spójrzmy na przegląd!
Spójrzmy na przegląd!
Spójrzmy na przegląd!
Spójrzmy na przegląd!
Spójrzmy na przegląd!

Schemat architektury systemu

Jak maszyny będą się ze sobą komunikować

Wynik sprzętowy

Zobacz, jak ostatecznie wyglądałyby dwa Raspberry Pi

Portal internetowy

Zobacz portal internetowy stworzony za pomocą Pythona za pośrednictwem Flask

Telegram Bot

Odnajdywanie Bota, którego stworzyliśmy

Transmisja na żywo

Używanie jednego urządzenia PiCam jako telewizji przemysłowej i przesyłanie strumieniowe materiału na żywo

Wymagania sprzętowe

  • 2x Raspberry Pi
  • 2x płytka GPIO
  • 1x LDR
  • 1x DHT11
  • 1x czujnik ruchu
  • 4x LED
  • 7x przycisk
  • 2x brzęczyk
  • 2x wyświetlacz LCD
  • 1x kamera internetowa

Krok 2: Skonfiguruj dla Raspberry Pi 1 (biuro)

  1. Utwórz folder do przechowywania html o nazwie szablony
  2. Utwórz folder do przechowywania plików css/javascript o nazwie statyczne
  3. Utwórz folder do przechowywania plików aparatu o nazwie camera z 3 podfolderami capture_photos, motion_photos, motion_videos

mkdir ~/ca2

mkdir ~/ca2/szablony

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

Krok 3: Skonfiguruj dla Raspberry Pi 2 (drzwi)

  1. Utwórz folder do przechowywania plików o nazwie drzwi
  2. Utwórz folder do przechowywania obrazów kodu QR o nazwie qr_code

mkdir ~/drzwi

mkdir ~/drzwi/qr_code

Krok 4: Skonfiguruj bota Telegram

Skonfiguruj bota Telegrama
Skonfiguruj bota Telegrama
Skonfiguruj bota Telegrama
Skonfiguruj bota Telegrama
Skonfiguruj bota Telegrama
Skonfiguruj bota Telegrama
Skonfiguruj bota Telegrama
Skonfiguruj bota Telegrama
  1. Otwórz telegram
  2. Znajdź „Ojca Dolnego”
  3. Wpisz "/start"
  4. Wpisz „/nowybot”
  5. Postępuj zgodnie z instrukcjami, nazwa dla bota, nazwa użytkownika dla bota, zanotuj token uwierzytelniający bota

Krok 5: Skonfiguruj DynamoDB

Skonfiguruj DynamoDB
Skonfiguruj DynamoDB
Skonfiguruj DynamoDB
Skonfiguruj DynamoDB
Skonfiguruj DynamoDB
Skonfiguruj DynamoDB
  1. Zarejestruj się w AWS
  2. Wyszukaj DynamoDB w usłudze AWS
  3. Kliknij „Utwórz tabelę”
  4. Wpisz nazwę tabeli
  5. Ustaw klucz partycji jako „id” (ciąg) i dodaj klucz sortowania jako „datetime” (ciąg)
  6. Zrób to dla 4 stołów, dht, świateł, galerii, pracownika

Zapowiedź 4 stołów

Krok 6: Skonfiguruj zasobnik AWS S3

Skonfiguruj zasobnik AWS S3
Skonfiguruj zasobnik AWS S3
Skonfiguruj zasobnik AWS S3
Skonfiguruj zasobnik AWS S3
Skonfiguruj zasobnik AWS S3
Skonfiguruj zasobnik AWS S3
  1. Wyszukaj AWS S3
  2. Kliknij „Utwórz zasobnik”
  3. Postępuj zgodnie z zasadami, aby nazwać wiadro
  4. Śledź zrzuty ekranu
  5. Utwórz zasobnik

Jak w ogóle wgrać do zasobnika S3?

Nie mamy portalu administracyjnego, więc ręcznie importowalibyśmy obraz QR Code za pomocą graficznego interfejsu użytkownika AWS. Postępuj zgodnie ze zrzutami ekranu, aby utworzyć zasobnik. Fragment kodu to logika wymagana do przesłania obrazu do S3 Bucket

Krok 7: Skonfiguruj AWS SNS

  1. Wyszukaj AWS SNS
  2. Obserwuj tag tematu
  3. Utwórz nowy temat
  4. Ustaw nazwę tematu i wyświetlaną nazwę
  5. Edytuj zasady, aby umożliwić wszystkim publikowanie
  6. Zapisz się do tworzonego tematu
  7. Ustaw e-mail w polu punktu końcowego, aby otrzymywać e-maile, gdy wartość osiągnie określoną wartość

Krok 8: Tworzenie reguły

  1. Kliknij „Utwórz regułę”
  2. Wpisz imię i krótki opis
  3. Wybierz najnowszą wersję SQL, aby wysłać całą wiadomość MQTT
  4. Silnik reguł używa filtru tematów, aby określić, które reguły mają być wyzwalane po odebraniu wiadomości MQTT
  5. Kliknij „Dodaj akcję”
  6. Wybierz wysyłanie wiadomości przez powiadomienia push SNS

Krok 9: Tworzenie interfejsu internetowego

Utwórz te nowe pliki html o nazwie

  • głowa
  • Zaloguj sie
  • dzienniki
  • dht
  • lekki
  • Galeria
  • ruch
  • prowadzony

Skopiuj i wklej z pliku Dysku Google do odpowiedniego html.

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

Krok 10: Skrypty główne

Istnieją 3 główne skrypty

  • server.py - Utwórz portal internetowy
  • working.py - Logika dla Raspberry Pi 1 (Biuro)
  • door.py Logika dla Raspberry Pi 2 (drzwi)

Po prostu uruchamiamy wszystkie 3 kody, aby uzyskać pożądany wynik

Możemy go pobrać z dysku Google pod Main.zip

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

Zalecana: