Tabla de contenido:

Estacionamiento inteligente con Raspberry Pi: 5 pasos
Estacionamiento inteligente con Raspberry Pi: 5 pasos

Video: Estacionamiento inteligente con Raspberry Pi: 5 pasos

Video: Estacionamiento inteligente con Raspberry Pi: 5 pasos
Video: Aprende Domótica con Raspberry Pi | ESPhome | Instalación y proyectos básicos con Home Assistant Ep1 2024, Noviembre
Anonim
Estacionamiento inteligente con Raspberry Pi
Estacionamiento inteligente con Raspberry Pi

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

  1. Abra Win32 Disk Imager

    1. Seleccione la imagen que acaba de descargar a través del icono de carpeta
    2. Seleccione su tarjeta SD a través del menú desplegable
    3. Haga clic en escribir
    4. 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.

  1. Abra la tarjeta SD en su explorador
  2. Abra el archivo "cmdline.txt"
  3. Verá una línea larga de texto al final agregue: ip = 169.254.10.1
  4. Guarda el archivo
  5. 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)
  6. 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).

  1. Instale Putty:
  2. Una vez que lo haya instalado, ábralo e ingrese 169.254.10.1 en el cuadro IP
  3. Seleccione SSH y complete el puerto 22
  4. Haga clic en abrir
  5. 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.

  1. Instale VNC-viewer aquí:
  2. 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
  3. Complete el nombre de usuario: pi y la contraseña raspberry
  4. 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

Base de datos
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

Alambrado
Alambrado
Alambrado
Alambrado
Alambrado
Alambrado

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

Alojamiento
Alojamiento
Alojamiento
Alojamiento
Alojamiento
Alojamiento

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

Codificación
Codificación
Codificación
Codificación
Codificación
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: