Tabla de contenido:

SmartHome con Raspberry Pi: 5 pasos
SmartHome con Raspberry Pi: 5 pasos

Video: SmartHome con Raspberry Pi: 5 pasos

Video: SmartHome con Raspberry Pi: 5 pasos
Video: Home Automation Raspberry Pi Distribution Board DIY | IOT Project 2023 2024, Noviembre
Anonim
SmartHome con Raspberry Pi
SmartHome con Raspberry Pi

Para este proyecto hice un SmartHome que puede ser operado por un sitio web y un móvil. Para ello utilizo Raspberry PI como base de datos y servidor web.

Suministros

Si desea comenzar esto, necesita varias cosas:

  • 5 leds blancos (5mm)
  • 1 sensor de temperatura de un cable
  • 1 LDR (resistencia dependiente de la luz)
  • 2 servomotores
  • 1 microSD (para Raspberry Pi)
  • 1 fuente de alimentación de tablero
  • 1 Raspberry Pi 3 Modelo B +
  • 3 platos de espuma
  • 1 motor paso a paso (5V)
  • 1 lector RFID-RC522
  • 8 resistencias (220 ohmios)
  • 1 resistencia (10K ohmios)
  • 2 placas de prueba
  • 2 paquetes de cables de puente
  • 1 pantalla LCD 16x2
  • 1 PCF8574AN
  • 4 ventanas pequeñas (impresas en 3D)
  • 1 puerta (impresa en 3D)
  • 2 ventanas grandes (impresas en 3D)
  • 1 puerta de garaje (impresa en 3D)

Si necesitas todo esto para comprar, el coste máximo rondará los 150 €.

Paso 1: cableado

Alambrado
Alambrado
Alambrado
Alambrado
Alambrado
Alambrado

La forma más fácil de comenzar es con el cableado para que ya tenga lo básico, con este método puede verificar fácilmente si todo funciona cuando está escribiendo el código.

De esta manera, puede ver si tiene suficientes pines en la Raspberry Pi para conectar todo. En este caso utilicé el PCF8574AN para controlar mi LCD con menos pines GPIO.

Para dibujar el esquema usé Fritzing. Es un programa útil donde puede ver su cableado de una manera bien organizada.

Como puedes ver en la segunda foto hay muchos cables por lo que aún tienes que trabajar de forma organizada.

Paso 2: Vivienda

Alojamiento
Alojamiento
Alojamiento
Alojamiento
Alojamiento
Alojamiento
Alojamiento
Alojamiento

Para la vivienda utilicé placas de espuma como paredes. Usé un cuchillo para cortar las tablas en las formas deseadas. Las ventanas, puertas y puerta del garaje están impresas en 3D. Por supuesto, dibujé la casa de antemano para saber qué dimensiones tenía que usar.

Usé SketchUp para dibujar la casa. Usé una pistola de pegamento para mantener las paredes rectas y unidas, si puede ver en las fotos, la ventana y la puerta del garaje están unidas con pegamento para que sea lo suficientemente fuerte. en la 3ª foto hay una caja que solía transportar para que todo quede intacto

Paso 3: base de datos

Base de datos
Base de datos

En primer lugar, debe diseñar la base de datos utilizando Mysql Workbench. Si tiene éxito, debe instalar la base de datos Mysql en la Raspberry Pi.

El primer paso que debe tomar es verificar si su Pi está actualizado. Puede utilizar el siguiente comando:

sudo apt-get update

y

sudo apt-get upgrade

Ahora puede instalar el servidor Mysql:

sudo apt-get install mysql-server

Si el servidor Mysql está instalado, instale el cliente Mysql

sudo apt-get install mysql-client

Si ahora observa el servidor SQL mediante el comando:

sudo mysql

Ahora puede importar el código de su base de datos abriendo el archivo.mwb con el banco de trabajo sql y el ingeniero avanzado. Copie el código y péguelo en mysql desde la frambuesa. La base de datos está hecha.

Para que el usuario obtenga todos los permisos, simplemente agregue su nombre de usuario en la tabla

conceda todos los privilegios en smarthome. * a 'yourname' @ '%' identificado por 'yourname';

por supuesto, necesitas actualizar la tabla ahora

PRIVILEGIOS DE FLUSH;

Para comprobar esto, simplemente puede intentar:

use smarthome;

seleccionar * de historiek;

En la tabla de usuarios se juntan los nombres de los usuarios con su credencial, aquí puede agregar nuevos usuarios. En la tabla de dispositivos puede encontrar todos los sensores activos con su id. La tabla histórica muestra todo lo que está sucediendo como el sensor de temperatura, la placa con el estado de la puerta del garaje y más.

Paso 4: configuración

Para configurar la imagen en la Raspberry Pi puedes usar Putty, este es un programa gratuito. Puedes encontrar el archivo de imagen base aquí:

Interfaces

Por supuesto, necesita habilitar algunas interfaces en la Pi. Primero ve a la página de configuración.

sudo raspi-config

Ahora puede ir a las categorías 1-Wire y Spi y ambas habilitarlas. Los necesitará para el sensor de temperatura.

Wifi

Siga los siguientes pasos para obtener wifi en el Pi.

Primero inicie sesión como root

sudo-i

Luego ingrese el nombre y la contraseña de su red wifi

wpa_passphrase = "wifiname" "contraseña" >> /etc/wpa_supplicant/wpa_supplicant.conf

Luego ingrese al cliente WPA

wpa_cli

seleccione la interfaz

interfaz wlan0

Ahora recarga la configuración

reconfigurar

Y ahora puedes comprobar si estás conectado

ip a

Paquetes

Lo primero que debe hacer es actualizar las últimas versiones.

actualización de sudo apt

Para Python, instalamos y nos aseguramos de que Pi esté eligiendo la versión correcta.

actualizar-alternativas --instalar / usr / bin / python python /usr/bin/python2.7 1 actualizar-alternativas --instalar / usr / bin / python python / usr / bin / python3 2

Para que el servidor web ejecute el sitio, necesitamos instalar Apache2

sudo apt install apache2 -y

También es necesario instalar algunos paquetes de Python

  • Matraz
  • Matraz-Cors
  • Frasco-MySQL
  • Matraz-SocketIO
  • PyMySQL
  • Python-socketIO
  • peticiones
  • pepita
  • gpio
  • Gevent
  • Gevent-websocket

si hay problemas con un paquete que no se encuentra, simplemente haga clic derecho sobre él y deje que se instale.

Paso 5: Código

Código
Código
Código
Código

backend

Para el backend, escribimos el código en python y usamos pycharm para escribir. Las rutas desde el backend se pueden verificar con el cartero. Con esta aplicación puede utilizar los métodos POST y GET. En el backend utilicé subprocesos múltiples para que todo se ejecute en segundo plano y pueda funcionar en conjunto. Para configurar la imagen en la Raspberry Pi puedes usar Putty, este es un programa gratuito.

Interfaz

En la parte frontal hay algunos botones que pueden encender las luces, abre el puerto y la puerta del garaje. Al usar javascript y CSS, el estilo de los botones cambia cuando están activos. También hay una temperatura en vivo y un gráfico con las temperaturas pasadas. En la página de usuario puede ver los distintos usuarios, también puede agregar un usuario a la base de datos y hay un historial de usuarios donde puede ver quién abrió o cerró la puerta del garaje como último.

Puede encontrar el código para el frontend y el backend en

github.com/NMCT-S2-Project-1/nmct-s2-proje…

Recomendado: