Innholdsfortegnelse:

Uber -knappen: 7 trinn
Uber -knappen: 7 trinn

Video: Uber -knappen: 7 trinn

Video: Uber -knappen: 7 trinn
Video: Узнав это СЕКРЕТ, ты никогда не выбросишь пластиковую бутылку! ТАКОГО ЕЩЕ НИКТО НЕ ВИДЕЛ! 2024, November
Anonim
Uber -knappen
Uber -knappen

Få en Uber -tur bare ved å trykke på en knapp!

Introduksjon

I denne opplæringen bruker vi Sigfox nettverkslokaliseringstjeneste (som for øyeblikket høyst kan gi en radiusposisjon på 1 km radius) for å få den nærmeste posisjonen til en spesifisert adresse og be om en Uber -tur tilsvarende. Derfor trenger vi ikke en enhet med GPS.

Vi vil bruke en Sens'it, men alle enheter som kan sende en melding over Sigfox kan brukes til å gjennomføre denne opplæringen.

Ta en titt her hvis du vil ha mer informasjon om Sigfox -produsenter.

Trinn 1: Maskinvare

En Sens'it (eller en annen enhet som kan sende en Sigfox -melding)

Trinn 2: Uber API

Vi vil automatisere bestillingsprosessen for en turforespørsel ved å ringe Uber API -endepunkter.

For å forstå hvordan dette er mulig, må du sjekke ut nodemodulen jeg utviklet for enkelhets skyld og klarhet. Du trenger et tilgangstoken til Uber API for at det skal fungere. Fremgangsmåten for hvordan du får dette tokenet finnes på denne GitHub -siden.

Forutsetninger

  • En Uber -gyldig konto
  • Uber API -tilgangstokenet ditt (sjekk ovenfor for hvordan du får det)
  • En aktivert enhet på Sigfox Backend (følg denne lenken for Sens'it -aktivering). Du trenger enhets -ID og PAC.

Installasjon

I app.js vil to adressestrukturer bli opprettet som følger (med verdier definert i miljøvariabler):

const address_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 adressene vil bli brukt til å spesifisere henting og avlevering. Vi setter dem senere.

Hvis Sens'it-enheten sender sin geolokaliserte posisjon nærmest adresse #1, blir adresse #1 angitt som henting og adresse #2 er angitt som avlevering for turforespørselen. Og så videre omvendt …

Hvis geo-lokasjonstjenesten Sigfox Backend returnerer en presisjonsradius større enn avstanden mellom de to adressene, vil Uber-forespørselen ikke bli utført (ettersom ankomstdestinasjonen ikke kan bestemmes).

Trinn 3: Distribuer på Heroku

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

Jeg skrev en app ved hjelp av NodeJS for å automatisere bestillingsprosessen. Klikk på knappen nedenfor for å distribuere den automatisk til Heroku.

KLIKK HER FOR Å TJENESTE

En alternativ måte å få den til å kjøre på Heroku er å installere Heroku Cli og følg disse trinnene:

$ git -klon

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

Gå nå til fanen Innstillinger i Heroku -appen din (https://dashboard.heroku.com/apps//settings) for å angi miljøvariabler. Angi følgende variabler (sørg for å angi adressene du ønsker):

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

Sluttpunktet "…/request/: device/: lat/: lng/: radius" blir ringt opp hver gang en melding sendes til Sigfox Backend (se nedenfor hvordan du konfigurerer den). Ved å bruke Sigfox geolokaliseringstjeneste, vil serveren motta Sens'it omtrentlige posisjon. Dette vil da bestille en UberX med de bestemte hentings- og avleveringsadressene.

For å sjekke om appen kjører, gå til nettadressen. Du bør se "App kjører …" i nettleseren din. Du kan også sjekke loggene for mer informasjon.

Trinn 4: [Valgfritt] Gratis SMS -varsler med en fransk mobiloperatør (kalt gratis)

Hvis du har et fransk gratis mobiloperatørabonnement, kan du bruke deres gratis SMS -varslings -API for å få varsler på telefonen. For å få dette til å fungere, bare aktiver tjenesten i abonnentområdet ditt og se følgende miljøvariabler i innstillingsfanen i Heroku -appen:

  • FREE_USER | YOUR_FREE_USER
  • FREE_PASS | YOUR_FREE_PASS

Du vil nå kunne motta SMS -varsler om UberX -forespørslene dine.

Trinn 5: Konfigurer Sigfox Backend -tilbakeringing

Konfigurer Sigfox Backend -tilbakeringing
Konfigurer Sigfox Backend -tilbakeringing
  • Logg inn her
  • Gå til https://backend.sigfox.com/devicetype/list, klikk til venstre på enhetsraden og velg "Rediger"
  • Gå nå til "RINGER" -delen til venstre, velg "ny" øverst til høyre, velg "Egendefinert tilbakeringing"
  • Type: SERVICE | GEOLOC
  • Kanal URL
  • Nettadressemønster: https://.herokuapp.com/request/ {device}/{lat}/{lng}/{radius}
  • Bruk HTTP -metode: GET
  • Velg "OK" for å validere

Trinn 6: Kjør til test

Som standard er sandkassevariabelen satt til true. Dette vil forfalske Uber ride -forespørsler, slik at bankkontoen din ikke blir påvirket av utilsiktede manipulasjoner.

Trykk på Sens'it -knappen to ganger for å sende en melding over Sigfox. Sørg for at meldingene blir godt mottatt på Sigfox Backend. Logg deg på, gå til ENHET -delen og klikk til venstre på enhets -ID -en. Du kan gå til MELDINGER -delen for å se nyttelastene.

Trinn 7: Bestill en ekte Uber -tur

Bestill en ekte Uber -tur
Bestill en ekte Uber -tur

Sett nå sandkasse -miljøvariabelen til falsk hvis du ønsker å be om en ekte Uber -driver.

SANDBOX | falsk

Sens'it -knappen vil ringe banen…/request/: device/: lat/: lng/: radius og utløse Uber -turforespørselen!

Du kan også se gjeldende forespørselsstatus på…/request/current.

For å kansellere en ordre kan denne banen brukes: …/forespørsel/kanseller.

La oss kjøre

Ha det gøy med å bestille Ubers!

Antoine de Chassey

Anbefalt: