Taula de continguts:
- Pas 1: maquinari
- Pas 2: l'API Uber
- Pas 3: desplegueu a Heroku
- Pas 4: [Opcional] Notificacions SMS gratuïtes amb un operador mòbil francès (anomenat gratuït)
- Pas 5: configureu la devolució de trucada de Sigfox Backend
- Pas 6: executeu la prova
- Pas 7: demaneu un viatge real a Uber
Vídeo: El botó Uber: 7 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:11
Obteniu un viatge Uber només prement un botó.
Introducció
En aquest tutorial, farem servir el servei de localització de la xarxa Sigfox (que, per ara, pot donar una precisió de posició de radi com a màxim 1 km) per obtenir la posició més propera a una adreça especificada i sol·licitar un viatge Uber en conseqüència. Per tant, no necessitem cap dispositiu amb GPS.
Utilitzarem un Sens'it, però qualsevol dispositiu capaç d'enviar un missatge a través de Sigfox es pot utilitzar per realitzar aquest tutorial amb èxit.
Mireu aquí si voleu obtenir més informació sobre els fabricants de Sigfox.
Pas 1: maquinari
Un Sens'it (o qualsevol altre dispositiu capaç d'enviar un missatge Sigfox)
Pas 2: l'API Uber
Automatitzarem el procés de comanda d’una sol·licitud de viatge trucant als punts finals de l’API Uber.
Per tal d’entendre com és possible, assegureu-vos de comprovar el mòdul de node que he desenvolupat amb finalitats de simplicitat i claredat d’ús. Necessitareu un testimoni d’accés a l’API Uber perquè funcioni. El procediment de com obtenir aquest testimoni es pot trobar en aquesta pàgina de GitHub.
Requisits previs
- Un compte vàlid d'Uber
- El vostre testimoni d'accés a l'API Uber (consulteu més amunt com obtenir-lo)
- Un dispositiu activat al Sigfox Backend (seguiu aquest enllaç per activar Sens'it). Necessitareu la identificació del dispositiu i el PAC.
Instal·lació
A app.js, es crearan dues estructures d’adreces de la següent manera (amb valors definits a les variables d’entorn):
adreça const_1 = {
'nom': 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};
Aquestes adreces s’utilitzaran per especificar les ubicacions de recollida i devolució. Els configurarem més endavant.
Si el dispositiu Sens'it envia la seva posició geolocalitzada més propera a l'adreça # 1, l'adreça # 1 s'estableix com a recollida i l'adreça # 2 s'estableix com a sortida per a la sol·licitud de viatge. I així successivament al revés …
Si el servei de geolocalització de Sigfox Backend retorna un radi de precisió superior a la distància entre les dues adreces, la sol·licitud Uber no s’executarà (ja que no es pot determinar la destinació d’arribada).
Pas 3: desplegueu a Heroku
Vaig escriure una aplicació amb NodeJS per automatitzar el procés de comanda. Feu clic al botó següent per desplegar-lo automàticament a Heroku.
FES CLIC AQUÍ PER EMPLEAR
Una forma alternativa de fer-lo funcionar a Heroku és instal·lar Heroku Cli i seguir aquests passos:
$ git clone
$ cd sigfox_uber $ heroku apps: create $ git push heroku master
Ara aneu a la pestanya de configuració de la vostra aplicació Heroku (https://dashboard.heroku.com/apps//settings) per establir les variables d’entorn. Establiu les variables següents (assegureu-vos d’establir les adreces que desitgeu):
- ACCESS_TOKEN | YOUR_ACCESS_TOKEN
- ADREÇA_1_LAT | 49.009698
- ADREÇA_1_LNG | 2.547882
- ADRESSA_1_NAME | aeroport
- ADREÇA_2_LAT | 48,876579
- ADREÇA_2_LNG | 2.330618
- ADRESSA_2_NAME | despatx
El punt final "… / request /: device /: lat /: lng /: radius" es cridarà cada vegada que s'enviï un missatge al Sigfox Backend (vegeu més avall com configurar-lo). En utilitzar el servei de geolocalització Sigfox, el servidor rebrà la posició aproximada de Sens'it. Tot seguit, s’ordenarà un UberX amb les adreces de recollida i lliurament determinades.
Per comprovar si l'aplicació s'està executant, aneu al seu URL. Hauríeu de veure "L'aplicació s'està executant …" al navegador. També podeu consultar els registres per obtenir més informació.
Pas 4: [Opcional] Notificacions SMS gratuïtes amb un operador mòbil francès (anomenat gratuït)
Si teniu una subscripció gratuïta a l'operador de telefonia mòbil francès, podeu utilitzar la seva API de notificació per SMS per rebre notificacions al telèfon. Per fer que això funcioni, simplement activeu el servei a la vostra zona de subscriptors i consulteu les variables d'entorn següents a la pestanya de configuració de la vostra aplicació Heroku:
- FREE_USER | YOUR_FREE_USER
- FREE_PASS | YOUR_FREE_PASS
Ara podreu rebre alertes per SMS sobre les vostres sol·licituds d’UberX.
Pas 5: configureu la devolució de trucada de Sigfox Backend
- Inicieu sessió aquí
- Aneu a https://backend.sigfox.com/devicetype/list, feu clic a l'esquerra a la fila del dispositiu i seleccioneu "Edita"
- Ara aneu a la secció "RECURSOS" a l'esquerra, seleccioneu "nou" a la part superior dreta, seleccioneu "Devolució de trucada personalitzada"
- Tipus: SERVEI | GEOLOC
- URL del canal
- Patró d'URL: https://.herokuapp.com/request/ {device} / {lat} / {lng} / {radius}
- Utilitzeu el mètode HTTP: GET
- Seleccioneu "D'acord" per validar
Pas 6: executeu la prova
Per defecte, la variable sandbox està definida com a true. Això falsificarà les sol·licituds d'Uber ride perquè el vostre compte bancari no es vegi afectat per manipulacions involuntàries.
Premeu el botó Sens'it dues vegades per enviar un missatge a través de Sigfox. Assegureu-vos que els missatges siguin ben rebuts al Sigfox Backend. Inicieu la sessió, aneu a la secció DEVICE i feu clic a l'esquerra a l'identificador del dispositiu. Podeu anar a la secció MISSATGES per veure les càrregues útils.
Pas 7: demaneu un viatge real a Uber
Ara configureu la variable d'entorn de la caixa de sorra a false si voleu sol·licitar un controlador Uber real.
SANDBOX | fals
El botó Sens'it cridarà al camí … / request /: device /: lat /: lng /: radius i activarà la sol·licitud de viatge Uber.
També podeu veure l’estat de la sol·licitud actual a … / request / current.
Per cancel·lar una comanda, es pot utilitzar aquest camí: … / sol·licitar / cancel·lar.
Anem amb cotxe
Diverteix-te demanant els teus Ubers!
Antoine de Chassey
Recomanat:
Botó de silenci de Microsoft Teams: 4 passos
Botó de silenci de Microsoft Teams: creeu un polsador de fàcil accés per silenciar-vos / silenciar-vos mentre feu una trucada de Microsoft Teams. Perquè 2020. Aquest projecte utilitza un Adafruit Circuit Playground Express (CPX) i un gran polsador per crear un botó de silenci per als equips de Microsoft mitjançant la tecla d'accés directe
Botó de domòtica de 5 dòlars: 4 passos
Botó de domòtica de 5 dòlars: un botó de domòtica de 5 dòlars. De vegades, la solució més senzilla és un sol botó. Volíem una manera senzilla d’activar una rutina “d’anar a dormir” al nostre centre de domòtica (Hubitat Elevation), que apaga la majoria de llums, estableix altres nivells específics i
Bloqueig de la suspensió del servo d'un botó: 3 passos
Bloqueig de la suspensió del servo amb un botó: les bicicletes de muntanya de suspensió completa ofereixen una conducció suau, però sovint requereixen bloquejar la suspensió quan pedaleu costa amunt. En cas contrari, la suspensió es comprimeix mentre es posa sobre els pedals i perden aquest esforç. Els fabricants de bicicletes ho saben i proporcionen
Botó d'apagada per a Raspberry Pi: 3 passos
Botó d’apagada per a Raspberry Pi: el Raspberry Pi és una plataforma informàtica molt útil que permet crear diverses aplicacions de projectes IoT / robòtica / smart-home / … Tot i que l’única cosa que no té, en comparació amb un ordinador normal, és un botó d’apagat d’aturada. Llavors, com podem crear
Ventilador de bricolatge amb botó ON-OFF - M5StickC ESP32: 8 passos
Ventilador de bricolatge amb un botó ON-OFF - M5StickC ESP32: en aquest projecte aprendrem a utilitzar un mòdul FAN L9110 mitjançant una placa M5StickC ESP32