Hola a todos!
La semana pasada volvi a retomar un proyecto que tenia pendiente, ya que lo abandone ya hace como 3 años atras.
Un poco de contexto
Toda mi vida tuve problemas para despertarme, la unica forma que funciona es que me pegue el sol directo a la cara, por suerte mi cama esta muy cerca de la ventana.
Otro problema cotidiano es que en verano me cuesta mantener la temperatura de la habitacion, es por esto que decidi tomar accion.
En mi habitacion tengo una persiana electrica junto con su correspondiente cortina de tela que esta sujeta a un riel metalico. Mi idea es hacer un pequeño sistema IOT, que mediante un microcontrolador pueda manipular y programar la cortina y persiana a mi antojo.
Precedentes
Este proyecto se encuentra en la version 3, las dos primeras solo contaban con la capacidad de controlar la persiana electrica, lamentablemente, estas fueron quemandose gracias a mis escasos conocimientos de electronica basica.
Actualidad
El diseño del circuito lo hice ya hace 3 años, pero la plaqueta fue destruida por mi gato nunca segui con el proyecto, asi que ya hace una semana me digne a resoldar la plaqueta y continuar con el proyecto, ahora teniendo mas conocimientos.
Idea y Desarrollo
El proyecto esta separado por tres partes:
- Hardware
- Front
- Back
Hardware
Las primeras 2 versiones utilizaban el chip ESP8266, que cuenta con 4 pines GPIOs, esto me venia bien ya que es un chip barato y facilmente reemplazable para las primeras pruebas, pero no cuenta con la cantidad de pines necesarios para implementar el control de la cortina.
Para la version 3 voy a utilizar el chip ESP8266E que incluye muchos mas GPIO.
El circuito incluye 2 reles para el manejo de la persiana electrica (220 V) y un puente H (L298H) para el control de un motor paso a paso para el manejo de la cortina
El ESP8266E es un chip WiFi y funcionara como WebServer, pero solo como controlador principal del hardware, no voy a implementar ningun tipo de logica extra, solo las funciones abrir/cerrar de cada aparato, todo esto ya que no es tan comodo programar estos microcontroladores y me resulta mas comodo actualizar el backend si es que hay que hacer algun cambio.
Front
El Front consta de una aplicacion movil en React Native muy simple e intuitivo. Este se va a comunicar con Back que se estara ejecutando en mi servidor local de mi casa.
Back/Servidor
El back tendra toda la logica del proyecto y sera encargado de manejar las alarmas, las reglas y enviar al micro todos los comandos necesarios. Tengo planeado desarrollarlo en NestJs o tal vez Express junto con PosgreSQL pero aun no lo tengo claro.
Importante !
La intencion del proyecto es que sea de codigo libre y crear la documentacion necesaria para que cualquiera pueda replicarlo. Esto lleva tiempo y hasta que no haya un minimo de proyecto completado no voy a liberar el repositorio.
La intencion es que este todo disponible, tanto codigo como diagramas.
Fotos
Por ultimo les comparto algunos avances que he tenido en esta ultima semana:
Les pido disculpas por la calidad del soldado y la distribucion del circuito, se que a muchos se les va a caer el pelo al ver estas imagenes.
La idea es que el front se mantenga minimalista y simple.