Menyimpan data DHT22 Arduino Ethernet ke database MySQL

             MySQL adalah sebuah database management system (manajemen basis data) menggunakan perintah dasar SQL (Structured Query Language) yang cukup terkenal.

            mySQL merupakan DBMS yang open source dengan dua bentuk lisensi, yaitu Free Software (perangkat lunak bebas) dan Shareware (perangkat lunak berpemilik yang penggunaannya terbatas). Jadi MySQL adalah database server yang gratis dengan lisensi GNU General Public License (GPL) sehingga dapat Anda pakai untuk keperluan pribadi atau komersil tanpa harus membayar lisensi yang ada.


            SQL sendiri merupakan suatu bahasa yang dipakai di dalam pengambilan data pada relational database atau database yang terstruktur. Jadi MySQL adalah database management system yang menggunakan bahasa PHP sebagai bahasa penghubung antara perangkat lunak aplikasi dengan database server.    

            Nah pada kali ini kita akan menggunakan Ethernet arduino untuk menampilkan data sensor DHT22 secara real time ke data base mysql.

            Langkah pertama yang harus kita lakukan yaitu dengan mendownload software XAMPP yang berisi PHP, MSQL, phpMyAdmin dan web server. Dan notepad portable untuk memasukkan program PHP.         

            Selanjutnya buka XAMPP lalu klik start pada apache dan mysql setelah itu tekan admin pada mysql.

 

Tekan new projek dengan nama Ethernet dengan nama table dht22.

Setelah itu setting table seperti di bawah ini : 


Jika sudah lalu save selanjutnya buka notepad yang sudah di instal kemudian masukan program PHP seperti dibawah ini :

<?php
class dht22{
public $link='';
function __construct($temperature, $humidity){
$this->connect();
$this->storeInDB($temperature, $humidity);
}

function connect(){
$this->link = mysqli_connect('localhost','root','') or die('Cannot connect to the DB');
mysqli_select_db($this->link,'ethernet') or die('Cannot select the DB');
}

function storeInDB($temperature, $humidity){
$query = "insert into dht22 set humidity='".$humidity."', temperature='".$temperature."'";
$result = mysqli_query($this->link,$query) or die('Errant query: '.$query);
}

}
if($_GET['temperature'] != '' and $_GET['humidity'] != ''){
$dht22=new dht22($_GET['temperature'],$_GET['humidity']);
}
?>

Kemudian save projek dan simpan pada folder C:/xampp/htdocs/Ethernet

Dengan nama file dht.php.

Setelah itu silahkan di uji coba apakah data base sudah bisa menyimpan data dengan cara tulis  

localhost/ethernet/dht.php?humidity=20&temperature=35 

pada browser.

lalu cek table yang sudah dibuat, apakah data sudah masuk ke data base atau tidak. Jika belum masuk ulangi langkah-langkah di atas.

Jika sudah data sudah bisa masuk ke table selanjutnya kita langsung rangkai projek seperti dibawah ini :

 

Lalu upload program sesuai dengan di bawah ini :

#include "DHT.h"
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //Setting MAC Address

#define DHTPIN 7

#define DHTTYPE DHT22

DHT dht(DHTPIN,DHTTYPE);


float humidityData;
float temperatureData;
float fahrenheitData;


char server[] = "169.254.131.147";
IPAddress ip(169,254,131,145); 
EthernetClient client; 



void setup() {
Serial.begin(9600);
dht.begin();
if (Ethernet.begin(mac) == 0) {
Serial.println("Failed to configure Ethernet using DHCP");
Ethernet.begin(mac, ip);
}
delay(1000);
}
//------------------------------------------------------------------------------


/* Infinite Loop */
void loop(){

humidityData = dht.readHumidity();
temperatureData = dht.readTemperature();
fahrenheitData = dht.readTemperature(true);
Sending_To_phpmyadmindatabase();
delay(60000); // interval
}


void Sending_To_phpmyadmindatabase() //CONNECTING WITH MYSQL
{
if (client.connect(server, 80)) {
Serial.println("connected");
// Make a HTTP request:
Serial.print("GET /ethernet/dht.php?humidity=");
client.print("GET /ethernet/dht.php?humidity=");
Serial.print(humidityData);
client.print(humidityData);

client.print("%&temperature=");
Serial.print("%&temperature=");
client.print(temperatureData);
Serial.println(temperatureData);
 
    client.print(" ");      //SPACE BEFORE HTTP/1.1
client.print("HTTP/1.1");
client.println();
client.println("Host: 169.254.131.147");
client.println("Connection: close");
client.println();
} else {
// if you didn't get a connection to the server:
Serial.println("connection failed");
}

Setting IP address automatically caranya buka control panel/network and internet/network and sharing center/Ethernet/propertis/ TCP/IPv4/obtain an IP Address automatically/OK.

Hasilnya program dapat menampilkan data sensor dht22 secara realtime dari arduino Ethernet ke data base mysql.


 

Jangan lupa di refresh untuk mendapatkan data terbaru dari sensor DHT22.

Sekian tutorial kali ini semoga bermanfaat.🙏


 

 

 

 

0 Comments