Una implementación específica del applet Iot (versión MQTT)

Prólogo

Es decir, el término debería haber sido escuchado por muchas personas, es decir, después del surgimiento de Big Data, Ai, etc., también siguió a la llegada de la tendencia de investigación y desarrollo, es decir, Internet de las Cosas. Hablando tradicionalmente, es un control inteligente y programático de las instalaciones de hardware. Lo más fácil para todos es pensar en el hogar inteligente, que se puede utilizar para controlar de forma remota la configuración de los muebles a través de una aplicación o control remoto. De lo que estamos hablando hoy es del control de la comunicación entre personas y cosas, y la ejecución de comandos humanos a través de productos de Internet, y la máquina responde.

Productos de la competencia

Hablando de hardware de control de programas pequeños, ¿en qué producto debe pensar de inmediato? Un cierto culto, un determinado FO, una máquina expendedora, etc., su arquitectura generalmente tendrá un punto en común es la existencia o la función similar de la nube Iot. Por ejemplo, una arquitectura en la nube como Azure utiliza el centro de IoT, el almacenamiento, la máquina virtual y otros servicios.
Descripción de la imagen

Piensa en grande

Entonces podemos esperar una arquitectura e implementación más grandes, o esperamos poder asignar e implementar funciones similares, pero aún tenemos que darnos cuenta de esta función o de la eficacia de los productos pequeños paso a paso.

Formulación de destino: El control final del usuario es un programa pequeño, y usamos una máquina expendedora simple (o gabinete rápido) en el lado del hardware. Lo que queremos lograr es notificar específicamente a la máquina expendedora que abra y bloquee el gabinete correspondiente a través del comando del programa pequeño.

¡Entonces debemos concebir la versión simplificada correspondiente de la arquitectura y la implementación del acoplamiento!

En la actualidad, la mayoría de los métodos tradicionales y familiares de interacción de front-end y back-end deberían ser principalmente API REST. Luego estamos en el pequeño programa (piense en ello como una pantalla de front-end pura) y el back-end (aquí está Iot en la siguiente figura, podemos usar SpringBoot + Netty construye un centro de Iot) La comunicación entre ellos utiliza la forma de API, y la interfaz de comando correspondiente se abre en segundo plano, que es llamada por el applet. Puede haber otro negocio aquí: ¿entonces el servidor tiene notificaciones para la comunicación activa del applet? No entraré en detalles aquí. Esto puede considerarse como una consideración tardía de la iteración del producto. También puede considerar el método de implementación.

El applet en este artículo es una demostración para la depuración y prueba de MQTT, pero no hay conexión REST API. El siguiente artículo se centrará en la introducción.

¿Qué pasa con la comunicación entre el centro Iot y la máquina expendedora (gabinete express)? Los estudiantes que solo pueden trabajar en software generalmente están menos expuestos. Cuando lo comencé, era muy ignorante, pero en términos generales, se trataba de diferentes protocolos de comunicación para lograr la comunicación. Tomemos el microcontrolador como ejemplo, podemos saber cuántos tipos admite. Protocolos de comunicación, como MQTT o TCP / IP, etc.

En esta versión, haremos la versión de comunicación de MQTT, luego el diagrama de flujo es el siguiente.
Descripción de la imagen

[Imagen]

¿Qué preparar?

Seleccione los recursos de Github ya existentes, esta vez elija paho.js para facilitar la comunicación MQTT

Este artículo se centrará en la comunicación de acoplamiento entre el applet y MQTT, sin llamada a la API

Applet: Necesitas una cierta base para el desarrollo de applets, esta vez elegí un proyecto de Github de un amigo como demo de mi applet

Backend: Use SpringBoot + Netty para hacer un pequeño centro Iot que conecte MQTT y applets

Fin de la simulación de hardware MQTT: elegí Paho, mqtt.java de Eclipse autorizado de Github como simulación

En pocas palabras, lo que necesita implementar es el lado central del backend, que también es el lado de Java en el que es mejor.

Simplifica primero

Cuando su posición ha alcanzado un cierto nivel, lo que debe hacer es no escribir el código de implementación detallado subyacente, sino una plantilla o idea y proceso para dicha implementación, por lo que temporalmente haremos una versión simple del pequeño programa para el hardware El proceso de comunicación entre.

Netty es muy bueno, no diré mucho aquí, porque la definición de avanzada por parte de los fabricantes de BAT generalmente necesita comprender el nivel del código fuente de Netty. Luego debe agregar Netty basado en SpringBoot y personalizar el contenido del códec correspondiente. Debido a que usamos paho, hay algunos formatos propios. La idea general es definir la especificación del protocolo. La parte de comunicación es en realidad relativamente simple porque una gran parte Netty lo ha hecho por ti.

La comunicación de socket del applet es el comienzo de ws, por lo que nuestro centro Iot también necesita un canal de comunicación ws.

Aquí nuestra dirección de comunicación es: ws: // localhost: 8094 / mqtt

No utilicé wss. Digamos lo mismo. Primero realicemos el simple y luego pensemos en el complicado.

Luego, la correspondencia del applet también se conecta a esta dirección, el applet puede iniciar la conexión en el modo y el extremo de la emulación de hardware Java de Mqtt es también la conexión de la misma dirección.

Para MQTT, el applet necesita suscribirse a un tema, y ​​el terminal de simulación de Java también está enviando información a este tema. Si ambos extremos envían y reciben normalmente y ambos pasan nuestro centro Iot, entonces nuestro pequeño proyecto ya tendrá éxito Es!

Efecto

Descripción de la imagen
Descripción de la imagenDescripción de la imagenDescripción de la imagen

GitHub

Todo el código fuente relevante de este artículo se ha colocado en el proyecto paho-mqtt en el proyecto GitHub

Dirección: introducción al proyecto paho-mqtt
: basado en Netty4 y SpringBoot, sala de chat WebSocket (imagen de texto) más llamada API Netty enlace largo para ejecutar el envío de mensajes (número en línea, lista de usuarios), protocolo Iot Internet of Things-MQTT, protocolo TCP / IP comunicación microcontrolador , Almacenar datos de chat de forma asincrónica


Descripción de la imagen

Supongo que te gusta

Origin www.cnblogs.com/homehtml/p/12690977.html
Recomendado
Clasificación