
La integración de funciones basadas en la nube como Google Cloud Functions o Amazon Lambda ofrece un avance en eficiencia y personalización para los proveedores de soluciones de telemetría y gestión de flotas. Permiten crear soluciones de telemetría a la medida de manera fácil y rentable, por eso más socios de Navixy las están utilizando. Esta publicación explora el uso de estas características en la nube para automatizar operaciones específicas, creando soluciones de telemetría a medida que se alinean con las tendencias tecnológicas modernas.
En esencia, las funciones en la nube son piezas modulares de código, ejecutadas en un entorno en la nube. Permiten a los desarrolladores crear aplicaciones altamente escalables y sin servidor. El atractivo para los integradores radica en su capacidad para manejar tareas de manera eficiente sin la complejidad de gestionar la infraestructura del servidor. Esto lleva a una reducción de los costos operativos y una mayor escalabilidad.

¿Por qué las funciones en la nube son efectivas para los integradores?
La integración de la plataforma Navixy con funciones en la nube proporciona a los integradores de sistemas con un sólido conjunto de herramientas para desarrollar soluciones personalizadas de telemetría. Esta combinación mejora las capacidades del sistema, permitiendo:
| Objetivo | Ejemplos |
|---|---|
| Alertas y notificaciones personalizadas | Implementar notificaciones automáticas instantáneas basadas en una combinación altamente específica de datos de telemetría Generar informes personalizados combinando datos de IoT y negocios de múltiples fuentes y/o bases de datos |
| Automatización de tareas rutinarias | Habilitar la funcionalidad de bloqueo remoto del encendido para restringir el uso del vehículo fuera de las geocercas designadas o durante horarios específicos Automatizar la creación de registros en el Sistema de Gestión de Incidentes (IMS) para combinaciones específicas de eventos de IoT |
| Procesamiento de datos en tiempo real | Procesar datos de sensores especializados para mostrarlos en paneles de sistemas BI Decodificar datos extraídos del bus CAN |
| Cumplimiento y compatibilidad de datos | Informar datos para cumplir con regulaciones gubernamentales en industrias como el transporte de mercancías peligrosas Agrupe eficiente de datos de telemetría para su integración en bases de datos de análisis |
En un caso reciente de la industria minera que involucraba maquinaria pesada, se calcularon métricas de eficiencia de combustible extrayendo datos de PID del bus CAN, como RPM del motor, velocidad del vehículo y tasa de combustible. Este proceso permitió la monitorización y el análisis en tiempo real del rendimiento del vehículo, identificando oportunidades para la
optimización del consumo de combustible. Las funciones en la nube facilitaron la decodificación y recopilación precisa de estos datos. Posteriormente, el sistema analizó estos patrones de datos para recomendar velocidades de conducción óptimas y RPM del motor para una mayor eficiencia de combustible. Además, emitió alertas cuando las lecturas anormales indicaban posibles problemas de mantenimiento, asegurando una intervención oportuna.
Aunque el caso mencionado demuestra capacidades avanzadas de procesamiento de datos, muchas aplicaciones prácticas son más sencillas. Para aquellos nuevos en funciones en la nube e integraciones, un ejemplo más simple ilustrará cómo utilizar efectivamente estas características con Navixy.
Con frecuencia existe la necesidad de gestionar vehículos de forma remota, especialmente para evitar el uso no autorizado fuera del horario de trabajo o fuera de las zonas geográficas designadas. Un supuesto típico implica enviar comandos SMS a los Rastreadores de GPS para desactivar el motor. Exploremos un ejemplo sencillo en el que una función en la nube responde a un detonante externo de Navixy, como MQTT o Webhook, enviando un comando SMS predefinido al vehículo.
Lo guiaremos en la configuración de una simple Google Cloud Function usando Python, con el objetivo de enviar un comando SMS a un rastreador GPS. Utilizaremos Vonage, un servicio de mensajería, para la funcionalidad de SMS.
Para acceder a la Google Cloud Console, abra su navegador web y vaya a console.cloud.google.com. Una vez allí, inicie sesión con su cuenta de Google. Si aún no tiene una cuenta de Google Cloud, deberá crear una registrándose.
Una vez que haya iniciado sesión, para navegar a Cloud Functions, ubique el menú de navegación en el lado izquierdo de la consola:
En esta interfaz, escribirá y desplegará el código descrito anteriormente, gestionando las funciones que cree para varios propósitos, como enviar comandos SMS a los Rastreadores de GPS.
Comience instalando los paquetes necesarios en su archivo requirements.txt. Esto incluye functions-framework para crear funciones de Google Cloud Functions y vonage para enviar SMS.
requirements.txt:
functions-framework==3.*
requests
vonage
Para crear la función de comando SMS, deberá escribir el siguiente código en main.py:
main.py:
import functions_framework
import vonage
import os
@functions_framework.http
def send_sms_command(request):
# Use environment variables for sensitive information
client = vonage.Client(key=os.environ.get("VONAGE_API_KEY"), secret=os.environ.get("VONAGE_API_SECRET"))
sms = vonage.Sms(client)
# Environment variables for phone numbers and text
vonage_number = os.environ.get("VONAGE_NUMBER") # Your Vonage number
recipient_number = os.environ.get("RECIPIENT_NUMBER") # Recipient's phone number
text_message = os.environ.get("TEXT_MESSAGE", "Default command") # Text message, with a default
try:
responseData = sms.send_message({
"from": vonage_number,
"to": recipient_number,
"text": text_message,
})
if responseData["messages"][0]["status"] == "0":
print("Message sent successfully.")
return 'Message sent successfully.', 200
else:
error_text = responseData['messages'][0].get('error-text', 'Unknown error')
print(f"Message failed with error: {error_text}")
return f"Message failed with error: {error_text}", 500
except Exception as e:
print(f"An error occurred: {e}")
return f"An error occurred: {e}", 500
Para verificar la funcionalidad de su Google Cloud Function con dos números de teléfono diferentes, use el siguiente comando curl:
curl -X POST https://us-central1-dn-sandbox-376818.cloudfunctions.net/send-sms-command \
-H "Content-Type: application/json" \
-d '{"recipients": ["Number1", "Number2"]}'
En este comando, reemplace la url con la url que apunta a su función, Number1 and Number2 con los números de teléfono reales de las tarjetas SIM instaladas en los dispositivos GPS (por ejemplo, 18189399214). Esta prueba asegurará que la función esté enviando correctamente comandos SMS a los números especificados.
Como hemos explorado en esta publicación, la integración de funciones basadas en la nube como Google Cloud Functions con la plataforma Navixy abre un mundo de eficiencia y personalización. Desde el procesamiento de datos complejos en maquinaria pesada hasta comandos SMS simples para la inmovilización remota de vehículos, la versatilidad de estas soluciones es evidente. No solo satisfacen requisitos avanzados, sino que también ofrecen un punto de partida accesible para aquellos nuevos en las integraciones en la nube.
Navixy se compromete a apoyar a los desarrolladores en el campo de la telemetría con un conjunto de herramientas flexibles que van más allá de proporcionar solo datos de IoT. Nuestro enfoque se centra en permitirle construir soluciones innovadoras y personalizadas que aborden necesidades comerciales específicas. Le animamos a comenzar a construir sus soluciones e invitamos a que se comunique con nuestros ingenieros de soluciones para obtener ayuda con sus proyectos. Estamos listos para ayudarlo a aprovechar todo el potencial de las funciones en la nube en conjunto con nuestra sólida plataforma de telemetría, asegurando su éxito en este dinámico panorama tecnológico.