can_bus_monitor-6.ino

Ordinateur industriel monocarte BPI-5202 Loongson 2K1000LAi · Fichier : can_bus_monitor-6.ino · Langage : python · Usage : Lire et afficher les trames CAN 2.0 reçues en temps réel via les ports CAN intégrés.

Surveille le canal CAN 2.0 de la carte BPI-5202 pour déboguer les communications industrielles.

Nécessite les drivers CAN chargés (module SocketCAN standard sous Loongnix/LxAMP). Vérifiez que l'interface 'can0' est active via 'ip link set can0 up type can bitrate 500000'. Le script utilise la bibliothèque python-can pour accéder au bus matériel via l'API du noyau Linux.

can_bus_monitor-6.ino

#!/usr/bin/env python3
"""
BPI-5202 CAN Bus Monitor
Prérequis : pip install python-can
Interfaces CAN typiques sous Loongnix/LxAMP : can0, can1
"""
import can
import sys
import time

try:
    # Configuration de l'interface CAN intégrée (vérifier via 'ip link' si différents noms)
    # BPI-5202 possède 2 ports CAN2.0
    bus = can.interface.Bus(channel='can0', interface='socketcan', bitrate=500000)
    print("Écoute CAN sur can0... (Ctrl+C pour quitter)")
    
    while True:
        message = bus.recv(timeout=1.0)
        if message is not None:
            print(f"ID: 0x{message.arbitration_id:03X} | DLC: {message.dlc} | Data: {message.data.hex(' ').upper()}")

except KeyboardInterrupt:
    print("\nArrêt")
except Exception as e:
    print(f"Erreur: {e}")

← Retour à la fiche