Innehållsförteckning:
- Steg 1: Hårdvara
- Steg 2: Uber API
- Steg 3: Distribuera på Heroku
- Steg 4: [Valfritt] Gratis SMS -aviseringar med en fransk mobiloperatör (heter gratis)
- Steg 5: Konfigurera Sigfox Backend -återuppringning
- Steg 6: Kör till test
- Steg 7: Beställ en riktig Uber Ride
Video: Uber -knappen: 7 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:38
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
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
- 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
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:
Arduino Car Reverse Parking Alert System - Steg för steg: 4 steg
Arduino Car Reverse Parking Alert System | Steg för steg: I det här projektet kommer jag att utforma en enkel Arduino Car Reverse Parking Sensor Circuit med Arduino UNO och HC-SR04 Ultrasonic Sensor. Detta Arduino -baserade bilomvändningsvarningssystem kan användas för autonom navigering, robotavstånd och andra
Steg för steg PC -byggnad: 9 steg
Steg för steg PC -byggnad: Tillbehör: Hårdvara: ModerkortCPU & CPU -kylarePSU (strömförsörjningsenhet) Lagring (HDD/SSD) RAMGPU (krävs inte) CaseTools: Skruvmejsel ESD -armband/mathermisk pasta med applikator
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)
Uber I2C LCD -kontrollmodul: 6 steg
Uber I2C LCD Controller Module: PreambleThis Instructable details how to create a HD44780 LCD based controller module (pic 1 above). Modulen tillåter användaren att styra alla aspekter av LCD -skärmen programmatiskt över I2C, innefattande; LCD och display, kontrast och bakgrundsbelysning intensifieras
Hexapod Arduino Über Eine SSC32: 5 steg
Hexapod Arduino Über Eine SSC32: Link zum http://youtu.be/E5Z6W_PGNAgMein erster versuch eines eigenbau Hexapod