La Défense, Paris
+06 48 48 87 40
El botón @Sigfox @Uber !!! #WeNeedSigfox

El botón @Sigfox @Uber !!! #WeNeedSigfox

Compartimos con ustedes este artículo de HACKSTER.IO

Sigfox Uber botón 🚗 🔘

¡Consiga un paseo de Uber apenas presionando un botón! 

OBJETOS UTILIZADOS EN ESTE PROYECTO

HISTORIA

Introducción

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

Utilizaremos un Sens’it pero cualquier dispositivo capaz de enviar un mensaje a través de Sigfox se puede utilizar para llevar a cabo este tutorial con éxito.

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

HARDWARE

° Un Sens’it

LA API DE Uber

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

Para entender cómo esto es posible, cerciórese de comprobar hacia fuera el módulo del nodo que desarrollé para la simplicidad del uso y los propósitos de la claridad. Necesitará un token de acceso a la Uber API para que funcione. El procedimiento de cómo obtener este token se puede encontrar en esta página de GitHub.  

REQUISITOS PREVIOS

° Una cuenta válida Uber

° Su token de acceso a la API de Uber (ver arriba para saber cómo obtenerlo)

° Un dispositivo activado en el Backend Sigfox (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) :

Estas direcciones se utilizarán para especificar las ubicaciones de recogida y devolución. Los pondremos más tarde.

Si el dispositivo Sens’it envía su posición geolocalizada más cercana a la dirección # 1, la dirección # 1 se establece como pick-up y la dirección # 2 se establece como drop-off para la solicitud de recorrido. Y así sucesivamente para el reverso …

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

IMPLEMENTAR EN HEROKU

Escribí una aplicación utilizando NodeJS para automatizar el proceso de pedido. Haga click aquí para desplegarlo automáticamente en Heroku.

Una manera alternativa de que funcione en Heroku es instalar el Heroku Cli  y seguir los siguientes pasos:

Ahora, dirígete a la pestaña de configuración de tu aplicación Heroku (https://dashboard.heroku.com/apps/<YOUR_APP_NAME>/settings) para configurar las variables de entorno.

Configure las siguientes variables (asegúrese de establecer las direcciones que desee):

 

El punto final “… / request /: device /: lat /: lng /: radius” se llamará cada vez que se envíe un mensaje a Sigfox Backend (vea más adelante como configurarlo). Mediante el servicio de geolocalización Sigfox, el servidor recibió la posición aproximada de Sens’it. Esto es lo que se conoce con las direcciones de pick-up y drop-off.

Para comprobar si la aplicación 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.

[Opcional] Notificaciones SMS gratis con un operador móvil francés (denominado Gratis)

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

Ahora podrá recibir alertas SMS acerca de sus pedidos al UberX.

Configurar la devolución de llamada Sigfox Backend

° Entre aquí

° Vaya a https://backend.sigfox.com/devicetype/list, haga clic a la izquierda en la fila del dispositivo y seleccione “Editar”

° Ahora vaya a la sección “CALLBACKS” a la izquierda, seleccione “new” en la parte superior derecha, seleccione “Custom Callback”

° Tipo: SERVICIO | GEOLOCURL

°Canal URL

° Modelo de URL: https: // <YOUR_APP_NAME> .herokuapp.com / request / {dispositivo} / {lat} / {lng} / {radius}

° Usar método HTTP: GET

° Seleccione “Aceptar” para validar

Ejecutar para probar

De forma predeterminada, la variable sandbox se establece en true. Esto falsificará las solicitudes de paseo Uber para que su cuenta bancaria no se vea afectada por manipulaciones no intencionales 😉.

Presione el botón Sens’it dos veces para enviar un mensaje a través de Sigfox. Asegúrese de que los mensajes son bien recibidos en el Backend de Sigfox. Inicie sesión, vaya a la sección DEVICE y haga clic a la izquierda en su ID de dispositivo. Puedes ir a la sección MESSAGES para ver las cargas útiles.

Pedir un viaje real Uber

Ahora configure la variable de entorno de sandbox como false 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 petición de Uber ride!

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

° Para cancelar un pedido, se puede utilizar esta ruta: … / request / cancel.

¡Manejemos!

¡Diviértase pidiendo sus Ubers! 🚗 😎

 

Related Posts