Tabla de contenido:

El botón de Uber: 7 pasos
El botón de Uber: 7 pasos

Video: El botón de Uber: 7 pasos

Video: El botón de Uber: 7 pasos
Video: BOTON FLOTANTE EN UBER | RECHAZA VIAJES EN MODO HORIZONTAL | COMO CONFINGURAR FACIL Y RAPIDO 2024, Mes de julio
Anonim
El botón de Uber
El botón de Uber

¡Obtén un viaje en Uber con solo presionar un botón!

Introducción

En este tutorial, utilizaremos el servicio de localización de red Sigfox (que, por ahora, puede dar como máximo una precisión de posición de radio de 1 km) para obtener la posición más cercana a una dirección específica y solicitar un viaje en Uber en consecuencia. Por tanto, no necesitamos un dispositivo con GPS.

Usaremos un Sens'it, pero cualquier dispositivo capaz de enviar un mensaje a través de Sigfox puede usarse para realizar este tutorial con éxito.

Eche un vistazo aquí si desea obtener más detalles sobre los fabricantes de Sigfox.

Paso 1: hardware

Un Sens'it (o cualquier otro dispositivo capaz de enviar un mensaje Sigfox)

Paso 2: la API de Uber

Automatizaremos el proceso de pedido de una solicitud de viaje llamando a los puntos finales de la API de Uber.

Para comprender cómo esto es posible, asegúrese de consultar el módulo de nodo que desarrollé para fines de simplicidad y claridad de uso. Necesitará un token de acceso a la API de Uber para que funcione. El procedimiento de cómo obtener este token se puede encontrar en esta página de GitHub.

Prerrequisitos

  • Una cuenta válida de Uber
  • Su token de acceso a la API de Uber (consulte arriba para saber cómo obtenerlo)
  • Un dispositivo activado en Sigfox Backend (siga este enlace para la activación de Sens'it). Necesitará el ID del dispositivo y el PAC.

Instalación

En app.js, se crearán dos estructuras de direcciones de la siguiente manera (con valores definidos en variables de entorno):

const address_1 = {

'nombre': process.env. ADDRESS_1_NAME, 'lat': process.env. ADDRESS_1_LAT, 'lng': process.env. ADDRESS_1_LNG}; const address_2 = {'nombre': process.env. ADDRESS_2_NAME, 'lat': process.env. ADDRESS_2_LAT, 'lng': process.env. ADDRESS_2_LNG};

Estas direcciones se utilizarán para especificar los lugares de recogida y devolución. Los configuraremos más tarde.

Si el dispositivo Sens'it envía su posición geolocalizada más cercana a la dirección n. ° 1, entonces la dirección n. ° 1 se establece como recogida y la dirección n. ° 2 como entrega para la solicitud de viaje. Y así sucesivamente a la inversa …

Si el servicio de geolocalización de Sigfox Backend devuelve un radio de precisión mayor que la distancia entre las dos direcciones, la solicitud de Uber no se ejecutará (ya que no se puede determinar el destino de llegada).

Paso 3: Implementar en Heroku

Implementar en Heroku
Implementar en Heroku
Implementar en Heroku
Implementar en Heroku

Escribí una aplicación usando NodeJS para automatizar el proceso de pedido. Haga clic en el botón de abajo para implementarlo automáticamente en Heroku.

HAGA CLIC AQUÍ PARA DESPLEGAR

Una forma alternativa de hacerlo funcionar en Heroku es instalar Heroku Cli y seguir estos pasos:

$ git clone

$ cd sigfox_uber $ heroku aplicaciones: crea $ git push heroku master

Ahora, diríjase a la pestaña de configuración de su aplicación Heroku (https://dashboard.heroku.com/apps//settings) para configurar las variables de entorno. Configure las siguientes variables (asegúrese de configurar las direcciones que desee):

  • ACCESS_TOKEN | YOUR_ACCESS_TOKEN
  • ADDRESS_1_LAT | 49.009698
  • ADDRESS_1_LNG | 2.547882
  • ADDRESS_1_NAME | aeropuerto
  • ADDRESS_2_LAT | 48.876579
  • ADDRESS_2_LNG | 2.330618
  • ADDRESS_2_NAME | oficina

Se llamará al punto final "… / request /: device /: lat /: lng /: radius" cada vez que se envíe un mensaje al Backend de Sigfox (vea a continuación cómo configurarlo). Al utilizar el servicio de geolocalización de Sigfox, el servidor recibirá la posición aproximada de Sens'it. Esto luego solicitará un UberX con las direcciones de recogida y devolución determinadas.

Para comprobar si la aplicación se está ejecutando, vaya a su URL. Debería ver "La aplicación se está ejecutando …" en su navegador. También puede consultar los registros para obtener más detalles.

Paso 4: [Opcional] Notificaciones por SMS gratuitas con un operador de telefonía móvil francés (llamado Gratis)

Si tiene una suscripción de operador de telefonía móvil gratuita en francés, puede utilizar su API de notificación por SMS gratuita para recibir notificaciones en su teléfono. Para que esto funcione, simplemente active el servicio en su área de suscriptor y consulte las siguientes variables de entorno en la pestaña de configuración de su aplicación Heroku:

  • FREE_USER | YOUR_FREE_USER
  • FREE_PASS | YOUR_FREE_PASS

Ahora podrá recibir alertas por SMS sobre sus solicitudes de UberX.

Paso 5: configurar la devolución de llamada del backend de Sigfox

Configurar la devolución de llamada del backend de Sigfox
Configurar la devolución de llamada del backend de Sigfox
  • Entre aquí
  • Vaya a https://backend.sigfox.com/devicetype/list, haga clic a la izquierda en la fila de su dispositivo y seleccione "Editar"
  • Ahora vaya a la sección "DEVOLUCIONES DE LLAMADA" a la izquierda, seleccione "nuevo" en la parte superior derecha, seleccione "Devolución de llamada personalizada"
  • Tipo: SERVICIO | GEOLOC
  • URL del canal
  • Patrón de URL: https://.herokuapp.com/request/ {dispositivo} / {lat} / {lng} / {radius}
  • Utilice el método HTTP: GET
  • Seleccione "Aceptar" para validar

Paso 6: Ejecutar para probar

De forma predeterminada, la variable de la zona de pruebas se establece en verdadera. Esto falsificará las solicitudes de viaje de Uber para que su cuenta bancaria no se vea afectada por manipulaciones involuntarias.

Presione el botón Sens'it dos veces para enviar un mensaje a través de Sigfox. Asegúrese de que los mensajes sean bien recibidos en Sigfox Backend. Inicie sesión, vaya a la sección DISPOSITIVO y haga clic a la izquierda en la identificación de su dispositivo. Luego puede ir a la sección MENSAJES para ver las cargas útiles.

Paso 7: Solicite un viaje en Uber real

Ordene un viaje real en Uber
Ordene un viaje real en Uber

Ahora establezca la variable de entorno de la zona de pruebas en falso si desea solicitar un controlador Uber real.

SANDBOX | falso

El botón Sens'it llamará a la ruta… / request /: device /: lat /: lng /: radius y activará la solicitud de viaje en Uber.

También puede ver el estado de la solicitud actual en… / request / current.

Para cancelar un pedido, se puede utilizar esta ruta:… / solicitar / cancelar.

¡Manejemos

¡Diviértete ordenando tus Ubers!

Antoine de Chassey

Recomendado: