Buka Senin - Jumat jam 08.30 s/d jam 16.30 , Sabtu Jam 8.30 s/d jam 13.00 , Minggu tutup
  • Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
  • Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
Beranda » Blog » ESP-01, DS18B20 Mendeteksi Suhu Via Telegram

ESP-01, DS18B20 Mendeteksi Suhu Via Telegram

Diposting pada 15 January 2020 oleh farhan / Dilihat: 1.047 kali / Kategori:

 

Melanjutakan tutorial edisi telegram kali ini kita akan mendetekesi suhu meggunakan sensor Ds18b20 dan ESP01.  Dalam tutorial ini kita akan dapat mengecek suhu melalui perintah yang sudah disetting sebelumnya. Serta mendapat notifikasi jika suhu melebihi nilai maksimal.

Alat dan bahan :

Pada telegram dibutuhkan API token dan chatid agar bisa terhubung dengan perangkat kita, untuk membuatnya silahkan ikuti tutorial sebelumnya.

MEMULAI MENGGUNAKAN TELEGRAM

Simpan token dan idchat nanti akan dimasukkan ke sketch prorgam.

 

Rangkaian Upload Program

keterangan :

Untuk upload program silahkan rangkai alat dan bahan sesuai gambar di atas. Jika sudah masukkan api token dan idchat pada program. Masukkan semua library yang dibutuhkan, dan jangan lupa untuk upload menggunakan board : Generic ESP8266 Module.

Sketch Program

#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>
#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature DS18B20(&oneWire);
float temp;
float Fahrenheit = 0;

char ssid[] = "Indomaker"; //nama wifi
char password[] = "cahbarongan"; //password wifi

#define BOTtoken "907580866:AAGulSeQkxWxsCWr0n-6zQQbIihTFoBu91o" //token bot telegram
#define idChat "672053529" //idbot
WiFiClientSecure client;
UniversalTelegramBot bot(BOTtoken, client);

int Bot_mtbs = 1000;
long Bot_lasttime;
bool Start = false;

void setup() {
  Serial.begin(9600);
  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());
  DS18B20.begin();
  delay(5000);
}

void loop() {
  delay(2000);

  DS18B20.requestTemperatures();
  temp = DS18B20.getTempCByIndex(0); // Celcius
  Fahrenheit = DS18B20.toFahrenheit(temp); // Fahrenheit
  Serial.println(temp);
  Serial.println(Fahrenheit);

  if (temp > 35.00) {
    bot.sendChatAction(idChat, "Sedang mengetik...");
    Serial.print("Suhu saat ini : ");
    Serial.println(temp);
    delay(3000);

    String suhu = "Intensitas suhu : ";
    suhu += int(temp);
    suhu += " *C\n";
    suhu += "Suhu maksimal\n";
    bot.sendMessage(idChat, suhu, "");
    Serial.print("Mengirim data sensor ke telegram");
  }

  if (millis() > Bot_lasttime + Bot_mtbs) {
    int numNewMessages = bot.getUpdates(bot.last_message_received + 1);

    while (numNewMessages) {
      Serial.println("Memeriksa Respon");
      handleNewMessages(numNewMessages);
      numNewMessages = bot.getUpdates(bot.last_message_received + 1);
    }

    Bot_lasttime = millis();
  }
}

void handleNewMessages(int numNewMessages) {
  Serial.println("Pesan baru...");
  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;

    if (text == "/cekSuhu") {
      delay(2000);
      DS18B20.requestTemperatures();
      temp = DS18B20.getTempCByIndex(0); // Celcius
      Fahrenheit = DS18B20.toFahrenheit(temp);
      String suhu = "Suhu sekarang : ";
      suhu += int(temp);
      suhu += " *C\n";
      suhu += int(Fahrenheit);
      suhu += " *F";
      bot.sendMessage(idChat, suhu, "");
    }
    else if (text == "/start") {
      String welcome = "Perintah : \n";
      welcome += "/cekSuhu\n";
      bot.sendMessage(chat_id, welcome);
    }
  }
}

Lepas ESP-01 kemudian hubungkan ke shield DS18B20.

Buka aplikasi telegram, ketik di pencarian nama bot telegram yang sudah dibuat > Klik Start.

Untuk hasil minus itu karena gagalnya pembacaan sensor. Jadi sahakan supply tegangan stabil. Sampai disini anda sudah berhasil, terima kasih.

Bagikan ke

ESP-01, DS18B20 Mendeteksi Suhu Via Telegram

Saat ini belum tersedia komentar.

Silahkan tulis komentar Anda

ESP-01, DS18B20 Mendeteksi Suhu Via Telegram

Produk yang sangat tepat, pilihan bagus..!

Berhasil ditambahkan ke keranjang belanja
Lanjut Belanja
Checkout
Produk Quick Order

Pemesanan dapat langsung menghubungi kontak dibawah: