Cómo utilizar NB-Iot Arduino para cargar datos a la plataforma Alibaba Cloud a través del protocolo MQTT
Recordando que MQTT se basa en TCP, puede usar TCP para convertir a MQTT, por lo que desea usar el protocolo TCP y luego convertir al protocolo MQTT para conectarse a la plataforma Alibaba Cloud IoT. demostrado que es posible.
Primero, analicemos cómo iniciar sesión y acceder a la plataforma Onenet.
Primero, comenzamos a analizar su formato de datos. Primero necesitamos sacar tres datos del fondo, usemos esto como ejemplo.
Nos referimos al ID del producto, el nombre del dispositivo y la clave secreta del dispositivo como tres elementos (los específicos dependen de su propio dispositivo)
De hecho, el protocolo MQTT utilizado por Alibaba La plataforma Cloud IoT es estándar, excepto que agrega su propio método de autenticación.
El protocolo MQTT requiere la carga de cuatro parámetros, a saber, hora del informe, ID del cliente, nombre de usuario y contraseña.
Como resultado, Alibaba Cloud ha ajustado el ID del cliente, el nombre de usuario y la contraseña.
El ID del cliente es largo y sigue un formato determinado
Nombre de usuario: nombre y clave del dispositivo
Contraseña: cifrada mediante cadena cifrada sha1 o MD5
Esto es lo que estamos buscando
El acceso MQTT envía datos en hexadecimal.
Cuando enviamos datos, es una cadena de datos como esta
0x74 0x00 0x04 0x4d 0x51 0x54 0x54 0x04 0xC0 0078 0033 0x61 0x62 0x63 0x7c 0x73 0x65 0x63 0x75 0x 72 0x65 0x6d 0x6f 0x64 0x65 0x3d0x33 0x2c 0x73 0x69 0x67
0x6e 0x6d 0x65 0x74 0x68 0x6f 0x64 0x3d 0x68 0x6d 0x61 0x63 0x73 0x68 0x31 0x2 c 0x74 0x69 0x6d 0x65 0x73 0x74 0x61 0x6d 0x70 0x3d0x31 0x32 0x30 0x7c 0009
0x35 0x36 0x37 0x38 0x26 0x31 0x32 0x33 0x34 0028 0x32 0x32 0x32 0x32 0x37 0x35 0x30 0x44 0x45 0x44 0x46 0x45 0x34 0x37 0x37 0x34 0x300x30 0x32 0x45 0x45 0x38 0x37 0x45 0x45 0x44 0x32 0x39 0x43 0x46 0x44 0x30 0x36 0x33 0x38 0x43 0x35 0x46 0x 36 0x36
Interpretación hexadecimal
Longitud de datos: 0x74
Longitud de datos de protocolo 0x00 0x04
Protocolo tipo: 0x4d 0x51 0x54 0x54
Datos de protocolo: 0x04 0xC0
Datos de keepAlive: 0078
Longitud de ClientID: 0033
ID de cliente: 0x61 0x62 0x63 0x7c 0x73 0x65 0x63 0x75 0x72 0x65 0x6d 0x6f 0x64 0x65 0x3d 0x33 0x2c 0x73 0x69 0x67 0x6e 0x6d 0x65 0 x 74 0x68 0x6f 0x64 0x3d 0x68 0x6d 0x61 0x63 0x73 0x68 0x61 0x31 0x2c 0x74 0x69 0x6d 0x65 0x73 0x74 0x61 0x6d 0x70 0x3d 0x31 0x32 0x30 0x7c
Nombre de usuario: 0009
Nombre de usuario: 0x35 0x36 0x37 0x38 0x26 0x31 0x32 0x33 0x34
Longitud de la contraseña: 0028
Contraseña: 0x32 0x32 0x32 0x32 0x37 0x35 0x30 0x44 0x45 0x44 0x46 0x45 0x34 0x37 0x46 0x37 0x34 0x30 0x30 0x32 0x45 0x45 0x38 0 x 37 0x45 0x45 0x44 0x32 0x39 0x43 0x46 0x44 0x30 0x36 0x33 0x38 0x43 0x35 0x46 0x36 0x36 0x36 Copiar código Lo anterior son los datos de conexión para conectarse al servidor.
Paquete
A continuación, hagamos un paquete de liberación (cargar datos al servidor)
0x30 0x1D 0009 2f7379732f706f7374 0x7b 0x70 0x61 0x72 0x61 0x6d 0x73 0x3a 0x7b 0x74 0x65 0x6d 0x70 0x3a 0x31 0x30 0x7d 0x7d
Interpretación de datos hexadecimales
Encabezado de datos: 0x30
Longitud de datos: 0x1D
Nombre del tema Longitud de datos: 0009
Contenido de datos del nombre del tema: 2f7379732f706f7374
Datos json del asunto: 0x7b 0x70 0x61 0x72 0x61 0x6d 0x73 0x3a 0x7b 0x74 0x65 0x6d 0x70 0x3a 0x31 0x30 d 0x7d Copiar código Lo anterior son los datos conectados a Alibaba Cloud con respecto a formato del paquete y formato de datos publicados, el análisis del paquete de datos de suscripción no se realizó debido a problemas de tiempo. El contenido de la suscripción se actualizará la próxima vez.