Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

472
Visualizações
¿Cómo crear un puerto CAN virtual en Linux? (C++)

Quiero crear un programa que emule el puerto CAN con fines de prueba para otra gran aplicación. El programa debe enviar los datos registrados previamente a través de este CAN virtual. ¿Alguien tiene alguna experiencia con algo así?

Estoy pensando en establecer COM virtual y enviar a través de él datos empaquetados en CAN Frames. ¿Podría funcionar? ¿Y cómo podría establecer COM virtual en Linux? Encontré este hilo Puerto serie virtual para Linux , pero lamentablemente no entiendo cómo podría implementarse en el código fuente del programa (usuario principiante de Linux y programador en Linux).

Me encantaría leer tu experiencia y sugerencias.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Necesita el controlador SocketCAN , que está disponible en las distribuciones modernas de Linux como Ubuntu, etc. SocketCAN proporciona un controlador de puerto CAN virtual:

 sudo modprobe vcan sudo ip link add dev vcan0 type vcan sudo ip link set up vcan0

Ahora puede enviar y recibir tramas CAN a través del dispositivo vcan0 . El artículo de Wikipedia proporciona un ejemplo de código simple sobre cómo usar SocketCAN.

También necesitará can-utils para fines de prueba.

Encontrará más información sobre SocketCAN y su uso en eLinux.org

over 4 years ago · Santiago Trujillo Relatório

0

Tutorial

PARTE 1 - Creación de un programa para emular CAN


  • Puede usar el siguiente programa bash para crear un puerto CAN virtual (vcan) en Linux:

    setup_vcan.sh

     #!/bin/bash # Using can1 as an example CAN_PORT="can1" sudo modprobe vcan sudo ip link add dev $CAN_PORT type vcan sudo ip link set up $CAN_PORT
  • Haga que el programa bash sea ejecutable:

     chmod +x setup_vcan.sh
  • Ejecute el programa bash:

     ./setup_vcan.sh

PARTE 2 - Grabación y reproducción de mensajes CAN


  • Grabe los mensajes CAN en un archivo de registro ( $CAN_PORT con el nombre de su puerto CAN):

     candump -L $CAN_PORT > myfile.log
  • Reproduzca los mensajes CAN del archivo de registro:

     canplayer -I myfile.log
  • Puede verificar la reproducción comprobando la salida de candump :

     candump $CAN_PORT

Referencias

  • Respuesta de @yegorich
  • Canplayer no reproducirá archivos candump
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda