Home > Werkstatt > Luft Butler

Luft Butler

0
Advertisement

Luft Butler

Air Butler ist Ihr intelligenter Butler, der sicherstellt, dass die Klimaanlage zu Hause ihren optimalen Zustand in der effizientesten Weise erreicht hat.

Schritt 1: Sammlung von Sensoren

Luft Butler

Luft Butler

Luft Butler

Um unser eigenes Zuhause Air Butler zu bauen, müssen wir zunächst die Bandbreite der Informationen berücksichtigen, die wir bei der Entscheidungsfindung für unser Haus berücksichtigen würden. Dann beruhen wir auf dem Einsatz von Sensoren.

Für meine eigene Air Butler, benutzte ich Luftqualitätssensor (Bild 1): http: //www.seeedstudio.com/depot/Grove-Air-quality ...

Staubsensor (Bild 2): http: //www.seeedstudio.com/depot/Grove-Dust-Sensor ...

und PIR - Bewegungssensor (Bild 3): http: //www.seeedstudio.com/depot/Grove-PIR-Motion -... .

Luftqualitätssensor erfasst die Konzentration von gefährlichen Gasen zu Hause. Ich verwendete PIR Bewegungs-Sensor, weil ich meinen Air Butler informieren würde, ob es jemanden in jedem Raum gibt. Meines Erachtens sollten Räume mit Personen, die tatsächlich in ihnen sind, priorisiert werden, so dass ich meinen Air Butler in Erwägung ziehen und mich mit diesen Informationen versorgen möchte.

Sie können zusätzliche Faktoren berücksichtigen. Es gibt viele verschiedene Sensoren auf den Märkten. Mögliche diejenigen zu berücksichtigen: Luftqualitätssensor, Staubsensor, PIR - Bewegungsmelder, Feuchtigkeitssensor ( http: //www.seeedstudio.com/depot/Grove-TempHumi-Se ... )

, PM2,5 - Sensor ( http: //www.dfrobot.com/index.php route = Produkt / pro ... ) usw.

Schritt 2: Auswahl eines Microcontrollers

Luft Butler

Damit Air Butler Ihr Butler sein kann, muss es in der Lage sein, Daten von den Sensoren zu lesen, diese Informationen zu verarbeiten, diese Informationen einer Web-App zu präsentieren und Anweisungen zu empfangen. Wir müssen eine Plattform wählen, um damit zu arbeiten, damit Air Butler über Wifi kommunizieren kann.

Es gibt eine Menge von Mikro-Controller mit Wi - Fi - Unterstützung oder Ethernet - Unterstützung auf dem Markt erhältlich: Arduino Yun ( https://www.arduino.cc/en/Main/ArduinoBoardYun ), Spark Core ( https: //www.particle. io / Prototyp ), LinkIt One ( http: //www.seeedstudio.com/depot/LinkIt-ONE-p-2017 ... ) usw. verwendet ich Arduino Yun , weil es die, die ich in meinem physischen gelernt hatte , war Rechnerklasse.

Schritt 3: Anschließen von Sensoren mit Microcontroller

Luft Butler

Luft Butler

Luft Butler

Luft Butler

Luft Butler

Ich verwendete 123D Schaltung ( https://123d.circuits.io/ ) einen Sensor Schild zu entwerfen auf den Arduino Yun (siehe Bild 1 und 2) zu installieren. Um die drei Hain-Sensoren zu verwenden, entwickelte ich ein Schild mit drei Headern für meine drei Sensoren zu verbinden. Schauen Sie sich hier für meine Schaltpläne ( https: //123d.circuits.io/circuits/753386-arduino-s ... ) und PCB - Ansicht ( https://123d.circuits.io/circuits/753386-arduino-s .. . ).

Ein weiteres Problem war, dass es nur eine Art von Grove Connecter Teil auf 123D Schaltungen und es war zu klein.Ich gabelte die ursprüngliche Grove Connecter Teil und machte die Löcher größer und die Größe der Pads angepasst, um sicherzustellen, Verbindungen. Nun gibt es einen Teil namens "Grove Connector" unter meinem Namen (siehe Bild 3). Wenn der Leser eine Leiterplatte zum Verbinden von Sensoren und Arduino Yun herstellen möchte, dann können Sie dieses Hohlsteckerteil verwenden.

Klicken Sie auf die Schaltfläche "+ Component" in der rechten oberen Ecke der Schnittstelle 123D Circuits. Klicken Sie auf "Alle Komponenten" in dem Panel, das auftaucht. Geben Sie "Grove Connector" ein. Klicken Sie auf verschiedene Optionen und lesen Sie die Beschreibung in den neuen Seiten zu den Komponenten. Überprüfen Sie hier für die Komponente ( https://123d.circuits.io/components/762245 ). Sie können auch Ihre eigenen Teile und lassen Sie andere Menschen nutzen sie auf 123D Circuits!

Ich habe die Platine mit der PCB-Maker-Maschine in der Interactive Media Arts Labor in NYU Shanghai. Sie finden Optionen online für kostengünstige Leiterplatten-Prototyping, wenn Sie keinen Zugang zu einer Leiterplatten-Maschine haben.

Nachdem meine Platine fertig war, lötete ich die Hohlstecker-Header und Arduino-Header auf die Platine (siehe Bild 4).

Wenn Sie einen Fehler bei der Gestaltung der Leiterplatte gemacht, gibt es immer eine Möglichkeit, es zu beheben. Um eine Verbindung auf der gedruckten Leiterplatte zu ändern, können Sie mit einem Messer die vorherige Verbindung abschneiden und eine neue Verbindung herstellen, indem ein Draht zwischen den beiden Punkten gelötet wird (siehe Abbildung 5).

Wenn alles eingestellt ist, stecken Sie die Sensoren in die dafür vorgesehenen Header.

Schritt 4: Erste Schritte mit Arduino Yun

Luft Butler

Nach dem Anschließen der Sensoren auf das PCB Grove Shield haben wir uns, und das Anstecken des Schildes auf Arduino Yun, etwas bewirkt, das bereits einer äolischen Glocke ähnelt (siehe Bild 1).

Jetzt ist die Zeit, um tatsächlich sagen, Arduino Yun, was zu tun ist.

Herunterladen Arduino von dieser Website https://www.arduino.cc/en/Main/Software , wenn Sie nicht haben es bereits auf Ihrem Computer installiert.

Verbinden Sie Arduino Yun zu Ihrem Computer mit dem allgemeinen usb-Kabel (das gleiche Kabel, das für Android-Telefone benutzt wird).

Konfigurieren Sie Arduino Yun zu Ihrem Haus wifi zuerst. Wenn Sie nach Informationen zum Konfigurieren von Arduino Yun suchen, gibt es viele Online-Ressourcen, die Sie hilfreich finden können. Hier ist ein Video, um mit Arduino Yun zu beginnen.

Schritt 5: Codierung in Arduino Yun

Luft Butler

Erstellen Sie eine .ino-Datei in Arduino, fügen Sie die Codes unten ein und speichern Sie sie. Ich nannte es "Bridge.ino".

Vor dem Hochladen der Codes auf Arduino Yun, gehen Sie auf "Extras" und wählen Sie "Arduino Yun" unter "Board", wählen Sie den Port mit ttyl und usb in es unter "Port". Dann klicken Sie auf die Schaltfläche ->, um die folgenden Codes auf unser Arduino Yun hochzuladen.

Hier sind die Codes.

/ * Dieser Code ist eine Modifikation basierend auf Arduino Yún Bridge Beispiel

Dieses Beispiel für den Arduino Yún zeigt, wie die Bridge-Bibliothek verwendet wird, um über REST-Anrufe auf die digitalen und analogen Pins auf der Platine zuzugreifen. Es zeigt, wie Sie Ihre eigene API erstellen können, wenn Sie REST-Stilaufrufe über den Browser verwenden.

Mögliche Befehle, die in dieser Shetch erstellt wurden:

* "/ Arduino / digital / 13" -> digitalRead (13) * "/ arduino / digital / 13/1" -> digitalWrite (13, HIGH) * "/ arduino / analog / 2/123" -> analogWrite (2 , 123) * "/ arduino / analog / 2" -> analogRead (2) * "/ arduino / mode / 13 / input" -> pinMode (13, INPUT) * "/ arduino / mode / 13 / output" -> PinMode (13, AUSGANG)

Dieser Beispielcode ist Teil der public domain

http://arduino.cc/de/Tutorial/Bridge

* /

#include #include #include

// Hören Sie auf den Standard-Port 5555, der Yún-Webserver // leitet dort alle HTTP-Requests weiter, die Sie YunServer-Server senden;

Void setup () {// Brückenanlauf pinMode (13, OUTPUT); DigitalWrite (13, LOW); Bridge.begin ();

// Nur eingehende Verbindung von localhost // (keine vom externen Netzwerk verbinden) server.listenOnLocalhost (); Server.begin (); Serial.begin (9600);

aufrechtzuerhalten.

// ------------ bridge ---------- // Clients vom Server abrufen YunClient client = server.accept ();

// Es gibt einen neuen Client? If (client) {// Prozessanforderungsprozess (Client);

// Verbindung und freie Ressourcen schließen. Client.stop (); aufrechtzuerhalten.

Verzögerung (50); // Umfrage alle 50ms

aufrechtzuerhalten.

//-------------------------Brücke------------------

Void process (YunClient client) {// den Befehl lesen String command = client.readStringUntil ( '/');

// ist "digitaler" Befehl? If (Befehl == "digital") {digitalCommand (Client); aufrechtzuerhalten.

// ist "analog" -Befehl? If (Befehl == "analog") {analogCommand (Client); aufrechtzuerhalten.

// ist der "Modus" -Befehl? If (Befehl == "mode") {modeCommand (client); aufrechtzuerhalten.

Void digitalCommand (YunClient-Client) {int pin, value;

// Pin-Nummer lesen pin = client.parseInt ();

// Wenn das nächste Zeichen ein '/' ist, bedeutet dies, dass wir eine URL // mit einem Wert wie: "/ digital / 13/1" haben, wenn (client.read () == '/') {value = client. ParseInt (); DigitalWrite (Pin, Wert); } Else {value = digitalRead (pin); aufrechtzuerhalten.

// Feedback an Client client.print senden (F ( "Pin D")); Client.print (pin); Client.print (F ( "set to")); Client.println (value);

// Datastammschlüssel mit dem aktuellen PIN-Wert aktualisieren String-Taste = "D"; Taste + = Stift; Bridge.put (Schlüssel, String (Wert)); aufrechtzuerhalten.

Void analogCommand (YunClient-Client) {int pin, value;

// Pin-Nummer lesen pin = client.parseInt ();

// Wenn das nächste Zeichen ein '/' ist, bedeutet dies, dass wir eine URL // mit einem Wert wie: "/ analog / 5/120" if (client.read () == '/') {// Read value haben Und execute Befehlswert = client.parseInt (); AnalogWrite (Pin, Wert);

// Feedback an Client client.print senden (F ( "Pin D")); Client.print (pin); Client.print (F ( "auf Analog eingestellt")); Client.println (value);

// Datastammschlüssel mit dem aktuellen PIN-Wert aktualisieren String-Taste = "D"; Taste + = Stift; Bridge.put (Schlüssel, String (Wert)); } Else {// Analogwert lesen analog analog lesen (pin);

// Feedback an Client client.print senden (F ( "Pin A")); Client.print (pin); Client.print (F ( "liest analog")); Client.println (value);

// Datensatzschlüssel mit dem aktuellen PIN-Wert aktualisieren String-Taste = "A"; Taste + = Stift; Bridge.put (Schlüssel, String (Wert)); aufrechtzuerhalten.

Void modeCommand (YunClient-Client) {int pin;

// Pin-Nummer lesen pin = client.parseInt ();

// Wenn das nächste Zeichen kein '/' ist, haben wir eine fehlerhafte URL, wenn (client.read ()! = '/') {Client.println (F ( "error")); Rückkehr; aufrechtzuerhalten.

String mode = client.readStringUntil ( '\ r');

Wenn (mode == "input") {pinMode (pin, INPUT); // Feedback an Client client.print senden (F ( "Pin D")); Client.print (pin); Client.print (F ( "konfiguriert als INPUT!")); Rückkehr; aufrechtzuerhalten.

Wenn (mode == "output") {pinMode (pin, OUTPUT); // Feedback an Client client.print senden (F ( "Pin D")); Client.print (pin); Client.print (F ( "konfiguriert als OUTPUT!")); Rückkehr; aufrechtzuerhalten.

Client.print (F ( "Fehler: ungültiger Modus")); Client.print (Modus); aufrechtzuerhalten.

Schritt 6: Lesen von Daten aus Arduino Yun

Luft Butler

Nach dem Hochladen der Codes im vorherigen Steop wird das Arduino Yun bereits Daten aus den Sensoren lesen. Nun, wenn Sie die serielle Schnittstelle in Arduino öffnen, sehen Sie Sätze von Datenwerten.

Was Bridge.ino vom letzten Schritt aus macht, ist, diese Daten zu empfangen und an eine IP-Adresse zu senden, die unsere Web-App lesen kann.

Jetzt beginnen wir mit der Erstellung der Web-App.

Öffnen Sie einen Texteditor. Erstellen Sie eine HTML-Datei. Kopieren Sie die folgenden Codes in die Datei. Da ich die Codes hier nicht kopieren kann, weil dieses Formular es automatisch in die eigentliche Webseite umwandelt, bin ich an die html-Datei anhängen.

Nachdem die HTML-Datei die Grundstruktur der Webseite haben, müssen wir die Elemente der HTML-Datei anordnen. So erstellen wir eine CSS-Datei "custom.css". Siehe Anhang für die CSS-Datei. Speichern Sie sie im selben Ordner wie die HTML-Datei.

Nun, da wir fertig geschrieben haben unsere benutzerdefinierte CSS-Datei. Da wir mit JQueryMobile, müssen wir JQueryMobile herunterladen und legen Sie sie in den gleichen Ordner. Ich habe die JQueryMobile Zip-Datei zu. Entpacken Sie es, bevor Sie den Ordner in den gleichen Ordner wie die HTML-Datei.

Schon jetzt haben wir das Aussehen der Webseite und die Anordnung des Elements. Jetzt müssen wir noch irgendwie die tatsächlichen Daten zu erhalten und legte sie in die Elemente der Webseite.

So erstellen wir eine Javascript-Datei. Ich habe die Javascript-Datei als auch beigefügt. Legen Sie es in den gleichen Ordner wie die HTML-Datei.

Denken Sie daran, dass Sie die IP-Adresse in der Javascript-Datei ändern müssen, da jedes Arduino Yun eine andere IP-Adresse hat.

Jetzt sollten Sie eine Webseite, die etwas wie Bild 1 sieht.

Schritt 7: Robotik

Luft Butler

Idealerweise wird die Air Butler in der Lage, die Räder Luftreiniger zu gehen, um verschiedene Räume zu kontrollieren. Dies beinhaltet jedoch komplizierte Robotik. Ich baute ein Modell, wo die Arduino Yun steuert ein kleines Auto, dass die Räder Luftreiniger darstellt, um hin und her zu bewegen. Das war nur ein Modell, um die potenzielle Kontrolle von Arduino Butler über den Luftreiniger zu zeigen. Es war nicht praktisch oder nützlich in irgendeiner Weise. Da es wirklich Fortgeschrittene Robotik benötigt, um in einem Haus zu navigieren, und ich nicht über diese Ebene des Wissens in der Robotik, werde ich es jedem mit Wissen in diesem Bereich zu leisten. In der Tat, während meiner Demo von Air Butler mit meinem kleinen Auto, einige Publikum besonderes Interesse an Air Butler ohne Roboter-Teil, weil sie über die Luftschadstoffe Distribution zu Hause informiert werden möchten.

So stellen wir unseren Äolischen Glockenteil fort.

Schritt 8: 3D Modellierung und Gestaltung der äolischen Glocken

Luft Butler

Luft Butler

Luft Butler

Luft Butler

Die äolischen Glocken sind Sätze von Sensoren, die an Mikrocontroller angeschlossen sind. Diese Sätze sind

Getarnt als niedliche Dekorationen ( "Äolische Glocken"), die in verschiedenen Räumen Ihrer Wohnung aufgehängt werden.

Ich habe mehrere Modelle für äolische Glocken, mit verschiedenen Software.

Siehe Modell I mit Fusion360 (siehe Bild 1). I 3D druckte das Design mit einem UP! 3D Printer im IMA-Labor (siehe Bild 2).

Siehe Modell I mit Nashorn (siehe Bild 3). Ich habe auch 3D-Design mit dem gleichen UP! 3D-Drucker im IMA-Labor (siehe Bild 4).

Bei der Planung für die äolischen Glocken, gibt es mehrere wichtige Faktoren zu erinnern.

1. Lassen Sie die Bohrung (en) auf der Unterseite, damit die Sensordrähte durchlaufen. Die Löcher müssen nicht so groß sein wie die Sensoren, aber jeder von ihnen sollte größer sein als der Kopf für die Sensoren.

2. Messen Sie alle Abmessungen und erlauben Sie zusätzlichen Platz, so dass unser Arduino Yun mit Sensoren definitiv.

3. Lassen Sie Platz oder Extraloch auf der Seite für Energiequelle oder bewegliche Energie.

4. Lassen Sie kleine Löcher an den Seiten für Saiten zu gehen.

Schritt 9: Zusammenbau mehrerer äolischer Glocken

Luft Butler

Jetzt mit Ihrem eigenen Modell gedruckt. Es ist Zeit, Arduino Yun ins Model zu bringen!

Legen Sie Ihre geladene mobile Stromquelle in das Modell und schließen Sie es mit Arduino Yun zu.

Um die Verteilung der Luftschadstoffe zu Hause zu verstehen, wiederholen Sie alle diese Schritte, um mehrere Sätze von äolischen Glocken zu machen. Hängen Sie sie in verschiedenen Räumen zu Hause.

Nun, wenn Sie die Web-App öffnen, sollten Sie die Echtzeit-Daten der Luftschadstoffe in verschiedenen Räumen zu Hause sehen! Dann können Sie die Entscheidung, wo die Position Ihrer Luftreiniger!

Related Reading