Control de un relé USB XD-40 LCUS

0

Hace poco recibí un relé controlado por USB que está diseñado para mostrarse como un puerto serie en una PC y aceptar comandos. Mi computadora lo reconoce muy bien, pero parece que no puedo hacer que haga nada. Esta es la primera vez que trato de usar este tipo de gadget, por lo que asumo que me estoy perdiendo algo básico, pero la unidad vino sin un solo fragmento de documentación, así que espero que alguno de ustedes pueda ayudarme. arregla las cosas.

El dispositivo es un XD-40 LCUS, con un chip CH340 , y el más cercano Lo que he encontrado en la documentación es lo siguiente, en uno de los sitios en línea que los venden :

Data (1) --- start logo (default is 0xA0)
Data (2) --- switch address code (default is 0x01, identifying the first way switch)
Data (3) --- Operating Data (0x00 to "Off", 0x01 "On")
Data (4) --- checksum

Example:
Open the USB switch: A0 01 01 A2
Close USB Switch: A0 01 00 A1

Esperaba poder abrir Open Putty, conectarme a COM4 (que es lo que mi PC ha decidido llamar al dispositivo) e ir a la ciudad con los comandos mencionados anteriormente, pero eso no me lleva a ninguna parte, así que Estoy un poco confundido. Cualquier orientación sería apreciada.

    
pregunta Dashiel N

2 respuestas

1

El problema es que no espera una cadena ASCII como "A00100A1". En su lugar, se esperan 4 bytes sin procesar: 0xA0, 0x01, 0x00, 0xA1 (se muestra como hexadecimal).

Básicamente, debe escribir un programa para abrir el puerto serie, configurarlo en modo "sin formato" para que el sistema operativo no intente cambiar ningún byte y envió los cuatro bytes binarios. Podría ayudarte con el código C de Linux, pero parece que estás usando Windows y no tengo el conocimiento allí.

Editar: consulte esta página de superusuario para obtener sugerencias sobre el envío sin formato. bytes a un dispositivo serie.

    
respondido por el DoxyLover
0

Ya que este fue un gran éxito en mis resultados de búsqueda, intervendré con los comandos de Linux a los que DoxyLover alude anteriormente.

Relé en: echo -en '\xa0\x01\x01\xa2' | sudo dd of=/dev/ttyUSB0

Relé apagado: echo -en '\xa0\x01\x00\xa1' | sudo dd of=/dev/ttyUSB0

Gracias por publicar los códigos hexadecimales en su pregunta; Me dio un gran punto de partida para que todo funcionara. El enlace de AliExpress que proporcionaste está roto, y la unidad que compré vino sin documentación alguna.

    
respondido por el Mikkel

Lea otras preguntas en las etiquetas