Inhaltsverzeichnis:
- Schritt 1: Hardwareanforderungen + Einrichtung
- Schritt 2: Softwareanforderungen + Einrichtung
- Schritt 3: Registrieren eines Dings
- Schritt 4: Erstellen eines S3-Buckets
- Schritt 5: DynamoDB-Tabelle erstellen und Regeln festlegen
- Schritt 6: Erwartetes Ergebnis
- Schritt 7: Quellcodes (Pastebin)
- Schritt 8: Referenzen
Video: IOT CA2 Secure Smart Home/Raum - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
Inhaltsverzeichnis
1 Übersicht über Smart Secure Home
2 Hardwarevoraussetzungen + Setup
3 Softwarevoraussetzungen + Einrichtung
4 Himbeerpi als Ding registrieren
5 Erstellen Sie einen S3-Bucket
6 DynamoDB-Setup + Regeln
7 Erwartetes Ergebnis
8 Codes (von Pastebin)
9 Referenzen
Überblick
Willkommen! Dieses Raspberry Pi-Projekt ist ein "Smart Home"-Managementsystem mit bestimmten Sicherheitsfunktionen. Das Projekt ist in der Lage, verschiedene Werte wie Temperatur und Licht zu messen. Der Sicherheitsbereich besteht aus einem Summer, einem Kartenlesersystem (Berechtigungsausweis), einer Innen- und Außenkamera sowie einem SMS-Alarmsystem. Die folgenden Anweisungen behandeln die Einrichtung des gesamten Projekts.
Grundsätzlich haben wir einen Leuchtdioden-Widerstand und einen DHT11-Sensor, um sowohl die Temperatur als auch die Lichtwerte zu erhalten. Die Werte werden dann in „smartroom/sensors/values“veröffentlicht und das Thema wird abonniert, um zu überprüfen, ob die Werte veröffentlicht werden. Sobald die Werte veröffentlicht wurden, werden die Werte auch an unsere DynamoDB-Tabelle gesendet. Die in DynamoDB gespeicherten Werte können extrahiert und in einem Diagramm dargestellt werden, das Echtzeitwerte in unserer Weboberfläche anzeigt. (Lichtdiagramm) Neben der Verwendung der Sensoren zum Erhalten von Werten zum Zeichnen unseres Diagramms zu Analysezwecken wird unser dht11-Sensor auch als potenzieller „Feuer“-Detektor verwendet. Wenn es eine bestimmte Temperatur erreicht, die ein Feuer sein könnte, haben wir ein Skript namens publishHeat.py, das die Temperatur in einem Thema "Smartroom/Sensor/Feuer" veröffentlicht. Das Steckbrett, das die Außenseite der Wohnung symbolisiert, wird dies dann abonnieren Thema und lassen Sie eine LED aufleuchten, um anzuzeigen, dass ein potenzieller Brand vorliegen könnte. Der Alarm ertönt ebenso wie eine SMS, um den Hausbesitzer zu warnen, wenn ein potenzieller Brand ausbrechen könnte.
Um das Haus/das Zimmer zu betreten, muss der Benutzer seine Karte am RFID-Scanner antippen. Wenn die angetippte Karte falsch ist, ertönt der Alarm, bis eine Karte mit den richtigen Zugangsdaten angetippt wird. Wenn eine falsche Karte angetippt wird, macht die Überwachungskamera draußen außerdem ein Bild des Benutzers, der die Karte angetippt hat, und lädt das Bild in den S3-Bucket hoch. Der Hauseigentümer erhält außerdem eine SMS mit dem Hinweis, dass jemand versucht hat, sein Haus zu betreten. Der Raum hat auch eine LED-Anzeige außen, die anzeigt, ob die Tür auf- / verriegelt ist. Wenn die Tür verriegelt ist, leuchtet die gelbe LED. Im entsperrten Zustand leuchtet die grüne LED. Beim Antippen einer berechtigten Karte wird die Tür für 15 Sekunden entriegelt und bei leuchtender grüner LED wieder in den Entriegelungsmodus versetzt, wobei die gelbe LED leuchtet.
Benutzer können die gesammelten Daten über ein Dashboard in Node-Red anzeigen, das neben einer grafischen Darstellung eines Messgeräts und einer historischen Grafik auch die aktuellen Messwerte anzeigt. Das Dashboard enthält auch zusätzliche Funktionen wie eine Uhr, die das aktuelle Datum und die aktuelle Uhrzeit anzeigt, und Schalter zur Fernsteuerung verschiedener elektrischer Geräte, die als LEDs und ein Summer dargestellt werden.
Schließlich haben wir auch eine Telegramm-Bot-Funktion. Der Telegramm-Bot kann aus der Ferne Bilder von allem aufnehmen, was im Raum passiert, und es im S3-Bucket speichern. Diese Bilder werden in einem Ordner mit dem Namen „Homed/User“gekennzeichnet. Der Telegramm-Bot kann auch das LED-Licht im Raum fernsteuern.
Schritt 1: Hardwareanforderungen + Einrichtung
Verbinden Sie die folgenden Komponenten mit Ihren 2 Himbeer-Pis, wie in den Fritzing-Diagrammen oben gezeigt.
2 x Himbeer-Pi
3 x Steckbrett
1 x MCP3008 ADC
1 x DhT 11-Sensor
1 x LDR
1 x RFID/NFC MFRC522 Kartenleser
4 x LED
1 x LCD-Bildschirm
3 x 10k Widerstand
4 x 220/330 Widerstand
1 x Knopf
1 x Summer
34 x Stecker-zu-Stecker-Kabel
11 x Kabel von Stecker zu Buchse
Schritt 2: Softwareanforderungen + Einrichtung
Geben Sie die folgenden Befehle in Ihr Raspberry Pi-Terminal ein, um sicherzustellen, dass sie installiert sind.
Wenn eine der folgenden Software bereits auf Ihr pi heruntergeladen wurde, führt sudo pip install (Softwarename) --upgrade die Aktualisierung durch.
- sudo pip install gevent
- Sudo Pip Install Flask
- sudo pip install 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 install boto3
- sudo pip installieren botocore
- sudo pip install numpy
- CD ~
git-Klon
cd ~/SPI-Py
sudo python setup.py installieren"
- CD ~
git-Klon
cd ~/MFRC522-python
sudo python setup.py installieren"
- sudo nano /boot/config.txt, überprüfen Sie, ob die Zeilen device_tree_param=spi=on. sind
dtoverlay=spi-bcm2835 sind drin, sonst fügen Sie hinzu.
Schritt 3: Registrieren eines Dings
a) Navigieren Sie zunächst zu IoT Core innerhalb der AWS-Website, indem Sie auf Services und dann auf IoT Core klicken.
b) Wählen Sie in der Navigationsleiste unter Verwalten Dinge aus und wählen Sie eine Sache registrieren.
c) Wählen Sie Einzelnes Ding erstellen.
d) Geben Sie einen Namen für Ihr Ding ein, zum Beispiel MyRaspberryPi2. Belassen Sie die restlichen Felder bei ihren Standardwerten. Klicken Sie unten auf der Seite auf Weiter.
e) Klicken Sie auf Zertifikat erstellen. Laden Sie alle vier Dateien herunter. Laden Sie für die Root-CA-Datei die Amazon Root CA 1 herunter und speichern Sie sie in einem Notizblock.
f) Wenn Sie fertig sind, verschieben Sie die vier Dateien in ein Verzeichnis in Raspberry Pi.
g) Klicken Sie auf Aktivieren.
h) Nachdem Sie auf Richtlinie anhängen geklickt haben, gelangen Sie auf die folgende Seite. Klicken Sie auf die Sache registrieren, die Richtlinie wird später erstellt.
i) Navigieren Sie auf dem iot-Dashboard zu den Richtlinien im sicheren Abschnitt. Klicken Sie auf Richtlinie erstellen.
j) Geben Sie einen Namen für Ihre Richtlinie ein, in diesem Beispiel ist dies MyRaspberryPiSecurityPolicy und geben Sie unter Anweisungen hinzufügen Folgendes ein. Klicken Sie dann auf Erstellen.
k) Navigieren Sie auf dem iot-Dashboard zu Zertifikaten im sicheren Abschnitt. Wählen Sie das zuvor erstellte Zertifikat aus und klicken Sie im Dropdown-Menü Aktionen auf Richtlinie anhängen. Hängen Sie die zuvor erstellte Richtlinie an.
l) Wählen Sie das zuvor erstellte Zertifikat erneut aus und klicken Sie auf das Element anhängen. Hängen Sie die zuvor erstellte Richtlinie an. Hängen Sie das zuvor erstellte Ding an.
Schritt 4: Erstellen eines S3-Buckets
a) Wir beginnen mit der Verwendung der Suchfunktion in der AWS-Verwaltungskonsole und suchen nach „s3“.
b) Klicken Sie auf Bucket erstellen.
c) Geben Sie einen Namen für den Bucket ein. Für dieses Beispiel verwenden wir den Namen „sp-p1703263“. Wir werden die Region "US EAST (N. VIRGINIA)" wählen, die us-east-1 ist. Klicken Sie anschließend auf Erstellen.
d) Der neu erstellte Bucket wird im Dashboard angezeigt.
Schritt 5: DynamoDB-Tabelle erstellen und Regeln festlegen
a) Navigieren Sie zunächst zu den AWS-Diensten, indem Sie auf klicken
Dienste, dann DynamoDB. Klicken Sie auf Tabelle erstellen.
b) Geben Sie den Tabellennamen „iotdata“und den Primärschlüssel „deviceid“mit einem Sortierschlüssel „datetimeid“ein und klicken Sie dann unten auf der Seite auf Erstellen.
c) Navigieren Sie danach zurück zur IoT Core-Seite. Klicken Sie auf Act, dann auf Neue Regel erstellen.
d) Erstellen Sie eine Regel mit dem Namen „MyDynamoDBRule“. Geben Sie unter dem Thema der Regelabfrageanweisung "Sensoren/Licht" ein.
e) Klicken Sie im Abschnitt Eine oder mehrere Aktionen festlegen auf Aktion hinzufügen, klicken Sie auf „Nachricht in mehrere Spalten einer Datenbanktabelle aufteilen“. Klicken Sie auf Aktion konfigurieren. Wählen Sie unter Tabellenname die iotdata. Wählen Sie unter IAM-Rollenname die zuvor erstellte Rolle „dynamodb_role“aus. Klicken Sie auf Aktion hinzufügen und dann auf Regel erstellen.
f) Klicken Sie auf Regel erstellen.
Schritt 6: Erwartetes Ergebnis
Draussen
Für den Pi, der den Außenbereich des Raums darstellt, werden die Skripte heatdetector.py und AccessDoor.py ausgeführt. Wenn eine falsche Karte auf den RFID-Scanner tippt, wird der Alarm ausgelöst, wobei das gelbe LED-Licht weiterhin leuchtet. Eine SMS wird an das Telefon des Hausbesitzers gesendet, um über einen möglichen Einbruch zu informieren. Der Alarm ertönt auch. Außerdem wird ein Bild aufgenommen und sofort in den S3-Bucket hochgeladen. Ist die angetippte Karte berechtigt, leuchtet die grüne LED und der Benutzer kann eintreten. Nach 15 Sekunden wird die Tür wieder verriegelt (grüne LED erlischt und gelbe LED leuchtet wieder). Wenn die Temperatur im Zimmer/Haus zu hoch wird (auf eine Temperatur, die wir als potenziell brennend ansehen), senden wir eine SMS-Benachrichtigung an den Hausbesitzer. Der Alarm ertönt auch, wenn die rote LED außen leuchtet.
Indoor
für das pi, das den Innenraum des Raums darstellt, werden die Skripte publishHeat.py, server.py, pubsub.py, telegrambot.py ausgeführt. Pubsub.py speichert die Echtzeitwerte in DynamoDB. Wenn server.py ausgeführt wird, geben Sie die IP-Adresse des rpi ein: 5000 in den Browser, Sie werden zu unserer Weboberfläche weitergeleitet. Wir haben eine Grafik, die Echtzeit-Lichtwerte anzeigt, die von unseren Sensoren in pubsub.py in DynamoDB erhalten wurden. Zusätzlich werden auch historische Lichtwerte in unserem Webinterface angezeigt. publishHeat.py veröffentlicht Temperaturwerte für Feuersensorzwecke auf dem Outdoor-Steckbrett. telegrambot.py ermöglicht es dem Benutzer, das Ein- und Ausschalten des LED-Lichts im Raum / Zuhause fernzusteuern sowie ein Bild von dem, was im Inneren passiert, zu machen und das Bild in den S3-Bucket hochzuladen.
Zur besseren Visualisierung, wie das erwartete Ergebnis aussehen soll:
Schritt 7: Quellcodes (Pastebin)
Klick auf den Link. Besteht aus allen benötigten Quellcodes:
Schritt 8: Referenzen
Iotguider. (2019). Senden Sie SMS vom Raspberry Pi mit Python. [online] Verfügbar unter: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [Zugriff am 21. August 2019].
Empfohlen:
Smart Home mit Arduino MKR1000 und M.I.T. Android-App: 4 Schritte
Smart Home mit Arduino MKR1000 und M.I.T. Android App: In diesem Tutorial beschreibe ich, wie Sie mit wenigen Komponenten Ihr Smart Home verbessern können. (Massachusetts Institu
Home-Erinnerung: 5 Schritte
Heimerinnerung: Dieses Projekt kann Ihre Familie daran erinnern, dass Sie zu Hause sind, wenn sie mit Hausarbeit oder anderen Dingen beschäftigt ist. Der Grund, warum ich diese Erinnerung erstelle, ist, dass meine Mutter jeden Tag, wenn ich von der Schule nach Hause komme, normalerweise kocht und sie nicht hören konnte, dass ich b
So automatisieren Sie Ihren Raum mit Arduino Teil 1: 5 Schritte
So automatisieren Sie Ihren Raum mit Arduino Teil 1: Ich wollte mein Zimmer schon immer aus der Ferne steuern, also habe ich beschlossen, ein System zu entwickeln, mit dem ich dies tun kann. Wenn Sie lernen möchten, wie es geht? Dann lade ich Sie ein, diese Schritte unten zu befolgen
IoT CA2: 3 Schritte
IoT CA2: Projektbeschreibung:Eine Forschungseinrichtung, die mit biologischen Gefahrenstoffen umgeht. Jeder Pi stellt einen Forschungs- und Entwicklungsraum dar, der mit einem Temperatursensor, einem RFID-Scanner, einem LCD-Bildschirm, einem Summer und einer LED ausgestattet ist. Der Temperatursensor dient zur Überwachung
Smart Home: 10 Schritte
Smart Home: Diese Smart Home-Anwendung schaltet das Licht ein, in diesem Fall die LED, wenn es dunkel ist und eine Bewegung erkannt wird. Es hilft, wenn der Bereich dunkel ist, sodass Benutzer den Schalter für die Lichter nicht finden müssen, was im Dunkeln schwierig sein kann. Außerdem ist dies ein