使用Telegram和ESP32实现自动化

电子说

1.3w人已加入

描述

步骤1:汇编

步骤2:更新ESP8266内核

如果ESP8266出现问题,请在Arduino IDE中转到:

Tools- 》 Board-》 Manage Plates 。..

更新ESP8266(在这种情况下,我们使用版本2.4.2)

步骤3:ArduinoJson库

在Arduino IDE中,转到Sketch-》 Include Library-》 Manage Libraries 。..

安装ArduinoJson(在这种情况下,我们使用版本5.13 .2)

步骤4:UniversalTelegramBot库

在Arduino IDE中,转到Sketch-》 Include Library-》 Manage库。..

安装UniversalTelegramBot

步骤5:SimpleDHT库

在Arduino IDE中,转到Sketch-》 Include Library-》 Manage Libraries 。..

安装SimpleDHT

步骤6:在电报中创建Bot

1。打开电报并搜索botfather。选择带有蓝色标记的那个

2。在此屏幕上,单击“入门”

3。 BotFather将为您显示一些选项

4。输入/newbot

5。输入您的机器人名称

6。输入您的机器人的用户名。它应该以bot结尾(示例:TestFKBot)。

保存生成的令牌以替换源.ino

步骤7:TelegramBot.ino

声明和变量

#if defined(ESP8266)

#include

#else

#include

#endif

#include

#include

#include

//Pino onde está o Relê

#define RELAY_PIN 5

//Pino onde está o DHT22

#define DHT_PIN 4

//Intervalo entre as checagens de novas mensagens

#define INTERVAL 1000

//Token do seu bot. Troque pela que o BotFather te mostrar

#define BOT_TOKEN “000000000:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”

//Troque pelo ssid e senha da sua rede WiFi

#define SSID “SSID”

#define PASSWORD “12345678”

命令和设置

//Comandos aceitos

const String LIGHT_ON = “ligar a luz”;

const String LIGHT_OFF = “desligar a luz”;

const String CLIMATE = “clima”;

const String STATS = “status”;

const String START = “/start”;

//Objeto que realiza a leitura da temperatura e umidade

SimpleDHT22 dht;

//Estado do relê

int relayStatus = HIGH;

//Cliente para conexões seguras

WiFiClientSecure client;

//Objeto com os métodos para comunicarmos pelo Telegram

UniversalTelegramBot bot(BOT_TOKEN, client);

//Tempo em que foi feita a última checagem

uint32_t lastCheckTime = 0;

//Quantidade de usuários que podem interagir com o bot

#define SENDER_ID_COUNT 2

//Ids dos usuários que podem interagir com o bot.

//É possível verificar seu id pelo monitor serial ao enviar uma mensagem para o bot

String validSenderIds[SENDER_ID_COUNT] = {“012345678”, “123456789”};

设置

void setup()

{

Serial.begin(115200);

//Inicializa o WiFi e se conecta à rede

setupWiFi();

//Coloca o pino do relê como saída e enviamos o estado atual

pinMode(RELAY_PIN, OUTPUT);

digitalWrite(RELAY_PIN, relayStatus);

}

SetupWiFi

循环

handleNewMessages

validateSender

handleStart

getCommands

handleLightOn

handleLightOff

handleClimate

getClimateMessage

handleStatus

handleNotFound

步骤8:与电报上的Bot交互

转到BotFather,然后单击链接以与机器人对话

单击开始

发送命令并检查机器人返回的消息

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分