Intelligente Steckdose

Aus HRW FabLab MediaWiki
Wechseln zu: Navigation, Suche

Intelligente Steckdose



Intelligente Steckdose ist ein einfaches Gerät wozu man in der Lage ist als Schwerbeeinträchtigter es simple einzusetzen. Es ist ähnlich wie ein "Smart Home" wie man alle Geräte von Zuhause steuern kann. Dieses Verfahren ist einfach und flexibel für den Alltag eines Schwerbeeinträchtigten Menschen zu benutzen in dem er sich auch ganz wohl fühlt.

Intelligente Steckdose
Intelligente Steckdose

Entwickler

Ziad Hassan, Mohamed Ahmad, Lhabib Lachil


Projektdateien

GitHub

Verwendete Programmiersprache

Arduino C/C++

Verwendete Software

Arduino IDE,


Hardware

[2 ESP32],[5 v 4 Canal Relais Module 4 canal],[10Premium Male/Male Jumper Wires ],[Extension Cord],[eine Power Bank Patsy ]



Motivation[Bearbeiten]

Der ganz normale Alltag ist allgegenwärtig, ob in Zeitungsartikeln und Büchern, auf Plakaten und Schildern, auf Webseiten und in Apps, oder einfach auf dem Notizzettel - überall begegnet uns Schrift als erstes Mittel zum Bereitstellen von Information. Folglich ist die Fähigkeit, lesen zu können, elementar, um in unserer informationsgetriebenen Welt ein aufgeklärtes Mitglied der Gesellschaft zu sein.

Daher ist die Fähigkeit eingeschränkt zu sein bedeutet jedoch in der Selbstständigkeit eingeschränkt zu sein. Dieses Defizit gilt es daher zu beseitigen.

Deshalb wurde Intelligente Steckdose entwickelt, um Menschen, die aufgrund von körperlichen oder geistigen Einschränkungen in Form von Sehbehinderungen oder Konzentrationsschwäche systematisch benachteiligt sind, den Zugang zur Welt der Informationen zu erleichtern.




Projektbeschreibung[Bearbeiten]

Fablabl


Das Entwickeln von Intelligente Steckdose lässt sich in ganz effektiven Hauptaufgaben einteilen. Diese sind Modellierung Elektronik, Arduino und Co. Programmierung und Appentwicklung.

Zwischendurch bei der Entwicklung wurde jede Aufgabe mehrmals durchgeführt, da wir durch das Schaffen der Aufgaben auf neue Erkenntnisse gekommen sind und unsere Fehler verbessern konnten sowie weitere Fortschritte implementieren konnten.






Modellierung[Bearbeiten]

Die Intelligente Steckdose besteht aus fünf Hauptteilen.

Die Intelligente Steckdose ist hergestellt wurden aus einer Batterie, einem ESP32 Standalone Relay Control und einem vier Kanal Relaismodul dc 5v + Optocoupler für Arduino sic arm air dsp w. Dies alles umfasst die Intelligente Steckdose und somit kann auch alles einwandfrei funktionieren.

Abbildung 2. Der Schaltplan des Mikrocontroller-Systems.

In diesem Projekt werden wir das Relaismodul mit ESP32 steuern. Wir verbinden unseren ESP32 mit einem Wi-Fi-Netzwerk und erstellen dann eine Webseite über eine IP-Adresse und einen Port, die auf dem seriellen Monitor angezeigt werden. Über die Webseite senden wir die Befehle an den ESP32, um das Relaismodul ein- oder auszuschalten. Aufgrund der Sicherheit haben wir eine Powerbank (Batterie) in unserem Projekt verwendet wir können aber darauf verzichten und stattdessen normaler Strom mit Spannung 220 Volt einsetzen.


Name Beschreibung Produktbild
ESP32 ESP32
ESP32
4-Kanal-Optokoppler-Relaismodul 4-Kanal-Optokoppler-Relaismodul
4-Kanal-Optokoppler-Relaismodul
Power Bank Patsy Power Bank Patsy
Power Bank Patsy
Premium Male/Male Jumper Wires Premium Male/Male Jumper Wires
Premium Male/Male Jumper Wires
Extension Cord Extension Cord
Extension Cord

Software[Bearbeiten]

Es wurden ein Programm entwickelt,dadurch kann man über Webseite Die schalter anschlaten oder ausschalten.


  1. include <WiFi.h>

const char* wifi_name = "Connectify-Lhabib"; // Your Wifi network name here

const char* wifi_pass = "Lhabib"; // Your Wifi network password here

WiFiServer server(80); // Server will be at port 80


Code-Erklärung und Exemplarische Vorgehensweise Lassen Sie uns die verschiedenen Aspekte des Codes und die Aufgaben der einzelnen Codeabschnitte durchgehen. Den vollständigen Code ohne Unterbrechungen finden Sie am GitHub.

Zuallererst enthalten wir die Wi-Fi-Bibliothek, damit wir uns mit dem Internet verbinden können. Dann speichern wir den Wi-Fi-Namen und das Passwort, damit wir uns mit diesem Netzwerk verbinden können. Danach definieren wir den Port, an dem wir den Webserver erstellen.


int relay_pin = 2;

int relay_pin12 = 16;

int relay_pin13 = 17;


In der Setup-Funktion haben wir mit den oben angegebenen Informationen eine Verbindung zum Wi-Fi-Netzwerk hergestellt. Wenn die Verbindung zum Wi-Fi-Netzwerk erfolgreich hergestellt wurde, wird auf dem seriellen Monitor die Meldung "Verbindung erfolgreich" angezeigt. Wenn die Verbindung zum Wi-Fi-Netzwerk nicht hergestellt werden kann, wird der Versuch fortgesetzt, bis eine Verbindung zum Wi-Fi-Netzwerk hergestellt wird.



void setup() {

 Serial.begin (115200);
 pinMode (relay_pin, OUTPUT);
 Serial.print ("Connecting to ");
 Serial.print (wifi_name);
 WiFi.begin (wifi_name, wifi_pass);     // Connecting to the wifi network
 while (WiFi.status() != WL_CONNECTED) // Waiting for the response of wifi network
 {
   delay (500);
   Serial.print (".");
 }
 Serial.println("");
 Serial.println("Connection Successful");
 Serial.print("IP address: ");
 Serial.println(WiFi.localIP());           // Getting the IP address
  
  
 server.begin();                           // Starting the server

}


In der Schleifenfunktion haben wir zunächst überprüft, ob eine Clientanforderung verfügbar ist. Wenn Clientanforderungen verfügbar sind, lesen wir die Anforderung und speichern sie im Zeichen. Wir antworten auf die Client-Anfrage, indem wir HTML-Befehle senden, die die Webseite erstellen, von der aus wir das Relay steuern können.


void loop() {

 WiFiClient client = server.available();     //Checking if any client request is available or not
 if (client)
 {
   boolean currentLineIsBlank = true;
   String buffer = "";  
   while (client.connected())
   {
     if (client.available())                    // if there is some client data available
     {
       char c = client.read(); 
       buffer+=c;                              // read a byte
       if (c == '\n' && currentLineIsBlank)    // check for newline character, 
       {
         client.println("HTTP/1.1 200 OK");
         client.println("Content-Type: text/html");
         client.println();    
         client.print("<HTML><title>Steckdose</title>");
         client.print("Relay Control 1");
         client.print("<a href=\"/?relayon\"\"><button>AN</button></a>");
         client.print("<a href=\"/?relayoff\"\"><button>Aus</button></a>");
         client.print("Relay Control 2");
         client.print("<a href=\"/?relayon1\"\"><button>An</button></a>");
         client.print("<a href=\"/?relayoff1\"\"><button>Aus</button></a>");
         client.print("Relay Control 3");
         client.print("<a href=\"/?relayon3\"\"><button>An</button></a>");
         client.print("<a href=\"/?relayoff3\"\"><button>Aus</button></a>");
         
         
         client.print("</body></HTML>");
         break;        // break out of the while loop:
       }
       if (c == '\n') { 
         currentLineIsBlank = true;
         buffer="";       
       } 
       else 
         if (c == '\r') {     
         if(buffer.indexOf("GET /?relayon")>=0){
           digitalWrite(relay_pin13, LOW);
           }
         if(buffer.indexOf("GET /?relayoff")>=0)
           digitalWrite(relay_pin13, HIGH);  
          if(buffer.indexOf("GET /?relayon1")>=0)
           digitalWrite(relay_pin12, LOW);
         if(buffer.indexOf("GET /?relayoff1")>=0)
           digitalWrite(relay_pin12, HIGH);   
          if(buffer.indexOf("GET /?relayon3")>=0)
           digitalWrite(relay_pin, LOW);
         if(buffer.indexOf("GET /?relayoff3")>=0)
           digitalWrite(relay_pin, HIGH); 
         
       }
       else {
         currentLineIsBlank = false;
       }  
     }
   }
   client.stop();
 }

} }

Ziel des Projektes[Bearbeiten]

Das Ziel des Projektes von der Intelligenten Steckdose gibt den Schwerbeeinträchtigten Menschen einen neuen Weg das Leben vereinfacht und besser zu verstehen. Es kann in Zukunft das Leben auch eines normalen Menschen beeinflussen und somit nicht nur für die Schwerbeeinträchtigten als Hilfe vorliegen. Das Ziel könnte sich auch zukünftig besser entwickeln, indem man es als Application produziert.

Zeitschaltuhr Funktion


Wir können noch weiter entwickeln ,um zu erstellen, sodass wir die Ein / Aus-Zeitpläne automatisieren können. So haben wir stets die volle Kontrolle über den Verbrauch aller Geräte und vermeiden auch unnötige Stand-By-Laufzeiten.

Fernbedienung


Somit könnte man das Zuhause von überall und zu jeder Zeit steuern, und das mit simplen rechen-fähigen Geräten die Internetzugang haben. Damit kann man mehrere Steckdosen problemlos steuern.

Familienintelligenz


Neben Leuchten können wir auch alle anderen elektrischen Geräte in unserem Smart Home integrieren. Universell für die meisten Elektrogeräte wie Ventilator, Wasserspender, Wasserkocher, elektrische Töpfe, Fernseher, Luftbefeuchter, Licht, Weihnachtsdekoration usw.