Tabla de contenido:

Home_X: 5 pasos
Home_X: 5 pasos

Video: Home_X: 5 pasos

Video: Home_X: 5 pasos
Video: Washroom design 7' x 5' [feet] bathroom design.#bathroom #highlights #youtubechannel 2024, Mes de julio
Anonim
Inicio_X
Inicio_X

Soy un estudiante en Howest Kortrijk que estudia Nuevos Medios y Tecnología de la Comunicación (NMCT).

Todos tuvimos que hacer un proyecto basado en frambuesa y / o Arduino. Tuvimos que usar sensores y bases de datos para mostrar los datos en un sitio web, y fue entonces cuando se me ocurrió la idea de crear una mini casa inteligente.

Con la casa inteligente, podrá ver todas las lecturas de los sensores en el sitio web.

En este instructivo, lo guiaré a través de cada paso para que pueda recrear este proyecto por sí mismo.

Paso 1: Materiales: ¿Qué necesita?

  • Frambuesa pi
  • DHT22
  • Grove - Sensor de calidad del aire
  • Grove - Sensor de gas (MQ2)
  • Tablero de circuitos
  • Zapatero Raspberry Pi T
  • Cables de puente macho / hembra
  • LED de 5 mm
  • Resistencias
  • Madera y herramientas
  • Servo motor
  • GrovePi +

Puede comprar estos artículos en línea (Ali express, amazon, kiwi electronics…) o en sus tiendas locales.

A continuación, en la lista de materiales, se proporciona una lista detallada de piezas con un enlace a las tiendas.

Paso 2: cableado

Alambrado
Alambrado
Alambrado
Alambrado

Usé Fritzing para el cableado para tener una buena descripción general de cómo se debe hacer mi cableado. Yo mismo usé un GrovePi + para 2 de mis sensores. Si planea hacer esto sin un GrovePi +, siga el esquema de Fritzing. Los sensores no funcionan para usted, intente usar diferentes pines.

Puede encontrar el archivo Fritzing a continuación.

Paso 3: Base de datos usando MySQL

Base de datos usando MySQL
Base de datos usando MySQL

Una de las tareas más esenciales que tuvimos que implementar fue la conexión con una base de datos MySQL.

Cada vez que un sensor obtiene lecturas o se enciende una luz, verá estos cambios en la base de datos.

Luego, la base de datos envía estos datos al sitio web para que el usuario también pueda verlos allí.

A continuación puede encontrar mi archivo.xml donde tiene una descripción general de cómo funciona la base de datos, pero primero tienes que instalar MySQL y flashear en la Raspberry Pi.

La codificación de los sensores se realizó a través de pycharm, así que asegúrese de que también esté instalado (en su computadora).

Primero debe buscar actualizaciones e instalar paquetes, como este:

sudo apt-get update && sudo apt-get upgrade

sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3

Ahora vamos a utilizar un entorno virtual:

me @ my-rpi: ~ $ python3 -m pip install --upgrade pip setuptools wheel virtualenvme @ my-rpi: ~ $ mkdir project1 && cd project1 me @ my-rpi: ~ / project1 $ python3 -m venv --system- site-packages env me @ my-rpi: ~ / project1 $ source env / bin / active (env) me @ my-rpi: ~ / project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-conector-python passlib

Debería decirle que mariadb.service está activo.

Ahora, en pycharm, vaya a VCS> Importar desde Control de versiones> GitHub y clone

Luego configure la configuración de implementación para el directorio que acaba de crear, p. Ej. / inicio / me / proyecto1.

Una vez hecho esto, vaya a la configuración del intérprete y configure el entorno virtual que acaba de crear, p. Ej. / inicio / me / proyecto / env / bin / python. El mapeo de rutas también debe completarse.

Si hizo todo esto, la base de datos ya debería estar ejecutándose.

sudo systemctl estado mysql

Ahora necesitamos crear usuarios para nuestra base de datos, así:

sudo mariadb

CREAR USUARIO 'project-admin' @ 'localhost' IDENTIFICADO POR 'adminpassword'; CREAR USUARIO 'project-web' @ 'localhost' IDENTIFICADO POR 'webpassword'; CREAR USUARIO 'project-sensor' @ 'localhost' IDENTIFICADO POR 'sensorpassword'; Proyecto CREATE DATABASE;

OTORGAR TODOS LOS PRIVILEGIOS DEL proyecto. * A 'project-admin' @ 'localhost' CON OPCIÓN DE GRANT; GRANT SELECT, INSERT, UPDATE, DELETE ON project. * TO 'project-web' @ 'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON project. * TO 'project-sensor' @ 'localhost'; PRIVILEGIOS DE FLUSH;

Ahora para ver nuestra base de datos en pycharm tenemos que hacer una conexión.

Podemos hacer esto yendo a Ver> Ventanas de herramientas> Base de datos y haciendo clic en el botón verde "más".

Fuente de datos> MySQL y haga clic (si está presente) en el botón Descargar controlador que aparece.

Luego vaya a SSH / SSL y verifique SSH. Ingrese host / usuario / contraseña para el pi y use el puerto 22 si aún no lo ha completado.

Si desea que Pycharm recuerde su contraseña, marque la casilla de verificación "Recordar contraseña".

En la pestaña "General", complete localhost en host, proyecto en Base de datos y use project-admin con la contraseña para poder probar la conexión.

Para que ahora la base de datos sea utilizable, debe ejecutar el.sql que coloco a continuación. Intente usar la opción de importación, si no puede importar un archivo de volcado, debe agregar las tablas manualmente.

Una vez hecho esto, debe encontrar el directorio conf con los dos archivos.service. Allí cambie cada seb que encuentre con el nombre del usuario que usa en su pi. Además, el grupo debe ser www-data.

El siguiente paso es iniciar estos servicios en su pi, así:

sudo cp conf / project - *. service / etc / systemd / system /

sudo systemctl daemon-reload

sudo systemctl iniciar proyecto- *

sudo systemctl status proyecto- *

Debería ver dos servicios activos cuando todo vaya según el plan.

El último paso es habilitar nginx.

Primero verifique apache2 en su pi, si lo tiene instalado, elimínelo o desactívelo.

En el archivo nginx, primero debe cambiar uwsgi_pass y luego ejecutar estos comandos.

sudo cp conf / nginx / etc / nginx / sites-available / project

sudo rm / etc / nginx / sites-enabled / default

sudo ln -s / etc / nginx / sites-available / project1 / etc / nginx / sites-enabled / project

sudo systemctl reiniciar nginx.service

sudo systemctl status nginx.service

Nginx debería estar activo y en ejecución. Si todo está correcto, ahora puede navegar a su pi. Verá "Hola mundo" al principio, pero aún tiene que cambiar el contenido de ese archivo con mi código a continuación.

Puede habilitar los servicios para que se ejecuten automáticamente cuando se inicie pi.

Cuando hizo todo esto, asegúrese de poner al menos 1 casa con dirección en la base de datos. Puede hacer esto con una simple inserción en.

Paso 4: codificación

Codificación
Codificación
Codificación
Codificación

Puede descargar el código a través de Github:

github.com/NMCT-S2-Project-I/project-i-Tib…

El código de los sensores se incluye en el archivo sensor.py.

No olvide cambiar mi nombre por el suyo (o el usuario que usa en su pi) en los archivos de servicio para que puedan ejecutarse correctamente y colocar mi código en los archivos ya existentes en su Pycharm.

Paso 5: Vivienda

Alojamiento
Alojamiento
Alojamiento
Alojamiento
Alojamiento
Alojamiento
Alojamiento
Alojamiento

Hice un dibujo rápido de cómo quería mi casa, pero la tuya puede verse completamente diferente. Solo debes asegurarte de tener un todo para que el servo pueda abrir y cerrar una ventana.

Usé principalmente un taladro pequeño y una sierra para cortar la madera. También me aseguré de que las paredes fueran lo suficientemente gruesas para poder colocar mi servo dentro de ellas.

Cuando haya terminado con su diseño y el servo esté en su lugar, solo necesita conectar los sensores y colocar el pi dentro de la casa y estará listo para comenzar.

Como mencioné antes, su casa puede verse exactamente igual que la mía, solo necesita dejar espacio para el servo y la ventana.

Finalmente has terminado con el proyecto. Espero que esta guía sea lo suficientemente clara para que tú también puedas hacer una casa inteligente increíble como la hice yo.

La mejor de las suertes.

Recomendado: