-
| .
|
Aspirante operativo
- Group
- Moderator
- Posts
- 14
- Status
- Offline
|
|
Datalogger
Registra i messaggi provenienti da due reti canbus e da un gps, utilizzando una RaspberryPi3, due canshield mcp2515 e un gps basato sul chip Ublox Neo-6m.
Al momento la decodifica dei messaggi per l'export in formato csv deve essere effettuata offline; gli script sono ancora in fase sviluppo
Changelog -v0.1 : Versione Iniziale
Files presenti sul drive di squadra sotto Stagione 2020/Elettronica/Datalogger : Utilizzo Per iniziare la registrazione portare l'interruttore in posizione ON, il led rosso al centro lampeggerà ogni 3 secondi come conferma dell'esecuzione della registrazione.
Il gps mostra due led: -Blu fisso : Alimentazione -Verde lampeggiante : fix della posizione avvenuto
Per interrompere la registrazione riportare l'interruttore sulla posizione OFF ( lato opposto ad ON )
Il datalogger crea automaticamente una rete wifi con ssid 'FCE19' e password 'fastcharge2019', l'assegnazione dell'indirizzo ip all'host è automatica
I dati vengono registrati in ordine progressivo nella cartella 'log' presente nella home (/home/pi/log); per scaricarli usare un programma per il trasferimento file SCP, su windows ad esempio WinSCP ( scaricabile da internet ). L'indirizzo ip del datalogger è 192.168.3.1, nome utente 'pi', password 'raspberry'
Installazione
Copiare lo script python 'canduogps.py' nella cartella 'datalogger' ( crearla nella home se non presente )
CITAZIONE mkdir /home/pi/datalogger cp canduogps.py /home/pi/datalogger/canduogps.py Modificare il cmdline.txt all'interno di /boot/ rimuovendo tutti i parametri riguardanti la seriale e console. Ad esempio deve apparire simile come struttura(non nei valori) a questo : dwc_otg.lpm_enable=0 root=PARTUUID=4e4688b2-02 rootfstype=ext4 etc.......
Ricompilare e copiare il device-tree modificato per avere il secondo canshield su spi1 ( secondo bus spi )
CITAZIONE dtc -@ -I dts -O dtb -o mcp2515-can1.dtbo mcp2515-can1.dts sudo cp mcp2515-can1.dtbo /boot/overlays Modificare config.txt in /boot/ aggiungendo le seguenti righe
CITAZIONE dtparam=spi=on dtoverlay=pi3-disable-bt dtoverlay=spi1-1cs,cs0_spidev=off dtoverlay=spi-bcm2835-overlay dtoverlay=mcp2515-can0,oscillator=8000000,interrupt=12 dtoverlay=mcp2515-can1,oscillator=8000000,interrupt=25 enable_uart=1 Tramite raspi-config assicurarsi che la console seriale sia disattiva e la porta hardware attiva:
CITAZIONE sudo raspi-config -> interfacing options -> serial -> disattivare shell -> mantenere attivo hardware Copiare regola udev per far si che combacino spi0-can0 / spi1-can1
CITAZIONE cp regola-udev.txt /etc/udev/rules.d/75-can.rules attenzione, non sembra funzionare. Quindi nello script python è stato aggiunto un check simile che condiziona le variabili di bus
Copiare e abilitare lo script per l'avvio del demone
CITAZIONE cp datalogger.service /etc/systemd/system/datalogger.service systemctl daemon-reload systemctl enable datalogger.service ATTENZIONE - NOTE HARDWARE Raspberry pi utilizza livelli logici a 3.3V, segnali oltre tale valore danneggiano permanentemente il processore.
Bisogna quindi modificare il canshield per separare le alimentazioni del MCP2515 e del TJA1050. Per farlo basta dissaldare e piegare il pin Vcc(vedi datasheet) di MCP2515 e saldare un cavo con cui alimentarlo a 3.3V direttamente dalla Rpi. Il TJA1050 rimarrà tranquillamente alimentato a 5V, per il quale basta portarli dalla Rpi al pin VCC del header del canshield.
Da finire :
- Schema collegamenti
Sviluppi in corso :
- Svuotare correttamente queues in fase di arresto registrazione
|
|
| .
|
0 replies since 15/9/2019, 21:24 53 views
.