Índice:
- Etapa 1: Requisitos
- Etapa 2: Solda / Fiação
- Etapa 3: configuração do Raspberry Pi
- Etapa 4: configuração do banco de dados
- Etapa 5: Código
- Etapa 6: Conecte-se
Vídeo: WeatherCar: 6 etapas
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-10 13:48
O WeatherCar, um pequeno projeto caseiro que pode conduzir ao mesmo tempo que recolhe dados úteis!
Fiz este projeto como final do meu primeiro ano no Howest de Kortrijk. Este projeto ainda não tem um bom acabamento, mas este documento trata de todas as partes internas deste carro, sem fazer o full frame.
Etapa 1: Requisitos
Você precisará de todos estes componentes para este projeto:
- Raspberry Pi
- 2 x motor (12v)
- Servo
- DHT11
- BMP280
- Módulo GPS GY-NEO6MV2
- 4 x transistores NPN
- 2 x resistores (1k e 2k)
- Motorista
- 2 baterias de 6v
- Placa de prototipagem
- Regulador de tensão redutor
- Fio de cobre isolado
- Cabo plano
- Cabo micro USB antigo
- Madeira compensada
Etapa 2: Solda / Fiação
Para a primeira etapa, iremos direto para conectar todos os fios. (PS. Você pode usar uma placa de ensaio para testar antes de soldar tudo)
Eu forneci um esquema que mostra como eu conectei tudo, embora eu não conseguisse encontrar a peça certa para meu motordriver. Para o meu motordriver, usei os 4 transistores NPN para converter meu sinal de 3,3 V em um sinal de 12 V para controlar o driver do motor. Isso porque o que usei suporta apenas 1 tensão (12v porque meus motores são de 12v).
Etapa 3: configuração do Raspberry Pi
Se ainda não tiver uma configuração, você precisará fazer isso primeiro, caso contrário, poderá pular esta etapa se tiver os programas exigidos do último trecho de código desta etapa.
Primeiro, você precisa baixar a versão desktop do Raspbian, que pode ser encontrada aqui:
Depois de fazer o download, você terá que usar Etcher ou WinDiskImager para colocar o arquivo de imagem no cartão SD de seu Raspberry Pi. (Isso vai demorar um pouco).
Quando o programa estiver pronto, abra o explorador de arquivos e abra a unidade chamada "boot". Aqui você encontrará um arquivo de texto "cmdline.txt". Abra e adicione ip = 169.254.10.1 ao final do arquivo. Tenha cuidado para não adicionar entradas ao arquivo, pois isso pode causar problemas.
Agora que o PI tem um endereço IP padrão, ainda precisaremos habilitar o SSH para poder se conectar a ele. Você pode fazer isso criando um novo arquivo chamado "SSH" sem nenhuma extensão, isso dirá ao raspberry pi para habilitar o ssh na primeira inicialização.
Com isso, agora podemos nos conectar ao raspberry pi usando um cabo Ethernet. Conecte o cabo entre o seu pc e o raspberry PI. Agora precisaremos de um cliente SSH. Para isso usei massa (https://www.putty.org/). Abra o putty e coloque 169.254.10.1 como hostname. Pode demorar um pouco até que você consiga se conectar.
Assim que estiver conectado, faça login com estas credenciais:
Login: piPassword: raspberry
Agora podemos configurar uma conexão de internet para fazer isso. Execute este comando e substitua o SSID e a senha da rede pelo nome e senha do seu wifi.
echo "senha" | wpa_passphrase "SSID" >> /etc/wpa_supplicant/wpa_supplicant/wpa_supplicant.conf
wpa_cli -i wlan0 reconfigurar
Agora que temos uma conexão com a internet, podemos instalar o python e outros programas necessários usando os seguintes comandos
atualização do apt sudo
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
python3 -m pip install --upgrade pip setuptools wheel virtualenv
carro meteorológico mkdir && carro meteorológico cd
python3 -m venv --system-site-packages env
env / bin / ativar fonte
python -m pip instalar mysql-conector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-conector-python passlib flask-socketio
Etapa 4: configuração do banco de dados
Agora que você raspberry pi tem todos os programas necessários, ainda precisaremos configurar o banco de dados. O que podemos fazer iniciando o Mysql
Sudo Mariadb
e então
CRIAR USUÁRIO 'project1-admin' @ 'localhost' IDENTIFICADO POR 'adminpassword'; CRIAR USUÁRIO 'project1-web' @ 'localhost' IDENTIFICADO POR 'webpassword'; CRIAR USUÁRIO 'project1-sensor' @ 'localhost' IDENTIFICADO POR 'sensorpassword';
CRIAR BANCO DE DADOS weathercar_db;
GRANT ALL PRIVILEGES ON weathercar. * To 'project1-admin' @ 'localhost' COM GRANT OPTION; GRANT SELECT, INSERT, UPDATE, DELETE ON project1. * TO 'project1-web' @ 'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON project1. * TO 'project1-sensor' @ 'localhost'; FLUSH PRIVILEGES;
Etapa 5: Código
Nesta etapa, iremos clonar o código necessário em seu raspberry pi. Faremos o seguinte:
Em primeiro lugar, certifique-se de que está no seu diretório inicial digitando "cd"
CD
agora vamos clonar o repositório usando
git clone
Agora podemos importar as configurações do banco de dados usando:
sudo mariadb weathercar_db </weathercar/sql/weathercar_db_historiek.sql sudo mariadb weathercar_db </weathercar/sql/weathercar_db_sensoren.sql
Agora que terminamos o banco de dados, podemos prosseguir e configurar nosso serviço
sudo cp weathercar / conf / project1 - *. service / etc / systemd / system / sudo systemctl daemon-reloadsudo systemctl start project1- * sudo systemctl enable project1- *
Etapa 6: Conecte-se
Estamos quase lá, só mais um passo. E isso está obtendo o endereço IP que o wi-fi nos deu.
Faremos isso colocando
endereço de ip
um monte de porcaria vai aparecer, mas você deve conseguir encontrar "wlan0" e depois algumas linhas "inet 192.168.x.x"
coloque esse endereço IP dentro do seu navegador e pronto. Você está conectado ao site.