Rabu, 04 April 2018
turn ON led wtih esp8266 & app telegram
oprek telegram ini sebenarnya dah lama, cuma baru berhasil saya terapkan di board hari ini.
pertama oprek gagal mulu coba example dari bawaan library. kali ini library yang saya pakai menggunakan universal telegram.
Alhamdulillah saya mempunyai teman yang sangat baik hati dan tidak sombong di suatu grup WA, dia namanya pak Adrin, dia mencoba bantu saya by japri.
langkah demi langkah dicoba. mulai dari masukin library 2x gagal...
akhirnya ketemu juga permasalahannya. thanks suhu mr. Adrin
mari kita ke topik judul: nyalain led dari telegram pakai esp8266 (nodemcu)
yang perlu disiapkan :
1. esp8266 (nodemcu) + kabel data e rek ojo lali.
2. led + resistor 330ohm
3. cemilan + kopi (abaikan jika nggak ada)
langkah 1:
download dulu board nodemcu tutorial
download library universal telegram
download library ArduinoJson
rangkai nodemcu:
taruh pin led di D7
karena D7 = pin 13
copy file yang ada di folder ini:
C:\Users\puaks\Documents\Arduino\libraries\ArduinoJson\src
ke sini:
C:\Users\puaks\Documents\Arduino\libraries\UniversalTelegramBot\src
jika masih error:
copy juga kesini:
C:\Program Files\Arduino\hardware\arduino\avr\cores\arduino
oiya bikin akun telegram dulu rek:
1. cari akun telegram BotFather
2. ketik : /start
3. ketik : /newboot
4. ketik nama akun baru anda buat esp: xxx
5.tunggu sampai dapat balasan token
buka example dari universal telegram :
flashled
/*******************************************************************
* An example of bot that receives commands and turns on and off *
* an LED. *
* *
* written by Giacarlo Bacchio (Gianbacchio on Github) *
* adapted by Brian Lough *
*******************************************************************/
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>
// Initialize Wifi connection to the router
char ssid[] = "puaks.blogspot.com"; // your network SSID (name)
char password[] = "xxx"; // your network key
// Initialize Telegram BOT
#define BOTtoken "xxxxxxxxxxxxxxxx" // 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 ledPin = 13;
int ledStatus = 0;
void handleNewMessages(int numNewMessages) {
Serial.println("handleNewMessages");
Serial.println(String(numNewMessages));
for (int i=0; i<numNewMessages; 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 == "/ledon") {
digitalWrite(ledPin, HIGH); // turn the LED on (HIGH is the voltage level)
ledStatus = 1;
bot.sendMessage(chat_id, "Led is ON", "");
}
if (text == "/ledoff") {
ledStatus = 0;
digitalWrite(ledPin, LOW); // turn the LED off (LOW is the voltage level)
bot.sendMessage(chat_id, "Led is OFF", "");
}
if (text == "/status") {
if(ledStatus){
bot.sendMessage(chat_id, "Led is ON", "");
} else {
bot.sendMessage(chat_id, "Led is OFF", "");
}
}
if (text == "/start") {
String welcome = "Welcome to Universal Arduino Telegram Bot library, " + from_name + ".\n";
welcome += "This is Flash Led Bot example.\n\n";
welcome += "/ledon : to switch the Led ON\n";
welcome += "/ledoff : to switch the Led OFF\n";
welcome += "/status : Returns current status of 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);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println("");
Serial.println("WiFi connected");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
pinMode(ledPin, OUTPUT); // initialize digital ledPin as an output.
delay(10);
digitalWrite(ledPin, LOW); // initialize pin as off
}
void loop() {
if (millis() > Bot_lasttime + Bot_mtbs) {
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);
}
Bot_lasttime = millis();
}
}
good luck
Langganan:
Posting Komentar (Atom)
Cara membuat datalogger blynk di spreadsheet / googlesheet menggunakan akun versi Free
silahkan video di atas. semoga bermanfaat. jika masih kurang jelas bisa kontak saya
-
#define BLYNK_PRINT Serial #include <TimeLib.h> #include <ESP8266WiFi.h> #include <BlynkSimpleEsp8266.h> #include <Wi...
-
Pengertian blynk sudah dijelaskan pada artikel sebelumnya klik apa itu blynk??? Sekarang penjelasan tentang prinsip kerjanya . Blynk ...
-
cara menghitung kebutuhan rectifier untuk suatu supply peralatan. jika rectifier 110VDC dan ingin memasang baterai 12v 100AH. dan beban...
Tidak ada komentar:
Posting Komentar