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.

Kategori: NodeMCU

28 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

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Scroll Up
id_IDIndonesian
en_USEnglish id_IDIndonesian