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.
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 :
Semua alat alat diatas dapat kalian cari disini !
#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(); }
Pendahuluan Dalam dunia pengembangan perangkat lunak yang terus berkembang, Kubernetes telah muncul sebagai alat kunci dalam orkestrasi…
Mengelola sebuah sekolah atau lembaga pendidikan adalah tugas yang kompleks dan penuh tantangan. Dengan berbagai…
Selamat datang di artikel kami tentang cara menginstal OpenVPN server di Ubuntu 20.04 di HuaweiCloud!…
Dalam dunia pengembangan aplikasi, salah satu hal yang menjadi penting adalah mengelola dan memonitor kontainer…
Tutorial led blinking. LED (Light Emitting Diode) merupakan salah satu komponen elektronik yang paling umum…
Tutorial LCD Display, ini merupakan salah satu komponen yang sering digunakan dalam project elektronika sebagai…