can_bus_monitor-6.ino
Supervisa el canal CAN 2.0 de la placa BPI-5202 para depurar comunicaciones industriales.
Requiere drivers CAN cargados (módulo SocketCAN estándar bajo Loongnix/LxAMP). Asegúrese de que la interfaz 'can0' esté activa mediante 'ip link set can0 up type can bitrate 500000'. El script usa la librería python-can para acceder al bus de hardware vía la API del kernel 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}")