Tabla de contenido:
- Suministros
- Paso 1: configurar el RPI
- Paso 2: base de datos
- Paso 3: cableado
- Paso 4: Vivienda
- Paso 5: codificación
Video: Estacionamiento inteligente con Raspberry Pi: 5 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
En estas instrucciones crearemos un sistema de estacionamiento completamente automático conectado a una interfaz web. Podrás ver qué lugar se toma, decidir quién entra y quién sale y está equipado con un sistema de iluminación automático.
Suministros
Hardware
- 2x sensores ultrasónicos
- 1x servomotor
- 4 LED blancos
- 1x resistencia dependiente de la luz
- Pantalla LCD 1x 2 * 16
Informática
- 1x frambuesa Pi 3 B +
- 1x tarjeta SD (8-16GB, la elección es suya)
- 1x Adaptador de amplificador Adafruit I2S 3W Clase D - MAX98357A
- 1x MCP3008
- 1 resistencia de 2,2 K ohmios
- 9x Resistencias 1K Ohm
Varios
- Cables de puente
- Tablero de circuitos
- Cable UTP
- Adaptador para tu raspberry pi
- Una hoja de multiplex (puede utilizar cualquier tipo de material que desee para la carcasa)
- Una pistola de pegamento
Software
- Masilla
- Software para editar código (puede usar lo que quiera siempre que sea compatible: Python, HTML, CSS y java script
- Generador de imágenes de disco Win32
- Imagen del sistema operativo Raspbian
- Visor de VNC (opcional)
Paso 1: configurar el RPI
Antes de comenzar con el cableado del hardware, escriba el
software y hacer la carcasa, necesitaremos configurar su PI con el software necesario que necesitará para ejecutar el proyecto.
Necesitará una imagen de Raspbian para poner en su tarjeta SD y escribirla en la tarjeta SD Win32 Disk Imager. Puede encontrar enlaces a ambos a continuación.
- Generador de imágenes de disco Win32:
- Imagen de Raspbian:
La instalación
-
Abra Win32 Disk Imager
- Seleccione la imagen que acaba de descargar a través del icono de carpeta
- Seleccione su tarjeta SD a través del menú desplegable
- Haga clic en escribir
- Cuando finalice el proceso, su computadora probablemente le preguntará si desea formatear la tarjeta SD, no haga esto
Cuando haya terminado con estos pasos, deberá hacer algunas cosas adicionales para poder acceder al software de su PI.
- Abra la tarjeta SD en su explorador
- Abra el archivo "cmdline.txt"
- Verá una línea larga de texto al final agregue: ip = 169.254.10.1
- Guarda el archivo
- Cree un archivo llamado ssh sin extensión (si no sabe cómo hacer esto, simplemente haga clic en un archivo nuevo, seleccione un archivo de texto nuevo, elimine la extensión y asígnele el nombre ssh)
- El último paso de esta parte es expulsar de forma segura la tarjeta SD y colocarla en la Raspberry PI
Conectando
Cuando haya terminado de realizar los pasos anteriores, es hora de conectarse a su pi por primera vez. Primero deberá conectar su cable UTP, un extremo en su computadora y el otro en su pi (es importante que conecte el cable LAN antes de conectarlo).
- Instale Putty:
- Una vez que lo haya instalado, ábralo e ingrese 169.254.10.1 en el cuadro IP
- Seleccione SSH y complete el puerto 22
- Haga clic en abrir
- Complete el nombre de usuario: pi y la contraseña frambuesa, este es el inicio de sesión estándar en una imagen nueva
Raspi-config
Antes de continuar, tendrá que cambiar bastantes configuraciones en el menú raspi-config, ábralo usando:
sudo raspi-config
1. Habilite I2C y SPI en las opciones de la categoría de interfaces
2. Elija su país WIFI a través de la categoría de localización
3. Establezca la configuración de Escritorio / CLI en la categoría de opciones de arranque en Inicio de sesión automático de escritorio.
4. En Opciones avanzadas, elija A1 Expandir sistema de archivos (esto asegura que use el espacio de toda la tarjeta SD
5. Ahora sal y reinicia sudo.
Wifi
Ahora es el momento de configurar su conexión wifi. Por supuesto, necesitará las credenciales de su wifi.
Primero entre en modo root ejecutando este comando
Sudo -i
Ahora tiene los derechos necesarios para ejecutar estos comandos:
Asegúrese de cambiar SSID a su nombre de wifi y PASSWORD a su contraseña de wifi
Wpa_passphrase “SSID” “PASSWORD” >> /etc/wpa_supplicant/wpa_supplicant.conf
Ingrese al cliente WPA ejecutando este comando:
wpa_cli
Seleccione la interfaz
Interfaz wlan0
Recargar la configuración
Reconfigurar
Por último, pero no menos importante, compruebe si funcionó. Puede hacer esto ingresando:
Ip a
Aquí puede verificar si tiene una ip en las interfaces WLAN0 si no sudo reboot (nunca falla (:).
Si no se siente cómodo haciéndolo a través de la línea de comandos, siempre puede hacerlo a través de la GUI de Raspbian, que es un poco más fácil de usar.
- Instale VNC-viewer aquí:
- Haga clic en archivo, nueva conexión e ingrese en la barra de direcciones IP: 169.254.10.1 y elija el nombre que desee
- Complete el nombre de usuario: pi y la contraseña raspberry
- Haga clic en el icono de wifi y conéctese de esa manera
Paquetes
Ahora que estamos conectados a Internet, podemos instalar los paquetes que necesitamos para ejecutar todo el código.
Primero, necesitaremos actualizar la lista de paquetes a la última ejecutando:
actualización de sudo apt
actualización de sudo apt
Servidor web Apache
Necesitaremos un servidor web para ejecutar nuestra aplicación web. Podemos lograr esto instalando el servidor web apache ejecutando este comando:
sudo apt install apach2 -y
Paquetes de Python
Para que todo funcione, necesitaremos bastantes paquetes. Estos son los que vamos a necesitar.
- Matraz
- Matraz-Cors
- Extensión de matraz
- Frasco-MySQL
- Matraz-SocketIO
- Python-socketio
Puede instalarlos ejecutando este comando:
pip install Flask Flask-Cors Flask-Extension Flask-MySQL Flask-SocketIO python-socketio
Paso 2: base de datos
MariaDB
Ejecute el siguiente comando para instalar MariaDB, este es el sistema de base de datos necesario para realizar un seguimiento de todos los datos que leen los sensores.
sudo apt install mariadb-server
Ahora necesitaremos asegurar nuestra instalación.
Mysql_secure_installation
Una vez que haya ejecutado el comando, nos pedirá una contraseña de root que aún no tenemos, así que presione Intro.
Ahora le preguntará si quiere uno por razones de seguridad, queremos uno, así que presione Y en su teclado y elija la contraseña que desee.
Ahora continuará haciéndole algunas preguntas más, solo responda Y a todas.
Bien, ahora que hemos llegado a este punto, tenemos que ir al shell SQL.
Para hacer esto primero tenemos que volvernos root nuevamente para otorgarnos los privilegios para hacerlo ingresando este comando nuevamente:
sudo -i
Ahora ingrese al shell mysql
mysql
Ahora vamos a crear un usuario que ponga el nombre que desee entre las comillas antes de la @ y la contraseña que desee después identificada por
Ahora tenemos que vaciar la tabla de permisos ejecutando este comando:
PRIVILEGIOS DE FLUSH;
Después de completar estos pasos, puede volver a crear el esquema de base de datos de la imagen de arriba. Desafortunadamente, no puedo darle un volcado de la base de datos porque estoy experimentando algunos errores de software.
Paso 3: cableado
Ahora es el momento de hacer el cableado del proyecto. Para facilitar un poco el proceso, primero haga un esquema en un programa llamado fritzing. Fritzing hace que sea más fácil recrear su cableado en la vida real y obtener una imagen clara de lo que está haciendo.
Paso 4: Vivienda
El primer paso es cortar la madera con las formas que se ven en el dibujo. Lo hice mediante corte con láser, pero una sierra normal funcionará igual de bien. Después de eso, querrá pintar la madera de negro para obtener el color del asfalto. Una vez que la pintura esté seca, puede pintar las franjas blancas para obtener esa sensación de estacionamiento. Para la cerca, pinté con aerosol pajitas para que parecieran postes. Para la valla en sí, coloqué algunas goas en los postes. La barrera está hecha de paer maché que luego pinté con spray.
Paso 5: codificación
Backend: el backend del proyecto está escrito en Python y TSQL. Lee todos los datos de los sensores y los escribe en la base de datos que creamos un poco antes. También ejecuta un servidor web para que podamos conectar nuestro frontend a él. Escribí el código necesario para el backend en pycharm pero, por supuesto, puedes usar lo que quieras.
Puede encontrar el código para el backend aquí:
Frontend: El frontend está escrito en HTML, CSS y Javascript. Usé una combinación de código de estudio visual y phpstorm para escribir el código. Básicamente, el código escribe todo el sitio web y en los archivos javascript puede encontrar el código necesario para obtener los datos del backend.
Puede encontrar el código para la interfaz aquí:
Recomendado:
Sistema de estacionamiento inteligente basado en IoT con NodeMCU ESP8266: 5 pasos
Sistema de estacionamiento inteligente basado en IoT usando NodeMCU ESP8266: Hoy en día, encontrar estacionamiento en áreas concurridas es muy difícil y no existe un sistema para obtener los detalles de la disponibilidad de estacionamiento en línea. Imagínese si puede obtener la información de disponibilidad de espacios de estacionamiento en su teléfono y no tiene roaming para verificar t
Estacionamiento inteligente basado en IOT: 7 pasos
Estacionamiento inteligente basado en IOT: por Tanmay Pathak y Utkarsh Mishra. Estudiantes en el Instituto Internacional de Tecnología de la Información, Hyderabad (IIITH) RESUMEN Implementamos con éxito un sistema de estacionamiento inteligente basado en IOT. Con la ayuda de nodos individuales (sensores de proximidad) siempre
Seguridad ciberfísica del estacionamiento inteligente y el control del tráfico: 6 pasos
Seguridad ciberfísica del estacionamiento inteligente y el control del tráfico: Internet está creciendo con miles de millones de dispositivos, incluidos automóviles, sensores, computadoras, servidores, refrigeradores, dispositivos móviles y mucho más a un ritmo sin precedentes. Esto introduce múltiples riesgos y vulnerabilidades en la infraestructura, operación y
Sensor de estacionamiento LED con energía solar: 8 pasos (con imágenes)
Sensor de estacionamiento LED con energía solar: nuestro garaje no tiene mucha profundidad, y tiene gabinetes al final para reducir aún más la profundidad. El auto de mi esposa es lo suficientemente corto como para caber, pero está cerca. Hice este sensor para simplificar el proceso de estacionamiento y para asegurarme de que el auto estuviera lleno
Estacionamiento inteligente Arduino: 4 pasos
Arduino Smart Parking: Bill Blankenship, Willam Bailey, Hannah Hargrove Con el uso de una placa Arduino, nuestro grupo logró crear un sistema que permitiría a los sensores de luz detectar cuándo un automóvil estaba ocupando un espacio o si el espacio está vacío. Después de sesenta y ocho líneas, e