¿Qué es el chat en malla?
Las redes de malla AREDN son increíbles. Las redes de malla AREDN se utilizan principalmente para comunicaciones de emergencia. Entonces, una vez que tenga esta excelente configuración de red de malla IP, ¿qué puede hacer con ella? La gente ha estado haciendo VOIP, cámaras IP, Team Talk, etc. En una situación de emergencia, necesita un canal de comunicación confiable. Es probable que la energía, el teléfono, Internet, etc. estén apagados o no se puedan usar. En nuestro distrito usamos Team Talk para comunicarnos. Esto funcionó bien, pero tiene varios problemas:
- Punto único de fallo. Si la raspberry pi que está ejecutando el software del servidor o el nodo al que está conectado se estropea.
- No es realmente fácil de usar.
- Sin historial de registros de chat. Si cierra la sesión o se desconecta, pierde su historial de chat.
Escribí un chat en malla para superar las limitaciones anteriores y proporcionar un sistema de mensajería de texto confiable para las redes en malla de AREDN. Utiliza la aplicación a través de una interfaz web moderna y receptiva que se reproduce bien en dispositivos móviles y de escritorio. La aplicación web se ejecuta en el propio nodo de malla o en una Raspberry Pi. Enviar un mensaje es tan fácil como escribir uno en un cuadro de texto y hacer clic en enviar. La base de datos de mensajes se almacena en cada nodo en el que se ejecuta el chat de malla. Hay un demonio que se ejecuta y obtendrá una lista de todos los nodos de la malla que ejecutan el chat de malla. El demonio luego sondea esos nodos varias veces por minuto y obtiene cualquier mensaje nuevo y una lista de usuarios conectados al chat de malla en ese nodo. Si se encuentran mensajes nuevos, se añaden a la base de datos de mensajes local.
Con este diseño, los nodos pueden subir y bajar, variar en conectividad y mientras al menos 1 nodo permanezca en ejecución, la base de datos de mensajes se mantendrá. Una vez que los nodos vuelvan a estar en línea, se pondrán inmediatamente al día con los otros nodos y obtendrán una copia completa de la base de datos de mensajes. Si pierde la conectividad de su computadora portátil / teléfono a la malla, sus mensajes permanecen en la base de datos de mensajes. Es un sistema de mensajería en malla P2P distribuido y muy confiable.
Zonas
Meshchat está configurado para ejecutarse en una zona en particular según el nombre del servicio que se le da en la pantalla de servicios AREDN. Esto le permite ejecutar múltiples instalaciones de Meshchat en una sola malla y mensajes separados. Por ejemplo, tenemos algunas zonas de Meshchat ejecutándose con LWMeshChat, SLCMeshChat y UTMeshChat. Estos se agrupan según la geografía de nuestros usuarios de malla. Meshchat solo sondeará nodos que tengan el mismo nombre de servicio que el suyo.
Canales
Los canales separan los mensajes dentro de una zona. Tenemos un canal de emergencia, por ejemplo, que los usuarios de CERT monitorearían para que no tengan que filtrar otras comunicaciones HAM. También puede utilizar canales para activar Action Scripts .
Instalación de chat en malla
Las instrucciones de instalación se encuentran a continuación según la versión de AREDN que esté ejecutando en su nodo.
Instalación de paquetes en AREDN
Para instalar un paquete en AREDN, vaya a http: // localnode: 8080 o la dirección del nodo en el que desea trabajar. Haga clic en Configuración en la página a la que accede primero:
Ingrese root para el nombre de usuario y la contraseña que ingresó cuando configuró el nodo. Ahora haga clic en Administración. Haga clic en el botón Elegir archivo y seleccione el paquete que descargó en su computadora. Ahora haga clic en cargar y espere un poco y se cargará e instalará el paquete.
Para cada paquete que instale, verá un texto de estado. Generalmente, puede ignorar esto a menos que vea un error. Si publica una publicación en el Foro AREDN para obtener ayuda.
AREDN v3.15.1.0
Primero deberá instalar algunos otros paquetes. Descargue los siguientes paquetes e instálelos en el orden que se indica a continuación.
Ahora puede descargar el paquete de chat de malla e instalarlo:
AREDN v3.16.1.0 +
Todos los paquetes de curl ya están instalados, así que simplemente descargue e instale el chat de malla:
Ahora debe editar el nombre del servicio que se creó en la instalación para que coincida con la zona con la que desea sincronizar esta instalación. Meshchat solo sondeará otros nodos AREDN cuyo nombre de servicio / zona coincida con el suyo. Inicie sesión en el nodo y vaya a Configuración -> Reenvío de puertos, DHCP y Servicios. Edite el nombre del servicio Meshchat-XXXX predeterminado en la zona con la que desea sincronizar.
Para que el chat en malla funcione correctamente en una pi, debe instalar el paquete API en un nodo AREDN accesible para pi. Meshchat usará ese nodo para obtener la lista de servicios en la malla para que sepa qué nodos sondear en busca de mensajes que coincidan con su zona.
Desde la línea de comando en su raspberry pi, instale primero los paquetes de dependencia requeridos:
sudo apt-get install curl apache2
Descargue el paquete de chat de malla e instálelo:
wget https://s3.amazonaws.com/aredn/meshchat_1.02_all.deb dpkg -i meshchat_1.02_all.deb
Ahora necesitamos publicar un servicio para la zona en la que queremos esta instalación. Meshchat sondeará otros nodos AREDN cuyo nombre de servicio coincida con el suyo. Inicie sesión en el nodo y vaya a Configuración -> Reenvío de puertos, DHCP y Servicios. Asegúrese de tener una reserva DHCP para el Pi, luego agregue un servicio para él con el nombre de la zona con la que desea sincronizar.
Guarde los cambios.
Ahora en el pi edite el archivo /usr/lib/cgi-bin/meshchatconfig.pm para ingresar a la zona y al nodo AREDN que tiene el paquete API instalado. Edite estas dos líneas:
our $ pi_zone = 'LWMeshChat'; nuestro $ local_meshchat_node = 'localnode';
Ahora busque la ip o el nombre de host de su pi: http: // <pi ip> / meshchat
Usando el chat de malla
Meshchat es realmente fácil de usar. Cuando navegue por la interfaz web por primera vez, se le pedirá que ingrese su distintivo de llamada. Puede poner su indicativo de llamada o cualquier otro identificador con el que desee que se etiqueten sus mensajes.
Después de hacer clic en Iniciar sesión, verá la página principal de mensajería:
Ingrese un nuevo mensaje en el campo de texto, elija a qué canal enviar y presione enviar. Su mensaje se almacena inmediatamente en el mensaje local db. Una vez que otros nodos en su zona sondean su nodo, el nuevo mensaje se propagará a través de la malla. La tabla de usuarios en línea muestra a los usuarios cuyo navegador ha extraído nuevos mensajes del nodo en los últimos 2 minutos. Entre 2 y 4 minutos, su nombre aparecerá en gris y después de 4 minutos se eliminará de la lista.
Haga clic en Archivos en la navegación para usar el uso compartido de archivos:
Los archivos se almacenan en el nodo en el que los carga. Los enlaces de archivos apuntan a la dirección http del archivo en ese nodo. Si ha iniciado sesión en el nodo con el archivo, verá el botón Eliminar para eliminar el archivo. En un nodo AREDN, el almacenamiento de archivos está limitado a 500 KB. Los archivos se almacenan en tmpfs, que es RAM. No hay mucho espacio. Si desea almacenar archivos grandes, instale el chat de malla en una frambuesa pi donde el almacenamiento esté limitado por el tamaño de la tarjeta SD o por el punto de montaje / var / www / html / meshchat / files. Puede vincular suavemente ese directorio a un montaje NFS o cualquier cosa que desee. Mesh chat reconocerá cualquier archivo en ese directorio y lo listará en los nodos. Solo los archivos pueden estar en ese directorio, no los subdirectorios. Excelente manera de compartir guías telefónicas VOIP, imágenes, etc. para los usuarios de la malla.