Spisu treści:

Bezpieczny inteligentny dom/pokój IOT CA2: 8 kroków
Bezpieczny inteligentny dom/pokój IOT CA2: 8 kroków

Wideo: Bezpieczny inteligentny dom/pokój IOT CA2: 8 kroków

Wideo: Bezpieczny inteligentny dom/pokój IOT CA2: 8 kroków
Wideo: Nawet o 30% możesz zmniejszyć wydatki dzięki „inteligentnym” rozwiązaniom domowym 2024, Listopad
Anonim
Bezpieczny inteligentny dom/pokój IOT CA2
Bezpieczny inteligentny dom/pokój IOT CA2
Bezpieczny inteligentny dom/pokój IOT CA2
Bezpieczny inteligentny dom/pokój IOT CA2

Spis treści

1 Przegląd inteligentnego bezpiecznego domu

2 Wymagania sprzętowe + Konfiguracja

3 wymagania programowe + konfiguracja

4 Zarejestruj raspberrypi jako rzecz

5 Utwórz wiadro S3

6 Konfiguracja DynamoDB + zasady

7 Oczekiwany wynik

8 kodów (z Pastebina)

9 Referencje

Przegląd

Witam! Ten projekt Raspberry Pi to system zarządzania „inteligentnym domem” z pewnymi funkcjami bezpieczeństwa. Projekt jest w stanie mierzyć różne wartości, takie jak temperatura i światło. Sekcja bezpieczeństwa składa się z brzęczyka, systemu skanera kart (karta upoważnionego), kamery wewnętrznej i zewnętrznej oraz systemu ostrzegania SMS. Poniższe instrukcje obejmują konfigurację całego projektu.

Zasadniczo mamy rezystor diody świetlnej i czujnik DHT11, aby uzyskać zarówno temperaturę, jak i wartości światła. Wartości zostaną następnie opublikowane w „smartroomie/czujnikach/wartościach” i będzie dostępna subskrypcja tematu, aby sprawdzić, czy wartości są publikowane. Po opublikowaniu wartości zostaną one również przesłane do naszej tabeli DynamoDB. Wartości przechowywane w DynamoDB można wyodrębnić i wykreślić na wykresie, który wyświetla wartości w czasie rzeczywistym w naszym interfejsie internetowym. (Wykres świetlny) Oprócz używania czujników do uzyskiwania wartości w celu wykreślenia naszego wykresu w celach analitycznych, nasz czujnik dht11 jest również używany jako potencjalny detektor „pożaru”. Kiedy osiągnie określoną temperaturę, która może być ogniem, mamy skrypt o nazwie publishHeat.py, który opublikuje temperaturę w temacie 'smartroom/sensor/fire', a tablica stykowa, która symbolizuje zewnętrzną część mieszkania, będzie się do tego subskrybować temat i mieć zapaloną diodę LED, aby wskazać, że może wystąpić potencjalny pożar. Włączy się również alarm, a także zostanie wysłany SMS, aby powiadomić właściciela domu o potencjalnym pożarze.

Aby wejść do domu/pokoju, użytkownik będzie musiał zbliżyć swoją kartę do skanera RFID. Jeśli podbita karta jest nieprawidłowa, alarm włączy się do czasu podsłuchania karty z właściwymi danymi uwierzytelniającymi. Ponadto w przypadku stuknięcia nieprawidłowej karty kamera monitorująca na zewnątrz zrobi zdjęcie użytkownika, który stuknął kartę i prześle zdjęcie do zasobnika S3. Właściciel domu otrzyma również SMS z informacją, że ktoś próbował wejść do jego domu. W pomieszczeniu znajduje się również wskaźnik LED na zewnątrz, który oznacza, że drzwi są odblokowane/zamknięte. Gdy drzwi są zamknięte, świeci się żółta dioda LED. Po odblokowaniu zaświeci się zielona dioda LED. Kiedy autoryzowana karta zostanie dotknięta, drzwi zostaną odblokowane na 15 sekund, a zielona dioda LED będzie świecić, a następnie powróci do trybu odblokowanego z zapaloną żółtą diodą LED.

Użytkownicy mogą przeglądać dane zebrane za pośrednictwem pulpitu nawigacyjnego w kolorze Node-Red, który oprócz graficznej reprezentacji miernika i wykresu historycznego pokazuje bieżące wartości pomiarów. Deska rozdzielcza zawiera również dodatkowe funkcje, takie jak zegar wyświetlający bieżące dane i czas oraz przełączniki do zdalnego sterowania różnymi urządzeniami elektrycznymi, które są reprezentowane jako diody LED i brzęczyk.

Na koniec mamy również funkcję bota telegramu. Robot telegramowy jest w stanie zdalnie robić zdjęcia wszystkiego, co dzieje się w pokoju i przechowywać je w wiadrze S3. Te zdjęcia będą oznaczone w folderze o nazwie „Homed/User”. Bot telegramu będzie mógł również zdalnie sterować oświetleniem LED w pokoju.

Krok 1: Wymagania sprzętowe + konfiguracja

Wymagania sprzętowe + konfiguracja
Wymagania sprzętowe + konfiguracja
Wymagania sprzętowe + konfiguracja
Wymagania sprzętowe + konfiguracja

Połącz następujące składniki z 2 malinowymi pisakami, jak pokazano na powyższych diagramach.

2 x Raspberry Pi

3 x deska do krojenia chleba

1 x MCP3008 ADC

1 x czujnik DhT 11

1 x LDR

1 x czytnik kart RFID/NFC MFRC522

4 x LED

1 x ekran LCD

Rezystor 3x10k

Rezystor 4x220/330

1 x przycisk

1 x brzęczyk

34 x kable męskie na męskie

11 x kable męskie na żeńskie

Krok 2: Wymagania dotyczące oprogramowania + konfiguracja

Wymagania dotyczące oprogramowania + konfiguracja
Wymagania dotyczące oprogramowania + konfiguracja
Wymagania dotyczące oprogramowania + konfiguracja
Wymagania dotyczące oprogramowania + konfiguracja
Wymagania dotyczące oprogramowania + konfiguracja
Wymagania dotyczące oprogramowania + konfiguracja

Wpisz następujące polecenia w terminalu raspberry pi, aby upewnić się, że są zainstalowane.

Jeśli którekolwiek z poniższych programów jest już pobrane do twojego pi, sudo pip install (nazwa oprogramowania) --upgrade zrobi sztuczkę, aby je zaktualizować.

- sudo pip install gevent

- kolba instalacyjna sudo pip

- sudo pip zainstaluj nexmo

- sudo pip install --upgrade --force-reinstall pip==9.0.3

- sudo pip install AWSIoTPythonSDK --upgrade --disable-pip-version-check

- sudo pip install --upgrade pip

- sudo apt-get install python-dev

- sudo pip zainstaluj boto3

- sudo pip zainstaluj botocore

- sudo pip zainstaluj numpy

- cd ~

klon git

cd ~/SPI-Py

sudo python setup.py zainstalować"

- cd ~

klon git

cd ~/MFRC522-python

sudo python setup.py zainstalować"

- sudo nano /boot/config.txt, sprawdź czy linie device_tree_param=spi=on

dtoverlay=spi-bcm2835 są w środku, w przeciwnym razie dodaj.

Krok 3: Rejestracja rzeczy

Rejestrowanie rzeczy
Rejestrowanie rzeczy
Rejestrowanie rzeczy
Rejestrowanie rzeczy
Rejestrowanie rzeczy
Rejestrowanie rzeczy
Rejestrowanie rzeczy
Rejestrowanie rzeczy

a) Najpierw przejdź do IoT Core w witrynie AWS, klikając usługi, a następnie IoT Core.

b) Na pasku nawigacyjnym w ramach zarządzania wybierz rzeczy i wybierz zarejestruj rzecz.

c) Wybierz Utwórz jedną rzecz.

d) Wpisz nazwę swojej rzeczy, na przykład MyRaspberryPi2. W pozostałych polach pozostaw wartości domyślne. Kliknij Dalej na dole strony.

e) Kliknij Utwórz certyfikat. Pobierz wszystkie cztery pliki. W przypadku pliku głównego CA pobierz Amazon Root CA 1 i zapisz go w notatniku.

f) Po zakończeniu przenieś cztery pliki do katalogu w raspberry pi.

g) Kliknij aktywuj.

h) Po kliknięciu na załącz politykę zostaniesz przeniesiony na następną stronę. Kliknij zarejestruj coś, polityka zostanie utworzona później.

i) Na pulpicie nawigacyjnym iot przejdź do zasad w sekcji bezpieczne. Kliknij Utwórz politykę.

j) Wprowadź nazwę swojej polityki, w tym przykładzie będzie to MyRaspberryPiSecurityPolicy i wprowadź następujące informacje w obszarze Dodaj instrukcje. Następnie kliknij Utwórz.

k) Na pulpicie nawigacyjnym iot przejdź do certyfikatów w bezpiecznej sekcji. Wybierz certyfikat, który utworzyłeś wcześniej, i kliknij Dołącz politykę z listy rozwijanej akcji. Dołącz wcześniej utworzoną politykę.

l) Ponownie wybierz certyfikat, który utworzyłeś wcześniej i kliknij załącz. Dołącz wcześniej utworzoną politykę. Dołącz rzecz, którą utworzyłeś wcześniej.

Krok 4: Tworzenie zasobnika S3

Tworzenie zasobnika S3
Tworzenie zasobnika S3
Tworzenie zasobnika S3
Tworzenie zasobnika S3
Tworzenie zasobnika S3
Tworzenie zasobnika S3
Tworzenie zasobnika S3
Tworzenie zasobnika S3

a) Zaczniemy od skorzystania z funkcji wyszukiwania w konsoli zarządzania AWS i wyszukania „s3”.

b) Kliknij na utwórz wiadro.

c) Wpisz nazwę wiadra. W tym przykładzie użyjemy nazwy „sp-p1703263”. Będziemy wybierać region „US EAST (N. VIRGINIA)”, który jest us-wschód-1. Po wykonaniu tej czynności kliknij Utwórz.

d) Nowo utworzony zasobnik pojawi się w dashboardzie.

Krok 5: Tworzenie tabeli DynamoDB i ustawianie reguł

Tworzenie tabeli DynamoDB i ustawianie reguł
Tworzenie tabeli DynamoDB i ustawianie reguł
Tworzenie tabeli DynamoDB i ustawianie reguł
Tworzenie tabeli DynamoDB i ustawianie reguł
Tworzenie tabeli DynamoDB i ustawianie reguł
Tworzenie tabeli DynamoDB i ustawianie reguł
Tworzenie tabeli DynamoDB i ustawianie reguł
Tworzenie tabeli DynamoDB i ustawianie reguł

a) Najpierw przejdź do usług AWS, klikając

usług, a następnie DynamoDB. Kliknij utwórz tabelę.

b) Wprowadź nazwę tabeli „iotdata” i klucz podstawowy „deviceid” z kluczem sortowania „datetimeid”, a następnie kliknij Utwórz na dole strony.

c) Następnie wróć do strony IoT Core. Kliknij Akt, a następnie kliknij Utwórz nową regułę.

d) Utwórz regułę o nazwie „MyDynamoDBRule”. Pod tematem zapytania o regułę wpisz „czujniki/światło”.

e) W sekcji Ustaw jedną lub więcej akcji kliknij dodaj akcję, kliknij „podziel wiadomość na wiele kolumn tabeli bazy danych”. Kliknij konfiguruj akcję. Pod nazwą tabeli wybierz iotdata. W polu Nazwa roli uprawnień wybierz utworzoną wcześniej rolę, czyli „dynamodb_role”. Kliknij dodaj akcję, a następnie utwórz regułę.

f) Kliknij na utwórz regułę.

Krok 6: Oczekiwany wynik

Spodziewany rezultat
Spodziewany rezultat
Spodziewany rezultat
Spodziewany rezultat

Na wolnym powietrzu

dla pi reprezentującego zewnętrzną stronę pomieszczenia zostaną uruchomione skrypty heatdetector.py i AccessDoor.py. Jeśli niewłaściwa karta dotknie skanera RFID, alarm wyłączy się, a żółta dioda LED będzie nadal świecić. Wiadomość SMS zostanie wysłana na telefon właściciela domu, aby powiadomić o możliwym włamaniu. Zabrzmi też alarm. Zdjęcie zostanie również zrobione i natychmiast przesłane do S3 Bucket. Jeśli podbita karta jest autoryzowana, zaświeci się zielona dioda LED i użytkownik będzie mógł wejść. Drzwi zostaną ponownie zablokowane po 15 sekundach (zielona dioda LED zgaśnie, a żółta dioda zaświeci się ponownie). Jeśli temperatura w pomieszczeniu/domu stanie się zbyt wysoka (do temperatury, którą uznamy za potencjalnie palącą się w domu/pokoju), wyślemy powiadomienie SMS do właściciela domu. Alarm zostanie również włączony, gdy na zewnątrz zaświeci się czerwona dioda LED.

Wnętrz

dla pi reprezentującego wnętrze pokoju zostaną uruchomione skrypty publishHeat.py, server.py, pubsub.py, telegrambot.py. Pubsub.py będzie przechowywać wartości czasu rzeczywistego w DynamoDB. po uruchomieniu server.py wpisz w przeglądarce adres IP RPI:5000, zostaniesz przekierowany do naszego interfejsu WWW. Mamy wykres, który wyświetla w czasie rzeczywistym wartości światła uzyskane z naszych czujników w pubsub.py do DynamoDB. Ponadto w naszym interfejsie internetowym wyświetlane będą również historyczne wartości światła. publishHeat.py opublikuje wartości temperatury na zewnętrznej płytce stykowej dla celów czujnika pożarowego. telegrambot.py umożliwi użytkownikowi zdalne sterowanie włączaniem/wyłączaniem światła LED w pokoju/domu, a także robienie zdjęcia tego, co dzieje się w środku i wgrywanie zdjęcia do wiaderka S3.

Dla lepszej wizualizacji tego, jak ma wyglądać oczekiwany efekt:

Krok 7: Kody źródłowe (Pastebin)

Kody źródłowe (Pastebin)
Kody źródłowe (Pastebin)

Kliknij w link. Zawiera wszystkie potrzebne kody źródłowe:

Krok 8: Referencje

Bibliografia
Bibliografia

Przewodnik po lotach. (2019). Wysyłaj SMS-y z Raspberry Pi za pomocą Pythona. [online] Dostępne pod adresem: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [Dostęp 21 sierpnia 2019].

Zalecana: