Tabla de contenido:
- Paso 1: requisitos
- Paso 2: soldadura / cableado
- Paso 3: Configuración de Raspberry Pi
- Paso 4: configuración de la base de datos
- Paso 5: Código
- Paso 6: ¡Conéctese
Video: WeatherCar: 6 pasos
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-10 13:46
El WeatherCar, un pequeño proyecto casero que puede conducir y al mismo tiempo recopilar datos útiles.
Hice este proyecto como final de mi primer año en Howest of Kortrijk. Este proyecto aún no tiene un buen acabado, pero este documento trata sobre todos los aspectos internos de este automóvil, sin hacer el fotograma completo.
Paso 1: requisitos
Necesitará todos estos componentes para este proyecto:
- Frambuesa PI
- 2 x motor (12v)
- Servo
- DHT11
- BMP280
- Módulo GPS GY-NEO6MV2
- 4 x transistores NPN
- 2 x resistencias (1k y 2k)
- Controlador de motor
- 2 paquetes de baterías de 6v
- Tablero de prototipos
- Regulador de voltaje reductor
- Alambre de cobre aislado
- Cable plano
- Cable micro-USB antiguo
- Madera contrachapada
Paso 2: soldadura / cableado
Para el primer paso, pasaremos directamente a conectar todos los cables. (PD. Puede usar una placa de pruebas para probar antes de soldar todo)
Le proporcioné un esquema que le muestra cómo conecté todo, aunque no pude encontrar la pieza correcta para mi motordriver. Para mi motordriver utilicé los 4 transistores NPN para convertir mi señal de 3.3v en una señal de 12v para controlar el controlador del motor. Esto porque el que usé solo admite 1 voltaje (12v porque mis motores son de 12v).
Paso 3: Configuración de Raspberry Pi
Si aún no tiene una configuración, deberá hacer esto primero; de lo contrario, puede omitir este paso si tiene los programas requeridos del último fragmento de código en este paso.
Primero, deberá descargar la versión de escritorio de Raspbian, que se puede encontrar aquí:
Una vez que haya descargado esto, tendrá que usar Etcher o WinDiskImager para colocar el archivo de imagen en la tarjeta SD de su raspberry Pi. (Esto podría tomar un tiempo).
Cuando el programa haya terminado, abra el explorador de archivos y abra la unidad llamada "arranque". Aquí encontrará un archivo de texto "cmdline.txt". Abra esto y agregue ip = 169.254.10.1 al final del archivo. Tenga cuidado de no agregar ninguna entrada al archivo, ya que esto podría ocasionar problemas.
Ahora que el PI tiene una dirección IP predeterminada, aún necesitaremos habilitar SSH para poder conectarnos a él. Puede hacer esto creando un nuevo archivo llamado "SSH" sin ninguna extensión, esto le dirá a la raspberry pi que habilite ssh en el primer arranque.
Con esto ahora podemos conectarnos a la raspberry pi mediante un cable ethernet. Conecte el cable entre su PC y el Raspberry PI. Ahora necesitaremos un cliente SSH. Para esto utilicé masilla (https://www.putty.org/). Abra Putty y ponga 169.254.10.1 como nombre de host. Puede que tarde un poco en poder conectarse.
Una vez que esté conectado, inicie sesión con estas credenciales:
Inicio de sesión: pi Contraseña: frambuesa
Ahora podemos configurar una conexión a Internet para hacer esto. Ejecute este comando y reemplace el SSID y la contraseña de red con el nombre y la contraseña de su wifi.
echo "contraseña" | wpa_passphrase "SSID" >> /etc/wpa_supplicant/wpa_supplicant/wpa_supplicant.conf
wpa_cli -i wlan0 reconfigurar
Ahora que tenemos una conexión a Internet, podemos instalar Python y otros programas necesarios usando los siguientes comandos
actualización de sudo apt
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
python3 -m pip install - actualizar pip setuptools wheel virtualenv
mkdir weathercar && cd weathercar
python3 -m venv --system-site-packages env
env de origen / bin / activar
python -m pip instalar mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib flask-socketio
Paso 4: configuración de la base de datos
Ahora que su Raspberry Pi tiene todos los programas necesarios, aún necesitaremos configurar la base de datos. Lo que podemos hacer iniciando primero Mysql
sudo mariadb
y luego
CREAR USUARIO 'project1-admin' @ 'localhost' IDENTIFICADO POR 'adminpassword'; CREAR USUARIO 'project1-web' @ 'localhost' IDENTIFICADO POR 'webpassword'; CREAR USUARIO 'project1-sensor' @ 'localhost' IDENTIFICADO POR 'sensorpassword';
CREAR BASE DE DATOS weathercar_db;
OTORGAR TODOS LOS PRIVILEGIOS EN weathercar. * A 'project1-admin' @ 'localhost' CON OPCIÓN DE GRANT; GRANT SELECT, INSERT, UPDATE, DELETE ON project1. * TO 'project1-web' @ 'localhost'; GRANT SELECT, INSERT, UPDATE, BORRAR EN project1. * TO 'project1-sensor' @ 'localhost'; DESCARGAR PRIVILEGIOS;
Paso 5: Código
En este paso, clonaremos el código necesario en su raspberry pi. Esto lo haremos haciendo esto:
En primer lugar, asegúrese de estar en su directorio de inicio ingresando "cd"
CD
ahora clonaremos el repositorio usando
clon de git
Ahora podemos importar la configuración de la base de datos usando:
sudo mariadb weathercar_db </weathercar/sql/weathercar_db_historiek.sql sudo mariadb weathercar_db </weathercar/sql/weathercar_db_sensoren.sql
Ahora que hemos terminado la base de datos, podemos continuar y configurar nuestro servicio.
sudo cp weathercar / conf / project1 - *. service / etc / systemd / system / sudo systemctl daemon-reloadsudo systemctl start project1- * sudo systemctl enable project1- *
Paso 6: ¡Conéctese
Ya casi llegamos, solo un paso más. Y eso es conseguir la dirección IP que nos dio el wifi.
Haremos esto poniendo
dirección IP
Aparecerá un montón de basura, pero debería poder encontrar "wlan0" y luego unas líneas más "inet 192.168.x.x"
ponga esa dirección IP dentro de su navegador y listo. Estás conectado al sitio web.