Inhoudsopgave:
- Stap 1: Hardware
- Stap 2: De Uber API
- Stap 3: Implementeer op Heroku
- Stap 4: [Optioneel] Gratis sms-meldingen bij een Franse mobiele operator (genaamd Free)
- Stap 5: Configureer de Sigfox Backend Callback
- Stap 6: Uitvoeren om te testen
- Stap 7: Bestel een echte Uber-rit
Video: De Uber-knop: 7 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Krijg een Uber-rit door op een knop te drukken!
Invoering
In deze zelfstudie zullen we de Sigfox-netwerklokalisatieservice gebruiken (die voorlopig een positienauwkeurigheid van maximaal 1 km kan geven) om de dichtstbijzijnde positie bij een opgegeven adres te krijgen en dienovereenkomstig een Uber-rit aan te vragen. Daarom hebben we geen apparaat met GPS nodig.
We zullen een Sens'it gebruiken, maar elk apparaat dat een bericht via Sigfox kan verzenden, kan worden gebruikt om deze tutorial met succes uit te voeren.
Kijk hier voor meer informatie over Sigfox makers.
Stap 1: Hardware
Een Sens'it (of een ander apparaat dat een Sigfox-bericht kan verzenden)
Stap 2: De Uber API
We automatiseren het bestelproces van een ritverzoek door Uber API-eindpunten aan te roepen.
Om te begrijpen hoe dit mogelijk is, moet u de node-module bekijken die ik heb ontwikkeld voor eenvoud en duidelijkheid van het gebruik. Je hebt een toegangstoken tot de Uber API nodig om het te laten werken. De procedure voor het verkrijgen van dit token is te vinden op deze GitHub-pagina.
Vereisten
- Een geldig Uber-account
- Uw Uber API-toegangstoken (kijk hierboven hoe u deze kunt verkrijgen)
- Een geactiveerd apparaat op de Sigfox Backend (volg deze link voor de Sens'it-activering). U hebt de apparaat-ID en PAC nodig.
Installatie
In app.js worden als volgt twee adressenstructuren gemaakt (met waarden gedefinieerd in omgevingsvariabelen):
const adres_1 = {
'name': 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 };
Deze adressen worden gebruikt om de ophaal- en afleverlocaties te specificeren. We zullen ze later instellen.
Als het Sens'it-apparaat zijn geo-gelokaliseerde positie het dichtst bij adres #1 verzendt, wordt adres #1 ingesteld als ophalen en adres #2 wordt ingesteld als drop-off voor het ritverzoek. En zo verder voor het omgekeerde…
Als de geolocatieservice van Sigfox Backend een precisieradius retourneert die groter is dan de afstand tussen de twee adressen, wordt het Uber-verzoek niet uitgevoerd (omdat de aankomstbestemming niet kan worden bepaald).
Stap 3: Implementeer op Heroku
Ik heb een app geschreven met NodeJS om het bestelproces te automatiseren. Klik op de onderstaande knop om het automatisch op Heroku te implementeren.
KLIK HIER OM TE ONTWIKKELEN
Een alternatieve manier om het bij Heroku te laten werken, is door de Heroku Cli te installeren en deze stappen te volgen:
$ git-kloon
$ cd sigfox_uber $ heroku-apps: maak $ git push heroku-master
Ga nu naar het tabblad Instellingen van je Heroku-app (https://dashboard.heroku.com/apps//settings) om de omgevingsvariabelen in te stellen. Stel de volgende variabelen in (zorg ervoor dat u de gewenste adressen instelt):
- ACCESS_TOKEN | UW_ACCESS_TOKEN
- ADDRESS_1_LAT | 49.009698
- ADDRESS_1_LNG | 2.547882
- ADDRESS_1_NAME | luchthaven
- ADDRESS_2_LAT | 48.876579
- ADDRESS_2_LNG | 2.330618
- ADDRESS_2_NAME | kantoor
Het eindpunt "…/request/:device/:lat/:lng/:radius" wordt aangeroepen telkens wanneer een bericht wordt verzonden naar de Sigfox-backend (zie hieronder hoe u dit configureert). Door de geolokalisatieservice van Sigfox te gebruiken, ontvangt de server de geschatte positie van Sens'it. Deze bestelt dan een UberX met de vastgestelde ophaal- en afleveradressen.
Ga naar de URL om te controleren of de app actief is. U zou "App wordt uitgevoerd…" in uw browser moeten zien. U kunt ook de logboeken raadplegen voor meer informatie.
Stap 4: [Optioneel] Gratis sms-meldingen bij een Franse mobiele operator (genaamd Free)
Als je een Frans abonnement hebt voor gratis mobiele operators, kun je hun gratis SMS-notificatie-API gebruiken om meldingen op je telefoon te ontvangen. Om dit te laten werken, activeert u eenvoudig de service in uw abonneegebied en raadpleegt u de volgende omgevingsvariabelen op het tabblad Instellingen van uw Heroku-app:
- FREE_USER | YOUR_FREE_USER
- FREE_PASS | UW_FREE_PASS
U kunt nu sms-meldingen ontvangen over uw UberX-verzoeken.
Stap 5: Configureer de Sigfox Backend Callback
- Hier inloggen
- Ga naar https://backend.sigfox.com/devicetype/list, klik links op je apparaatrij en selecteer "Bewerken"
- Ga nu naar het gedeelte "CALLBACKS" aan de linkerkant, selecteer "new" in de rechterbovenhoek, selecteer "Custom Callback"
- Soort: DIENST | GEOLOC
- Kanaal-URL
- URL-patroon:
- Gebruik HTTP-methode: GET
- Selecteer "OK" om te valideren
Stap 6: Uitvoeren om te testen
Standaard is de sandbox-variabele ingesteld op true. Hiermee worden Uber-ritverzoeken vervalst, zodat uw bankrekening niet wordt beïnvloed door onbedoelde manipulaties.
Druk twee keer op de Sens'it-knop om een bericht via Sigfox te verzenden. Zorg ervoor dat de berichten goed worden ontvangen op de Sigfox Backend. Log in, ga naar het gedeelte APPARAAT en klik links op uw apparaat-ID. U kunt dan naar het gedeelte BERICHTEN gaan om de payloads te bekijken.
Stap 7: Bestel een echte Uber-rit
Stel nu de sandbox-omgevingsvariabele in op false als u een echt Uber-stuurprogramma wilt aanvragen.
ZANDBAK | vals
De Sens'it-knop roept het pad …/request/:device/:lat/:lng/:radius op en activeert het Uber-ritverzoek!
U kunt de huidige aanvraagstatus ook zien op …/aanvraag/huidig.
Om een bestelling te annuleren, kan dit pad worden gebruikt: …/aanvraag/annuleren.
Laten we rijden
Veel plezier met het bestellen van uw Ubers!
Antoine de Chassey
Aanbevolen:
Game Design in Flick in 5 stappen: 5 stappen
Game-ontwerp in Flick in 5 stappen: Flick is een heel eenvoudige manier om een game te maken, vooral zoiets als een puzzel, visuele roman of avonturengame
Gezichtsdetectie op Raspberry Pi 4B in 3 stappen: 3 stappen
Gezichtsdetectie op Raspberry Pi 4B in 3 stappen: In deze Instructable gaan we gezichtsdetectie uitvoeren op Raspberry Pi 4 met Shunya O/S met behulp van de Shunyaface-bibliotheek. Shunyaface is een bibliotheek voor gezichtsherkenning/detectie. Het project streeft naar de hoogste detectie- en herkenningssnelheid met
Doe-het-zelfspiegel in eenvoudige stappen (met LED-stripverlichting): 4 stappen
DIY make-upspiegel in eenvoudige stappen (met behulp van LED-stripverlichting): In dit bericht heb ik een doe-het-zelfspiegel gemaakt met behulp van de LED-strips. Het is echt gaaf en je moet ze ook proberen
Uber I2C LCD-controllermodule - Ajarnpa
Uber I2C LCD-controllermodule: PreambleThis Instructable beschrijft hoe u een HD44780 LCD-gebaseerde controllermodule kunt maken (foto 1 hierboven). Met de module kan de gebruiker alle aspecten van het LCD-scherm programmatisch besturen via I2C, waaronder; LCD en display, contrast en achtergrondverlichting intens
Hexapod Arduino Über Eine SSC32 - Ajarnpa
Hexapod Arduino Über Eine SSC32: Link zum http://youtu.be/E5Z6W_PGNAgMein erster versuch eines eigenbau Hexapod