Go Down

Topic: Tutorial básico de notificación con Telegram y esp8266 (Read 5100 times) previous topic - next topic

Jopapa

Hasta ahora recibia avisos de mis sistemas por mensajeria sms web de Telefónica (España) porque eran gratuitos. Eso se acabó y he migrado a notificaciones de Telegram, gratis y tambíen instantaneas.

Tutorial básico y simple en mi página

Telegram-esp8266

Espero sea útil.

cuervo

Hola
He visitado tu pagina y me ha parecido la mar de interesante, estoy empezando a preparar tu tutorial y me encuentro con dos librerias para Telegram, exactamente cual es la que se usa, muchas gracias de antemano por tu respuesta y gracias tambien por el tutorial.
Saludos.

Jopapa

La libreria es, ovbiamente, la que aparece en el código de la página, o sea: UniversalTelegramBot.h

cuervo

La confusion viene por que la que puedes instalar desde el ide, el archivo se llama UniversalTelegramBot que no es la de tu enlace que se llama Universal-Arduino-Telegram-Bot-master, pero sin embargo el nombre es como la primera, asi que no me aclaraba.
Lo siento.
Gracias por el enlace.

Dimeruben

Genial tutorial! lo he seguido y lo he hecho funcionar con una tarjeta Wemos D1 a la perfección!

Sin embargo, me gustaría también hacer funcionar el bot de telegram utilizando el arduino mega con un chip esp-01 conectado a él (imagen del chip esp-01).

De este modo no puedo utilizar la libreria ESP8266WiFi.h ya que intento compilar el codigo en una placa que no dispone de serie de este modulo. He conseguido una libreria llamada WifiEsp.h que al parecer hace funcionar la combinación arduino mega+esp-01 para hacer ping a paginas. Sin embargo, no he conseguido hacer funcionar el bot de telegram con esta libreria.


Estaría bien para completar tu pagina web realizar un tutorial de como poder hacer la mencionada conexión ya que hay programas grandes que no caben en un Nodemecu o ESP8266 y que necesitan de conectividad wifi.

Un saludo,
Rubén


DJuan

Siento reflotar este post, pero estoy intentando hacerlo funcionar y no hay manera, no me envía mensajes, hago la prueba con "https://api.telegram.org/botxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxx/sendMessage?chat_id=xxxxxxxxx&text=hola+mundo" y si me llega, pero con el sketch no, y sólo he cambiado el token y el chat_id, a parte de SSID y Password claro.

Gracias.

P.D.

Si sirve de ayuda, el "UniversalTelegramBot.h" me sale en negrita y no en naranja.

Jopapa

Pues efectivamente, a mi tampoco me funciona ya.
Casi seguro que es por el cambio en alguna oscura libreria (no visible) del Arduino.
He cambiado el sistema y ahora lo hago con la libreria CTBot-1.4.0.
Y ojo, funciona con ArduinoJSON versión 5.13.5.
En el codigo del proyecto indico como hacerlo.
Y un ejemplo práctico aquí.

www.jopapa.me

DJuan


rafael1138

#9
Apr 13, 2020, 07:18 am Last Edit: Jun 12, 2020, 02:33 pm by surbyte Reason: No repitas lo que se lee arriba.
@Dimeruben
Si puedes, basicamente usa el sketch basico de conexion a red wifi y ya.

cefere0

#10
May 14, 2020, 08:51 pm Last Edit: Jun 12, 2020, 02:34 pm by surbyte Reason: No repitas lo que se lee arriba.
@Jopapa
Yo con esta base me estoy montando una estación meteorológica para montarla en una parcela que tengo a casi 1 h de distancia y saber si puedo ir.

Ha sido vital usar la librería versión 5.13.5 Bueno.... en mi contra tengo que decir que no he probado otras versiones, por lo que una versión superior podría ser valida.... igual algún día lo pruebo.

Solo una consulta al respecto del código:
En el momento que telegram tiene que responder se usa esta linea:

Code: [Select]
myBot.sendMessage(msg.sender.id, "La temperatura es de: ");

En mi bendita ignorancia he tratado de substituir "el texto" por un float. Me ha dado error.
He optado por crear una nueva linea mostrando un sting (un float convertido). Para indicar el "ºC" He tenido que crear una nueva linea con ese pequeño texto, es decir:
Code: [Select]

String t;                                    // creo la variable
t = String(th.cTemp);                 // Convierto el valor leído en String

myBot.sendMessage(msg.sender.id, "La temperatura es de: ");  // Envío el texto
myBot.sendMessage(msg.sender.id, t);                                    // Envío el valor
myBot.sendMessage(msg.sender.id, "ºC");                               // Envío la unidad


La pregunta es... ¿Hay manera alguna de hacer concatenar esas 3 lineas en 1?


Gracias y un saludo


Actualización: Llevaba bastante tiempo sin pasar por aquí y me he dado cuenta que posteado en "Documentación" y no debí hacerlo aquí.
Por otra parte me respondo a mí mismo.
Creando una Sting que lo una todo y luego enviando esa string. y listo.
Dejo a los moderadores la posibilidad de mover esto o borrarlo si quieren.
No hay nada imposible. Solo que hay cosas que todavía no nos hemos planteado solucionar

bosoft

@Dimeruben
Hola. Me pregunto si al final solucionaste el problema de trabajar con mega y usar el ESP01 como simple serial wifi.
Llevo varios días viendo (y probando) todo lo que que se me pone a tiro para usar el mega (necesito 18 pins + 2 seriales) que implique no subir nada al ESP01. Claro que para eso se tiene que trabajar con comandos AT

¿Alguien a solucionado el tema? Encontré un ejemplo para poder enviar mensajes a telegram con la sim900/800, pero no he podido implementarlo al ESP01

Saludos

ACTUALIZACIÓN: después de darle 1000 vueltas mas, creo que me conviene usar el modulo ESP01 para telegram exclusivo y comunicar con el mega vía serial para que este envíe y reciba los datos del ESP01. A la espera de que alguien me de una idea mejor

Saludos bis

Go Up