Automatización del hogar mediante telegramas con arduino
Ok, así que he preguntado esto varias veces en diferentes formas, pero todavía tienen que obtener una respuesta. He utilizado su código para producir un sensor de puerta que esperaba utilizar en mi cobertizo remoto para hacerme saber si la puerta se dejó abierta o no. Su código era la respuesta perfecta a lo que quería hacer. He publicado el código aquí, no he compartido mis credenciales en él, pero estar seguro de que están en el código cuando se descarga en el 8266.
Lo que sucede es que si utilizo los contactos magnéticos y los contactos están cerrados, recibo un mensaje de que la puerta está abierta, pero inmediatamente después, en cuestión de segundos, responde que la puerta está cerrada. Si abro la puerta recibo exactamente el mismo mensaje de que la puerta está abierta y luego cerrada. No estoy seguro de por qué sucede esto y estaba buscando una respuesta, es casi como si necesitara un circuito de rebote, pero no hay ninguno en este programa. La verdad es que no me gusta que me digan lo que tengo que hacer para resolver esto.
Esto es lo que he puesto en mi esp8266, puede que me haya equivocado al intentar cortar y pegar el código para la pregunta. Este es el código actualmente cargado en el dispositivo, entre G y D2 tengo una resistencia de 10K, también tengo un jumper entre los 3.3v y la unión del 10k a D2 para simular un contacto.
El bot universal de telegramas no funciona
Hay muchas formas de controlar el controlador a través de Internet, hoy hablaremos del control mediante el popular mensajero Telegram. Si tienes Telegram instalado en tu smartphone, entonces puedes recibir muy cómodamente mensajes de información de tu sistema y darle órdenes de control, estés donde estés.
Para una persona no iniciada, algo así como “gestionar un controlador a través de Telegram” parece algo no del todo claro, parecido a la magia. Además, el control del controlador Arduino a través de Telegram – qué y cómo funciona allí es completamente incomprensible a primera vista. De hecho, todo es bastante simple – el smartphone y el controlador intercambian información, y Telegram en este esquema actúa como intermediario entre ellos.
Por supuesto, en la práctica, todo se implementa un poco más complicado y hay varios matices en este esquema, pero en general funciona así, y vamos a hablar de los matices en detalle más adelante.
Nota. Por cierto, en los casos más conocidos de varios bots (públicos) en Telegram, donde tenemos un controlador en el diagrama, hay varios sistemas informáticos “adultos” que proporcionan la funcionalidad de estos bots.
Bot iot de telegramas
Telegram es un servicio de mensajería instantánea que permite la creación de bots. Los bots pueden ser configurados para enviar y recibir mensajes. Esto es útil para los proyectos Arduino, ya que puedes recibir actualizaciones de tu proyecto o emitirle comandos a través de tu aplicación de Telegram desde cualquier lugar.
Cada librería sólo soporta un tipo de Arduino y tiene diferentes características implementadas. Lo único que tiene que ser diferente para cada placa es el envío real de las peticiones a Telegram, así que pensé que sería útil una librería que permitiera configurar fácilmente otras arquitecturas o placas, aunque esto se me ocurre:
int getUpdates(long offset) Obtiene cualquier mensaje pendiente de Telegram y lo almacena en bot.messages . El offset debe ser establecido a bot.last_message_received + 1. Devuelve el número de mensajes nuevos recibidos.
Tu bot puede enviar mensajes a cualquier Telegram o grupo. Esto puede ser útil para que el arduino te notifique un evento, por ejemplo, un botón pulsado, etc. (Nota: los bots sólo pueden enviarte mensajes si tú les has enviado primero)
Bot universal de telegramas esp8266
En este tutorial, vamos a aprender sobre el bot telegrama y cómo usarlo con una placa ESP32/8266. Mediante el uso de la API de telegram bot en el ESP32/8266 podemos controlar los pines GPIO o podemos leer los datos de los sensores y enviarlos a nuestros dispositivos móviles a través de los mensajeros de telegram.
El mensajero de telegram es gratuito y como todo funciona a través de internet podemos controlar y recibir información de las placas ESP32 o ESP8266 en cualquier parte del mundo. Usando Telegram con el ESP se pueden hacer grandes proyectos de IoT.
Los bots son aplicaciones de terceros que se ejecutan dentro de Telegram. Los usuarios pueden interactuar con los bots enviándoles mensajes, comandos y peticiones en línea. Podemos controlar nuestros bots usando peticiones HTTPS a la API de Telegram Bot.
En el messenger de Telegram cada usuario, chat y grupo tiene un ID único. Así que para evitar cualquier acceso no autorizado a nuestros bots por parte de otros usuarios tenemos que encontrar nuestro ID de usuario único y utilizarlo dentro de nuestro código Arduino para ESP32.
Al hacerlo, cada vez que el ESP recibe un mensaje del bot, comprueba si el ID se corresponde con el ID predefinido en el código, y entonces sólo si coincide ejecuta los comandos. Siga los siguientes pasos para encontrar su ID usado.