Header Ads

Monitoring Suhu melalui Internet dengan ESP8266 dan LM35

بِسْــــــــــــــــمِ اﷲِالرَّحْمَنِ اارَّحِيم
Halo sahabat, selamat weekend dan menikmati hari indahmu bersama orang tersayang :)
Di bulan Agustus ini sepertinya masih dalam suasana liburan ya? ataukah hanya saya saja yang masih menikmati hari libur? entahlah, nikmati saja apa yang terjadi di hidup ente ya gan.
Yang jelas, dikesempatan petang ini saya ingin memberikan sedikit tutorial arduino sederhana yang bertujuan untuk dokumentasi dan berbagi kepada kalian semua sahabat BoArduino.

Sekarang kita akan mencoba modul Wi-Fi ESP8266 dengan Arduino sebagai transmisi untuk mengupload data suhu dari IC LM35 (Sensor Suhu) ke channel yang sudah kita buat dan akan di ploting dalam bentuk Line graphs pada website ThingSpeak.com.
Tutorial kali ini adalah salah satu pengaplikasian dari Internet Of Things dengan Arduino. Sangat menarik bukan? Ya, very interested bro!


Modul WiFi ESP8266 ini memang cukup menarik perhatian bro, karena si kecil mungil yang sangat keren ini memliki banyak kelebihan yang membuatnya menjadi sangat populer. Dilengkapi dengan stack protokol TCP/IP yang telah terintegrasi, sehingga memungkinkan mikrokontroler untuk meng-akses jaringan WiFi. Keren sekali memang si mungil ini, Awesome!

Berikut ini adalah fitur-fitur dari Modul WiFi ESP8266 ESP-01 menurut datasheet :
  • Menggunakan jaringan 802.11 b/g/n.
  • Wi-Fi Direct (P2P), soft-AP.
  • Integrated TCP/IP protocol stack
  • Integrated TR switch, balun, LNA, power amplifier and matching network.
  • Integrated PLLs, regulators, DCXO and power management units
  • +19.5 dBm output power in 802.11b mode.
  • Power down leakage current of <10uA.
  • Integrated low power 32-bit CPU could be used as application processor.
  • SDIO 1.1 / 2.0, SPI, UART.
  • STBC, 1×1 MIMO, 2×1 MIMO.
  • A-MPDU & A-MSDU aggregation & 0.4ms guard interval.
  • Wake up and transmit packets in < 2ms.
  • Standby power consumption of < 1.0mW (DTIM3).
  • Operation Level : 5V
  • Power Supply : External 5V 
Cukup banyak fitur yang ditawarkan Modul ini, tetapi menurut ane tidak sebanding dengan harganya yang begitu murah dan terjangkau! Oke,  mari kita mulai saja bro, Let's Rock! :D

Sebelum memonitoring suhu melalui internet, set ESP8266 menjadi mode 3 [TUTORIAL DISINI]
1.) Setelah itu buka website ThingSpeak, dan melakukan Pendaftaran. klik DAFTAR SEKARANG


2.) Setelah terdaftar, silahkan melakukan Login. Dan apabila login berhasil, klik New Channel


3.) Lalu kita klik lagi pada Tab Channel setting, dan isikan Form sesuai dengan Kebutuhan


4.) Setelah itu klik pada Tab Private View, maka disitulah nantinya Data akan di Plotting


5.) Bagian terpenting terakhir, Klik Tab API Keys lalu Copy-Paste pada Notepad anda

 6.) Horeee, Pembuatan channel sudah selesai. Mari kita beralih ke Hardware, simak ya gan!

Alat dan Bahan yang dibutuhkan :
  • 1x Arduino UNO (Compatible)
  • 1x ESP8266 Wifi Module
  • 1x IC LM35 (Sensor Suhu)
  • Kabel jumper secukupnya
  • Breadboard (Project Board) 
  • Akses point (WiFi) bisa didapatkan dari Router

Langkah - Langkahnya :

1.) Susunlah rangkaian seperti gambar dibawah ini


Keterangan Konfigurasi Kabel :
  • Pin 3V pada Arduino dihubungkan ke Pin VCC dan CH_PD pada ESP8266
  • Pin GND pada Arduino dihubungkan ke Pin GND pada ESP8266
  • Pin 10 pada Arduino dihubungkan ke Pin UTXD pada ESP8266
  • Pin 11 pada Arduino dihubungkan ke Pin URXD pada ESP8266
  • Pin 5V pada Arduino dihubungkan ke Pin VCC pada LM35
  • Pin GND pada Arduino dihubungkan ke Pin GND pada LM35
  • Pin A0 pada Arduino dihubungkan ke Pin OUT pada LM35
2.) Setelah itu sambungkan Arduino pada Laptop/PC dengan menggunakan kabel serial.
3.) Download dan Install program Arduino IDE di Arduino.cc ( If Needed )
4.) Setelah terinstall, jalankan program Arduino-nya.
5.) Klik menu "Tools -> Board -> Arduino Uno"
6.) Klik menu "Tools -> Port -> ( Pilih Port arduino yang terdeteksi di komputer anda )
7.) Lalu masukan Sketch dibawah ini, dan terakhir klik upload.

Klik LIHAT DONG untuk melihat sketch
#include <SoftwareSerial.h>
#include <stdlib.h>

int ledPin = 13;
int lm35Pin = 0;
String apiKey = "DSSBSEZZAZKTP5GN"; // Ubah dengan API Key ente bro!
SoftwareSerial ser(10, 11); // RX, TX

void setup() {               
  pinMode(ledPin, OUTPUT);   
  Serial.begin(9600);
  ser.begin(9600);
  ser.println("AT+RST");
}

void loop() {
 
  digitalWrite(ledPin, HIGH);  
  delay(200);              
  digitalWrite(ledPin, LOW);

  int val = 0;
  for(int i = 0; i < 10; i++) {
      val += analogRead(lm35Pin);  
      delay(500);
  }
  float temp = val*50.0f/1023.0f;
  char buf[16];
  String strTemp = dtostrf(temp, 4, 1, buf);
  Serial.println(strTemp);
 
  String cmd = "AT+CIPSTART=\"TCP\",\"";
  cmd += "184.106.153.149"; // api.thingspeak.com
  cmd += "\",80";
  ser.println(cmd);
  
  if(ser.find("Error")){
    Serial.println("AT+CIPSTART error");
    return;
  }
 
  String getStr = "GET /update?api_key=";
  getStr += apiKey;
  getStr +="&field1=";
  getStr += String(strTemp);
  getStr += "\r\n\r\n";

  cmd = "AT+CIPSEND=";
  cmd += String(getStr.length());
  ser.println(cmd);

  if(ser.find(">")){
    ser.print(getStr);
  }
  else{
    ser.println("AT+CIPCLOSE");
    Serial.println("AT+CIPCLOSE");
  }
    delay(16000); 
}

Silahkan lihat video simulasi dibawah ini






Terimakasih telah berkunjung, selamat mencoba, semoga bermanfaat.

No comments

close