Anda di halaman 1dari 7

UJIAN PRAKTIKUM

TEKNIK ANTARMUKA DAN AKUISISI DATA

AKUISISI DATA SUHU DAN KELEMBABAN

BERBASIS WEBSERVER

Dr. Muhtadan, M.Eng.

KELOMPOK 1
NI MAS ZAHRA ZHAFIRA / 021700004
RAJA KAMAL RAMADHAN / 021700006
AETANDRIAN WIDYA RAHARJO / 021700012
AYU NYSSA ARDHANI / 021700019
SENA AHMAD FATHONI / 021700024

SEKOLAH TINGGI TEKNOLOGI NUKLIR


BADAN TENAGA NUKLIR NASIONAL
YOGYAKARTA
2020
Pembagian Tugas Kelompok
No Nama Tugas
Wiring, Pembuatan Program Arduino untuk Akuisisi
1 Aetandrian Widiaraharjo Data dari Sensor DHT11, dan Pengiriman Data ke
mySQL Database
Wiring, Pembuatan Program Arduino untuk Akuisisi
2 Raja Kamal Ramadhan Data dari Sensor DHT11, dan Pengiriman Data ke
mySQL Database
Pembuatan Program PHP yang terdiri dari program
3 Nimas Zahra koneksi database, program penyimpan database dan
penampil database pada webserver
Pembuatan Program PHP yang terdiri dari program
4 Ayu Nyssa koneksi database, program penyimpan database dan
penampil database pada webserver
Pembuatan Program PHP yang terdiri dari program
5 Sena Ahmad Fathoni koneksi database, program penyimpan database dan
penampil database pada webserver

Script Program Arduino


#include "DHT.h"
#include <ESP8266WiFi.h>
#define DHTPIN D2
#define DHTTYPE DHT11

DHT dht(DHTPIN,DHTTYPE);

float humidityData;
float temperatureData;

const char* ssid = "Cemara";


const char* password = "kulukulukulu";
const char* host = "192.168.100.6";

void setup() {
Serial.begin(115200);
delay(10);
dht.begin();
Serial.println();
Serial.println();
Serial.print("connecting to");
Serial.print("SSID");
WiFi.begin(ssid,password);

while (WiFi.status() != WL_CONNECTED) {


delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("Wifi Connected");
Serial.println("IP Address: ");
Serial.println(WiFi.localIP());
}

void loop() {
float kelembaban = dht.readHumidity();
float suhu = dht.readTemperature();

Serial.print("connecting to ");
Serial.println(host);

WiFiClient client;

const int httpPort = 80;

if (!client.connect(host, httpPort)) {
Serial.println("connection failed");
return;
}

String url = "/nodemcu_daq/tambah.php?";


url += "suhu=";
url += suhu
url += "&kelembaban=";
url += kelembaban;

Serial.print("Requesting URL: ");


Serial.println(url);

client.print(String("GET ") + url + " HTTP/1.1\r\n" +


"Host: " + host + "\r\n" +
"Connection: close\r\n\r\n");

unsigned long timeout = millis();


while (client.available() == 0) {
if (millis() - timeout > 5000) {
Serial.println(">>> Client Timeout !");
client.stop();
return;
}
}

while (client.available()) {
String line = client.readStringUntil('\r');

if (line.indexOf("sukses") != -1) {
Serial.println();
Serial.println("data berhasil disimpan");
} else if (line.indexOf("gagal") != -1) {
Serial.println();
Serial.println("data gagal disimpan");
}
}

Serial.println();
Serial.println("closing connection");
delay(10000);
}

Script Program Koneksi Database (koneksi.php)


<?php
try {
$host = "localhost";
$username = "root";
$password = "";
$dbname = "db_nodemcu";

$PDO = new PDO("mysql:host=" . $host . ";dbname=" . $dbname .


";charset=utf8", $username, $password);
}
catch (PDOException $erro) {
echo "Gagal Terhubung ke database : " . $erro->getMessage();
}

?>

Script Program Penyimpanan Database (tambah.php)


<?php
$sensor = $_GET["kelembaban"];
echo $sensor;
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "db_nodemcu";

$conn = mysqli_connect("$servername", "$username",


"$password","$dbname");
$result = mysqli_query ($conn,"INSERT INTO tb_baru (suhu, datasensor)
VALUES ('".$_GET["suhu"]."','".$_GET["kelembaban"]."')");

if (!$result)
{
die ('Invalid query: '.mysqli_error($conn));
}
?>

Script Program Penampil Database pada Webserver (index.php)


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>NODEMCU DAQ Data Sensor</title>
</head>
<body>
<form action="" method="post">
<input type="date" name="data">
<input type="submit" name="submit" value="Cari Data">
</form>
<?php
include('koneksi.php');
if($_SERVER['REQUEST_METHOD'] == "POST") {
$dataActual = $_POST['data'];
$sql = "SELECT * FROM tb_baru WHERE datasensor LIKE '%" .
$dataActual . "%'";
}else{
$dataWaktu = date('Y-m');
$sql = "SELECT * FROM tb_baru WHERE waktu LIKE '%" .
$dataWaktu . "%'";
}
$stmt = $PDO->prepare($sql);
$stmt->execute();
echo "<br>";
echo "<table border=\"1\">";
echo "<tr> <th>Suhu</th>
<th>kelembaban</th>
<th>Waktu</th> </tr>";
while ($tampil = $stmt->fetch(PDO::FETCH_OBJ)){
$timestamp = strtotime($tampil->waktu);
$dateTabel = date('d/m/Y H:i:s', $timestamp);
echo "<tr>";
echo "<td>" . $tampil->suhu . "</td>";
echo "<td>" . $tampil->datasensor . "</td>";
echo "<td>" . $dateTabel . "</td>";
echo "</tr>";
}
echo "</table>";
?>
</body>
</html>
Hasil

Anda mungkin juga menyukai