Detector de dióxido de carbono MT8057S. No revisión con la participación de un no emulador

- Hola, Habr! Mira



- Hombre, que eres? Este detector sin ti ya tiene todo el recurso arriba y abajo ... Y aquí estás. ¿Cuánto puede postergar un mismo sujeto?

- Bueno chicos! Por supuesto, no voy a repetir las revisiones existentes. Qué es, por qué es, cómo funciona, cómo usar lo que está dentro ... Y orgánicamente, complementaré estas revisiones con lo que los revisores anteriores no hicieron. Es decir, comprobaré si el software para este detector se inicia en un conocido emulador NOT (el que "no es un emulador") y si el dispositivo que cuelga en el puerto lo ve. Resultará, excelente, no funcionará, un resultado negativo en la ciencia también se considera un resultado.

Spoiler: soy un krivoruk, por lo que es un archivo, pero se encontró otra solución para la que un no emulador no era útil.

Bueno, el no emulador se balancea alegremente:



Mientras tanto, primero vea la salida de lsusb:

$ lsusb Bus 002 Device 004: ID 138a:0011 Validity Sensors, Inc. VFS5011 Fingerprint Reader Bus 002 Device 005: ID 0cf3:3004 Atheros Communications, Inc. AR3012 Bluetooth 4.0 Bus 002 Device 002: ID 0438:7900 Advanced Micro Devices, Inc. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 004: ID 5986:0652 Acer, Inc Bus 001 Device 003: ID 89e5:1001 Bus 001 Device 002: ID 0438:7900 Advanced Micro Devices, Inc. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub <b>Bus 003 Device 002: ID 04d9:a052 Holtek Semiconductor, Inc.</b> Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 

De esto se trata Holtek. Cuando se desconecta, desaparece. Ahora descargue el software que "alimentamos" Wine tan pronto como esté instalado:



El software se ha descargado, NO un emulador también, intente ejecutar uno de los programas:



Sin instaladores, el programa es portátil. Funciona de inmediato, pero el dispositivo atascado no ve. Intentemos configurar:



Puede intentar elegir USB y ocho puertos COM diferentes. Al principio, lo compré y probé los conocidos métodos de reenvío USB-COM en Wine. Cuando el dispositivo está conectado, aparece el dispositivo / dev / usb / hiddev0, que tomé para ese puerto. Pero reenviarlo no funcionó, porque ... No nos adelantemos. Primero, verifique otro programa.



Casi gemelas. Solo el menú es un poco diferente. Subimos a la configuración:



Y el resultado, por supuesto, es similar. Y no es de extrañar: el nombre hiddev0 en sí mismo significa que no es USB-COM, sino un dispositivo USB-HID. Una búsqueda en los foros mostró que aquellos en Wine estable no son compatibles. Además, si chmod proporciona acceso a hiddev0 a usuarios sin privilegios, luego de cada desconexión y conexión del detector, el dispositivo vuelve a estar disponible solo para root. Pero incluso cuando está disponible para todos, Wine piensa que no está allí.

Ejecutar vino desde la raíz? No recomendado, pero digamos que confío en estos dos programas. Intento ... Bummer, NO el emulador generalmente se niega a comenzar bajo la raíz. La carpeta .wine no es tuya, dice. Resulta que es necesario no sudo wine, sino primero sudo su, luego wine, y él creará la carpeta .wine en la carpeta / root también. Solo a partir de esto nada ha cambiado.

Bueno, todavía hay Linux Co2mon nativo. Decidí descargarlo solo en otro lugar, donde ya se ha compilado.

aquí

Después de que el RPM se desinfló, lo instalé de mi manera favorita. Es decir, tomó mc y bolígrafos debajo de los archivos dispersos raíz de la carpeta CONTENTS.cpio en el archivo en las carpetas del sistema de archivos donde deberían estar.

Comenzamos co2mond, y quiere libhidapi-libusb0. Un pequeño google-Yandex, y resulta que para esto necesitas alimentarlo con el paquete libhidapi-dev:

 $ sudo apt-get install libhidapi-dev 

El paquete se instala alegremente, ejecuta y ve:

 $ co2mond hid_open: error Unable to open CO2 device hid_open: error hid_open: error hid_open: error hid_open: error hid_open: error hid_open: error hid_open: error hid_open: error hid_open: error 

Oh sí, toqué el dispositivo. Una vez más, hago chmod para que un usuario sin privilegios pueda acceder a hiddev0, lo inicio y veo lo mismo. Luego lanzo co2mond desde la raíz, y ¡éxito!

 $ sudo co2mond [sudo]   username:  Tamb 25.1000 Tamb 25.1000 Tamb 25.1000 Tamb 25.0375 CntR 1617 Tamb 25.0375 CntR 1617 Tamb 25.1000 CntR 1617 Tamb 25.1000 CntR 1617 Tamb 25.0375 CntR 1617 Tamb 25.1000 CntR 1617 Tamb 25.0375 CntR 1617 Tamb 25.1000 CntR 1617 Tamb 25.1000 CntR 1617 Tamb 25.1000 

Hasta que el sensor se caliente, solo se muestra la temperatura ambiente Tamb, según tengo entendido. A medida que se calienta, también es CntR (contenido de algo en R, no sé los sinónimos de dióxido de carbono en R).

Si en la pantalla incorporada el dispositivo muestra la temperatura con un decimal, ¡entonces muestra cuatro con la computadora! ¿Existe un sensor de temperatura tan preciso? No lo se Bueno, las lecturas de dióxido de carbono vienen con la misma precisión que en la pantalla integrada, solo exageradas por varias unidades.

Bueno, creo que una vez en el proceso de instalación del software Linux, el archivo 99-co2mon.rules con los datos registrados que coinciden con los que se ven en lsusb resultaron estar en su lugar, tal vez los programas que intenté ejecutar en Wine también funcionarán. No, este no es el archivo. Aún así, ni tan ni debajo de la raíz no quiere. Parece que sin Wine experimental con soporte para USB-HID o cualquier parche no se puede hacer.

Eso, de hecho, es todo. Funcionó, pero no de la manera que nos gustaría: el programa que "se inició" no muestra horarios. ¿Se considera un resultado negativo o no, porque fue posible extraer datos del dispositivo? Y el vino a lo largo de los años de su existencia está muy "maduro". En comparación con lo que era hace unos años, simplemente no se puede reconocer, muchos programas funcionan como si estuvieran escritos específicamente para él. Resultó ser solo un introvertido: tiene miedo de comunicarse con algunas glándulas. Un descuento del diez por ciento en el dispositivo está disponible en el enlace con el código promocional TORMOZ CO2.

Por lo tanto, el usuario promedio de Linux, experto en el nivel básico de trabajar con la línea de comandos, pero que no puede o no quiere meterse con parches y compilaciones experimentales de programas, podrá emparejar este dispositivo con una computadora. Pero el programa que puede establecer un diálogo con el dispositivo será minimalista. Todo lo anterior se aplica a otros dispositivos con el mismo propósito en el mismo chip de Holtek.

PD: a través de los orificios de ventilación, puede ver cómo parpadea periódicamente en la carcasa del dispositivo ... "la bombilla de Ilyich". Lo leí en revisiones anteriores, pero pensé que tenía un dispositivo de una versión más nueva, donde se usaba un LED. No Esto significa que esto es fundamental: necesitamos un espectro sin "jorobas".

¡Gracias a todos por su atención!

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


All Articles