Mengirim data dari Arduino ke Web Server

Mengirim data dari Arduino ke Web Server

Bagaimana mengirim data dari Arduino ke web (website)? Tulisan ini sebagai catatan untuk belajar terutama arduini dan IoT. Contoh kasusnya adalah bagaimana secara rutin mengirim informasi (nilai) perubahan suhu dan kelembaban udata ke webserver. Salah satu topologi yang digunakan disini adalah data dari sernsor di arduino di dikirm ke server melalui jaringan (ethernet).

Kebutuhan utama adalah sebagai berikut :

  1. Client : Arduino Uno (support Ethernet) dan DHT 11 sensor
  2. Server : Web server Support php dan MySql database
  3. Progrma di Client
  4. Program di Server

Contoh code program di Client :

#include <DHT.h>
#include <Ethernet.h>
#include <SPI.h>

byte mac[] = { 0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x01 }; // RESERVED MAC ADDRESS
EthernetClient client;

#define DHTPIN 2 // SENSOR PIN
#define DHTTYPE DHT11 // SENSOR TYPE – THE ADAFRUIT LIBRARY OFFERS SUPPORT FOR MORE MODELS
DHT dht(DHTPIN, DHTTYPE);

long previousMillis = 0;
unsigned long currentMillis = 0;
long interval = 250000; // READING INTERVAL

int t = 0; // TEMPERATURE VAR
int h = 0; // HUMIDITY VAR
String data;

void setup() {
Serial.begin(115200);

if (Ethernet.begin(mac) == 0) {
Serial.println(“Failed to configure Ethernet using DHCP”);
}

dht.begin();
delay(10000); // GIVE THE SENSOR SOME TIME TO START

h = (int) dht.readHumidity();
t = (int) dht.readTemperature();

data = “”;
}

void loop(){

currentMillis = millis();
if(currentMillis – previousMillis > interval) { // READ ONLY ONCE PER INTERVAL
previousMillis = currentMillis;
h = (int) dht.readHumidity();
t = (int) dht.readTemperature();
}

data = “temp1=” + t + “&hum1=” + h;

if (client.connect(“www.*****.*************.com”,80)) { // REPLACE WITH YOUR SERVER ADDRESS
client.println(“POST /add.php HTTP/1.1”);
client.println(“Host: *****.*************.com”); // SERVER ADDRESS HERE TOO
client.println(“Content-Type: application/x-www-form-urlencoded”);
client.print(“Content-Length: “);
client.println(data.length());
client.println();
client.print(data);
}

if (client.connected()) {
client.stop(); // DISCONNECT FROM THE SERVER
}

delay(300000); // WAIT FIVE MINUTES BEFORE SENDING AGAIN
}

Metode pengiriman ke webserver menggunakan metode post ke alamat web (php) yang sudah disiapkan. Seperti posting menggunakan web browser, hanya saja disini yang browsing dan posting adalah mesin arduino dengan mambawa data (suhu dan kelembaban udara). Data kirima kana tersimpan di database MySQL dan ditampilkan dengan menggunakan php.

Untuk kode selengkapnya bisa kunjungi Bahan Bacaan yang dijadikan sebagai rujukan :

1 Comment

  1. Kode program di atas memberikan contoh yang baik tentang bagaimana mengirim data suhu dan kelembaban dari Arduino ke web server menggunakan jaringan Ethernet. Kode di Arduino menggunakan library Ethernet dan DHT untuk mengatur koneksi Ethernet dan membaca data sensor DHT11. Koneksi ke server didirikan melalui alamat IP yang ditentukan, dan data dikirim melalui permintaan HTTP GET dengan parameter suhu dan kelembaban. Kode di server menggunakan PHP dan MySQL untuk menyimpan data yang diterima dari Arduino ke database. Contoh ini memberikan dasar yang kuat untuk memulai pengembangan aplikasi IoT sederhana yang melibatkan pengiriman data dari Arduino ke server.

Leave a Reply

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