资料介绍
描述
Telegram bot 是应用程序编程接口或也称为“API” ,它允许程序员在本教程案例中同时集成两个不同的应用程序,称为带有 ESP8266 的聊天应用程序 Telagram。
由于 TelegramBOT API 令牌的存在,它可以连接在电报聊天和硬件系统之间,例如,它将集成在使用 Arduino IDE 编程的迷你 Wemos D1 与此应用程序之间。
该项目使用了电报机器人 API 和 Wemos,将用于制作智能家居来控制灯和门。
1. 安装 Telegram 机器人库
2.源代码
#include
#include
#include
#include
Servo myservo;
char ssid[] = "KAMAR KOS 7"; // your network SSID (name)
char password[] = "dasarlemahkaunak"; // your network key
#define BOTtoken "883873080:AAGkP-oNlzMgOS44X1jhE43C0_9JwwMCBPw" // your Bot Token (Get from Botfather)
WiFiClientSecure client;
UniversalTelegramBot bot(BOTtoken, client);
int Bot_mtbs = 1000; //mean time between scan messages
long Bot_lasttime; //last time messages’ scan has been done
bool Start = false;
const int ledPin1 = 0;
const int ledPin2 = 2;
int ledStatus = 0;
void handleNewMessages(int numNewMessages) {
Serial.print("status pesan = ");
Serial.print(String(numNewMessages));
Serial.println(",pesan berhasil diterima\n");
for (int i=0; i String chat_id = String(bot.messages[i].chat_id);
String text = bot.messages[i].text;
String from_name = bot.messages[i].from_name;
if (from_name == "") from_name = "Guest";
if (text == "/led1on") {
digitalWrite(ledPin1, HIGH); // turn the LED on (HIGH is the voltage level)
digitalWrite(ledPin2, LOW);
ledStatus = 1;
bot.sendMessage(chat_id, "Led 1 is ON", "");
}
if (text == "/led1off") {
ledStatus = 0;
digitalWrite(ledPin1, LOW); // turn the LED off (LOW is the voltage level)
bot.sendMessage(chat_id, "Led 1 is OFF", "");
}
if (text == "/led2on") {
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin1, LOW);// turn the LED on (HIGH is the voltage level)
ledStatus = 1;
bot.sendMessage(chat_id, "Led 2 is ON", "");
}
if (text == "/led2off") {
ledStatus = 0;
digitalWrite(ledPin2, LOW); // turn the LED off (LOW is the voltage level)
bot.sendMessage(chat_id, "Led 2 is OFF", "");
}
if (text == "/alloff") {
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW); // turn the LED off (LOW is the voltage level)
bot.sendMessage(chat_id, "All led is OFF", "");
}
if (text == "/allon") {
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, HIGH); // turn the LED off (LOW is the voltage level)
bot.sendMessage(chat_id, "All led is ON", "");
}
if (text == "/rules") {
bot.sendMessage(chat_id, "Perintah yang dapat diproses adalah perintah yang tertera dalam menu /help, Akep_bot juga tidak mentolerir adanya kesalahan pengetikan.","");
}
if (text == "Akep") {
bot.sendMessage(chat_id, "Hai " + from_name + " aku disini, ketikan /start untuk memulai bot");
}
if (text == "/status1") {
if(ledStatus){
bot.sendMessage(chat_id, "Led is ON", "");
} else {
bot.sendMessage(chat_id, "Led is OFF", "");
}
}
if (text == "/status2") {
if(ledStatus){
bot.sendMessage(chat_id, "Led is ON", "");
} else {
bot.sendMessage(chat_id, "Led is OFF", "");
}
}
if (text == "/start") {
bot.sendMessage(chat_id,"Selamat datang di Aplikasi Bot Telegram\n hai "+ from_name +", ketikkan /help untuk melihat perintah apa saja yang tersedia pada bot");
}
if (text == "/help") {
String welcome = "Hai " + from_name + " :) \n";
welcome += "berikut perintah yang tersedia pada bot\n";
welcome += "/rules : aturan memakai bot\n";
welcome += "/led1on : menyalakan led 1\n";
welcome += "/led1off : mematikan led 1\n";
welcome += "/led2on : menyalakan led 2\n";
welcome += "/led2off : mematikan led 2\n";
welcome += "/status1 : cek status led 1\n";
welcome += "/status2 : cek status led 2\n";
welcome += "/allon : menyalakan kedua led\n";
welcome += "/alloff : mematikan kedua led\n";
bot.sendMessage(chat_id, welcome, "Markdown");
}
}
}
void setup() {
Serial.begin(115200);
// Set WiFi to station mode and disconnect from an AP if it was Previously
// connected
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
// attempt to connect to Wifi network:
Serial.print("Connecting Wifi: ");
Serial.println(ssid);
Serial.println("ketikan nama bot anda pada telegram");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println("");
Serial.println("WiFi terhubung");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
Serial.println("ketikan nama bot anda pada telegram ");
Serial.println("");
pinMode(pir, INPUT);
pinMode(ledPin1, OUTPUT); // initialize digital ledPin as an output.
pinMode(ledPin2, OUTPUT);
delay(10);
digitalWrite(ledPin1, LOW); // initialize pin as off
digitalWrite(ledPin2, LOW);
myservo.attach(12);
myservo.write(180);
}
void loop() {
if (millis() > Bot_lasttime + Bot_mtbs) {
int numNewMessages = bot.getUpdates(bot.last_message_received + 1);
while(numNewMessages) {
Serial.println("Pesan Diterima");
Serial.println("sedang diproses.....");
handleNewMessages(numNewMessages);
numNewMessages = bot.getUpdates(bot.last_message_received + 1);
}
Bot_lasttime = millis();
}
}
;>
3.配置电报机器人
4. 设置设备
5. 测试
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 将WEMOS D1 Mini ESP8266与Ubidots连接
- 使用DHT11和湿度传感器并连接到WeMos D1 Mini
- 使用Wemos D1 mini进行汽车跟踪
- 基于ESP32 Wemos D1 R1的自制警报器
- 基于Wemos D1 mini的传感器记录系统 0次下载
- 使用Wemos D1 Mini和WLED为led rgb ws2812b构建控制器
- 使用Wemos D1 Mini的3D打印机监视器
- Wemos D1 Mini的交流电源罩
- LED控制器板Wemos D1 Mini开源
- 制作自己的Wemos D1板
- PCB上的6个wemos d1模块开源
- Wemos D1 mini上的ESP8266气候控制
- Wemos D1 mini P10控制器
- Wemos D1 mini开发板初用
- 如何利用物联网解决智能家居现状存在的问题?
- 继电器在智能家居中的应用 587次阅读
- Python智能家居系统代码介绍 1013次阅读
- 智能家居控制系统原理与应用 2035次阅读
- 利用Android应用程序进行智能灯泡的无线控制方案 3940次阅读
- 智能家居的几种控制协议有哪些详细资料说明 8528次阅读
- 如何保护智能家居电路 888次阅读
- 一文带你了解智能家居控制系统 2793次阅读
- 智能控制系统有哪些(家居) 1.2w次阅读
- 智能家居控制系统详解_智能家居控制系统工作原理_智能家居控制系统有哪些 4.4w次阅读
- 智能家居与普通家居区别对比 7303次阅读
- 基于Android的智能家居终端控制系统 9758次阅读
- 科普丨智能家居控制系统是啥 2099次阅读
- 详解智能家居的控制系统工作原理 1.1w次阅读
- 智能家居控制系统工作原理 4478次阅读
- 基于Linux的智能家居管理方案 5327次阅读
下载排行
本周
- 1DH251全极型霍尔效应传感器中文手册
- 0.86 MB | 3次下载 | 免费
- 2RK3506G参考设计
- 0.97 MB | 2次下载 | 3 积分
- 3英飞凌ICL5102 PFC+LLC第二代谐振控制器规格书
- 0.84 MB | 1次下载 | 免费
- 451单片机交通灯仿真
- 0.16 MB | 1次下载 | 2 积分
- 5DH281L全极型霍尔效应传感器中文手册
- 0.71 MB | 1次下载 | 免费
- 6水流量计手册
- 2.4MB | 1次下载 | 免费
- 7LMZ315x0电源模块评估模块用户指南
- 850.76KB | 次下载 | 免费
- 8LMZ12003 SIMPLE SWITCHER电源模块评估模块用户指南
- 660.49KB | 次下载 | 免费
本月
- 1XL4015+LM358恒压恒流电路图
- 0.38 MB | 163次下载 | 1 积分
- 2PCB布线和布局电路设计规则
- 0.40 MB | 73次下载 | 免费
- 3开关电源设计原理手册
- 1.83 MB | 24次下载 | 免费
- 4智能门锁原理图
- 0.39 MB | 15次下载 | 免费
- 5elmo直线电机驱动调试细则
- 4.76 MB | 10次下载 | 6 积分
- 6OAH0428最新规格书(中文)
- 2.52 MB | 10次下载 | 7 积分
- 7BQ76952评估模块
- 3.67MB | 7次下载 | 免费
- 8PC1013三合一快充数据线充电芯片介绍
- 1.03 MB | 7次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935115次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420061次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191367次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183334次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73806次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65985次下载 | 10 积分
评论
查看更多