Jumpa lagi dengan tutorial mengenai thingspeak, kali ini akan dibahas cara menampilkan data suhu pada Thingspeak menggunakan ESP-01 dan shield DS18b20. Langsung saja ya di bawah ini lebih lengkapnya.

Alat dan bahan :

  • ESP-01 ESP8266, BELI
  • Shiled Ds18b20, BELI
  • USB to Serial FTDI
  • Kabel jumper, BELI
  • Breadboard, BELI
  • Push Button, BELI

Rangkaian upload program

Keterangan :

Thingspeak

  1. Login ke thingspeak.com
  2. Buat Channel baru, disini untuk nama bebas ya, untuk Field harus sama dengan field pada sketch program arduino.
  3. Buka menu Api Key
  4. Simpan API key tersebut dan masukan pada sketch program di bawah ini.
    String apiKey = "WGDQGS54EPYSNSC2";

Sketch Program

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

#define DS18B20 2          //DS18B20 is connected to GPIO Pin 2

String apiKey = "WGDQGS54EPhghhm   //  Enter your Write API key from ThingSpeak
const char* ssid =  "xxxxx";//Enter your WiFi Network's SSID
const char* pass =  "x"; // Enter your WiFi Network's Password
const char* server = "api.thingspeak.com";
float temp;

OneWire ourWire(DS18B20);
DallasTemperature sensor(&ourWire);
WiFiClient client;

void setup()
{
  Serial.begin(115200);
  delay(1000);
  sensor.begin();

  Serial.print("Connecting to: ");
  Serial.println(ssid);


  WiFi.begin(ssid, pass);

  while (WiFi.status() != WL_CONNECTED)
  {
    delay(100);
    Serial.print("*");
  }
  Serial.println("");
  Serial.println("***WiFi connected***");

}

void loop()
{

  sensor.requestTemperatures();
  temp = sensor.getTempCByIndex(0);

  if (client.connect(server, 80))  //   "184.106.153.149" or api.thingspeak.com
  {
    String sendData = apiKey + "&field1=" + String(temp) + "\r\n\r\n";

    //Serial.println(sendData);

    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(sendData.length());
    client.print("\n\n");
    client.print(sendData);

    Serial.print("Temperature: ");
    Serial.print(temp);
    Serial.println("deg C. Connecting to Thingspeak..");
  }

  client.stop();
  Serial.println("Sending....");
  delay(10000);
}
  • Upload ke ESP-01 dengan rangkaian flash mode
  • Board : Generic ESP8266 module
  • Port : terceklis
  • Jika sudah, pastikan sudah terhubung dengan wifi anda
  • Lepas dan tancapkan esp-01 ke shield ds18b20 dan supply tegangan 5v
  • Buka thingspeak

Cukup sekian, semoga bermanfaat.

Kategori: NodeMCU

Tinggalkan Balasan

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

Scroll Up
id_IDIndonesian
en_USEnglish id_IDIndonesian