Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Android-App-basiertes Hausautomationssystem mit IOT

Komponenten und Verbrauchsmaterialien

Arduino Yun
× 1
Arduino Mega 2560
× 1
Arduino UNO
× 1
Servomotor
× 1
Adafruit Standard LCD - 16x2 Weiß auf Blau
× 2
Ziffernblock
× 1
Summer
× 1
DHT11 Temperatur- und Feuchtigkeitssensor (4 Pins)
× 1
LED (generisch)
× 5
Lüftermodul
× 1
SparkFun Drucktastenschalter 12 mm
× 1
Flammensensor
× 1
logitech c270 HD-Webcam
× 1
Relais (generisch)
× 1
Glühbirne
× 1
Breadboard (generisch)
× 1
Jumper (generisch)
× 1
SD-KARTE
× 1
HC-05 Bluetooth-Modul
× 1
RFID-Lesegerät (generisch)
× 1

Notwendige Werkzeuge und Maschinen

Lötkolben (generisch)

Apps und Onlinedienste

Blynk
Temboo
Arduino-IDE
Putty
Arduino Meet-Roboter-Anwendung

Über dieses Projekt

Video

Bevor ich fortfahre, möchte ich meine Zuschauer bitten, sich das Video des Projekts anzusehen, damit sie wissen, wie die Dinge passieren und was die coolen Sachen in diesem Projekt sind.

Hier ist das Video zum Projekt:

Zusammenfassung

In den letzten Jahren ist Smart Home zu einem sehr beliebten und beliebten Begriff geworden. Viele Leute haben versucht, ihre eigene Version der Smart-Home-Architektur vorzuschlagen, aber den meisten fehlt die Integration von Smart-Home-Geräten. Auch Sicherheit ist ein wichtiges Anliegen in der Smart-Home-Architektur. Einige der von diesen Smart-Home-Architekturen verwendeten Kommunikationstechnologien umfassen Bluetooth, GSM, Zigbee usw. Alle diese Architekturen haben ihre eigenen Vor- und Nachteile. In meinem letzten Jahr meines Ingenieurstudiums habe ich versucht, eine integrierte Smart-Home-Architektur zu implementieren, die durch eine einfache benutzerfreundliche mobile Anwendung überwacht und gesteuert werden kann. Außerdem werden alle Systeme miteinander verbunden und Sprachbefehle zur Steuerung der Geräte innerhalb einer bestimmten Reichweite hinzugefügt. Hier sind die stillen Funktionen meiner Hausautomatisierungsarchitektur:

  • Zweistufiges Sicherheitssystem mit numerischer Tastatur und RFID verhindert den Zutritt zum Haus für Einbrecher.
  • Hochladen von Fotos online im Falle eines Einbruchs, Video-Fernüberwachung, bei der ein Video auf den lokalen Server hochgeladen wird, das vom Benutzer mit jedem Webbrowser angesehen werden kann.
  • Überwachung der häuslichen Umgebung mit den Messwerten verschiedener Sensoren wie DHT11, Flammensensor, MQ3 und MQ135 Sensoren durch Android-Anwendung.
  • Steuerung von Geräten wie LEDs, Servomotoren usw. über die Android-Anwendung.
  • Automatische Planung von Geräten basierend auf den vom Benutzer über die Android-Anwendung festgelegten Einstellungen.
  • Zuhause Vorbereitung der Geräte (Geysir, Kaffeemaschine) basierend auf den vom Benutzer festgelegten Präferenzen, wenn sich der Benutzer dem Heim nähert.
  • Steuerung der Geräte mit menschlicher Stimme.

Voraussetzungen

  • Sie sollten mit der C-Programmierung vertraut sein
  • Sie sollten mit der Verwendung der Arduino IDE und der Bereitstellung von Code auf dem Arduino-Board vertraut sein

Anleitung – Folgen Sie diesen Schritten

Bevor Sie fortfahren, sehen Sie sich bitte mein Video zu diesem Projekt an, damit Sie sich ein Bild davon machen können, wie die Dinge funktionieren und wie Verbindungen hergestellt werden.

Schritt 1- Verkabeln Sie das gesamte System

Stellen Sie die Anschlüsse gemäß dem unten beigefügten Schaltplan her. Es müssen viele Verbindungen hergestellt werden, seien Sie also geduldig und führen Sie alle Verbindungen sorgfältig aus. Ich werde vorschlagen, eine Hausarchitektur aus Pappe zu erstellen, damit Sie das echte Gefühl der Hausautomation bekommen. Seien Sie vorsichtig mit dem PIR-Bewegungssensor, da dieser anfällig für empfindliche Veränderungen ist. Befestigen Sie es fest, damit es nicht falsch positiv ist, sonst öffnet sich Ihre Tür unerwartet.

Die RFID-Verbindung ist wie folgt:

- MOSI ---> PIN 51

- MISO ---> PIN 50

- SCK ---> PIN 52

- SS/SDA ---> PIN 9

- RST ---> PIN 8

Verbinden Sie auch Pin 20 von Mega mit Pin 2 von Arduino Yun und Pin 21 von Arduino Mega mit Pin 3 von Arduino Yun für die I2C-Kommunikation.

Schritt 2- Erstellen Sie ein Temboo-Konto und richten Sie die Dropbox-API ein

Der nächste Schritt in diesem Projekt ist das Anlegen und Einrichten eines Accounts beim Webservice Temboo, damit Sie die vielfältigen Dienste von Temboo nutzen können. Gehen Sie dazu im ersten Schritt einfach auf die Temboo-Website unter http://temboo.com/. Geben Sie auf der Hauptseite zur Registrierung einfach Ihre E-Mail-Adresse ein und klicken Sie auf Anmelden. Sie werden dann aufgefordert, einige grundlegende Informationen zu Ihrem Konto einzugeben, z. B. Ihren Kontonamen. Anschließend werden Sie aufgefordert, Ihre erste App zu erstellen. Stellen Sie sicher, dass Sie die Details Ihres Kontos speichern, z. B. den Namen Ihrer ersten App und den Schlüssel, der Ihnen zugeteilt wird. Falls Sie diese Werte erneut abrufen oder eine neue Anwendung erstellen müssen, können Sie jederzeit auf diese Daten zugreifen in den Abschnitt Mein Konto der Temboo-Website, indem Sie auf die Schaltfläche VERWALTEN unter ANWENDUNGEN klicken.

Auf der Softwareseite benötigen Sie nun etwas mehr als nur die Arduino IDE. Wir werden die erforderliche Software für die Kamera direkt auf dem Yún-Board installieren, wenn wir uns über SSH damit verbinden, aber Sie benötigen das Temboo Python SDK, um Bilder auf Dropbox hochzuladen. Sie finden das SDK unter https://temboo.com/python. Es ist an der Zeit, es auszupacken und auch im Stammverzeichnis der SD-Karte zu platzieren. Stellen Sie nur sicher, dass es mit dem Namen temboo im Stammverzeichnis der SD-Karte erscheint, damit die soeben erstellte Python-Datei korrekt darauf zugreifen kann. Dann benötigen Sie auch einen Dropbox-Account, damit Sie Bilder darauf hochladen können. Sie können einfach ein Konto erstellen, indem Sie zu https://www.dropbox.com/home gehen. Sobald Ihr Konto erstellt wurde, müssen Sie eine App erstellen, die von Ihrem Projekt verwendet wird. Dies bedeutet im Wesentlichen, dass Sie das Projekt, das Sie in diesem Kapitel erstellen möchten, autorisieren müssen, automatisch Bilder an Ihr Dropbox-Konto zu senden, ohne jedes Mal Ihren Benutzernamen und Ihr Passwort eingeben zu müssen. Sie erhalten auch alle erforderlichen Informationen (z. B. einen API-Schlüssel), die wir später in das Python-Skript auf Yún eingeben.

1. Um eine App zu erstellen, gehen Sie zuerst zu https://www.dropbox.com/developers/apps.

2. Klicken Sie dann oben rechts im Fenster auf App erstellen. Sie können nun den Typ der App auswählen, die Sie erstellen möchten. In unserem Fall möchten wir die Dropbox-API direkt verwenden.

3. Sie werden dann aufgefordert, die Art der Daten auszuwählen, die Ihre App speichern soll. Wir möchten Bilder hochladen, also wählen Sie Dateien und Datenspeicher.

4. Anschließend können Sie die Erstellung Ihrer Dropbox-App abschließen.

5. Auf der Bestätigungsseite, die die App beschreibt, müssen Sie den App-Schlüssel und das App-Geheimnis notieren, die wir für den Rest des Projekts benötigen.

6. Stellen Sie außerdem sicher, dass das Feld Berechtigungstyp auf App-Ordner eingestellt ist. Dadurch wird sichergestellt, dass die Bilder in den der App zugewiesenen Ordner hochgeladen werden und Yún keinen Zugriff auf den Rest Ihres Dropbox-Ordners hat.

7. Was Sie jetzt benötigen, ist der Token-Schlüssel und das Token-Geheimnis für Ihre Dropbox-App, damit Sie sie später in die Software unseres Projekts eingeben können. Um sie zu erhalten, gehen Sie zunächst zum InitialiseOAuth Choreo auf der Temboo-Website unter https://temboo.com/library/Library/Dropbox/OAuth/InitializeOAuth/. Hier müssen Sie den App-Schlüssel und das App-Geheimnis eingeben. Dadurch werden einige zusätzliche Informationen generiert, z. B. eine Rückruf-ID und ein temporäres Token-Geheimnis. Sie werden außerdem aufgefordert, einen Link zu Dropbox aufzurufen, um die Authentifizierung zu bestätigen.

8. Gehen Sie schließlich zur FinalizeOAuth-Seite, um den Vorgang abzuschließen. Sie werden aufgefordert, Ihren App-Schlüssel, Ihr App-Geheimnis, Ihre Rückruf-ID und Ihr temporäres Token-Geheimnis unter https://temboo.com/library/Library/Dropbox/OAuth/FinalizeOAuth/ einzugeben. Nach diesem Schritt erhalten Sie Ihren endgültigen Token-Schlüssel und das Token-Geheimnis. Schreiben Sie sie auf, da Sie sie später brauchen werden.

Schritt 3:Treiber in Arduino Yun installieren

Installieren Sie die Putty-Software und öffnen Sie sie. Geben Sie die IP-Adresse Ihres Arduino Yun ein und wählen Sie ssh und klicken Sie auf Öffnen. Geben Sie root als Ihren Benutzernamen ein und Sie werden dann aufgefordert, das Passwort einzugeben, das Sie für Ihr Yún gewählt haben (das Standardpasswort ist arduino). Wenn es funktioniert, sollten Sie den folgenden Screenshot auf Ihrem Terminal sehen, der anzeigt, dass Sie jetzt direkt am Yún arbeiten.

Sie können von Ihrem Yún Linux-Rechner auf alle Funktionen zugreifen. Wir werden nun die erforderliche Software für die Kamera installieren. Dies erfordert, dass das Arduino Yún mit dem Internet verbunden ist, damit es die erforderlichen Pakete abrufen kann, wie in den folgenden Schritten beschrieben:

1. Der Prozess beginnt mit der Aktualisierung des Paketmanagers opkg wie folgt:opkg update

2. Installieren Sie die UVC-Treiber wie folgt:opkg install kmod-video-uvc

3. Installieren Sie das Paket python-openssl, das wir später im Projekt verwenden werden, wie im folgenden Befehl gezeigt:opkg install python-openssl

4. Schließlich können Sie die fswebcam-Software installieren, die wir zum Aufnehmen von Bildern verwenden, wie im folgenden Befehl gezeigt:opkg install fswebcam

Schritt 4:Live-Videoüberwachung

Damit die Anwendung funktioniert, müssen wir zunächst einige zusätzliche Softwarepakete auf dem Yún installieren, wie in den folgenden Schritten gezeigt:

1. Verbinden Sie sich erneut über SSH mit Ihrem Arduino Yún-Namen und -Passwort mit dem Yún und geben Sie den folgenden Befehl ein, um das richtige Paket für das Live-Streaming zu erhalten:wget http://www.custommobileapps.com.au/downloads/mjpgstreamer.ipk

2. Beachten Sie, dass dieses Paket auch im Code dieses Kapitels verfügbar ist, wenn der Link nicht mehr gültig ist und Sie die Dateien nicht finden können. Sie können es jetzt mit dem folgenden Befehl installieren:opkg install mjpg-streamer.ipk

3. Sie können nun die Live-Streaming-Software auf Ihrem Arduino Yún mit dem folgenden Befehl starten:

mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 640x480 -f 25" -o "output_http.so -p 8080 -w /www/webcam" &

Hier ist der Parameter nach –h die Auflösung und der Parameter nach –i der Port, auf dem der Stream verfügbar sein wird. Wir haben auch die Anzahl der Bilder pro Sekunde mit dem Befehl –I angegeben. Die anderen Optionen sind weniger wichtig und Sie müssen sich nicht darum kümmern. Sie können dann auf Ihren Stream zugreifen, indem Sie in Ihrem Webbrowser zur Adresse Ihres Arduino Yún gehen, gefolgt von 8080, um den richtigen Port anzugeben. Der Link sieht beispielsweise so aus:http://yourarduinoyunipaddress.local:8080/stream.html. Ersetzen Sie yourarduinoyunipaddress im obigen Link durch die IP-Adresse Ihres Arduino Yun.

Schritt 5:Einrichten des Twilio-Kontos für Textnachrichten

Melden Sie sich auf https://www.twilio.com/ an. Notieren Sie sich die Konto-ID und das Auth-Token. Kaufen Sie eine kostenlose Nummer bei twilio und überprüfen Sie auch die Nummer, an die Sie die Textnachricht senden möchten, im Abschnitt "Verifizierte Anrufer-IDs". Sobald Ihre Nummer verifiziert ist, können Sie eine Nachricht an diese Nummer senden. Melden Sie sich jetzt bei temboo.com an. Gehen Sie zu diesem Link https://temboo.com/library/Library/Twilio/SMSMessages/SendSMS/ und geben Sie die Zugangsdaten ein, die Sie von twilio erhalten haben. Bevor Sie auf Jetzt ausführen klicken, notieren Sie sich die zusätzlichen Informationen. Klicken Sie auf Jetzt ausführen, geben Sie die erforderlichen zusätzlichen Informationen ein und speichern Sie das Profil unter einem Namen. Dieser Profilname wird im Arduino Yun-Code verwendet. Gehen Sie zu Zeile 208 im Arduino-Yun-Code und ersetzen Sie your_profile_name durch Ihren Profilnamen. Stellen Sie sicher, dass, wenn Sie in temboo auf die Schaltfläche Jetzt ausführen klicken, dort kein Fehler angezeigt wird. Andernfalls stimmt etwas mit Ihren Anmeldeinformationen nicht, was Sie selbst beheben müssen.

Schritt 6:Einrichten eines blynk-Kontos und Konfigurieren der blynk-App

Laden Sie die blynk-App über diesen Link https://play.google.com/store/apps/details?id=cc.blynk aus dem Playstore herunter.

Nachdem Sie die Blynk-App heruntergeladen haben, müssen Sie ein neues Blynk-Konto erstellen. Nachdem Sie sich erfolgreich bei Ihrem Konto angemeldet haben, erstellen Sie zunächst ein neues Projekt. Wählen Sie das Hardwaremodell als Arduino Yun aus. Auth Token ist eine eindeutige Kennung, die benötigt wird, um Ihre Hardware mit Ihrem Smartphone zu verbinden. Jedes neue Projekt, das Sie erstellen, hat ein eigenes Auth-Token. Sie erhalten nach der Projekterstellung automatisch das Auth-Token in Ihrer E-Mail. Sie können es auch manuell kopieren. Klicken Sie auf den Abschnitt Geräte. Drücken Sie nun die Erstellen Taste. Fügen Sie die Widgets gemäß den folgenden Anweisungen hinzu:

Machen Sie vier Registerkarten als Zuhause, HVAC, Überwachung und Steuerung

Startseite

Wählen Sie auf der Registerkarte "Startseite" vier Widgets aus:LCD, Wertanzeige, Level H und Benachrichtigung.

Konfigurieren Sie den Eingang des LCD als V1.

Benennen Sie die Wertanzeige als Feuersensor und konfigurieren Sie den Eingang des Feuersensors als V11 und bilden Sie ihn von einem Bereich von 0 bis 1023 ab und machen Sie eine Leserate von 1 Sek.

Benennen Sie den Pegel h als Feuerpegel und konfigurieren Sie den Eingang als V12 und ordnen Sie ihn von 0 bis 1023 zu und machen Sie die Leserate als Push.

Konfigurieren Sie die Benachrichtigung mit Priorität wie gewohnt.

HVAC

Wählen Sie auf der Registerkarte HVAC LCD, Slider, Value display(2) , History Graph.

Konfigurieren Sie den Eingang von LCD als V3.

Benennen Sie den Schieberegler in Lüfter um und konfigurieren Sie den Ausgang als D9 und ordnen Sie ihn von 0 bis 255 zu.

Benennen Sie die beiden Wertanzeigen in Raum1 Temp und Raum2 Temp um. Konfigurieren Sie einen Eingang als V2 und einen anderen Eingang als V6 und ordnen Sie beide von 0 bis 50 mit einer Leserate von 1 Sek. zu.

Konfigurieren Sie die Eingänge des Verlaufsdiagramms als V9 und V8. Geben Sie den Namen room1 temp entsprechend V9 und room2 temp entsprechend V8 ein.

Überwachung

Wählen Sie auf der Registerkarte "Überwachung" den beschrifteten Wert (2), die Grafik (2), die Verlaufsgrafik aus.

Benennen Sie die 2 beschrifteten Wert-Widgets mit Raum1 Feuchtigkeit und Raum2 Feuchtigkeit um und stellen Sie die Eingänge als V5 und V7 ein und ordnen Sie sie von 0 bis 100 mit einer Leserate von 1 Sek. zu.

Benennen Sie die 2 Diagramme in Raum 1 Feuchtigkeit und Raum 2 Feuchtigkeit mit Eingangspins als V10 und V9 mit einem Bereich von 0 bis 100 und einer Leserate in 1 Sek. um.

Konfigurieren Sie die Eingänge des Verlaufsgraphen als V10 und V7. Geben Sie den Namen Raum1 feucht entsprechend V10 und Raum2 feucht entsprechend V7 ein.

Kontrolle

Wählen Sie auf der Registerkarte "Steuerung" LCD, Wertanzeige (2), beschrifteter Wert, Schieberegler, Zeiteingabe, GPS-Track aus.

Konfigurieren Sie den Eingang von LCD als V4.

Konfigurieren Sie die Eingänge der Wertanzeige als V19 und V20 mit einem Bereich von 0 bis 1023 und einer Ableserate von 1 Sek.

Konfigurieren Sie die Eingabe des beschrifteten Wertes als V21 und reichen Sie von 0 bis 1023 mit einer Leserate von 1 Sek.

Benennen Sie die Schiebereglereinstellungen in Hauptraumlicht um und geben Sie von 0 bis 255 mit Schreibintervallen von 100 ms aus.

Konfigurieren Sie den Zeiteingang V31 und konfigurieren Sie Start/Stopp-Eingabe zulassen auf ja, Wochentagauswahl zulassen auf ja, Zeitzonenauswahl zulassen auf ja.

Konfigurieren Sie den GPS-Track-Eingang als v29 und triggern Sie ihn als Enter. Dadurch kann das System den v29-Pin auslösen (der beispielsweise mit Geysar verbunden sein kann), wenn der Benutzer in der Karte angekommen ist. Sie können den Radius der Karte nach Belieben ändern.

Klicken Sie auf die Schaltfläche Ausführen.

Glückwunsch! Jetzt können Sie die häusliche Umgebung von Ihrem Android-Smartphone aus steuern und überwachen.

Sprachgesteuerte Bedienung von Geräten

Laden Sie die AMR_VOICE-App von diesem Link herunter und konfigurieren Sie das Bluetooth mit HC05. Stellen Sie den unten genannten Code als Sprachsteuerung für arduino uno für arduino uno bereit. Klicken Sie in der App auf Roboter verbinden. Stellen Sie sicher, dass Ihr Smartphone über Bluetooth mit hc05 gekoppelt ist. Drücken Sie das Sprachsymbol und sprechen Sie die im Code genannten Zeichenfolgen, um Ihre Geräte ein- und auszuschalten.

Lassen Sie mich wissen, wenn Sie bei der Erstellung dieses Projekts auf Probleme gestoßen sind. Einige der Schritte werden nicht im Detail gezeigt, da Benutzer möglicherweise mit den Grundlagen von Arduino, C und der grundlegenden Linux-Programmierung vertraut sind. Fühlen Sie sich frei, Fragen im Kommentarbereich zu stellen, wenn Sie irgendwo oder bei einem Schritt stecken geblieben sind.

Hinweis:Ich habe alle Dokumente und Code in mein öffentliches Git-Repository migriert. Bitte gehen Sie zum Link https://github.com/akib-islam/Android-App-Based-Home-Automation-System-Using-IOT, um den Quellcode, die Schaltplandatei und die Architekturreferenz herunterzuladen. Wenn Sie zu diesem Projekt beitragen oder neue Funktionen hinzufügen möchten, erstellen Sie eine Pull-Anfrage in meinem Github-Repository. Wenn Probleme mit dem Code oder der Setup-Umgebung auftreten, melden Sie das Problem im Github-Repository.

Prost!

Code

Codebase für dieses Projekt
Laden Sie den Code für dieses Projekt aus meinem Git-Repository herunter. Wenn Sie diesem Projekt weitere Funktionen hinzufügen möchten, stellen Sie bitte eine Pull-Anfrage in meinem Repository.https://github.com/akib-islam/Android-App-Based-Home-Automation-System-Using-IOT

Schaltpläne

Schema für das Projekt
Laden Sie die Schaltpläne aus meinem Github-Repository herunter. https://github.com/akib-islam/Android-App-Based-Home-Automation-System-Using-IOT

Herstellungsprozess

  1. Universelle Fernbedienung mit Arduino, 1Sheeld und Android
  2. Herzfrequenzmesser mit IoT
  3. Einsatz des IoT zur Fernsteuerung eines Roboterarms
  4. Android-gesteuertes Spielzeug mit Raspberry Motor Shield
  5. Smart Home Automation und Sicherheitssystem mit 1Sheeld
  6. Steuerung der LED-Helligkeit mit Bolt und Arduino
  7. IoT-Messgerät mit Arduino, Yaler und IFTTT
  8. Bewässerungssystem für Heimpflanzen
  9. Anlagenüberwachungssystem mit AWS IoT
  10. Arduino Home Controller aktiviert von Alexa