2.1 The Acquisition Script ( acq_moto.py ) Your primary script handles three threads: sensor polling, local storage, and UDP broadcast. Below is a foundational script (patched version – we will explain the “patch” later).
systemctl status moto_acq_patched # Should show "active (running)" journalctl -u auto_race_inf -f # Live telemetry processing You will see output like: moto trackday project script auto race inf m patched
"timestamp_ms": 1704067200000, "gps": "lat": 37.323, "lon": -122.032, "speed_ms": 45.2, "hdop": 0.8, "imu": "accel_x": 0.2, "accel_y": -0.9, "accel_z": 9.8, "gyro_z": 1.2, "can": "rpm": 10500, "gear": 3, "coolant_c": 92, "tps": 78, "derived": "lean_deg": 42, "braking_g": -0.95 Enable services (acquisition + auto race INF) systemctl
#!/bin/bash # moto_trackday_project_script.sh – Auto Race INF M Patched set -e echo "Moto Trackday Project – Deploying patched stack (rev inf_m)" apt update && apt install -y python3-pip can-utils influxdb2-client 2. Clone patched repository (branch: inf_m_patched) git clone -b inf_m_patched https://github.com/moto-telemetry/trackday-infra.git /opt/moto 3. Apply the module M configuration for CAN arbitration cp /opt/moto/configs/can_m.conf /etc/modprobe.d/can_m.conf modprobe can_m 2>/dev/null || echo "Module M already loaded" 4. Install Python virtualenv and requirements cd /opt/moto python3 -m venv venv source venv/bin/activate pip install -r requirements_patched.txt # includes influxdb_client, pyserial, can 5. Enable services (acquisition + auto race INF) systemctl enable moto_acq_patched.service systemctl enable auto_race_inf.service 6. Verify patches echo "Patch level check:" grep "PATCHED" /opt/moto/version.py "gps": "lat": 37.323