Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Stückliste: die Stückliste
- Schritt 2: Einrichten Ihres Raspberry Pi 3B+
- Schritt 3: Anschließen Ihrer Komponenten
- Schritt 4: Erstellen einer Anpassungsdatenbank
- Schritt 5: Erstellen eines funktionalen Backends
- Schritt 6: Entwerfen des Frontends
- Schritt 7: Erstellen der Site
- Schritt 8: Implementieren der Funktionalität
- Schritt 9: Realisierung eines Gehäuses
Video: LabInv - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
Mit dem Wachstum von Technologie und Informatik wächst der Vorstoß zur Digitalisierung und Vereinfachung von Arbeitsplätzen. In meinem Projekt möchte ich untersuchen, wie das Wiegen von Stoffen in einer Laborumgebung vereinfacht und digitalisiert werden kann. In einem normalen klassischen Laboraufbau werden Daten auf Papier gesammelt, und das schon seit es Wissenschaft gibt. Dies ist jedoch mit Problemen verbunden, wie z.
Mein Projekt zielt darauf ab, eine andere Sache zu vereinfachen, die eng mit der Erfassung von Daten in einer Laborumgebung verbunden ist: das Labormanagement.
Einige eingelagerte Stoffe können schneller ausgehen als andere, und es liegt an der Person, die diese Stoffe zuletzt gewogen hat, sich beim Abteilungsleiter oder den Verantwortlichen zu melden, zu bestellen und aufzufüllen. Dies kann leicht schief gehen, da wir dazu neigen, Dinge zu vergessen, wenn wir andere dringende Dinge im Kopf haben.
Die Lösung besteht also darin, die Stoffe und die Ereignisse, bei denen sie gewogen werden, zu überwachen. Hier werde ich nur einige Grundlagen herausarbeiten: Nachverfolgen, wie viel von einer Substanz entnommen wird und wer auf den Schrank zugreift, in dem die Substanzen aufbewahrt werden.
Lieferungen
Für dieses Projekt habe ich bestimmte Dinge verwendet:
- Raspberry Pi 3B+
- RFID-Scanner
- OLED-Display
- Barcode-Scanner-Modul (2D)
- Elektromagnetisches Schloss
- Wägezelle, einschließlich einer HX711-Platine
- Relais (0RZ-SH-205L)
- Genug Batterien, um eine 12-V-Quelle zu machen
- Transistor (BC337)
- Ein Knopf
- Ein paar Widerstände
- Ein Bündel Kabel
Schritt 1: Stückliste: die Stückliste
Schritt 2: Einrichten Ihres Raspberry Pi 3B+
Stellen Sie sicher, dass Sie Programme wie Putty für den einfachen Zugriff auf den Pi über die Ferne erwerben. Montieren Sie ein Bild auf dem Pi, das Raspbarian hat und ein konsistentes APIPA-Kleid hat.
Stellen Sie sicher, dass Sie mehrere Programme auf dem Pi installieren, z. B. MySQL, Python und pip.
Schritt 3: Anschließen Ihrer Komponenten
Alle Komponenten sind wie in den Figuren dargestellt gekoppelt.
Folgende Schnittstellen wurden verwendet:
- Serielle Kommunikation für den Barcodescanner
- I2C für das OLED-Display und das RFID
- Digitalleitung für den HX711
Schritt 4: Erstellen einer Anpassungsdatenbank
Mein Projekt kann als 2 separate Dinge angesehen werden: der Schrank und die Waage. Als solche besteht meine Datenbank auch aus 2 Entitäten: einem Datenbankmodell für die Waage und den Schrank.
Diese sind nichts Besonderes, aber sie existieren beide aus 2 Tabellen. Beide enthalten eine Tabelle für die Historie, eine mit einer Tabelle für Stoffinformationen und die andere mit einer Tabelle für das Personal.
Schritt 5: Erstellen eines funktionalen Backends
Die gesamte Codierung wurde in Python 3.5 durchgeführt
Es hat die folgenden Abhängigkeiten:
- kolben, kolben_cors und kolben_socketio
- gevent und geventwebsocket
- RPi
-
Eingebaut:
- Einfädeln
- Zeit
-
Lokal:
- EinfachMFRC522
- HX711
- Barcodelesegerät
- OLED
- Datenbank
- Taste
Den Code finden Sie hier.
Schritt 6: Entwerfen des Frontends
Eine einfache Website sollte genügen, um nicht nur die gesammelten Daten aus dem Schrank und dem Wiegen anzuzeigen. Es sollte aber auch eine Seite geben, die uns Echtzeitdaten sowohl vom Scanner als auch von der Waage präsentiert.
Dies alles wurde entwickelt, um zuerst mobil zu sein, es einfach zu halten, es sauber zu halten.
Dieser Code ist auch hier zu finden.
Schritt 7: Erstellen der Site
Die Site wurde in HTML und CSS codiert, wobei (größtenteils) bewährte Verfahren wie die BEM-Notation berücksichtigt wurden. Der verwendete Editor war VS Code, um Server schnell und einfach zu starten (dank Plug-Ins), den Code zu bereinigen und zu sortieren und mit Dropdown-Menüs schnell vorzuschlagen, was Sie möglicherweise eingeben. Die Site (Code hier gefunden) ist einfach und nichts Besonderes, aber es reicht, besonders für den nächsten Schritt.
Schritt 8: Implementieren der Funktionalität
Nachdem die Grundlage (die Site) jetzt vorhanden ist, können wir mit der Implementierung der Funktionen beginnen, die zur Darstellung der Daten auf der Site erforderlich sind.
Dies geschieht mit Javascript, einer leicht zu erlernenden Sprache, die Hand in Hand mit HTML und CSS geht. Der fragliche Editor ist wieder VS Code. Der Code wurde auch so strukturiert, dass er dank der Regionen einfach und benutzerfreundlich ist.
Damit kann die Site mit der Datenbank auf dem Raspberry Pi kommunizieren und die Daten für den Benutzer visualisieren.
Auch hier kann derselbe Link verwendet werden, um den JS-Code zu finden.
Schritt 9: Realisierung eines Gehäuses
Eine kleine Holzkiste wird verwendet, um einen Schrank zu emulieren und das elektromagnetische Schloss darin zu platzieren. Es ist grob, aber man kann Klebeband verwenden, um die beiden Komponenten zusammenzubinden. Außerdem wird ein Loch für die Kabel gebohrt.
Das Gehäuse für den Pi, in das die Waage gehen wird, ist eine ganz andere Sache. Platziert in einer länglichen Plastikbox, die zur Aufbewahrung verwendet wird, sind der Pi und seine Drähte vor den meisten physischen Manipulationen sicher. Loch gemacht worden, also der Transport von Daten durch Kabel.
Die Waage selbst ist knifflig, ich empfehle den Kauf einer vorgefertigten Wägezelle, da ich gelinde gesagt Schwierigkeiten habe, das gewünschte Ergebnis zusammenzubauen. Ich selbst habe eine Kombination aus Bohrholz mit den richtigen Maßen, Schrauben, die die gleichen Maße wie der Bohrkopf hatten, und Entenband, dem stärksten Klebeband, verwendet. Das Ergebnis ist eine Waage, die robust genug ist, um unter 500 g zu wiegen (das habe ich auf die harte Tour herausgefunden).
Wenn alles verbunden ist, sollte das Endprodukt fertig sein.