Tabla de contenido:
- Paso 1: componentes
- Paso 2: cableado
- Paso 3: esquema de la base de datos
- Paso 4: configurar Arduino Nano
- Paso 5: configura la Raspberry Pi
- Paso 6: Vivienda + Hall
- Alojamiento
- Sensor de efecto Hall
- Paso 7: iniciar la aplicación
Video: Skate-o-Meter: 7 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Soy estudiante en Howest Kortrijk. Para mostrar nuestras habilidades a los lectores que necesitábamos construir un proyecto, elegí crear un odómetro y un velocímetro para mi patineta con un escáner RFID. En este instructivo, voy a decir cómo hice este proyecto.
Se me ocurrió esta idea porque me gusta patinar y navegar. Mientras navego, sería útil ver cuánta distancia he recorrido y ver mi velocidad.
Tenga en cuenta que este es un prototipo.
Paso 1: componentes
Componentes
Usé los siguientes componentes para crear este proyecto:
- Patineta
- Potenciómetro
- LCD
- Sensor de efecto Hall
- Resistencia de 10k ohmios
- Frambuesa pi
- Arduino Nano
- Cable de puente (hembra a macho)
- Cable de puente (Raspberry Pi)
- Cable de puente (macho a macho)
- tarjeta de circuito impreso
- Escáner RFID
- Insignia RFID
- Banco de energía
Consulte BillOfMaterials para obtener enlaces y precios
Paso 2: cableado
La sala tiene 3 pines: un VCC, un GND y una salida. La tierra va a un GND. El VCC a 3.3V y la salida en este ejemplo va a GPIO 26. Una resistencia de 10K Ohm eleva la salida.
Utilizo la comunicación en serie a través del USB entre la raspberry pi y el arduino nano para leer las insignias. Esto no está en la imagen, ¡pero es obligatorio!
D9 RST (Restablecer) D10 SDA (SS) (SPI SS) D11 MOSI (SPI MOSI) D12 MISO (SPI MISO) D13 SCK (SPI SCK) GND GND3.3V 3.3V
Paso 3: esquema de la base de datos
Mi base de datos tiene 3 tablas:
- Usuarios
- Sesión
- Datos
Cada usuario puede realizar un seguimiento de los datos por separado. Una sesión tiene datos para que sepa qué tan rápido avanzó en ciertos puntos mientras se desarrollaba la sesión.
Paso 4: configurar Arduino Nano
Primero coloque su arduino nano en su PC a través del cable USB. Seleccione el arduino correcto y el puerto usb correcto para cargar.
A continuación, debemos agregar la biblioteca que uso para leer la tarjeta RFID. Descargue 'rfid-master' y vaya al boceto, incluya la biblioteca y luego agregue la biblioteca. ZIP. Vaya al zip que acaba de descargar y use este, se instalará automáticamente. Después de eso, descargue mi 'RFID_Read.ino' editado, presione ctrl + O agregue el mismo tiempo y vaya a este archivo y ábralo.
Si realizó todos estos pasos anteriores, puede verificar el archivo. Si falla la primera vez, inténtelo una vez más. Si tiene éxito, puede cargarlo en su arduino. Usando el atajo ctrl + shift + m puede abrir el monitor serial. Puede probar el archivo aquí. Si la prueba tiene éxito, puede desenchufar el arduino y enchufarlo en un puerto usb de la raspberry pi
Paso 5: configura la Raspberry Pi
En estos pasos, configuraremos el raspberry pi como base de datos y servidor web.
EN ESTE EJEMPLO, UTILIZO EL USUARIO 'yo' SI USTED UTILIZA OTRO USUARIO QUE NECESITA CAMBIAR LOS ARCHIVOS DE CONFIGURACIÓN, ¡TENGA ESTO EN MENTE!
1. Cree un usuario:
Crea una variable
pieter @ rpipieter: ~ $ usuario = yo
Haciendo que el usuario sudo y agregando a todos los grupos
grupos = $ (id pi -Gn | sed 's / ^ pi // g' | sed 's / /, / g') sudo useradd $ {usuario} -s / bin / bash -m -G $ {grupos} sudo sed "s / ^ pi / $ {usuario} /" /etc/sudoers.d/010_pi-nopasswd | sudo tee "/etc/sudoers.d/011_${user}-nopasswd" sudo passwd $ {usuario}
Iniciar sesión en la cuenta
pieter @ rpipieter: ~ $ su - yo
Contraseña: me @ my-rpi: ~ $
2. Conéctese con el WiFi
yo @ rpipieter: ~ $ sudo -iroot @ rpipieter: ~ # echo 'Contraseña' | wpa_passphrase 'Networkname' >> /etc/wpa_supplicant/wpa_supplicant.conf root @ rpipieter: ~ # wpa_cli -i wlan0 reconfigure root @ rpipieter: ~ # logout
Comprueba si Internet funciona
root @ rpipieter: ~ # wget google.com
3. Actualización de la Raspberry Pi e instalación de los paquetes necesarios
yo @ my-rpi: ~ $ sudo apt update
yo @ my-rpi: ~ $ sudo apt upgrade me @ rpipieter: ~ $ sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3 gitme @ my-rpi: ~ $ sudo reiniciar -h ahora
4. Clonar mi repositorio de github
yo @ rpipieter: ~ $ git clone
me @ rpipieter: ~ $ cd skate-o-meter / skateometer /
5. Creando el entorno virtual
Mientras se ejecutan estos comandos, se instalarán muchos paquetes, esto puede llevar algún tiempo.
me @ rpipieter: ~ / skate-o-meter / skateometer $ python3 -m pip install --upgrade pip setuptools wheel virtualenv
me @ rpipieter: ~ / skate-o-meter / skateometer $ python3 -m venv --system-site-packages env (env) me @ rpipieter: ~ / skate-o-meter / skateometer $ python -m pip install mysql- conector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib pyserial pyjwt RPi. GPIO
6. Creación de la base de datos y los usuarios
Estamos usando la base de datos mysql
pieter @ rpipieter: ~ / skate-o-meter / skateometer $ cd
pieter @ rpipieter: ~ $ sudo mysql
Luego copia, pega esto
GRANT SELECT, INSERT, UPDATE, DELETE ON *. * TO 'som-data' @ 'localhost'; ESTABLECER CONTRASEÑA PARA 'som-data' @ 'localhost' = PASSWORD ('sensor9810'); seleccione * de mysql.user; CREAR USUARIO 'som-admin' @ 'localhost' IDENTIFICADO POR 'admin9810'; CREAR USUARIO 'som-web' @ 'localhost' IDENTIFICADO POR 'web9810'; CREAR USUARIO 'som-sensor' @ 'localhost' IDENTIFICADO POR 'sensor9810'; CREAR BASE DE DATOS skateometerdb; OTORGAR TODOS LOS PRIVILEGIOS EN skateometerdb. * A 'som-admin' @ 'localhost' CON OPCIÓN DE OTORGAMIENTO; GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb. * TO 'som-web' @ 'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON skateometerdb. * TO 'som-sensor' @ 'localhost'; PRIVILEGIOS DE FLUSH;
A continuación, agregaremos el esquema de base de datos existente con relaciones.
yo @ rpipieter: ~ / skate-o-meter / skateometer $ sudo mysql <sql / skateometerdb_dump-withoutdata.sql
7. Servicios
Aquí copiamos nuestros archivos de configuración y recargamos la carpeta para que podamos habilitar los servicios
me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo cp conf / som - *. service / etc / systemd / systemme @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl daemon-reload
Ahora vamos a habilitar los servicios para que cada vez que iniciemos el raspberry pi estos se inicien automáticamente con él.
me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl enable som-flask.service
Enlace simbólico creado /etc/systemd/system/multi-user.target.wants/som-flask.service → /etc/systemd/system/som-flask.service. me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl enable som-data.service Enlace simbólico creado /etc/systemd/system/multi-user.target.wants/som-data.service → / etc / systemd / system / som-data.service. me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl start som-data.service me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo systemctl start som-flask.service
8. NGINX
me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo cp conf / nginx / etc / nginx / sites-available / skateometerme @ rpipieter: ~ / skate-o-meter / skateometer $ sudo rm / etc / nginx / sites -enabled / default me @ rpipieter: ~ / skate-o-meter / skateometer $ sudo ln -s / etc / nginx / sites-available / skateometer / etc / nginx / sites-enabled / skateometerme @ rpipieter: ~ / skate-o -meter / skateometer $ sudo systemctl restart nginx.service
Paso 6: Vivienda + Hall
Alojamiento
Primero hice un agujero en mi patineta para la pantalla LCD, el potenciómetro y el timbre. Después de eso, soldé la pantalla LCD, el potenciómetro y el zumbador en la PCB. Luego utilicé un cable de puente para el RPI, el que tiene 40 pines. Pongo un lado en la frambuesa pi y la otra mitad lo corto, este lado lo vamos a usar para soldar. En el archivo 'rpi-cable' puede ver dónde necesita soldar qué cable.
Para la carcasa utilicé una vieja caja curver, le puse algunos agujeros para un cable ethernet y para que el cable de puente venga en la caja.
Guardo la caja debajo de la patineta con un tornillo. Dentro de la caja arreglé todo, para que encajara y también usé tornillos y algunas gomas para mantener todo en su lugar. Esto hace que sacar cosas sea más fácil.
La RFID está montada en la luz de la caja y se mantiene en su lugar con neumáticos de cremallera, un problema que encontré fue que a veces no escaneaba, pero con algunos cambios lo hice funcionar.
Sensor de efecto Hall
Primero hice un agujero en mi rueda y le puse un imán.
Para la sala se utilizan 3 cables de puente (macho a macho). Los solté en mi PCB también en la propia sala. Monté el sensor de pasillo en mi camión con algunos neumáticos. Asegúrese de que el imán y el sensor estén bien alineados, de lo contrario, no siempre registrará el pulso.
Paso 7: iniciar la aplicación
Paso 1:
Enchufa la frambuesa y el banco de energía.
Paso 2:
Espere hasta que comience el programa, puede seguir esto en la pantalla LCD. Verá la dirección IP, vaya a esta dirección IP.
Paso 3:
Crea un usuario, puedes hacerlo registrándote. Debe escanear la placa para ver su UID de la placa en la pantalla LCD.
Paso 4:
Si creó un usuario, puede escanear su credencial y se iniciará una sesión.
Paso 5:
Ir de crucero
Paso 6:
Escanee la insignia nuevamente para detener la sesión
Paso 7:
Inicie sesión para ver su sesión y los datos detallados de la sesión
Recomendado:
Oficina con pilas. Sistema solar con paneles solares y turbina eólica con conmutación automática Este / Oeste: 11 pasos (con imágenes)
Oficina con pilas. Sistema solar con paneles solares y turbina eólica con conmutación automática de este a oeste: El proyecto: Una oficina de 200 pies cuadrados debe funcionar con baterías. La oficina también debe contener todos los controladores, baterías y componentes necesarios para este sistema. La energía solar y eólica cargará las baterías. Hay un pequeño problema de solo
Cómo: Instalación de Raspberry PI 4 Headless (VNC) con Rpi-imager e imágenes: 7 pasos (con imágenes)
Cómo: Instalar Raspberry PI 4 Headless (VNC) con Rpi-imager e imágenes: planeo usar este Rapsberry PI en un montón de proyectos divertidos en mi blog. No dudes en comprobarlo. Quería volver a usar mi Raspberry PI, pero no tenía un teclado ni un mouse en mi nueva ubicación. Ha pasado un tiempo desde que configuré una Raspberry
Inteligencia artificial y reconocimiento de imágenes con HuskyLens: 6 pasos (con imágenes)
Inteligencia artificial y reconocimiento de imágenes con HuskyLens: ¡Hola, chicos! Akarsh aquí de CETech. En este proyecto, vamos a echar un vistazo a HuskyLens de DFRobot. Es un módulo de cámara impulsado por inteligencia artificial que es capaz de realizar varias operaciones de inteligencia artificial como el reconocimiento facial
Reconocimiento de imágenes con placas K210 y Arduino IDE / Micropython: 6 pasos (con imágenes)
Reconocimiento de imágenes con placas K210 y Arduino IDE / Micropython: ya escribí un artículo sobre cómo ejecutar demostraciones de OpenMV en Sipeed Maix Bit y también hice un video de demostración de detección de objetos con esta placa. Una de las muchas preguntas que la gente ha hecho es: ¿cómo puedo reconocer un objeto que la red neuronal no está tr
Cómo desmontar una computadora con sencillos pasos e imágenes: 13 pasos (con imágenes)
Cómo desmontar una computadora con sencillos pasos e imágenes: esta es una instrucción sobre cómo desmontar una PC. La mayoría de los componentes básicos son modulares y se quitan fácilmente. Sin embargo, es importante que se organice al respecto. Esto ayudará a evitar que pierda piezas y también a que el reensamblaje sea más fácil