ChirpStack antes denominado Lora server es un stack open-source que ofrece soporte para las redes LoraWAN. El stack completo es una solución lista para su uso incluyendo una interfaz web amigable y una API para integración de aplicaciones de terceros.
Lora es una tecnología de modulación patentada por Semtech y LoraWan es el protocolo estándar para las comunicaciones Wan y Lora. Existen varias soluciones en el mercado de redes abiertas de infraestructuras de redes LoraWan. La mas conocida es The Things Network en la que puedes dar de alta un Gateway y hacerlo público o privado según tus necesidades. De la misma forma si en tu zona de cobertura ya dispones de cobertura de un Gateway público solo con un nodo puedes disfrutar de conectividad en una red Lora. ¿Pero y si quieres que tu red sea solo privada? En BConsultors venimos a contarte que es Chirpstack y sus elementos básicos.
Los elementos básicos de ChirpStack
A continuación, veremos los elementos imprescindibles de ChisrpStack.
Dispositivos LoraWan
Los dispositivos LoraWan son dispositivos enviando datos hacia el servidor de red Chirpstack. A través de un Gateway o varios. Estos dispositivos pueden ser por ejemplo sensores midiendo calidad de aire, temperatura, humedad, localización…etc.
Lora Gateway
Un Gateway Lora escucha (normalmente) 8 o mas canales de forma simultánea y envía los datos recibidos de los dispositivos LoraWan hacia el servidor de red LoraWan (en este caso el servidor de red Chirpstack). El software encargado en el Gateway Lora de enviar y recibir los datos es el packet forwarder. Las implementaciones comunes son el Semtech UDP y el Semtech Basic Station
ChirpStack Gateway Bridge
El ChirpStack Gateway Bridge se sitúa entre el packet forwarder y el bróker MQTT. Es el encargado de traducir el mensaje desde el formato del packet forwarder en el formato utilizado por los componentes del Chirpstack. También es el encargado de proporcionar la integración de plataformas cloud como son el GCP Cloud IoT Core y el Azure IoT Hub.
ChirpStack Network Server
El ChirpStack Network Server es un servidor de red LoraWAN responsable de gestionar el estado de la red. Es el encargado de la activación de los dispositivos finales y es capaz de gestionar los join-request cuando los dispositivos quieren acceder a la red. Cuando recibe datos por múltiples gateways el servidor de red ChirpStack deduplicará estos datos y los enviará como un único payload hacia el servidor de aplicación ChirpStack. Cuando una aplicación del servidor necesite enviar datos de vuelta al dispositivo. El servidor de red ChirpStack mantendrá la respuesta en cola hasta que sea capaz de enviar el dato de vuelta a uno de los gateways.
ChirpStack Application Server
El servidor de aplicaciones de Chirpstack es un servidor de aplicaciones LoraWan, compatible con el servidor de red de ChirpStack. Proporciona una interfaz web y APIs para la gestión de usuarios, organizaciones, aplicaciones, gateways y dispositivos.
Aplicación final de ChirpStack
La aplicación final recibe los datos del dispositivo a través de una de las integraciones configuradas (HTTP, MQTT, Python, Amazon, etc). Puede utilizar la API del servidor de aplicaciones de ChirpStack para programar un mensaje de downlink hacia los dispositivos finales. El propósito de la aplicación puede ser para analizar los datos, alertas, visualización de los datos, ejecutar acciones según condiciones, etc.
Estos son los componentes del stack de la solución ChirpStack. Lo que es muy interesante es que cada uno de estos componentes puede instalarse en un equipo distinto, partes de él en un equipo o todos los componentes en un equipo. Lo que hace que según el volumen y tamaño de la solución a implementar se puede escalar su uso.
En resumen, se trata de una solución muy recomendable cuando queramos implementar una solución LoraWan y uno de los requerimientos principales sea el de privacidad de los datos e infraestructura. Si quieres mas información de las soluciones LoraWAN contacta con nuestro equipo. En BConsultors somos especialistas en todo tipo de soluciones IoT.