You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Olá, bom dia meus amigos, primeiramente quero agradecer pelo projeto do UniversalTelegramBot, é muito interessante e estou gostando muito é bastante interessante.
Estou com alguns problemas em seu projeto. É o seguinte a uns 2 anos atrás eu usei seu projeto em um prototipo (https://github.com/RamonAlves1357/Iot-ESP8266-Telegram) em um ESP8266 NodeMCU e funcionou muito bem, mas agora retornei a usar (para fazer algo "fixo") só mudei a placa para um Wemos D1 R2 (Based Esp8266) e não funciona mais. Ele só consegue mandar informações para o bot do Telegram mas não consegue ler as mensagens. 😥
Segue em anexo o código:
#if defined(ESP8266)
#include <ESP8266WiFi.h> // Biblioteca para funcionamento do WiFi do ESP
#else
#include <WiFi.h> // Biblioteca para funcionamento do WiFi do ESP
#endif
#include <Arduino_JSON.h>
#include <SPI.h>
#include <WiFiClientSecure.h>
//#include <TelegramCertificate.h>
#include <UniversalTelegramBot.h>
// Informações de conexão WiFi
#define WIFI_SSID "Rede"
#define WIFI_PASSWORD "senha"
// Informações do Bot do Telegram
#define TELEGRAM_CERTIFICATE_ROOT "F2 AD 29 9C 34 48 DD 8D F4 CF 52 32 F6 57 33 68 2E 81 C1 90"
//const char TELEGRAM_CERTIFICATE_ROOT[] PROGMEM = "F2 AD 29 9C 34 48 DD 8D F4 CF 52 32 F6 57 33 68 2E 81 C1 90";
#define BOT_TOKEN "00000:XXXXXXXXXXXXXXXX"
// Ids dos usuários chefe.
String ID_Ramon = "ID_user";
uint32_t lastCheckTime = 0; // Tempo em que foi feita a última checagem
int Bot_mtbs = 500;
unsigned long runningTime = 0; // Para o Status de Tempo do IoT
String tipoTime; // Para o tipo de tempo da VAR anterior (segundo, minuto, hora)
X509List cert(TELEGRAM_CERTIFICATE_ROOT);
WiFiClientSecure client; //Cliente para conexões seguras
UniversalTelegramBot bot(BOT_TOKEN, client); //Objeto com os métodos para comunicarmos pelo Telegram
void setupWiFi()
{
// Inicia em modo station e se conecta à rede WiFi
//WiFi.mode(WIFI_STA);
WiFi.mode(WIFI_AP_STA);
WiFi.disconnect();
delay(1000);
Serial.println("Conectando à rede " + String(WIFI_SSID));
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
setupBot();
while (WiFi.status() != WL_CONNECTED)
{
digitalWrite(LED_BUILTIN, LOW);
delay(300);
digitalWrite(LED_BUILTIN, HIGH);
delay(300);
Serial.println("Conectando ao WiFi...");
}
delay(250);
Serial.println();
Serial.println("WiFi conectado!");
Serial.print("IP da conexão: ");
Serial.println(WiFi.localIP());
}
void setupBot() {
//X509List cert(TELEGRAM_CERTIFICATE_ROOT);
client.setFingerprint(TELEGRAM_CERTIFICATE_ROOT);
delay(50);
client.setTimeout(1000);
delay(50);
client.connect("api.telegram.org", 443);
delay(50);
client.setInsecure();
delay(50);
// Opa, tudo certo até agora.
delay(500);
while(!bot.sendMessage(ID_Ramon, "IoT no AR! Pronto para receber seus comandos.", "")) {}
}
void setup() {
Serial.begin(115200); //Inicializa a comunicação Serial
delay(500);
Serial.println();
Serial.println("Iniciando...");
delay(100);
// Config Led Status
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
// Iniciando conexão Wifi
setupWiFi();
// Iniciando conexão Telegram e SSL
//setupBot();
Serial.println("\nAtivo! ");
//delay(100);
}
void handleNewMessages(int numNewMessages) {
Serial.print("handleNewMessages ");
Serial.println(numNewMessages);
String resposta;
for (int i = 0; i < numNewMessages; i++) { // Para cada mensagem nova
String chatId = String(bot.messages[i].chat_id); // id do chat
String senderId = String(bot.messages[i].from_id); // id do contato
String texto = bot.messages[i].text; //texto que chegou
String from_name = bot.messages[i].from_name;
Serial.println("ID: " + chatId + " \tNome: " + from_name);
Serial.println("Recebido de " + from_name + ": " + texto);
if (texto == "/start" || texto == "start" || texto == "Start" || texto == "/Start") {
resposta = "Sejá Bem Vindo **Sr(a) " + from_name + "!** \nO bot já está iniciado.\n\n";
resposta += "Digite /Comandos para saber os comandos disponiveis.";
}
else if (texto == "Status" || texto == "/Status" || texto == "status" || texto == "/status") {
runningTime = millis() / 1000;
tipoTime = "segundos";
if (runningTime >= 60) {
runningTime = runningTime / 60;
tipoTime = "minuto(s)";
if (runningTime >= 60) {
runningTime = runningTime / 60;
tipoTime = "hora(s)";
if (runningTime >= 24) {
runningTime = runningTime / 24;
tipoTime = "dia(s)";
}
}
}
resposta = "Sistema no AR á " + String(runningTime) + " " + tipoTime + "\n";
resposta += "Está tudo bem por aqui, obrigado por perguntar! 👍";
}
else if (texto == "Ajuda" || texto == "/Ajuda" || texto == "ajuda" || texto == "/ajuda") {
resposta = "Precisando de Ajuda? \nEntre em contato com o ADMIN(@ramon1357) deste BOT.";
}
else if (texto == "Comandos" || texto == "/Comandos" || texto == "comandos" || texto == "/comandos") {
resposta = "/start ou **start** \n__Descrição:__ Inicia o chat do bot. _(Comando não obrigatorio)_ \n\n";
resposta += "/Status ou **Status** \n**Descrição:** Retorna o status do bot. \n\n";
resposta += "/Ajuda ou **Ajuda** \n**Descrição:** Mais informação e contato para ajuda. \n\n";
resposta += "/Comandos ou **Comandos** \n**Descrição:** Retorna todos os possiveis comandos. \n\n";
}
else {
resposta = "Comando não aceito, por favor, tente novamente.";
resposta += "\n\nCaso não saiba o comando, digite(ou clique) /Comandos para saber os comandos disponiveis.";
}
Serial.println("Resposta para " + from_name + ": " + resposta + "\n");
bot.sendMessage(chatId, resposta, "Markdown");
}
}
void loop() {
// Tempo agora desde o boot
// Se o tempo passado desde a última checagem for maior que o intervalo determinado
if (millis() - lastCheckTime > Bot_mtbs) {
// checa por mensagens
int numNewMessages = bot.getUpdates(bot.last_message_received + 1);
while (numNewMessages) {
Serial.println("got response");
handleNewMessages(numNewMessages);
numNewMessages = bot.getUpdates(bot.last_message_received + 1);
}
// Coloca o tempo de útlima checagem como agora
lastCheckTime = millis();
}
}
Preciso muito de ajuda. Desde já agradeço!
The text was updated successfully, but these errors were encountered:
Olá, bom dia meus amigos, primeiramente quero agradecer pelo projeto do UniversalTelegramBot, é muito interessante e estou gostando muito é bastante interessante.
Estou com alguns problemas em seu projeto. É o seguinte a uns 2 anos atrás eu usei seu projeto em um prototipo (https://github.com/RamonAlves1357/Iot-ESP8266-Telegram) em um ESP8266 NodeMCU e funcionou muito bem, mas agora retornei a usar (para fazer algo "fixo") só mudei a placa para um Wemos D1 R2 (Based Esp8266) e não funciona mais. Ele só consegue mandar informações para o bot do Telegram mas não consegue ler as mensagens. 😥
Segue em anexo o código:
Preciso muito de ajuda. Desde já agradeço!
The text was updated successfully, but these errors were encountered: