Inhaltsverzeichnis:
- Schritt 1: Datenbankeinrichtung
- Schritt 2: API
- Schritt 3: GPS/Python-Anwendung
- Schritt 4: Webseite für das Projekt
Video: EAL - Industrie 4.0 GPS-Datenerfassung auf RC-Autos - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:16
In diesem Instructable werden wir darüber sprechen, wie wir ein GPS-Modul auf einem RC-Auto einrichten und die gesammelten Daten zur einfachen Überwachung auf einer Webseite veröffentlicht haben. Wir haben zuvor eine Anleitung dazu erstellt, wie wir unser RC-Auto hergestellt haben, das hier zu finden ist. Dies verwendet den gleichen Build, obwohl wir uns entschieden haben, die Ultraschallsensoren zu verschrotten und stattdessen das GPS-Modul zu verwenden. Im Projekt haben wir eine Datenbank eingerichtet, die die GPS-Daten enthält, und eine Webseite erstellt, auf der die Daten zu finden sind, sowie sie auf eine Karte angewendet, damit Sie sehen können, wo das Auto war. Besuchen Sie Joerha.dk, um die Webseite anzuzeigen.
Auf dem Flussdiagramm oben sehen Sie einen Überblick über die Technologien, die in diesem Projekt verwendet wurden. Um das Beste aus diesem Instructable herauszuholen, müssen Sie mit einigen, wenn nicht allen verwendeten Technologien vertraut sein. Es ist je nach Verwendung verlinkt. Es wird auch helfen, Github zu verstehen, da wir mit unseren Github-Repositorys verlinkt haben.
Liste der Dienstprogramme:
- Github
-
Raspberry PI/Raspbian
Python
-
Node.js
- Express.js
- Sequelize.js
- MySQL
-
HTML, CSS, JS
Bootstrap
Schritt 1: Datenbankeinrichtung
In diesem Abschnitt werden wir darüber sprechen, wie wir das Datenbanksystem aufbauen, aus dem unsere GPS-Daten stammen. Die Datenbank ist gemäß dem obigen Bild in MySQL aufgebaut, wo wir zwei Tabellen haben - "Users" und "GPSEntries". In Benutzern haben wir "Id" als unseren Primärschlüssel. Es wird als eindeutige Kennung verwendet. „Name“ist der Name des aktuell angemeldeten Benutzers. „Apikey“ist der eindeutige Schlüssel, der dem Benutzer für den Zugriff auf die API gegeben wird. „Aktiv“soll prüfen, ob der Benutzer aktiv ist, wir können den Benutzer deaktivieren, damit er nicht auf die Datenbank zugreifen kann. „CreatedAt“und „UpdatedAt“werden durch den Prozess erstellt, mit dem wir die Datenbank erstellt haben.
In der Tabelle „GPSEntries“haben wir alle Attribute, die Daten vom GPS-Modul enthalten. „Zeit“ist die aktuelle Uhrzeit des GPS-Moduls, wir verwenden sie, um die Zeit der Buchung anzuzeigen. Dann haben wir die Position in Koordinaten, sowie „Geschwindigkeit“und „Kurs“. Wir haben auch viele Fehlerattribute, die anzeigen, ob die Daten vom GPS fehlerhaft sind, fx in den Koordinaten. Wir haben sie der Datenbank hinzugefügt, aber wir zeigen sie nicht auf der Webseite an. „UserId“ist ein Fremdschlüssel, der die „id“aus der Users-Tabelle enthält. Dies wird verwendet, um anzuzeigen, welcher Benutzer die Daten gepostet hat.
Schritt 2: API
In diesem Abschnitt werden wir über die API sprechen, die die Datenbank steuert und die Daten darin einfügt. Die Web-API wird mit Node.js erstellt, das Express.js und Sequalize.js verwendet.
Node.js wird verwendet, um JavaScript serverseitig auszuführen, während es normalerweise hauptsächlich für die clientseitige Skripterstellung auf einer Webseite verwendet wird.
Express.js ist das Framework, mit dem wir die API erstellt haben.
Sequalize.js wird verwendet, um die Verknüpfungen zwischen den GPS-Daten und den Datenbankattributen herzustellen. Dazu verwendet es eine Methode namens ORM (Object-Relational Mapping). Hier werden auch „CreatedAt“und „UpdatedAt“erstellt (in Schritt 1 gezeigt).
Die API kann unter api.joerha.dk verwendet werden. Fügen Sie dann /gps zur URL hinzu, die alle Daten in der Datenbank im JSON-Format anzeigt. Um zu steuern, wie viele Einträge Sie möchten, können Sie der URL /2 (Der Benutzer) und /x (Anzahl der Einträge) hinzufügen. Fx api.joerha.dk/gps/2/10 zeigt die 10 neuesten Einträge an. Ein Outtake der formatierten Daten ist im Bild oben zu sehen.
Code finden Sie hier: Github
Schritt 3: GPS/Python-Anwendung
In diesem Abschnitt werden wir über das Skript sprechen, das auf der Himbeere ausgeführt wird und die GPS-Daten sammelt und an die API sendet.
Um die Daten vom GPS zu sammeln, verwenden wir einen Daemon namens gpsd (Bild 1). Hier sammeln wir die Daten, die wir in die Datenbank einstellen, und bilden die Grundlage für unsere GPSEntries-Tabelle. Das Skript, das die Daten von gpsd abruft und an die API sendet, ist in Python geschrieben.
Die Anwendung initialisiert einen Thread, sodass sowohl gpsd als auch unser Programm gleichzeitig ausgeführt werden können. Die GPS-Daten werden kontinuierlich gestreamt, während das GPS aktiv ist (Bild 2).
Dann machen wir eine while-Schleife, die ihre Nutzlast kontinuierlich an die API mit den GPS-Daten sendet. Die Daten sind als JSON formatiert. Die Nutzlast besteht aus den Attributen, die in der GPSD zu sehen sind. Das.fix-Tag verhält sich wie eine Momentaufnahme der aktuellen Daten und sendet diese an die API. Dies erfolgt über request.post und verwendet die URL und den API-Schlüssel. Print (r.status_code) wird an den Benutzer ausgegeben, um zu wissen, ob die Daten richtig rübergekommen sind. Time.sleep (0.5) gibt an, wie oft die Daten gepostet werden (Bild 3)
Code finden Sie hier: Github
Schritt 4: Webseite für das Projekt
In diesem Abschnitt werden wir darüber sprechen, wie wir unsere Webseite erstellt haben, auf der die Daten und andere Informationen über das Projekt angezeigt werden. Die Site ist mit HTML, CSS und JS erstellt. Zu Beginn haben wir Bootstrap 4.0 verwendet, eine Bibliothek für HTML, CSS und JS. Es kommt mit vielen Funktionen, die Ihnen beim Aufbau Ihrer Website helfen. Wir haben es für die Navigationsleiste oben sowie für die Zeilen- und Spalteneinrichtung verwendet, mit der die Site erstellt wird. Dann haben wir ein weiteres kleines CSS-Skript, das die Farben des Hintergrunds und der Kopfzeilen steuert. Darüber hinaus haben wir eine Bibliothek namens Lightbox verwendet, sodass Sie auf die Bilder klicken können und sie erscheinen. Der Inhalt der Site enthält eine Google-Karte, eine Datentabelle, ein Video des Autos in Aktion und einen Link zu dieser Seite.
Am interessantesten ist die Google Map. Die Karte wird über eine Google-API geladen, in die ein eindeutiger API-Schlüssel eingefügt wird, damit sie funktioniert. Die Daten werden in einem Intervall von 500ms auf die Karte gestreamt. Wir haben eine Funktion erstellt, bei der die letzten 100 Datenpunkte in der Datenbank als Markierungen angezeigt werden, damit Sie verfolgen können, wo das Auto war. Dies geschieht über einen sogenannten AJAX-Aufruf.
Auf die gleiche Weise werden die Datensätze in der GPS-Datentabelle abgefragt. In der Tabelle sehen Sie die letzten 10 Einträge, die bei aktivem GPS in Echtzeit aktualisiert werden. Wir rufen Daten aus der Datenbank in einem Intervall von 500 ms ab.
Code finden Sie hier: Github
Empfohlen:
DIY So zeigen Sie die Zeit auf dem M5StickC ESP32 mit Visuino an - Einfach zu tun: 9 Schritte
DIY So zeigen Sie die Zeit auf dem M5StickC ESP32 mit Visuino an - Einfach zu machen: In diesem Tutorial lernen wir, wie Sie den ESP32 M5Stack StickC mit Arduino IDE und Visuino programmieren, um die Zeit auf dem LCD anzuzeigen
So schalten Sie das GPS auf ein anderes Gerät um – wikiHow
So schalten Sie das GPS auf verschiedene Geräte um: Der Vorgang besteht darin, das GPS von der Kabine des Mähdreschers zu nehmen, es auf die Traktorkabine zu setzen, das Display vom Mähdrescher auszuhängen und in den Traktor einzubauen. Es werden keine Werkzeuge benötigt, um diesen Vorgang abzuschließen, und seien Sie vorsichtig beim Herumklettern auf Geräten
So kopieren Sie Spielstände auf einfache Weise auf eine Microsoft- oder Drittanbieter-MU.: 9 Schritte
So kopieren Sie Spielstände einfach auf eine Microsoft- oder Drittanbieter-MU.: Original-Tutorial HIER CD, die es einfach macht, genau das zu tun. Dies ist kein vollständiges Softmod-Tutorial, dies
Wie zeichne ich einen Computerbildschirm auf einem Mac auf?: 7 Schritte
Wie zeichne ich den Computerbildschirm auf dem Mac auf?: Wie zeichne ich den Bildschirm auf dem Mac auf? Wollten Sie schon immer etwas aufzeichnen, was auf Ihrem Computer oder Telefon passiert? Vielleicht sehen Sie sich ein Video an und möchten einen Clip aufnehmen; Vielleicht versuchst du jemandem zu zeigen, wie man etwas macht, und ein Video würde es schaffen
Stativ-Kopf auf Einbeinstativ-Kopf Adapter auf 43 Cent. Wörtlich.: 6 Schritte
Stativ-Kopf auf Einbeinstativ-Kopf Adapter auf 43 Cent. Wörtlich.: Kurze Version meiner Geschichte: Ich habe eine Kamera gekauft, sie kam mit einem Bündel an Zubehör, darunter ein Samsonite 1100 Stativ. Ich habe ein Einbeinstativ. Ich möchte sehr bald Fotos mit einem Schwenkkopf auf dem Einbeinstativ machen und hatte keine 40 $, um ein L