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.

Categories: NodeMCU

28 Comments

Fikroyy · April 21, 2020 at 5:42 pm

bang mau nanya dong, fungsi library wificlientsecure.h apa ya?

    ajie · May 1, 2020 at 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 · August 19, 2020 at 1:22 pm

      Om kalo misal wificlientsecure.h diganti wificlient bisa kah?

        ajie · September 18, 2020 at 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 at 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 · May 1, 2020 at 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 · May 4, 2020 at 12:59 pm

Apabila di serial monitor keliatan seperti ini terus dimana kesalahannya min?
Suhu : nan *C

    ajie · May 4, 2020 at 2:32 pm

    kemungkinan saat itu sensor dht11 gagal mengambil sensor, sehingga saat dikonversi ke integer (baris 54) terjadi kegagalan sehingga muncul ‘nan’

    Goib · May 21, 2020 at 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 · May 17, 2020 at 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 · May 19, 2020 at 1:48 am

    koneksi internet gimana? coba pastikan bagus dulu

      jon · May 20, 2020 at 2:48 am

      upload done,serial monitor lancar,>35’c sedang mengirim data suhu ke telegram..tapi pesannya tdk sampai ke telegram??

        ajie · May 20, 2020 at 4:16 am

        koneksi internet apakah sudah dipastikan bagus? kemudian cek juga token API bot telegram-nya, apakah sudah sesuai belum

          jon · May 20, 2020 at 11:51 am

          jaringan internet ok 4g,API bot lengkap dgn ID..tapi tidak bisa mengirim ke telegram gan,apa solusi??

          jon · May 20, 2020 at 11:55 am

          upload coding guna usb cable ya gan??

          m syefudin · May 21, 2020 at 2:03 am

          cb pkai library lain, CTbot

Goib · May 21, 2020 at 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 · May 21, 2020 at 2:01 am

    1 bot 1 user kak

      Goib · May 21, 2020 at 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 · May 21, 2020 at 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 · May 21, 2020 at 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 · May 21, 2020 at 8:50 am

        apakah pada script idbot harus di ganti dengan idbot group yang telah di buat?

          ajie · May 24, 2020 at 6:40 pm

          iya kak

      Goib · May 23, 2020 at 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 · May 24, 2020 at 6:41 pm

        iya kak, betul

          Nino · August 11, 2020 at 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 · June 14, 2020 at 5:22 am

Min, gimana caranya supaya notif ditelegrambotnya hanya muncul sekali. Supaya tidak spam

    ajie · June 18, 2020 at 2:06 pm

    dari script-nya kak

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll Up
en_USEnglish
id_IDIndonesian en_USEnglish