El acceso al dispositivo utiliza el servidor de mensajes EMQX, cifrado y autenticación; el back-end usa Spring boot; el front-end usa Uniapp; la base de datos usa Mysql, TDengine y Redis; el lado del dispositivo admite ESP32, ESP8266, Raspberry; Pi, etc.; el diagrama de arquitectura del sistema es el siguiente
Monitoreo del sistema: registros de operación, registros de inicio de sesión, registros del sistema, usuarios en línea, monitoreo de servicios, monitoreo del grupo de conexiones, monitoreo de caché, etc.
Gestión de productos: productos, modelos de productos, categorías de productos, firmware de productos, códigos de autorización de dispositivos, etc.
Gestión de dispositivos: control, agrupación, temporización, registros, estadísticas, posicionamiento, uso compartido, configuración, deshabilitación, actualización OTA, registro automático, modo sombra, monitoreo en tiempo real, autenticación de cifrado, etc.
Gestión de EMQ: cliente Mqtt, oyente, tema de mensaje, suscripción de mensajes, gestión de complementos, motor de reglas, recursos
SDK de hardware: admite conexiones WIFI y MQTT, respuesta de modelo de objetos, monitoreo en tiempo real, informes periódicos de datos de monitoreo, cifrado AES, tiempo NTP, etc.
Gestión del modelo de objetos: atributos (estado del dispositivo y datos de monitoreo), funciones (realización de tareas específicas), eventos (el dispositivo informa proactivamente a la nube)
Otras funciones: multiinquilino, estadísticas, información de noticias, notificaciones y anuncios, soporte para base de datos de series temporales TDengine
Planifique desarrollar y mejorar funciones: alarmas de dispositivos, vinculación de escenas, conexión nube-nube con parlantes inteligentes, configuración de red de dispositivos, inicio de sesión de terceros, inicio de sesión por SMS, personalización de la interfaz de la aplicación, procesamiento de transmisión de video, etc.
Tecnologías relacionadas: Spring boot, MyBatis, Spring Security, Jwt, Mysql, Redis, TDengine, EMQX, Mqtt, etc.
Herramientas de desarrollo: IDEA
Lado web
Tecnologías relacionadas: ES6, Vue, Vuex, Vue-router, Vue-cli, Axios, Element-ui, etc.
Herramientas de desarrollo: Visual Studio Code
Terminal móvil (Android / Ios / subprograma WeChat / H5)
Tecnologías relacionadas: uniapp, uView, uChart
Herramientas de desarrollo: HBuilder
Lado del hardware
Tecnologías relacionadas: ESP-IDF, Arduino, FreeRTOS, etc.
Herramientas de desarrollo: Visual Studio Code y Arduino
Autenticación de cifrado (recomendado)
Autenticación sencilla
Otros métodos de autenticación soportados por EMQX
2. Interacción del dispositivo
Temas de Mqtt relacionados con el modelo de publicación, información del dispositivo y sincronización del reloj.
Temas de Mqtt relacionados con el modelo de suscripción, actualización de dispositivos y sincronización de reloj
El proyecto proporciona un SDK de muestra, que utiliza el chip ESP8266 y se desarrolla en base a Arduino. (La grabación del dispositivo utiliza un módulo de puerto serie, como Ch340, que viene con la mayoría de las placas de desarrollo) El diagrama de cableado es el siguiente