Melanjutkan tutorial dari postingan sebelumnya tentang cara memulai menggunakan telegram pada NodeMCU, kali kita akan membahas cara membuat notifikasinya dengan parameter suhu menggunakan sensor DHT11. Jadi untuk notifikasinya nanti akan masuk ke telegram kita jika suhu melebihi batas maksimalnya yang sudah ditentukan sebelumnya.
Langsung saja di bawah ini dijelaskan lebih lengkapnya.
Alat dan bahan
Alat dan bahan yang digunakan :
- NodeMCU, BELI
- Sensor DHT11, BELI
- Kabel jumper, BELI
- Library ArduinoJson, download
- Library UniversalTelegrambot, download
- Library sensor dht11, download
Rangkaian
Keterangan :
- Pin Out dihubungkan ke pin D2
- Pin + dihubungkan ke 3.3V
- Pin – dihubungkan ke GND
Sketch Program
#include <ESP8266WiFi.h> #include <WiFiClientSecure.h> #include <UniversalTelegramBot.h> #include "DHT.h" #define DHTPIN D1 char ssid[] = "xxxxx"; //nama wifi char password[] = "xxxxxx"; //password wifi #define BOTtoken "875891059:AAGt0weweweweqw343rs353geDw333" //token bot telegram #define idChat "433434231" //idbot WiFiClientSecure client; UniversalTelegramBot bot(BOTtoken, client); #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); void setup() { Serial.begin(115200); Serial.print("Connecting Wifi: "); Serial.println(ssid); WiFi.mode(WIFI_STA); 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()); dht.begin(); delay(5000); } void loop() { delay(2000); float t = dht.readTemperature(); Serial.print("Suhu : "); Serial.print(t); Serial.println(" *C"); if (t > 35.00) { bot.sendChatAction(idChat, "Sedang mengetik..."); Serial.print("Suhu saat ini : "); Serial.println(t); delay(3000); String suhu = "Intensitas suhu : "; suhu += int(t); suhu += " *C\n"; suhu += "Suhu maksimal!\n"; bot.sendMessage(idChat, suhu, ""); Serial.print("Mengirim data sensor ke telegram"); } }
Pada tutorial sebelumnya kita sudah mendapatkan API token dan idchat, nah sekarang saatnya kita masukkan keduanya pada sketch program di atas. Jangan lupa untuk mengganti nama wifi dan password.
Masukkan juga library yang digunakan, kemudian upload sketch program sampai selesai.
Sekarang saatnya membuka telegramnya, ketik nama bot yang sudah di buat sebelumnya > Mulai/Start.
Buka Serial monitor dengan baudrate 115200, disini kita tetapkan suhu maksimal adalah 35. Jadi ketika suhu dia atas 35 nanti akan ada notifikasi pada telegram seperti gambar di bawah ini.
Demikan pembahan kali ini, semoga berhasil.
31 Komentar
Fikroyy · April 21, 2020 pada 5:42 pm
bang mau nanya dong, fungsi library wificlientsecure.h apa ya?
ajie · Mei 1, 2020 pada 2:06 am
library wificlientsecure.h itu fungsinya sama dengan wificlient.h tapi support TLS (Three Layer Security). Nah ini cocok untuk telegram yang menggunakan security token dan SSL
Bagas · Agustus 19, 2020 pada 1:22 pm
Om kalo misal wificlientsecure.h diganti wificlient bisa kah?
ajie · September 18, 2020 pada 8:48 am
cara terbaik untuk tahu adalah dengan ‘mencoba’ :). Kalo ada error silahkan disampaikan ke sini untuk diskusi lebih lanjut
goib · April 28, 2020 pada 11:22 pm
bang mau tanya kalau cara mencari library universaltelegrambot di mana yah bisa bagi link nya
soalnya saya error exit status 1
Error compiling for board NodeMCU 1.0 (ESP-12E Module).
ajie · Mei 1, 2020 pada 1:54 am
googling aja kak, pasti ketemu. Untuk warning errornya apa ya? (yang lengkap). Kalo dari message error di atas belum bisa disimpulkan
Artha · Mei 4, 2020 pada 12:59 pm
Apabila di serial monitor keliatan seperti ini terus dimana kesalahannya min?
Suhu : nan *C
ajie · Mei 4, 2020 pada 2:32 pm
kemungkinan saat itu sensor dht11 gagal mengambil sensor, sehingga saat dikonversi ke integer (baris 54) terjadi kegagalan sehingga muncul ‘nan’
Goib · Mei 21, 2020 pada 1:44 am
Siap ka sudah bisa.. dan tampil notifnya juga.
tetapi ini bot cuma untuk 1 telegram atau bisa di akses untuk public yah? Di telegram teman saya dengan bot yang sama tidak bisa menampilkan notifnya…
Cara setting untuk bisa menampilkan notif di user lain gimana yah?
Bby · Mei 17, 2020 pada 2:13 pm
ka. program udah done dan berjalan di serial monitorpun lancar, tapi ko dia ga ngirim pesan ke telegram nya ya padahal sudah di cek kalo sudah 1 jaringan dan juga suhu nya sudah sampe 37 derajat. padahal di serial monitor dituliskan kalo sedang mengirim pesan ke telegram. tapi tidak ada 1 pun pesanmasuk ke telegram nya
ajie · Mei 19, 2020 pada 1:48 am
koneksi internet gimana? coba pastikan bagus dulu
jon · Mei 20, 2020 pada 2:48 am
upload done,serial monitor lancar,>35’c sedang mengirim data suhu ke telegram..tapi pesannya tdk sampai ke telegram??
ajie · Mei 20, 2020 pada 4:16 am
koneksi internet apakah sudah dipastikan bagus? kemudian cek juga token API bot telegram-nya, apakah sudah sesuai belum
jon · Mei 20, 2020 pada 11:51 am
jaringan internet ok 4g,API bot lengkap dgn ID..tapi tidak bisa mengirim ke telegram gan,apa solusi??
jon · Mei 20, 2020 pada 11:55 am
upload coding guna usb cable ya gan??
m syefudin · Mei 21, 2020 pada 2:03 am
cb pkai library lain, CTbot
Goib · Mei 21, 2020 pada 1:46 am
Siap ka sudah bisa.. dan tampil notifnya juga.
tetapi ini bot cuma untuk 1 telegram atau bisa di akses untuk public yah? Di telegram teman saya dengan bot yang sama tidak bisa menampilkan notifnya…
Cara setting untuk bisa menampilkan notif di user lain gimana yah? Koneksi internet juga bagus..
m syefudin · Mei 21, 2020 pada 2:01 am
1 bot 1 user kak
Goib · Mei 21, 2020 pada 7:56 am
oh jadi telegram di orang lain tidak bisa dapat notifnya ya.. walaupun botnya sama hanya si pembuat Bot yang dapat notifnya..
solusi agar telegram orang lain bisa dapat notifnya gimana yah kak?
ajie · Mei 21, 2020 pada 3:09 am
bot nya masukkan ke dalam grup, kemudian set privacy bot menjadi disable. Caranya, masuk ke bot father dulu, kemudian ketik /setprivacy, kmf pilih DISABLE
Goib · Mei 21, 2020 pada 7:52 am
sudah tak masukan grub, settingan botnya juga sudah di set seperti yang di atas sebelum dimasukan ke grub.. tetapi tetap tidak ada pesan atau notif dari botnya
Goib · Mei 21, 2020 pada 8:50 am
apakah pada script idbot harus di ganti dengan idbot group yang telah di buat?
ajie · Mei 24, 2020 pada 6:40 pm
iya kak
Goib · Mei 23, 2020 pada 7:41 am
Sudah disable ka… tpi tetap tidak bisa mengirim notif.nya ke grub yang sudah di buat
Apakah pada script idChat //idbot di ganti dengan id chat grub
ajie · Mei 24, 2020 pada 6:41 pm
iya kak, betul
Nino · Agustus 11, 2020 pada 5:07 am
//inclde library CTB
#include “CTBot.h”;
//variabel untuk bot telegram
CTBot myBot;
String ssid = “KOS ETAM”;
String pass = “KosEtamm”;
//variabel token dan id telegram
String token = “1165770085:AAEPd0KpDZ2KCo4Rm8Wrl-IKKaaZp7AsbVk”;
const int id = 910667026 ;
void setup() {
Serial.begin(9600);
Serial.println(“memulai telegram bot. koneksi ke Wifi”);
//koneksi ke wifi
myBot.wifiConnect(ssid, pass);
//set token telegram
myBot.setTelegramToken(token);
//cek koneksi wifi
if (myBot.testConnection())
Serial.println(“koneksi Berhasil”);
else
Serial.println(“koneksi Gagal”);
}
void loop() {
String db = “”;
while(Serial.available())
{
db += char(Serial.read());
}
myBot.sendMessage(id, db,” “);
delay(3000);
//baca pesan masuk dari telegram
TBMessage msg ;
if(myBot.getNewMessage(msg))
{
//tampilkan di serial monitor
Serial.println(“pesan Masuk : ” + msg.text);
//variabel penampung isi pesan
String pesan = msg.text;
if(pesan == “cek”)
{
//kirim pesan balasan
myBot.sendMessage(id, db);
data.trim();
}
}
}
Ini apa yang ditambahi atau dikurangin supaya tidak spam ngirim ke telegram
Noel · Juni 14, 2020 pada 5:22 am
Min, gimana caranya supaya notif ditelegrambotnya hanya muncul sekali. Supaya tidak spam
ajie · Juni 18, 2020 pada 2:06 pm
dari script-nya kak
wahyu · Februari 10, 2021 pada 3:08 am
maksudnya gmna min, gmna caranya min?
Silvi Rahmawati · Maret 31, 2021 pada 7:26 am
siang bang izin bertanya, apakah pernah membuat program notif telegram yang menggunkanan sensor load cell? terima kasih
ajie · Maret 31, 2021 pada 11:54 pm
kalo yg tepat sama seperti itu belum pernah, tapi pada intinya caranya sama dengan artikel di atas