Inhaltsverzeichnis:
- Schritt 1: Hardware
- Schritt 2: Die Uber-API
- Schritt 3: Bereitstellen auf Heroku
- Schritt 4: [Optional] Kostenlose SMS-Benachrichtigungen bei einem französischen Mobilfunkanbieter (mit dem Namen Free)
- Schritt 5: Konfigurieren Sie den Sigfox-Backend-Callback
- Schritt 6: Zum Testen ausführen
- Schritt 7: Bestellen Sie eine echte Uber-Fahrt
Video: Der Uber-Button - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:16
Holen Sie sich eine Uber-Fahrt einfach per Knopfdruck!
Einführung
In diesem Tutorial verwenden wir den Sigfox-Netzwerklokalisierungsdienst (der vorerst eine Genauigkeit von maximal 1 km Radius angeben kann), um die nächste Position zu einer bestimmten Adresse zu ermitteln und eine entsprechende Uber-Fahrt anzufordern. Daher benötigen wir kein Gerät mit GPS.
Wir werden ein Sens'it verwenden, aber jedes Gerät, das eine Nachricht über Sigfox senden kann, kann verwendet werden, um dieses Tutorial erfolgreich durchzuführen.
Schauen Sie hier, wenn Sie mehr Details zu den Sigfox-Herstellern haben möchten.
Schritt 1: Hardware
Ein Sens'it (oder ein anderes Gerät, das eine Sigfox-Nachricht senden kann)
Schritt 2: Die Uber-API
Wir werden den Bestellprozess einer Fahrtanfrage automatisieren, indem wir Uber API-Endpunkte aufrufen.
Um zu verstehen, wie dies möglich ist, sehen Sie sich bitte das Knotenmodul an, das ich aus Gründen der Einfachheit und Klarheit der Verwendung entwickelt habe. Sie benötigen ein Zugriffstoken für die Uber-API, damit sie funktioniert. Das Verfahren zum Abrufen dieses Tokens finden Sie auf dieser GitHub-Seite.
Voraussetzungen
- Ein gültiges Uber-Konto
- Ihr Uber API-Zugriffstoken (siehe oben, wie Sie es erhalten)
- Ein aktiviertes Gerät im Sigfox-Backend (folgen Sie diesem Link für die Sens'it-Aktivierung). Sie benötigen die Geräte-ID und den PAC.
Installation
In app.js werden zwei Adressstrukturen wie folgt erstellt (mit in Umgebungsvariablen definierten Werten):
Konstante Adresse_1 = {
'name': process.env. ADDRESS_1_NAME, 'lat': process.env. ADDRESS_1_LAT, 'lng': process.env. ADDRESS_1_LNG }; const address_2 = { 'name': process.env. ADDRESS_2_NAME, 'lat': process.env. ADDRESS_2_LAT, 'lng': process.env. ADDRESS_2_LNG };
Diese Adressen werden verwendet, um die Abhol- und Abgabeorte anzugeben. Wir werden sie später einstellen.
Wenn das Sens'it-Gerät seine geolokalisierte Position sendet, die der Adresse Nr. 1 am nächsten liegt, wird Adresse Nr. 1 als Abholung und Adresse Nr. 2 als Abgabestelle für die Fahrtanfrage festgelegt. Und so weiter für die Rückseite…
Wenn der Geolokalisierungsdienst Sigfox Backend einen Präzisionsradius zurückgibt, der größer als die Entfernung zwischen den beiden Adressen ist, wird die Uber-Anfrage nicht ausgeführt (da das Ankunftsziel nicht bestimmt werden kann).
Schritt 3: Bereitstellen auf Heroku
Ich habe eine App mit NodeJS geschrieben, um den Bestellprozess zu automatisieren. Klicken Sie auf die Schaltfläche unten, um es automatisch auf Heroku bereitzustellen.
KLICKEN SIE HIER, UM ZU BEREITSTELLEN
Eine alternative Möglichkeit, es bei Heroku zum Laufen zu bringen, besteht darin, Heroku Cli zu installieren und diesen Schritten zu folgen:
$git-Klon
$ cd sigfox_uber $ heroku apps:create $ git push heroku master
Gehen Sie nun zur Registerkarte Einstellungen Ihrer Heroku-App (https://dashboard.heroku.com/apps//settings), um die Umgebungsvariablen festzulegen. Legen Sie die folgenden Variablen fest (stellen Sie sicher, dass Sie die gewünschten Adressen festlegen):
- ACCESS_TOKEN | YOUR_ACCESS_TOKEN
- ADRESSE_1_LAT | 49.009698
- ADRESSE_1_LNG | 2.547882
- ADRESSE_1_NAME | Flughafen
- ADDRESS_2_LAT | 48.876579
- ADDRESS_2_LNG | 2.330618
- ADDRESS_2_NAME | Büro
Der Endpunkt "…/request/:device/:lat/:lng/:radius" wird jedes Mal aufgerufen, wenn eine Nachricht an das Sigfox-Backend gesendet wird (siehe unten, wie es konfiguriert wird). Durch die Verwendung des Geolokalisierungsdienstes von Sigfox erhält der Server die ungefähre Position von Sens'it. Dieser bestellt dann ein UberX mit den ermittelten Abhol- und Abgabeadressen.
Um zu überprüfen, ob die App ausgeführt wird, rufen Sie ihre URL auf. In Ihrem Browser sollte "App läuft…" angezeigt werden. Sie können auch die Protokolle für weitere Details überprüfen.
Schritt 4: [Optional] Kostenlose SMS-Benachrichtigungen bei einem französischen Mobilfunkanbieter (mit dem Namen Free)
Wenn Sie ein französisches Abonnement für einen kostenlosen Mobilfunkanbieter haben, können Sie deren kostenlose SMS-Benachrichtigungs-API verwenden, um Benachrichtigungen auf Ihrem Telefon zu erhalten. Damit dies funktioniert, aktivieren Sie einfach den Dienst in Ihrem Abonnentenbereich und verweisen Sie auf die folgenden Umgebungsvariablen in der Registerkarte Einstellungen Ihrer Heroku-App:
- FREE_USER | YOUR_FREE_USER
- FREE_PASS | YOUR_FREE_PASS
Sie können jetzt SMS-Benachrichtigungen zu Ihren UberX-Anfragen erhalten.
Schritt 5: Konfigurieren Sie den Sigfox-Backend-Callback
- Hier anmelden
- Gehen Sie zu https://backend.sigfox.com/devicetype/list, klicken Sie mit der linken Maustaste auf Ihre Gerätezeile und wählen Sie "Bearbeiten".
- Gehen Sie nun links zum Abschnitt "CALLBACKS", wählen Sie oben rechts "New", wählen Sie "Custom Callback"
- Typ: SERVICE | GEOLOC
- Kanal-URL
- URL-Muster:
- HTTP-Methode verwenden: GET
- Wählen Sie "OK", um zu bestätigen
Schritt 6: Zum Testen ausführen
Standardmäßig ist die Sandbox-Variable auf true gesetzt. Dadurch werden Uber-Fahrtanfragen gefälscht, damit Ihr Bankkonto nicht durch unbeabsichtigte Manipulationen beeinträchtigt wird.
Drücken Sie zweimal die Sens'it-Taste, um eine Nachricht über Sigfox zu senden. Stellen Sie sicher, dass die Nachrichten im Sigfox-Backend gut ankommen. Melden Sie sich an, gehen Sie zum Abschnitt GERÄT und klicken Sie links auf Ihre Geräte-ID. Sie können dann den Abschnitt NACHRICHTEN aufrufen, um die Nutzlasten anzuzeigen.
Schritt 7: Bestellen Sie eine echte Uber-Fahrt
Setzen Sie nun die Sandbox-Umgebungsvariable auf false, wenn Sie einen echten Uber-Treiber anfordern möchten.
SANDBOX | falsch
Der Sens'it-Button ruft den Pfad …/request/:device/:lat/:lng/:radius auf und löst die Uber-Fahranfrage aus!
Den aktuellen Anfragestatus können Sie auch unter …/request/current einsehen.
Um eine Bestellung zu stornieren, kann dieser Pfad verwendet werden: …/request/cancel.
Fahren wir los
Viel Spaß beim Bestellen deiner Ubers!
Antoine de Chassey
Empfohlen:
Einen Stromzähler über Arduino auslesen – wikiHow
So lesen Sie einen Stromzähler über Arduino aus: Oft wäre es interessant, den aktuellen Stromverbrauch oder den Gesamtstromverbrauch Ihres Hauses zu kennen, um Ihre Stromkosten zu begrenzen und die Umwelt zu schonen. Das ist kein wirkliches Problem, denn meistens findet man ein smartes digitales el
So erstellen Sie einen Smart Pot mit NodeMCU, der von der App gesteuert wird – wikiHow
So erstellen Sie einen Smart Pot mit NodeMCU, der von einer App gesteuert wird: In dieser Anleitung bauen wir einen Smart Pot, der von einem ESP32 und einer Anwendung für Smartphones (iOS und Android) gesteuert wird. Wir verwenden NodeMCU (ESP32) für die Konnektivität und die Blynk-Bibliothek für das Cloud-IoT und die Anwendung auf dem Smartphone. Endlich haben wir
Arduino-Programmierung über das Handy -- Arduinodroid -- Arduino-Ide für Android -- Blinzeln: 4 Schritte
Arduino-Programmierung über das Handy || Arduinodroid || Arduino-Ide für Android || Blink: Bitte abonnieren Sie meinen Youtube-Kanal für weitere Videos…… Arduino ist ein Board, das direkt über USB programmiert werden kann. Es ist sehr einfach und günstig für College- und Schulprojekte oder sogar für Produktprototypen. Viele Produkte bauen zunächst darauf für i
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Erfahren Sie, wie Sie mit PROCESSING eine Echtzeitschnittstelle in ARDUINO erstellen !!!!): 5 Schritte (mit Bildern)
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Learn How to Make a Real Time Interface in ARDUINO Using PROCESSING !!!!): Ein SCARA-Roboter ist eine sehr beliebte Maschine in der Industriewelt. Der Name steht sowohl für Selective Compliant Assembly Robot Arm als auch für Selective Compliant Articulated Robot Arm. Es ist im Grunde ein Roboter mit drei Freiheitsgraden, da er die ersten beiden Displ
Steuern Sie Geräte über das Internet über den Browser. (IoT): 6 Schritte
Steuern Sie Geräte über das Internet über den Browser. (IoT): In diesem Instructable zeige ich Ihnen, wie Sie Geräte wie LEDs, Relais, Motoren usw. über das Internet über einen Webbrowser steuern können. Und Sie können über jedes Gerät sicher auf die Bedienelemente zugreifen. Die Webplattform, die ich hier verwendet habe, ist RemoteMe.org visit