Tabla de contenido:

Alarma inteligente: 6 pasos
Alarma inteligente: 6 pasos

Video: Alarma inteligente: 6 pasos

Video: Alarma inteligente: 6 pasos
Video: ALARMA INTELIGENTE CON SIM+WIFI 2024, Noviembre
Anonim
Alarma inteligente
Alarma inteligente

De la escuela me dieron la tarea de hacer un proyecto. Elegí una alarma inteligente porque siempre duermo durante la alarma y luego pierdo la escuela. Solo puede apagar su alarma si hay luz, sonido y movimiento para que no pueda volver a quedarse dormido o posponerla sin abrir los ojos. También hay un sitio web donde puede ver su patrón de sueño, configurar alarmas y crear nuevas alarmas.

Suministros

Para construir el proyecto se necesitan algunos materiales. puede encontrar una lista a continuación. también puede encontrar todo en la lista de materiales, incluido el precio.

  1. Frambuesa pi 3
  2. Tablero de ruptura T-cobbler
  3. Sensor PIR
  4. Sensor de luz
  5. Sensor de detección de sonido
  6. Zumbador
  7. pantalla LCD
  8. Botón

Paso 1: hardware

Hardware
Hardware

Antes de comenzar a construir todo, hice 2 esquemas (1 eléctrico y 1 en la placa) en el fritzing y los controlé para asegurarme de que no hubiera fallas. Una vez que estuve seguro de que todo estaba bien, comencé con el proyecto. En primer lugar, comencé con el timbre y el botón porque eran los componentes más fáciles. Después de eso, conecté mi pantalla a la raspberry pi. Al final, conecté mis sensores. el sensor de luz y el sensor de movimiento son fáciles porque no necesitas nada más, pero el sensor PIR necesita algo extra. Para asegurarse de que el PIR no produzca un cortocircuito, debe usar un puente de voltaje. Significa que necesita usar una resistencia adicional de 1k ohmios y 2k ohmios para asegurarse de que todo vaya bien. El uso exacto de los pines y cómo conectar todo al pi se puede encontrar en los esquemas.

Paso 2: base de datos

Base de datos
Base de datos

Para almacenar todos los datos necesitaba una base de datos.

Mi base de datos existe de 6 tablas.

  1. Sensor
  2. History_sensors
  3. Persona
  4. Alarma_persona
  5. Sleep_patern
  6. Alarma

hay 2 partes en la base de datos. 1 para los sensores y 1 para la persona y todas sus estadísticas.

La tabla de sensores contiene un ID y un nombre. Esta tabla está conectada a History_sensors que tiene un ID, valor, Sensor_id y un nombre. el sensor_id es necesario para saber qué sensor tiene un valor y la fecha es necesaria para saber cuándo lo midió el sensor.

La persona de la mesa contiene una identificación, un nombre y una contraseña. La contraseña y el nombre son necesarios para iniciar sesión para que nadie más pueda poner una alarma por usted. Esta tabla está conectada a la tabla sleep_pattern y a la tabla Alarm_person. La tabla Sleep_patern contiene un ID, Hours_sleep, Date, Person_id, Bedtime y Wake_up_time. Así que aquí están los datos almacenados para hacer un gráfico sobre su patrón de sueño.

La tabla Alarm_person contiene Person_id, Alarm_id y la hora. Esta tabla es necesaria porque diferentes personas pueden usar una alarma al mismo tiempo y 1 persona puede usar varias alarmas. La última tabla es la tabla de alarmas. Éste contiene una identificación y una descripción.

Paso 3: back-end

Back-end
Back-end
Back-end
Back-end

En el back-end tuve que escribir diferentes funciones.

  1. pregunta por los sensores de mesa
  2. pregunta por la tabla history_sensors
  3. pregunta por el patrón de sueño
  4. poner una nueva alarma
  5. pide la alarma de la mesa
  6. registrar usuario
  7. acceso
  8. poner los valores de los sensores en la tabla history_sensors

Usé pycharm y escribí el código en python.

para todas las funciones utilizo @ app.route y luego la dirección. cada vez que necesite usar una dirección diferente porque de lo contrario no funcionará. Después de esto, escribo una función if con el método como valor, por lo que cuando esto es cierto, ejecuta el código. en el valor if hay un try catch y una instrucción sql para obtener los datos o guardarlos.

Para las funciones con los sensores es diferente. Aquí no utilicé @ app.route, solo hice una función para el sensor. aquí declaras tus pines y haces una función de devolución de llamada. de esta forma cada vez que el sensor detecta algo se ejecuta la función. En la función de devolución de llamada utilicé un if que funciona cuando el sensor detecta algo. En el if se encuentra el código para poner los datos en la tabla con una instrucción sql. También hay un sueño en él porque de lo contrario pondría demasiados valores en la tabla para solo 1 detección.

En mi github puedes encontrar el código completo del proyecto.

Paso 4: sitio web

Sitio web
Sitio web
Sitio web
Sitio web
Sitio web
Sitio web

Para mi sitio web trabajé con html y css, mi sitio web contiene 11 páginas html.

Hay tantas páginas porque todo funciona según el sitio web. puede configurar una alarma, agregar una alarma y eliminar una. En la página de configuración puede cambiar su contraseña y correo electrónico. Tienes una página para tu patrón de sueño. También puede agregar el momento en que se fue a dormir y cuando se despierta. Lo positivo es que todas las páginas tienen el mismo aspecto y utilizan casi las mismas cosas, por lo que el CSS suele ser el mismo en todas las páginas.

Paso 5: interfaz

El front-end está escrito en javascript.

Paso 6: Caso

Caso
Caso
Caso
Caso

Para mi caso elegí usar madera. No es tan difícil de cortar, se ve bien. Mi caso es de 26 cm en 14 cm con una altura de 7, 5 cm. Es así de grande porque todo lo necesario para encajar. Hice agujeros para los sensores, el botón y la pantalla LCD para que la hora sea visible y los sensores puedan detectar movimiento o luz. Para hacerlos utilicé un cortador láser. Dentro del estuche se encuentran mi protoboard y raspberry pi.

Recomendado: