add src
This commit is contained in:
32
scripts/monitor_can.sh
Normal file
32
scripts/monitor_can.sh
Normal file
@@ -0,0 +1,32 @@
|
||||
#!/bin/bash
|
||||
# Мониторинг CAN трафика с фильтрацией OBD2
|
||||
|
||||
INTERFACE=${1:-vcan0}
|
||||
|
||||
echo "=== CAN Monitor (OBD2) ==="
|
||||
echo "Interface: $INTERFACE"
|
||||
echo "Filtering: 7DF (requests) and 7E8 (responses)"
|
||||
echo "Press Ctrl+C to stop"
|
||||
echo ""
|
||||
|
||||
# Проверка candump
|
||||
if ! command -v candump &> /dev/null; then
|
||||
echo "Error: candump not found. Install can-utils:"
|
||||
echo " sudo apt install can-utils"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Мониторинг с фильтром
|
||||
candump "$INTERFACE" | grep -E "(7DF|7E8)" | while read line; do
|
||||
timestamp=$(date +"%H:%M:%S.%3N")
|
||||
|
||||
# Парсинг и форматирование
|
||||
if echo "$line" | grep -q "7DF"; then
|
||||
# Запрос
|
||||
pid=$(echo "$line" | awk '{print $3}' | cut -c5-6)
|
||||
echo "[$timestamp] REQUEST -> PID: 0x$pid"
|
||||
elif echo "$line" | grep -q "7E8"; then
|
||||
# Ответ
|
||||
echo "[$timestamp] RESPONSE <- $line"
|
||||
fi
|
||||
done
|
||||
Reference in New Issue
Block a user