Innehållsförteckning:

Uber -knappen: 7 steg
Uber -knappen: 7 steg

Video: Uber -knappen: 7 steg

Video: Uber -knappen: 7 steg
Video: Max Herre - Wolke 7 ft. Philipp Poisel 2024, November
Anonim
Uber -knappen
Uber -knappen

Få en Uber -resa bara genom att trycka på en knapp!

Introduktion

I den här självstudien kommer vi att använda Sigfox nätverkslokaliseringstjänst (som för närvarande kan ge högst 1 km radiepositionsprecision) för att få en position som ligger närmast en angiven adress och begära en Uber -resa i enlighet därmed. Därför behöver vi inte en enhet med GPS.

Vi kommer att använda en Sens'it men alla enheter som kan skicka ett meddelande via Sigfox kan användas för att utföra denna handledning framgångsrikt.

Ta en titt här om du vill ha mer information om Sigfox -tillverkare.

Steg 1: Hårdvara

En Sens'it (eller någon annan enhet som kan skicka ett Sigfox -meddelande)

Steg 2: Uber API

Vi kommer att automatisera beställningsprocessen för en reseförfrågan genom att ringa Uber API -slutpunkter.

För att förstå hur detta är möjligt, var noga med att kolla in nodmodulen jag utvecklade för enkelhet och tydlighet. Du behöver en åtkomsttoken till Uber API för att det ska fungera. Proceduren för hur du får denna token finns på denna GitHub -sida.

Förkunskaper

  • Ett Uber -giltigt konto
  • Din Uber API -åtkomsttoken (se ovan hur du får den)
  • En aktiverad enhet på Sigfox Backend (följ denna länk för Sens'it -aktivering). Du behöver enhets -ID och PAC.

Installation

I app.js skapas två adressstrukturer enligt följande (med värden definierade i miljövariabler):

const address_1 = {

'namn': 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};

Dessa adresser kommer att användas för att ange upphämtnings- och avlämningsplatser. Vi kommer att ställa in dem senare.

Om Sens'it-enheten skickar sin geografilokaliserade position närmast adress #1, ställs adress #1 in som upphämtning och adress #2 ställs in som avlämning för körbegäran. Och så vidare omvänt …

Om Geo-location-tjänsten Sigfox Backend returnerar en precisionsradie som är större än avståndet mellan de två adresserna, kommer Uber-begäran inte att utföras (eftersom ankomstdestinationen inte kan fastställas).

Steg 3: Distribuera på Heroku

Distribuera på Heroku
Distribuera på Heroku
Distribuera på Heroku
Distribuera på Heroku

Jag skrev en app med NodeJS för att automatisera beställningsprocessen. Klicka på knappen nedan för att distribuera den automatiskt på Heroku.

KLICKA HÄR FÖR ATT ANVÄNDA

Ett alternativt sätt att få det att köra på Heroku är att installera Heroku Cli och följ dessa steg:

$ git -klon

$ cd sigfox_uber $ heroku -appar: skapa $ git push heroku -master

Gå nu till fliken Inställningar i din Heroku -app (https://dashboard.heroku.com/apps//settings) för att ställa in miljövariabler. Ställ in följande variabler (se till att du anger de adresser du vill ha):

  • ACCESS_TOKEN | YOUR_ACCESS_TOKEN
  • ADDRESS_1_LAT | 49.009698
  • ADDRESS_1_LNG | 2.547882
  • ADDRESS_1_NAME | flygplats
  • ADDRESS_2_LAT | 48.876579
  • ADDRESS_2_LNG | 2.330618
  • ADDRESS_2_NAME | kontor

Slutpunkten "…/request/: device/: lat/: lng/: radius" anropas varje gång ett meddelande skickas till Sigfox Backend (se nedan hur du konfigurerar det). Genom att använda Sigfox geolokaliseringstjänst kommer servern att få Sens'it ungefärlig position. Detta kommer då att beställa en UberX med de bestämda upphämtnings- och avlämningsadresserna.

För att kontrollera om appen körs, gå till dess URL. Du bör se "Appen körs …" i din webbläsare. Du kan också kontrollera loggarna för mer information.

Steg 4: [Valfritt] Gratis SMS -aviseringar med en fransk mobiloperatör (heter gratis)

Om du har en fransk gratis mobiloperatörsabonnemang kan du använda deras gratis SMS -meddelande -API för att få aviseringar på din telefon. För att få detta att fungera, aktivera helt enkelt tjänsten i ditt prenumerationsområde och hänvisa till följande miljövariabler på inställningsfliken i din Heroku -app:

  • FREE_USER | DIN_FREE_USER
  • FREE_PASS | DIN_FREE_PASS

Du kommer nu att kunna få SMS -varningar om dina UberX -förfrågningar.

Steg 5: Konfigurera Sigfox Backend -återuppringning

Konfigurera Sigfox Backend -återuppringning
Konfigurera Sigfox Backend -återuppringning
  • Logga in här
  • Gå till https://backend.sigfox.com/devicetype/list, klicka till vänster på din enhetsrad och välj "Redigera"
  • Gå nu till avsnittet "ÅTERKALLNINGAR" till vänster, välj "nytt" högst upp till höger, välj "Anpassad återuppringning"
  • Typ: SERVICE | GEOLOC
  • Kanalens URL
  • Webbadressmönster: https://.herokuapp.com/request/ {device}/{lat}/{lng}/{radius}
  • Använd HTTP -metod: GET
  • Välj "OK" för att validera

Steg 6: Kör till test

Som standard är sandlådans variabel satt till true. Detta kommer att förfalska Uber ride -förfrågningar så att ditt bankkonto inte påverkas av oavsiktliga manipulationer.

Tryck två gånger på Sens'it -knappen för att skicka ett meddelande via Sigfox. Se till att meddelandena tas emot väl på Sigfox Backend. Logga in, gå till avsnittet ENHET och klicka till vänster på enhets -id. Du kan gå till avsnittet MEDDELANDEN för att se nyttolasten.

Steg 7: Beställ en riktig Uber Ride

Beställ en riktig Uber Ride
Beställ en riktig Uber Ride

Ställ nu in sandlåda -miljövariabeln på false om du vill begära en riktig Uber -drivrutin.

SANDBOX | falsk

Sens'it -knappen ringer sökvägen…/request/: device/: lat/: lng/: radie och utlöser Uber -turförfrågan!

Du kan också se den aktuella förfrågningsstatusen på …/begäran/aktuell.

För att avbryta en beställning kan denna sökväg användas: …/begär/avbryt.

Låt oss köra

Ha kul att beställa dina Ubers!

Antoine de Chassey

Rekommenderad: