Cuento de cómo el MT8060 c Arduino hizo amigos

Este artículo se centra en el monitor de calidad del aire MT8060 con un sensor de dióxido de carbono y la capacidad de leer sus lecturas en una PC y Arduino.

De este artículo aprenderás:

  • Cómo desarme este dispositivo.
  • Cómo conectar un sensor de CO2 a un arduino sin desmontarlo.
  • Cómo leer datos y cómo convertirlos a la forma en que se muestran en la pantalla (e incluso en un rango de valores mayor).
  • Boceto y enrutamiento de cable incluidos.

¡Cuidado con el tráfico!

La esencia del problema


Una vez que fui a Geektimes encontré varios artículos sobre el sensor de dióxido de carbono MT8060 de DAJET. En los comentarios hubo una discusión activa sobre la posibilidad de conectar este dispositivo a una computadora para recibir datos. En los comentarios, no podía compartir mi experiencia sobre este tema (todavía no había modo R&C), así que decidí escribir un artículo, al mismo tiempo que abría la pregunta con más detalle y con "imágenes".

Desafortunadamente, esta modificación del dispositivo no tiene la capacidad de transferir datos a través de USB. Pero hay un puerto de diagnóstico en el que puede leer todos los datos, así como calibrar el dispositivo (probablemente). La siguiente sección describe cómo llegar a este puerto y cómo conectarse a él. No es necesario repetir esto: al final de la siguiente sección, se muestra que todos los datos se conectan al puerto sin desmontar el dispositivo.

Desmontaje y exploración de conectividad


Se tomaron fotos en la cámara del teléfono, a veces no de muy alta calidad, no lo intenté porque No pensé que escribiría un artículo, pero lo hice por si acaso.

Entonces, en la parte posterior hay tres tapones de goma, detrás de los cuales hay tres pernos. Los tapones pueden extraerse con pinzas o recogerse con una aguja.



Además de los pernos, las dos mitades del cuerpo también sostienen los pestillos, que se encuentran en todo el perímetro del cuerpo. Para separar las mitades, es suficiente sostener un palillo de dientes alrededor del perímetro de la caja, un espacio de medio milímetro es suficiente para que se abran los pestillos. Luego, abra suavemente la caja y vea que una manguera de goma pase del microcircuito a la cubierta posterior, y puede dañar los soportes y microcircuitos a los que está unida durante movimientos bruscos.



Ahora puede ver la parte posterior de la PCB del dispositivo, los cables de diagnóstico y el conector RJ45. Después de pasar por la notación trazada en el circuito, fui al artículo de CO2MeterHacking , que examinó un dispositivo similar. Al conectar, como se describe en el artículo, y al ejecutar el boceto propuesto allí, recibí los datos atesorados, que coincidieron parcialmente con los datos que se muestran en la pantalla: se logró el objetivo principal.

Además, el pinout de estos pines al conector RJ45 fue notable. Después de mirar el cableado y llamar, por si acaso los contactos, dibujé un diagrama de conexión.



La designación y el propósito de los contactos es el siguiente:

  • C (Reloj): una señal de reloj.
  • D (Datos) - señal de datos.
  • G (Tierra) - Tierra.
  • V (V DD ) - fuente de alimentación + 3V.

El pinout era adecuado para un conector estándar de cuatro núcleos, y para fines de prueba, se ensambló un conector compatible con arduino.



El dispositivo se puede ensamblar, pero anteriormente quité el enchufe que bloquea el acceso externo al puerto RJ45. Se fija en cuatro pestillos, que doblé suavemente desde el interior, pero creo que puede obtenerlo simplemente levantándolo desde el exterior, sin tener que desmontar el dispositivo. La foto a continuación muestra cómo se sostiene y cómo se ven los pestillos.



Parámetros de lectura y decodificación.


Se llevaron a cabo más investigaciones sobre el dispositivo ensamblado, con un puerto "abierto", y eran puramente software.
Conectamos el cable naranja (pin D ) al pin D3 del arduino, el blanco-verde (pin C ) al pin D2 de la placa compatible con arduino.



Los datos se transmiten utilizando el protocolo SPI. Para leer y decodificar datos, se escribió un método y un boceto simple que genera la humedad, la temperatura y la concentración de dióxido de carbono en el puerto serie.

Después de comenzar el boceto, los datos idénticos a las lecturas en la pantalla del dispositivo comienzan a fluir en el monitor del puerto serie una vez por segundo, más o menos.



Aunque el nivel de humedad en el dispositivo se muestra como Lo, al leer las lecturas a través del puerto, son bastante visibles para sí mismos como valores inferiores a 20. No está claro por qué se hizo esto, probablemente para no hacer otro "semáforo" en términos de humedad, sino para emitir Lo si la humedad ya es críticamente baja.

Eso es todo, en realidad: los datos llegan cada segundo, puedes trazar en alta resolución o escribir cualquier otra lógica. Por ejemplo, realicé una notificación a través de Telegram sobre los indicadores que van más allá de la norma, lo que elimina la necesidad de monitorear constantemente los indicadores. También configuré Mi Band para las notificaciones apropiadas: es conveniente si las lecturas exceden el límite por la noche, y necesita apagar el humidificador o ventilar. Puede ir más allá e integrar estos indicadores con el sistema de ventilación automática., o a un tomacorriente inteligente en el que está conectado el mismo humidificador; las restricciones adicionales son solo para la imaginación.

Pensamientos en voz alta sobre datos inalámbricos


Un artículo sobre revspace sugiere usar la transferencia inalámbrica de datos, pero también puede encontrar un boceto de ejemplo para enviar datos usando el transmisor NRF24L01 +. Además, dentro de la caja hay suficiente espacio libre, como me pareció, que es suficiente para un pequeño controlador y un módulo inalámbrico. Además, en el interior también hay alimentación de 3V (contactos G y V ), lo que elimina la necesidad de fuentes de alimentación de terceros, bueno, se pueden usar 5V del puerto USB si 3V no es suficiente. Si decido implementar algún tipo de método inalámbrico de transferencia de datos, escribiré otro artículo sobre este tema.
Eso es todo por ahora, ¡gracias por mirar!

Referencias y fuentes



¡El autor del artículo no es responsable de los intentos de repetir o aplicar los resultados presentados en este material!

Source: https://habr.com/ru/post/es390607/


All Articles