Indholdsfortegnelse:
- Trin 1: Hardware
- Trin 2: Uber API
- Trin 3: Distribuer på Heroku
- Trin 4: [Valgfrit] Gratis SMS -meddelelser med en fransk mobiloperatør (kaldet gratis)
- Trin 5: Konfigurer Sigfox Backend -tilbagekald
- Trin 6: Kør til test
- Trin 7: Bestil en ægte Uber -tur
Video: Uber -knappen: 7 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
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
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
- 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
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:
Arduino bil omvendt parkering alarmsystem - Trin for trin: 4 trin
Arduino bil omvendt parkering alarmsystem. Trin for trin: I dette projekt vil jeg designe en simpel Arduino bil omvendt parkeringssensorkreds ved hjælp af Arduino UNO og HC-SR04 ultralydssensor. Dette Arduino -baserede bilomvendt alarmsystem kan bruges til en autonom navigation, robotafstand og andre rækkevidde
Trin for trin pc -bygning: 9 trin
Trin for trin PC Building: Supplies: Hardware: MotherboardCPU & CPU -køler PSU (strømforsyningsenhed) Opbevaring (HDD/SSD) RAMGPU (ikke påkrævet) CaseTools: Skruetrækker ESD -armbånd/mathermal pasta m/applikator
Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin
Akustisk levitation med Arduino Uno Step-by Step (8-trin): ultralyds lydtransducere L298N Dc kvindelig adapter strømforsyning med en han-DC-pin Arduino UNOBreadboard Sådan fungerer det: Først uploader du kode til Arduino Uno (det er en mikrokontroller udstyret med digital og analoge porte til konvertering af kode (C ++)
Uber I2C LCD -controller modul: 6 trin
Uber I2C LCD Controller Module: PreambleThis Instructable details how to create a HD44780 LCD based controller module (pic 1 above). Modulet giver brugeren mulighed for at styre alle aspekter af LCD'et programmatisk over I2C, omfattende; LCD og display, kontrast og baggrundslys intens
Hexapod Arduino Über Eine SSC32: 5 trin
Hexapod Arduino Über Eine SSC32: Link zum http://youtu.be/E5Z6W_PGNAgMin erster versuch eines eigenbau Hexapod