User: root
Password: root
O pinout para ligar MCP2515 a um Raspberry Pi Zero:
-
Atualizar o sistema:
sudo apt update -y && sudo apt upgrade -y
-
Desativar serviços não essenciais (Reativar caso seja necessário fazer debug a problemas de sistema):
sudo systemctl disable armbian-zram-config.service # Desativa a configuração de zram do Armbian sudo systemctl disable systemd-random-seed.service # Desativa a semente aleatória do systemd sudo systemctl disable rsyslog.service # Desativa o logging do sistema sudo systemctl disable e2scrub_reap.service # Desativa a limpeza do e2scrub sudo systemctl mask armbian-zram-config.service # Mascara a configuração de zram do Armbian sudo systemctl mask systemd-random-seed.service # Mascara a semente aleatória do systemd sudo systemctl mask armbian-ramlog.service # Mascara o logging em RAM do Armbian sudo systemctl disable systemd-timesyncd.service
-
Desligar Servidor DNS e Configurar Estáticos (Resolução de Nomes):
sudo systemctl disable systemd-resolved.service # Desativa a resolução de nomes do systemd sudo nano /etc/resolv.conf
- Adicionar ao ficheiro as seguintes linhas:
nameserver 8.8.8.8 nameserver 1.1.1.1
- Adicionar ao ficheiro as seguintes linhas:
-
Atrasar arranque do serviço
systemd-logind
:sudo systemctl edit systemd-logind.service
- Adicionar o seguinte texto no espaço aberto entre comentários:
[Service] ExecStartPre=/bin/sleep 1
- Adicionar o seguinte texto no espaço aberto entre comentários:
-
Configurar o arranque automático do user root e arranque automático do Xorg (com a interface do volante):
sudo mkdir -p /etc/systemd/system/getty@tty1.service.d/ sudo nano /etc/systemd/system/getty@tty1.service.d/override.conf
- Adicionar ao ficheiro as seguintes linhas:
[Service] ExecStart= ExecStart=-/sbin/agetty --autologin root --noclear %I $TERM
- Executar os seguintes comandos:
sudo systemctl daemon-reexec sudo systemctl restart getty@tty1.service sudo reboot
- Verificar que está tudo ok após o reboot.
- Adicionar ao ficheiro as seguintes linhas:
-
Instalar o pacote
can-utils
:sudo apt install can-utils
-
Reiniciar o sistema:
sudo reboot
-
Configurar a interface CAN:
sudo ip link set can0 up type can bitrate 1000000
-
Verificar se a interface se encontra a funcionar. Deve ter o nome algo similar a
can0
ouslcan0
:
ip a
- Testar a interface:
- Enviar uma mensagem de teste:
cansend can0 MENSAGEM
- Fazer dump da interface:
candump can0
- Enviar uma mensagem de teste:
Caso o sistema se encontre bem configurado, para arrancar com a interface gráfica do volante, apenas será necessário correr o comando:
startx
-
Instalar dependências necessárias:
sudo apt install xserver-xorg xinit openbox python3 python3-pip python3-tk customtkinter
-
Clonar o repositório:
sudo git clone https://github.com/pontefrancisco/Steering-Wheel-LART /root/Steering-Wheel-LART
-
Navegar até ao repositório:
cd ~/Steering-Wheel-LART
-
Criar um ambiente virtual Python:
python3 -m venv venv
-
Ativar o ambiente virtual:
source venv/bin/activate
-
Instalar as dependências do projeto:
pip3 install -r requirements.txt
-
Configurar o arranque automático do script ao abrir a interface gráfica:
sudo nano ~/.xinitrc
- Adicionar ao ficheiro as seguintes linhas:
openbox & source ~/Steering-Wheel-LART/venv/bin/activate export DISPLAY=:0 echo $DISPLAY python3 ~/Steering-Wheel-LART/interface.py
- Adicionar ao ficheiro as seguintes linhas:
-
Arrancar com a interface:
startx
Caso o sistema já tenha sido configurado previamente, basta seguir os passos abaixo para iniciar o ambiente:
-
Ativar o ambiente virtual Python:
source ~/Steering-Wheel-LART/venv/bin/activate
-
Navegar para o diretório do projeto:
cd ~/Steering-Wheel-LART
-
Iniciar a interface gráfica:
startx