By | 01/01/2021
ESP32 IoT Ubeac

Sebelumnya saya juga sudah menulis artikel tutorial platform iot ubeac dengan menggunakan esp32, dan kali ini saya akan mengupas tuntas tutorial send data atau mengirim data dari esp8266 ke server ubeac menggunakan protokol HTTP POST.

jika ingin membaca tutorial yang sama dengan menggunakan ESP32 silahkan klik Tutorial ESP32 Monitoring Lm35 DHT11 Platform IoT UBEAC HTTP disitu mungkin penjelasanya lebih lengkap dibandingkan disini, karena sudah menulis tutorial yang sama maka saya hanya memberikan informasi rangkaian untuk ESP8266.

Baik menggunakan ESP8266 NodeMCU ataupun Wemos D1 Mini bahkan bisa menggunakan ESP-01 atau ESP-12, silahkan sesuaikan dengan kebutuhan masing-masing, yang terpenting kalian memahami cara mengisi programnya dan struktur pin gpio pada tipe ESP8266 tersebut.

Saya menggunakan NodeMCU untuk membuat tutorial kirim data suhu dari sensor lm35 beserta DHT11 ke server Ubeac, dan sangat mungkin kalian kesusahan saat menggunakan esp8266 tipe wemos ataupun esp-01, itu disebabkan karena belajarnya tidak dari dasar.

Silahkan pelajari mikrokontroler dari dasar supaya untuk membuat projek yang lebih besar tidak akan kebingungan, kalo belajarnya sekedar mempelajari satu projek tertentu, maka jika menemui projek lain pasti akan kesulitan.

Jika anda membutuhkan mentor untuk belajar, maka saya sebagai admin anakkendali.com bersedia menjadi mentor, karena kami membuka kursus belajar mikrokontroler, untuk pendaftaranya bisa klik menu kursus yang ada di atas.

Hardware yang dibutuhkan

Selanjutnya kita akan masuk ke topik pembahasan yaitu tutorial mengirim data dari ESP8266 ke server UBEAC berupa data suhu dan kelembaban, adapun hardware yang dibutuhkan saat ini antara lain :

  1. NodeMCU ESP8266 atau sejenisnya
  2. Sensor LM35
  3. Sensor DHT11
  4. Kabel jumper

Semua alat alat diatas dapat kalian cari disini !

Langkah tutorial Mengirim Data ke Ubeac dengan HTTP Post ESP8266

Tutorial ESP8266 Mengirim Data Ke Server Ubeac HTTP
  1. Buat rangkaian seperti di atas, jika kalian menggunakan modul trainer esp8266 dari anakkendali.com maka rangkaianya sudah dibuat tinggal hubungkan pin gpio nya saja.
  2. Daftar di website ubeac
  3. Buat Dasboard baru di ubeac dengan nama “ESP8266 anakkendali.com”
  4. Buat Gateway baru
  5. Buat Device baru
  6. lebih lengkapnya biar paham lihat di video youtube ya.
Tutorial ESP8266 Mengirim Data Ke Server Ubeac HTTP
Tutorial ESP8266 Mengirim Data Ke Server Ubeac HTTP
Tutorial ESP8266 Mengirim Data Ke Server Ubeac HTTP

Program ESP8266 Arduino IDE Send Data HTTP Post Ubeac Server

#include <ArduinoJson.h>
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>

#include <Adafruit_Sensor.h>
#include "DHT.h"

#define pinAdc0 A0

#define DHTPIN D5
#define DHTTYPE    DHT11
int adcVal;
DHT dht(DHTPIN, DHTTYPE);

const char *url = "http://anakkendali.hub.ubeac.io/ESP32anakkendali";

const char *ssid = "Private_Wifi_";  //Nama Wifi
const char *password = "zelwata202010"; // pass wifi

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  dht.begin();
  WiFi.disconnect();
  delay(100);
  WiFi.begin(ssid, password);
  Serial.println("");

  Serial.print("Connecting");
  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
    return;
  }

}

void loop() {
  // put your main code here, to run repeatedly:
  delay(2000);

  float h = dht.readHumidity();
  float t = dht.readTemperature();
  float f = dht.readTemperature(true);

  // Check if any reads failed and exit early (to try again).
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println(F("Failed to read from DHT sensor!"));
    return;
  }
  analogReadResolution(10);
  float volt, suhucel;

  adcVal = analogRead(pinAdc0);
  volt = (adcVal * 5.0) / 1023;
  suhucel = 100 * volt + 5.0 ;

  Serial.print(F("Temperature: "));
  Serial.print(t);
  Serial.print(F("°C\t"));

  Serial.print(F("Humidity: "));
  Serial.print(h);
  Serial.print(F("%\t"));

  Serial.print("Tegangan :");
  Serial.print(volt);
  Serial.print("\tSuhu :");
  Serial.print(suhucel);
  Serial.println(" ^C");
  senUbeac(suhucel, t, h);

}

void senUbeac(float a, float b, float c) {
  String postData = (String)"{\"uid\": \"ESP32\",\"ts\": 1542326605,\"sensors\":[";
  postData += (String)"{\"name\": \"Suhu Celcius LM35\",\"unit\": 2,\"prefix\": 0,\"type\": 4,\"value\":" + a + "},";
  postData += (String)"{\"name\": \"Suhu Celcius DHT11\",\"unit\": 2,\"prefix\": 0,\"type\": 4,\"value\":" + b + "},";
  postData += (String)"{\"name\": \"Kelembaban DHT11\",\"unit\": 20,\"prefix\": 0,\"type\": 5,\"value\":" + c + "}";
  postData += "]}";

  HTTPClient http;
  http.begin(url);
  http.addHeader("Content-Type", "application/json");
  int httpCode = http.POST(postData);
  Serial.println(postData);

  if (httpCode > 0) {
    String payload = http.getString();
    Serial.println(payload);
  }
  else {
    Serial.printf("Error occurred while sending HTTP POST: %s\n", http.errorToString(httpCode).c_str());
  }

  http.end();
}

Keyword

  1. ESP8266 Ubeac
  2. ESP8266 IOT Ubeac
  3. ESP8266 Monitoring Suhu
  4. ESP8266 HTTP POST
  5. ESP8266 HTTP UBEAC
  6. Tutorial ESP8266 Mengakses UBEAC
  7. Sistem IoT dengan ESP8266
  8. Monitoring IoT ESP8266
  9. Sistem Monitoring Berbasis IoT

Leave a Reply

Your email address will not be published. Required fields are marked *