Tabla de contenido:
- Paso 1: flashear el disco duro RaspberriPi / instalar el software requerido (usando Ubuntu Linux)
- Paso 2: Suministrado necesario
- Paso 3: imprima el gabinete
- Paso 4: creación de la computadora de viaje
- Paso 5: Ensamblaje final
- Paso 6: Ensamblaje final (cont…)
- Paso 7: Configuración / instalación del software
- Paso 8: Instale las herramientas de monitoreo de conducción y el registro de la base de datos
- Paso 9: Scripts de inicio de Crontab - Pi y raíz
- Paso 10: Configurar para conectarse a Weather y Dashboard (opcional)
- Paso 11: Móntelo en el humidistato de tablero / soporte y ¡listo
Video: TripComputer - Computadora de viaje con GPS y módulo meteorológico para su vehículo: 11 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Un proyecto de frambuesa pi genial que utiliza el módulo de conexión de GPS y 2 pequeñas pantallas Digole para tener una computadora de navegación en su tablero.
Paso 1: flashear el disco duro RaspberriPi / instalar el software requerido (usando Ubuntu Linux)
Descarga "RASPBIAN JESSIE LITE VERSION"
Cree su nuevo disco duro para DashboardPI
Inserte la microSD en su computadora a través del adaptador USB y cree la imagen del disco usando el comando dd
Localice su tarjeta microSD insertada a través del comando df -h, desmóntela y cree la imagen del disco con el comando disk copy dd
$ df -h / dev / sdb1 7.4G 32K 7.4G 1% / media / XXX / 1234-5678
$ umount / dev / sdb1
Precaución: asegúrese de que el comando sea completamente preciso, puede dañar otros discos con este comando
if = ubicación del archivo de imagen RASPBIAN JESSIE FULL VERSION de = ubicación de su tarjeta microSD
$ sudo dd bs = 4M if = / path / to / raspbian-jessie-lite.img of = / dev / sdb (nota: en este caso, es / dev / sdb, / dev / sdb1 era una partición de fábrica existente en el microSD)
Configuración de su RaspberriPi
Inserte su nueva tarjeta microSD en el raspberrypi y enciéndalo con un monitor conectado al puerto HDMI
Acceso
usuario: pi pass: frambuesa
Cambie la contraseña de su cuenta por seguridad (desde la terminal)
sudo passwd pi
Habilite las opciones avanzadas de RaspberriPi (desde la terminal)
sudo raspi-config
Elija: 1 Expandir sistema de archivos
9 Opciones avanzadas
A2 Nombre de host cámbielo a "TripComputer"
A4 SSH Habilitar servidor SSH
A7 I2C Habilitar interfaz i2c
Habilitar el teclado inglés / estadounidense
sudo nano / etc / default / keyboard
Cambie la siguiente línea: XKBLAYOUT = "us"
Reinicie PI para que los cambios en la distribución del teclado o el cambio de tamaño del sistema de archivos surtan efecto
$ sudo shutdown -r ahora
Conéctese automáticamente a su WiFi
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Agregue las siguientes líneas para que su raspberrypi se conecte automáticamente al WiFi de su hogar (si su red inalámbrica se llama "linksys", por ejemplo, en el siguiente ejemplo)
network = {ssid = "linksys" psk = "CONTRASEÑA INALÁMBRICA AQUÍ"} Reinicie PI para conectarse a la red WiFi
$ sudo shutdown -r ahora
Ahora que su PI finalmente está en la red local, puede iniciar sesión de forma remota a través de SSH. Pero primero debe obtener la dirección IP que tiene actualmente.
$ ifconfig Busque "inet addr: 192.168. XXX. XXX" en la siguiente salida del comando para la dirección IP de su PI
Vaya a otra máquina e inicie sesión en su raspberrypi a través de ssh
$ ssh [email protected]. XXX. XXX
Comience a instalar los paquetes requeridos
$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt-get install build-essential git gpsd gpsd-clients i2c-tools libi2c-dev python3 python3-pip python-dev python-gps python-Imaging python-pip python-smbus rpi.gpio vim python-psutil
$ sudo pip instalar RPi. GPIO
Actualizar la configuración de la zona horaria local
$ sudo dpkg-reconfigure tzdata
seleccione su zona horaria usando la interfaz
Configure el comando l del directorio simple [opcional]
vi ~ /.bashrc
agregue la siguiente línea:
alias l = 'ls -lh'
fuente ~ /.bashrc
Corregir el resaltado de sintaxis predeterminado de VIM [opcional]
sudo vi / etc / vim / vimrc
descomente la siguiente línea:
sintaxis activada
Paso 2: Suministrado necesario
Pantalla Digole LCD TFT de 2 320x240 (x2)
Humidistato DHT11
RaspberriPi Zero
Desglose GPS Adafruit
Medidores de 52 mm y 2 pulgadas: se utilizan para el vidrio y los bordes de la pantalla.
Contenedor de montaje de calibre 2
Paso 3: imprima el gabinete
En la carpeta "3DPrint /" de este proyecto, imprima el archivo gauges-final.stl que producirá los marcos de pantalla Digole necesarios para montar las 2 pantallas dentro del contenedor de montaje del medidor.
Paso 4: creación de la computadora de viaje
Conecte los siguientes dispositivos a los pines del Pi Zero
Digole (cada uno): 3v / GND / SDA / SCL
DHT11: 5v / GPIO 16 (36) / GND
Conecte el módulo USB GPS a RaspberriPi a través de conexiones HW UART El uso de HW UART para el módulo GPS requiere lo siguiente para liberar la conexión UART en su Pi.
"Cruzado": conecta los pines TX y RX del módulo GPS al RPi TX (GPIO 14/8 pines) y RX (GPIO 15/10 pines) - [TX va a RX en el dispositivo y viceversa.] Conectar RPi 5V al pin VIN y el pin GND del módulo GPS a un pin RPi GND disponible.
Paso 5: Ensamblaje final
Corte un trozo de madera para la parte inferior para sostener los componentes dentro de la carcasa del medidor.
Tome los 2 medidores de 52 mm y 2 pulgadas y corte la parte superior, solo estamos usando el vidrio y el marco para montar nuestras propias pantallas, las pantallas Digole. Pégalos en su lugar con pegamento termofusible.
Paso 6: Ensamblaje final (cont…)
Usando el esquema anterior, conecte los componentes con soldadura para hacer que todo sea fuerte y permanente.
Monte los componentes dentro de la carcasa de doble indicador, use los bordes impresos en 3D para que las pantallas Digole de forma cuadrada se ajusten a las ventanas de los indicadores circulares.
Paso 7: Configuración / instalación del software
Configure su Pi para usar el módulo GPS en UART
sudo vi /boot/cmdline.txt
cambio:
dwc_otg.lpm_enable = 0 consola = ttyAMA0, 115200 kgdboc = ttyAMA0, 115200 consola = tty1 root = / dev / mmcblk0p2 rootfstype = ext4 ascensor = fecha límite rootwait
para:
dwc_otg.lpm_enable = 0 consola = tty1 root = / dev / mmcblk0p2 rootfstype = ext4 ascensor = fecha límite rootwait
(por ejemplo, elimine console = ttyAMA0, 115200 y, si está allí, kgdboc = ttyAMA0, 115200)
Tenga en cuenta que puede ver console = serial0, 115200 o console = ttyS0, 115200 y debe eliminar esas partes de la línea si están presentes.
Ejecute los siguientes comandos:
sudo systemctl detener [email protected]
sudo systemctl deshabilitar [email protected]
Instalación del módulo GPS Para realizar pruebas, fuerce su dispositivo USB para que se conecte a gpsd
sudo gpsd / dev / ttyS0 -F /var/run/gpsd.sock
sudo systemctl detener gpsd.socket
sudo killall gpsd
sudo dpkg-reconfigure gpsd
sudo vi / etc / default / gpsd
# Configuración predeterminada para gpsd. START_DAEMON = "true" GPSD_OPTIONS = "- n" DEVICES = "/ dev / ttyS0" USBAUTO = "false" GPSD_SOCKET = "/ var / run / gpsd.sock"
Asegúrese de que el comando esté funcionando
cgps -s
DHT11 Instalar cd ~
clon de git
cd Adafruit_Python_DHT /
instalación de sudo python setup.py
sudo python ez_setup.py
ejemplos de cd /
vi simpletest.py
Cambie la siguiente línea:
sensor = Adafruit_DHT. DHT11
Comenta la línea
pin = 'P8_11'
Descomente la línea y cambie el número de pin a 16
pin = 16
Ejecutar la prueba
python simpletest.py
Debería ver una lectura métrica de temperatura y humedad en la línea de comando.
Configure y ejecute el cd de scripts ~
clon de git
Paso 8: Instale las herramientas de monitoreo de conducción y el registro de la base de datos
sudo apt-get install ifstat memcached python-memcache postgresql postgresql-contrib python-psycopg2
sudo vi /etc/postgresql/9.4/main/pg_hba.conf
Agregue la siguiente línea al final del archivo:
contraseña local all pi
sudo -i -u postgres
psql
cree la contraseña del rol pi 'contraseña aquí';
alterar el inicio de sesión de pi de rol;
alterar el rol de superusuario pi;
du
(debería ver a su usuario PI con los permisos otorgados)
crear una base de datos de estadísticas de conducción;
q
Salida
psql -d estadísticas_conducción
Ejecute las siguientes consultas:
CREAR TABLA driving_stats (id serial, marca de tiempo sin zona horaria NOT NULL, new_trip_start marca de tiempo sin zona horaria NULL, gps_latitude doble precisión, gps_longitude doble precisión, gps_altitude real, gps_speed real, gps_climb real, gps_track real, locale_adress text text, locale_track texto, texto de locale_county, texto de locale_country, texto de locale_zipcode, inside_temp real, inside_hmidty real, weather_time timestamp, weather_summary text, weather_icon text, weather_apparentTemperature real, weather_humidity real, weather_precipIntensity real, weather_precipProbability real, weather_windSpeedSpeed
CREAR ÍNDICE ÚNICO time_idx ON driving_stats (tiempo);
Se requiere pirateo para que GPSD funcione con la conexión UART al reiniciar sudo su
crontab -e
@reboot / bin / sleep 5; killall gpsd
@reboot / bin / sleep 10; / usr / sbin / gpsd / dev / ttyS0 -F /var/run/gpsd.sock
Cree la carpeta de registros para guardar los datos mkdir / home / pi / TripComputer / computer / logs
Paso 9: Scripts de inicio de Crontab - Pi y raíz
Configurar los scripts para que se ejecuten en el arranque
crontab -e
Agrega las siguientes líneas
@reboot / bin / sleep 15; nohup python /home/pi/TripComputer/computer/mtk3339.py> /home/pi/TripComputer/computer/mtk3339.log 2> & 1
@reboot / bin / sleep 18; nohup python /home/pi/TripComputer/computer/driving.py> /home/pi/TripComputer/computer/driving.log 2> & 1
@reboot / bin / sleep 19; nohup python /home/pi/TripComputer/computer/address.py> /home/pi/TripComputer/computer/address.log 2> & 1
@reboot / bin / sleep 30; nohup python /home/pi/TripComputer/computer/gauges.py> /home/pi/TripComputer/computer/gauges.log 2> & 1
@reboot / bin / sleep 21; nohup python /home/pi/TripComputer/computer/locale.py> /home/pi/TripComputer/computer/locale.log 2> & 1
@reboot / bin / sleep 22; nohup python /home/pi/TripComputer/computer/notification.py> /home/pi/TripComputer/computer/notification.log 2> & 1
@reboot / bin / sleep 24; nohup python /home/pi/TripComputer/computer/temperature.py> /home/pi/TripComputer/computer/temperature.log 2> & 1
@reboot / bin / sleep 25; nohup python /home/pi/TripComputer/computer/upload.py> /home/pi/TripComputer/computer/upload.log 2> & 1
@reboot / bin / sleep 26; nohup python /home/pi/TripComputer/computer/weather.py> /home/pi/TripComputer/computer/weather.log 2> & 1
@reboot / bin / sleep 30; nohup python /home/pi/TripComputer/computer/stats.py> /home/pi/TripComputer/computer/stats.log 2> & 1
Configure el crontab del usuario raíz para asegurarse de que el módulo GPS se conecte correctamente
sudo su
crontab -e
Agrega las siguientes líneas
@reboot / bin / sleep 5; systemctl detener gpsd.socket
@reboot / bin / sleep 8; killall gpsd
@reboot / bin / sleep 12; / usr / sbin / gpsd / dev / ttyS0 -F /var/run/gpsd.sock
Paso 10: Configurar para conectarse a Weather y Dashboard (opcional)
Finalmente, cree la configuración local necesaria para ejecutar la computadora de viaje
Busque el archivo /computer/includes/settings.shadow.py
Cree su propia versión del archivo de configuración llamado simplemente settings.py
Forecast.io API clave para información meteorológica local weatherAPIURL = 'https://api.forecast.io/forecast/'
weatherAPIKey = 'CLAVE API AQUÍ'
si tiene el proyecto del concentrador de dispositivos en ejecución (https://github.com/khinds10/DeviceHub) devicesServer = 'https://my.server.com'
si tiene el proyecto del teléfono del tablero en ejecución (https://github.com/khinds10/RetroDashboard) dashboardServer = 'https://my.server.com'
Paso 11: Móntelo en el humidistato de tablero / soporte y ¡listo
Montar en Dash
Monte el humidistato lejos del sol directo
Reinicie su RPi y debería estar listo para comenzar.
Recomendado:
Convierta un teléfono giratorio en una radio y viaje en el tiempo: 5 pasos (con imágenes)
Convierta un teléfono de disco en una radio y viaje a través del tiempo: ¡pirateé un teléfono de disco en una radio! ¡Levanta el teléfono, elige un país y una década, y escucha buena música! Cómo funciona Este teléfono de disco tiene una microcomputadora incorporada (una Raspberry Pi), que se comunica con radiooooo.com, una radio web. Los
Registrador de datos GPS de bricolaje para su próximo viaje / ruta de senderismo: 11 pasos (con imágenes)
Registrador de datos GPS de bricolaje para su próxima unidad / ruta de senderismo: este es un registrador de datos GPS que puede usar para múltiples propósitos, digamos si desea registrar su viaje largo que tomó durante el fin de semana para ver los colores del otoño. o tiene un sendero favorito que visita durante el otoño todos los años y
Mochila de viaje solar Para cargar sobre la marcha: 5 pasos (con imágenes)
Mochila de viaje solar … Para cargar sobre la marcha: Cargar sobre la marcha nunca será tan fácil. Siga caminando y la estación de energía solar cargará su batería mientras camina bajo el sol. Esto es útil para los viajeros en el desierto. ¡El respaldo de energía puede ayudar a salvar una vida! Las bolsas inteligentes son el futuro
Estuche de viaje Ultimate TS-100: 6 pasos (con imágenes)
Estuche de viaje Ultimate TS-100: La herramienta más importante en mi espacio de trabajo tendría que ser mi soldador TS-100. Debido a esto, me lo llevo a todas partes. Después de algunas caídas accidentales, decidí imprimir un caso rápido (altura de capa 0,7) para que yo
Arreglos simples para la bolsa de viaje diario Timbuktu V.1, para andar en bicicleta: 3 pasos
Arreglos simples para Timbuktu Commute Bag V.1, para andar en bicicleta: Como fanático de Timbuktu con el hábito de andar en bicicleta con una computadora portátil en mi bolsa de mensajero, cuando salieron con la bolsa de viaje, pensé 'perfecto' y pedí una en línea. Yo estaba como woo hoo, esto va a ser genial. Pero cuando lo obtuve me quedé conmocionado y consternado