Innholdsfortegnelse:
- Trinn 1: Maskinvare
- Trinn 2: Uber API
- Trinn 3: Distribuer på Heroku
- Trinn 4: [Valgfritt] Gratis SMS -varsler med en fransk mobiloperatør (kalt gratis)
- Trinn 5: Konfigurer Sigfox Backend -tilbakeringing
- Trinn 6: Kjør til test
- Trinn 7: Bestill en ekte Uber -tur
Video: Uber -knappen: 7 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
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
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
- 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
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:
Arduino bilvarslingssystem for omvendt parkering - Trinn for trinn: 4 trinn
Arduino Car Reverse Parking Alert System | Trinn for trinn: I dette prosjektet skal jeg designe en enkel Arduino Car Reverse Parking Sensor Circuit ved hjelp av Arduino UNO og HC-SR04 Ultrasonic Sensor. Dette Arduino -baserte bilreverseringssystemet kan brukes til autonom navigasjon, robotavstand og andre områder
Trinn for trinn PC -bygging: 9 trinn
Steg for trinn PC -bygging: Rekvisita: Maskinvare: HovedkortCPU & CPU -kjøler PSU (strømforsyningsenhet) Lagring (HDD/SSD) RAMGPU (ikke nødvendig) CaseTools: Skrutrekker ESD -armbånd/mathermal pasta m/applikator
Tre høyttalerkretser -- Trinn-for-trinn opplæring: 3 trinn
Tre høyttalerkretser || Trinn-for-trinn opplæring: Høyttalerkretsen styrker lydsignalene som mottas fra miljøet til MIC og sender den til høyttaleren der forsterket lyd produseres. Her vil jeg vise deg tre forskjellige måter å lage denne høyttalerkretsen på:
Uber I2C LCD -kontrollmodul: 6 trinn
Uber I2C LCD Controller Module: PreambleThis Instructable details how to create an HD44780 LCD based controller module (pic 1 above). Modulen lar brukeren kontrollere alle aspekter av LCD -en programmatisk over I2C, omfattende; LCD og display, kontrast og bakgrunnslys intens
Hexapod Arduino Über Eine SSC32: 5 trinn
Hexapod Arduino Über Eine SSC32: Link zum http://youtu.be/E5Z6W_PGNAgMin erster versuch eines eigenbau Hexapod