Header Ads

MONITORING SUHU WIFI ESP8266 | thingspeaknya

Halo bro, hari ini gw mau kasih tutor Monitoring suhu via internet menggunakan ESP8266 (selanjutnya kita panggil Asep). MCU ini lumayan powerful (kecil-kecil cabe rawit gan) dengan harga yg gk nyampe 100 rebu kita bisa buat sistem IoT yang sederhana. Baiklah, let's start the show.


Alat Dan Bahan :
    • Library <esp8266wifi .h>
    • USB FTDI
    • Cable
    • LM35 / Potensio
    • Arduino IDE
Langkah Kerja 

1. Ok gan, pertama wiring dulu ESP agan dengan USB FTDI seperti beginih...


2. Pada tutorial kali ini, ane menggunakan Arduino IDE untuk memprogram si Asep ini. Maka dari itu, ente perlu download boardnya dulu. Berikut langkah - langkahnya gan.:

a. Buka Arduino IDE ente lalu masuk ke menu preferences.


b. Setelah itu masukan URL berikut pada Additional Boards Managers URLs 
" http://arduino.esp8266.com/stable/package_esp8266com_index.json "


c. Lalu buka Boards Manager


d. Cari ESP8266 Community, lalu Install gan, 150Mb, an


3. Setelah perjuangan di langkah 2, kita mulai lagi perjuangan di langkah ke-3. Pada langkah ini, kita akan membuat account Thingspeak, yang mana berfungsi sebagai cloud yang akan menyimpan data masukan dari Device kita (si Asep gan) untuk ditampilkan diInternet. Berikut langkah - langkahnya:

a. Langkah awal, masuk ke website thingspeaknya gan, lalu klik Sign Up dan akan muncul form seperti dibawah ini, isi sesuai selera agan dahh...


 b. Abis tu, muncul form ini gan, langsung aja klik dah tuh New Channel 


c. Setelah ente klik itu New Channel muncul deh form dibawah ini. Agan isi sesuai selera Agan, disebelah kanan ada Channel Settings buat njelasin pengisian form. Kalo mau ngikuti ane, ane hanya ngisi Name,Description,Field1 dan ShowStatus (dicentang)


d. Setelah agan isi klik Save Channel lalu akan tampil form dibawah ini

Nanti data perubahan suhu akan ditampilkan di Field 1 Chart berupa grafik garis.

e. Terakhir nih gan, API Key . API ini buat apa seh ? API itu berfungsi sebagai alamat buat si Asep untuk mengirim suhu ke cloud, ngarti gan ? Ok ane juga bingung. Jadi gini gan, thingspeak tadi itu kita ibaratkan kota Bandung, nah Channel yang kita buat itu ibarat Desa atau Kelurahan. Nah API key itu alamat lengkapnya gan. Jadi saat si Asep sudah terhubung ke internet, si Asep akan masuk ke thingspeak lalu mengirim API key, udah tu diarahkanlah si Asep masuk ke Channelnya. Lebih jelasnya kita lihat dilngkah ke-4 gansz.


4). Okey, finally kita sampai di Langkah 4, dilangkah ini kita akan masuk dalam pemrograman. Ada beberapa cara untuk memprogram si Asep ini gan,bisa dengan AT Command, Node MCU dan Arduino IDE. Naaah gimana gan ngunduh si Asepnya udah selesai belom ??? Kalo udah kita langsung masuk ke langkah - langkah memprogram si Asep.

a. Ok, Buka Arduino IDE agan, lalu pilih Board si Asep. 

b. Copy code dibawah ini

#include 

String apiKey = "BZWJANPK8Oxxxxxx";
const char* ssid = "12345678";
const char* password = "jitie860";

const char* server = "api.thingspeak.com"; //"184.106.153.149"

WiFiClient client;

void setup(void)
{
  Serial.begin(115200);
  
  WiFi.begin(ssid, password);
  if (WiFi.status() != WL_CONNECTED) {
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print("Wifi Terhubung  ");
    Serial.println(ssid);
  }}else{Serial.print("Wifi Tidak Terhubung");}
}

void loop(void)
{ 
  float analogMasuk;
  analogMasuk = analogRead(17);
  analogMasuk = analogMasuk * 5.0;
  analogMasuk = analogMasuk / 1023;
   Serial.println(analogMasuk);
  if (client.connect(server,80)) {
    String postStr = apiKey;
           postStr += "&field1=";
           postStr +=  analogMasuk;
           postStr += "\r\n\r\n";
 
     client.print("POST /update HTTP/1.1\n");
     client.print("Host: api.thingspeak.com\n");
     client.print("Connection: close\n");
     client.print("X-THINGSPEAKAPIKEY: "+apiKey+"\n");
     client.print("Content-Type: application/x-www-form-urlencoded\n");
     client.print("Content-Length: ");
     client.print(postStr.length());
     client.print("\n\n");
     client.print(postStr);
     
  }
  client.stop();
  delay(6000);
}
Nah ganti isi variable apiKey ke API key agan.

No comments

close