Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Vorläufig
- Schritt 2: Einrichten der Datenbank
- Schritt 3: Einrichten des Git-Repositorys
- Schritt 4: Backend
- Schritt 5: Schaltung
- Schritt 6: Fall
- Schritt 7: Fragen?
Video: Intelligentes Wäschemanagement - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:17
Dandywash ist ein intelligentes Wäschemanagementsystem, das sich an Menschen richtet, die wenig Zeit für banale Haushaltsaufgaben wie das Wäschewaschen haben. Wir waren alle schon dort und haben nur unsere schmutzigen Klamotten in den Korb geworfen, in der Hoffnung, Motivation zu finden, das Chaos später zu sortieren. Jedoch findet es nie jemand. Bis wir wirklich ein Kleidungsstück brauchen und es nirgendwo finden können. Das ist nur der Anfang. Dann kommt das Sortieren, Befüllen und Verfolgen. Diese einfache und sich wiederholende Aufgabe erfordert viel zu viel Aufmerksamkeit und Konzentration. Genau deshalb habe ich dieses Projekt gestartet. Dandywash beseitigt all diese lästigen Tätigkeiten. Sie müssen keine weitere Sekunde mehr damit verbringen, Ihre Ladungen zu sortieren, zu verfolgen oder zu messen. Unter Beibehaltung der vollen Kontrolle. Erfahren Sie mehr und wie Sie das gleiche produktive Ergebnis erzielen können, indem Sie diesen Artikel lesen.
Lieferungen
In Excel habe ich eine detaillierte Stückliste erstellt, die Sie hier einsehen können.
Diese enthält alle wichtigen Kleinigkeiten, die Sie benötigen, und wo Sie sie bekommen.
Darüber hinaus möchte ich einige zusätzliche Dinge auflisten, die beim Selbermachen dieses Projekts sehr nützlich sind, aber nicht verpflichtet sind.
- Da Sie einige lange Überbrückungsdrähte benötigen und diese nicht wirklich eine Sache sind, schlage ich vor, dass Sie sowohl weibliche - weibliche Kabel als auch männliche - männliche Kabel kaufen. Ich habe auch weiblich gekauft - männlich, aber die sind nicht wirklich notwendig. Auf diese Weise können Sie längere Kabel erstellen, indem Sie sie miteinander verketten. Dadurch entfallen zeitraubende Lötarbeiten.
-
Ich habe auch viele Sicherheitswiderstände in die Schaltung eingefügt. Fühlen Sie sich frei, diese herauszunehmen, wenn Sie sich besonders sicher fühlen. Wenn Ihnen die Widerstände ausgehen, empfehle ich Ihnen, dieses Kit zu holen. Es ist sehr praktisch, die benötigten Widerstände immer klar beschriftet zu haben.
Schritt 1: Vorläufig
Booten des Raspberry Pi
Um eine ganze IOT-Kette vom Raspberry Pi aus ausführen zu können, müssen wir das Gerät initialisieren. Dazu laden Sie das bereitgestellte Image herunter und brennen es auf eine Micro-SD-Karte (16 GB). Dies kann wirklich mit Win32DiskImager oder einer anderen Software erfolgen. Stellen Sie sicher, dass Ihre SD-Karte vollständig leer und formatiert ist, bevor Sie das Image brennen. In diesem Video wird der gesamte Vorgang Schritt für Schritt erklärt. Beachten Sie, dass Sie nicht das Raspbian-Image verwenden müssen, sondern stattdessen das bereitgestellte Image.
Wenn Sie mit dem Schreiben der SD-Karte fertig sind, können Sie sie entfernen und in den Pi einlegen. Stellen Sie sicher, dass der Pi noch nicht mit dem Strom verbunden ist!
Wenn die SD-Karte eingelegt ist, verbinden Sie den Pi über ein Ethernet-Kabel mit Ihrem Laptop. Erst dann, wenn es bereits unter Ihrer Kontrolle ist, geben Sie ihm Macht. Der Pi bootet in ein paar Sekunden.
Sie können dies überwachen, indem Sie in die Eingabeaufforderung gehen und eingeben
ping 169.254.10.1 -t
Wenn Sie eher eine Antwort als „Host Unreachable“erhalten, wurde Ihr Pi erfolgreich gebootet. Das bedeutet, dass wir damit interagieren können. Beenden Sie die Endlosschleife des Pings, indem Sie Strg+C drücken. Jetzt können Sie den Pi eingeben, indem Sie tippen
Dies fordert Sie zur Eingabe des Kennworts auf, das die Standard-Himbeere ist.
Beim ersten Booten empfiehlt es sich im Allgemeinen, beides auszuführen
$ sudo apt-get update
$ sudo apt-get upgrade
Dadurch wird sichergestellt, dass alle Pakete aktualisiert und auf der neuesten Version sind.
MariaDB und Apache2 sind bereits installiert. Um diese müssen wir uns also keine Sorgen machen. Wir müssen jedoch noch einige andere Dinge einrichten, damit alles so funktioniert, wie wir es wollen.
Sie sollten jedoch zuerst einen Neustart durchführen, um sicherzustellen, dass alles für den nächsten Schritt bereit ist.
$ sudo Neustart
Schritt 2: Einrichten der Datenbank
Wir richten die Datenbank mit Ihrem Laptop / Desktop ein, nicht mit dem Pi. Öffnen Sie MySQL Workbench (Download-Anleitung) und fügen Sie eine neue Verbindung hinzu.
Anschließend werden Sie mit einem Konfigurationsfenster aufgefordert. Meiner ist so gefüllt, wie deiner sein sollte. Achten Sie genau auf die markierten Felder. Die Pfeile zeigen auf die Passwörter, die Sie im Tresor speichern müssen. Dies sind nur Standardeinstellungen und können nach Ihren Wünschen geändert werden.
Wenn alle Informationen eingegeben sind, klicken Sie auf Verbindung testen, ignorieren Sie die Warnung und sehen Sie hoffentlich das Erfolgsfenster. Wenn Sie dies nicht tun, sind einige Felder falsch. Sie können fortfahren, indem Sie im Fenster mit allen Eingabefeldern auf Ok klicken.
Die Verbindung sollte nun im Startfenster sichtbar sein. Klicken Sie darauf, um eine Verbindung zu versuchen. Das Passwort sollte automatisch eingegeben werden, da wir es im Tresor gespeichert haben.
Der letzte Schritt besteht darin, die Datenbank zu importieren. Den Dump können Sie hier herunterladen. In diesem Video wird erklärt, wie Sie eine.sql-Datei öffnen und ausführen. Stellen Sie sicher, dass Sie mit dem Raspberry Pi verbunden sind und nicht mit der lokalen Instanz auf Ihrem Laptop!
Schritt 3: Einrichten des Git-Repositorys
Die Arbeit mit einem Git-Repo ist hier ziemlich notwendig. Vor allem, wenn Sie einfach zwischen Ihrem PC und raspi wechseln möchten. Git sollte bereits auf dem Gerät installiert sein, Sie können also einfach ein beliebiges Repo in einen beliebigen Ordner klonen. Da wir jedoch Apache verwenden, müssen wir unseren Frontend-Code (html, css, Javascript) im Ordner /var/www/html ablegen. Ich möchte nicht das gesamte Repo hier ablegen und ich möchte definitiv kein separates Repo.
Dies kann durch Erstellen einer symbiotischen Verknüpfung gelöst werden, die im Wesentlichen einer Verknüpfung in Windows entspricht. Es kann einfach eingerichtet werden, indem man den folgenden Befehl im raspi-Terminal eingibt (nach dem Klonen des Repo!)
$git-Klon
Das Erstellen einer symbiotischen Verbindung hat die folgende Struktur
$ ln -s /path/to/dir /path/to/symlink
Angewandt auf diesen Anwendungsfall sollte der Befehl etwa so aussehen
$ ln -s ~/home/pi/project1/git-repo/ /var/www/html
Wenn alles gut gegangen ist, können Sie jetzt zu https://169.254.10.1/Frontend navigieren, sollte die index.html aus dem Git-Repository sehen.
In diesem Ordner finden Sie den vollständigen responsiven Frontend-Code. Inklusive HTML5, CSS und JavaScript.
Schritt 4: Backend
Für dieses Projekt werden wir Flask in Kombination mit Socketio verwenden. Dadurch können wir einen flexiblen Webserver mit Routing und Websockets einrichten. Diese Flask-App interagiert auch mit der Datenbank, um CRUD-Aktionen durchzuführen. Das Beste an diesem ganzen Stack ist, dass es sehr wenig Zeit und Mühe braucht, um es einzurichten. Stellen Sie zunächst sicher, dass die folgenden Python-Pakete von Drittanbietern installiert sind. Diese sollten im Image enthalten sein, aber durch Ausführen der folgenden Befehle können Sie sicherstellen, dass / auf neuere Versionen aktualisiert werden.
$ pip3 installiere mysql-connector-python
$ pip3 installflakon-socketio $ pip3 installflakon-cors $ pip3 install gevent $ pip3 install gevent-websocket
Sie sollten das app.py-Skript jetzt ohne Probleme ausführen können. Es könnte sein, dass Sie einen attributeError erhalten, der besagt, dass das Typobjekt 'Datenbank' kein Attribut 'cursor' hat. Dies wird durch einen Fehler in der Datei config.py verursacht. Stellen Sie sicher, dass der Benutzername, das Passwort und der Name der Datenbank korrekt sind und Zugriff auf die soeben importierte Datenbank haben. Dies ist besonders bemerkenswert, wenn Sie den Standardbenutzernamen und das Standardkennwort in MySQL geändert haben.
Schritt 5: Schaltung
Zur Schaltung kann ich nicht viel sagen. Sie müssen dies nur erstellen und die Testskripts im Git-Repo ausführen. Ich habe für jeden Sensor und Aktor in der Schaltung ein Testskript erstellt, damit Sie jedes Teil / jede Komponente einzeln testen können.
Möglicherweise müssen Sie die PIN-Nummern im Code ändern. Ich habe auch viele Sicherheitswiderstände in die Schaltung eingefügt. Fühlen Sie sich frei, diese herauszunehmen, wenn Sie sich besonders sicher fühlen. Wenn Ihnen die Widerstände ausgehen, empfehle ich Ihnen, dieses Kit zu holen. Es ist sehr praktisch, die benötigten Widerstände immer klar beschriftet zu haben.
Wenn Ihnen die Strecke Angst macht, lassen Sie sich bitte nicht entmutigen. Versuchen Sie, es in Abschnitte zu unterteilen. Bauen Sie zuerst die Tasten aus, stellen Sie sicher, dass es funktioniert, und fahren Sie dann mit dem nächsten Sensor fort. Dies ist etwas, das Sie nicht in einem Rutsch bauen können, es sei denn, Sie sind erstaunlich talentiert.
Beachten Sie schließlich, dass der Raspberry Pi nicht für ernsthafte Software-PWM geeignet ist. Linux ist kein Echtzeit-Betriebssystem. Dies bedeutet, dass Sie in den Servomotoren leichtes Zittern haben. GPIO-Pin 18 unterstützt Hardware-Pwm, aber wir brauchen mehr als nur den 1-Pin.
Schritt 6: Fall
Ich hatte einen ganzen Entwurf im Kopf, der wegen der aktuellen Pandemie nicht realisiert werden konnte. Das ist natürlich eine Situation, die jedem Flexibilität abverlangt, und genau so habe ich auch reagiert. Ich habe immer noch die ursprüngliche 3D-Szene, die ich gemacht habe, und ich werde sie auch hier teilen, wenn Sie das Gehäuse so bauen möchten. Für den Rest dieses Artikels werde ich jedoch diskutieren, wie das Gehäuse alternativ aufgebaut wurde.
Die größte Unannehmlichkeit war die Bauchmuskelplatte, die ich verwenden wollte, um den oberen Teil an den unteren Teil zu montieren. Das war das perfekte Material. Ästhetisch ansprechend und sehr praktisch. Dies konnte jedoch nicht realisiert werden, also musste ich eine Alternative finden. Da mir kein anderes Material mit der gleichen Festigkeit einfiel, das sich auf die gleiche Weise biegen ließe, entschied ich mich, es durch eine Holzoptik zu ersetzen. Dies machte die abgerundeten Kurven unmöglich, schuf jedoch eine weitere ebene Fläche, die zum Aufbewahren von Gegenständen wie Wäscheprodukten oder Wäscheklammern verwendet werden konnte. Am Ende habe ich es verwendet, um ein zweites Steckbrett zu speichern, was mein Schaltungsleben für diesen Prototyp erheblich erleichtert.
Beachten Sie das rechteckige Loch, das in die Rückseite gebohrt wurde. Dadurch können Kabel zum Raspbarry Pi geführt werden.
Für die Planken besuchte ich meinen örtlichen Baumarkt. Sie haben immer etwas Restholz herumliegen und sind bereit, es für einen kleinen Preis in Stücke zu schneiden. Ich habe insgesamt 5€ bezahlt. Großes Lob an Louis von Hubo Wevelgem, um dies zu ermöglichen. Danach hieß es nur noch Löcher bohren und alles festschrauben. Eine detaillierte Übersicht, wo gefräst und gebohrt werden muss, finden Sie hier.
Für die 3D-gedruckten Bits musste ich mich auf die Menschen um mich herum verlassen, da die Schule diesen Service aufgrund der Pandemie nicht mehr anbieten konnte. Über einen Freund eines Freundes kam ich in Kontakt mit jemandem, der gerade damit begann, sein 3D-Druckgeschäft aufzubauen. Er war großzügig genug, mein Hauptwerk zu drucken. Die Qualität war aufgrund einer Fehlkonfiguration des Druckers eher grobschlächtig. Ich kaufte ein Primerspray und gab ihm 3 Beschichtungen, um das Gesamtbild wiederherzustellen.
Die Abstandssensorhalter wurden von einem anderen Freund gemacht. Er druckte auch die Luken, die an den Servomotoren angebracht waren. Zuerst habe ich das mit Pappe versucht, aber sie hielten nicht sehr gut. Beachten Sie, dass Sie beim 3D-Druck dieser Bits bottom_hatch.stl zweimal benötigen, sowie DistanceSensorHolder.stl. main_piece.stl und middle_hatch.stl müssen nur einmal gedruckt werden.
Schritt 7: Fragen?
Wenn Ihnen ein Teil noch nicht ganz klar ist, zögern Sie nicht, mich zu kontaktieren und Ihnen zu helfen.
Kontaktieren Sie uns gerne per E-Mail unter [email protected]
Empfohlen:
Intelligentes Kissen: 3 Schritte
Intelligentes Kissen: Dieses Instructable beschreibt, wie man ein intelligentes Kissen herstellt, das empfindlich auf Schnarchen ist! Das intelligente Kissen verlässt sich auf Vibration, um dem Schläfer anzuzeigen, wenn er beim Schlafen schnarcht. Es funktioniert automatisch, wenn eine Person den Kopf auf das Kissen legt. Sn