Indholdsfortegnelse:

Uber -knappen: 7 trin
Uber -knappen: 7 trin

Video: Uber -knappen: 7 trin

Video: Uber -knappen: 7 trin
Video: ПЛЮСЫ ЖИЗНИ В ЯПОНИИ спустя 12 лет жизни тут! 2024, December
Anonim
Uber -knappen
Uber -knappen

Få en Uber -tur bare ved at trykke på en knap!

Introduktion

I denne vejledning bruger vi Sigfox -netværkslokaliseringstjenesten (som i øjeblikket højst kan give en 1 km radiusposition præcision) for at få den nærmeste position til en bestemt adresse og anmode om en Uber -tur i overensstemmelse hermed. Derfor har vi ikke brug for en enhed med GPS.

Vi vil bruge en Sens'it, men enhver enhed, der er i stand til at sende en besked via Sigfox, kan bruges til at udføre denne vejledning med succes.

Tag et kig her, hvis du vil have flere oplysninger om Sigfox -producenter.

Trin 1: Hardware

En Sens'it (eller enhver anden enhed, der kan sende en Sigfox -besked)

Trin 2: Uber API

Vi automatiserer bestillingsprocessen for en turanmodning ved at kalde Uber API -slutpunkter.

For at forstå, hvordan dette er muligt, skal du tjekke det nodemodul, jeg har udviklet til enkelthed og klarhed. Du skal bruge et adgangstoken til Uber API for at det kan fungere. Proceduren for, hvordan du får dette token, findes på denne GitHub -side.

Forudsætninger

  • En Uber -gyldig konto
  • Dit Uber API -adgangstoken (se ovenfor, hvordan du får det)
  • En aktiveret enhed på Sigfox Backend (følg dette link for Sens'it -aktivering). Du skal bruge enheds -id'et og PAC.

Installation

I app.js oprettes to adressestrukturer som følger (med værdier defineret i miljøvariabler):

const adresse_1 = {

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

Disse adresser bruges til at angive afhentnings- og afleveringssteder. Vi sætter dem senere.

Hvis Sens'it-enheden sender sin geolokaliserede position nærmest adresse nr. 1, indstilles adresse nr. 1 som afhentning, og adresse nr. 2 indstilles som aflevering til turanmodningen. Og så videre omvendt …

Hvis Geo-placeringstjenesten Sigfox Backend returnerer en præcisionsradius større end afstanden mellem de to adresser, udføres Uber-anmodningen ikke (da ankomstdestinationen ikke kan bestemmes).

Trin 3: Distribuer på Heroku

Distribuer på Heroku
Distribuer på Heroku
Distribuer på Heroku
Distribuer på Heroku

Jeg skrev en app ved hjælp af NodeJS til at automatisere bestillingsprocessen. Klik på knappen herunder for automatisk at implementere den på Heroku.

KLIK HER FOR AT ANVENDE

En alternativ måde at få det til at køre på Heroku er at installere Heroku Cli og følge disse trin:

$ git -klon

$ cd sigfox_uber $ heroku apps: opret $ git push heroku master

Gå nu til fanen Indstillinger i din Heroku -app (https://dashboard.heroku.com/apps//settings) for at indstille miljøvariabler. Indstil følgende variabler (sørg for at angive de ønskede adresser):

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

Slutpunktet "…/request/: device/: lat/: lng/: radius" vil blive kaldt hver gang en besked sendes til Sigfox Backend (se hvordan du konfigurerer det nedenfor). Ved at bruge Sigfox geolokaliseringstjenesten modtager serveren Sens'it omtrentlige position. Dette vil derefter bestille en UberX med de bestemte afhentnings- og afleveringsadresser.

For at kontrollere, om appen kører, skal du gå til dens webadresse. Du bør se "App kører …" i din browser. Du kan også tjekke logfilerne for flere detaljer.

Trin 4: [Valgfrit] Gratis SMS -meddelelser med en fransk mobiloperatør (kaldet gratis)

Hvis du har et fransk gratis mobiloperatørabonnement, kan du bruge deres gratis SMS -meddelelses -API for at få notifikationer på din telefon. For at få dette til at fungere skal du blot aktivere tjenesten i dit abonnentområde og henvise til følgende miljøvariabler på fanen Indstillinger i din Heroku -app:

  • FREE_USER | DIN_FREE_USER
  • FREE_PASS | DIN_FREE_PASS

Du vil nu kunne modtage SMS -advarsler vedrørende dine UberX -anmodninger.

Trin 5: Konfigurer Sigfox Backend -tilbagekald

Konfigurer Sigfox Backend -tilbagekald
Konfigurer Sigfox Backend -tilbagekald
  • Log ind her
  • Gå til https://backend.sigfox.com/devicetype/list, klik til venstre på din enhedsrække og vælg "Rediger"
  • Gå nu til afsnittet "RETURBAGE" til venstre, vælg "ny" øverst til højre, vælg "Brugerdefineret tilbagekald"
  • Type: SERVICE | GEOLOC
  • Kanalens URL
  • Webadressemønster: https://.herokuapp.com/request/ {device}/{lat}/{lng}/{radius}
  • Brug HTTP -metode: GET
  • Vælg "OK" for at validere

Trin 6: Kør til test

Som standard er sandkassevariablen indstillet til sand. Dette vil falske Uber ride -anmodninger, så din bankkonto ikke bliver påvirket af utilsigtede manipulationer.

Tryk to gange på Sens'it -knappen for at sende en besked via Sigfox. Sørg for, at meddelelserne er godt modtaget på Sigfox Backend. Log ind, gå til sektionen ENHED og klik til venstre på din enheds -id. Du kan end gå til sektionen MEDDELELSER for at se nyttelasten.

Trin 7: Bestil en ægte Uber -tur

Bestil en rigtig Uber -tur
Bestil en rigtig Uber -tur

Indstil nu sandbox -miljøvariablen til falsk, hvis du ønsker at anmode om en ægte Uber -driver.

SANDBOX | falsk

Sens'it -knappen kalder stien…/request/: device/: lat/: lng/: radius og udløser Uber ride -anmodningen!

Du kan også se den aktuelle anmodningsstatus på…/request/current.

For at annullere en ordre kan denne sti bruges:…/anmode/annullere.

Lad os køre

God fornøjelse med at bestille dine Ubers!

Antoine de Chassey

Anbefalede: