Translate

Kendali LED / Device Via Internet dan Arduino

Kendali LED / Device via Internet dan Arduino (IoT)


                Pada malam hari ini saya akan menjelaskan mengenai bagaimana cara membuat alat berbasis internet atau bahasa kerennya "internet of things" dengan menggunakan Arduino Uno, prinsip kerja alat yang akan saya contohkan yaitu ada dua buah led yang akan dikendalikan on/off dengan menggunakan interface yang terpasang di web hosting, untuk web hosting bisa bermacam-macam, saya disini menggunakan idhostinger.com dengan status "gratis", maklum mahasiswa hehehe... . Alat ini tidak menggunakan webserver, namun komputer / laptop yang terkoneksi ke internet-lah yang akan menjadi webserver, jadi komputer mengambil data dari internet lalu dikirimkan ke arduino, Sistem kerja di interface hosting yaitu ada sebuah file bernama LEDstate.txt yang akan menampung data dari file led.php dan interface pakai control.html, berikut penjelasan lebih jelasnya.


 a. Arduino Uno





b. Web Hosting
- Pertama masuk ke web www.idhostinger.com
- Buat akun baru atau bisa masuk menggunakan akun google+ / facebook
- Buat hosting gratis dengan nama "www.chargingstation.hol.es" (contoh)
- Buka File Manager1 lalu buat 3 buah file berikut.

========
led.php
========
<?php
$onoroff = $_GET["state"]; // Declares the request from index.html as a variable
$textfile = "LEDstate.txt"; // Declares the name and location of the .txt file

$fileLocation = "$textfile";
$fh = fopen($fileLocation, 'w   ') or die("Something went wrong!"); // Opens up the .txt file for writing and replaces any previous content
$stringToWrite = "$onoroff"; // Write either 1 or 0 depending on request from index.html
fwrite($fh, $stringToWrite); // Writes it to the .txt file
fclose($fh);

header("Location: control.html"); // Return to frontend (control.html)
?>



========
control.html
========
<html>
<head>
<title>LED ON/OFF</title>
</head>
<body>

<p align="center">
<font size="8">

<!-- This part is a a link, which also sends a request to the php-document,telling it to write 1 or 0 to LEDstate.txt -->
<b>LAMPU 1 = &nbsp <a href="led.php?state=1">ON </a></b> /
<b><a href="led.php?state=0">OFF</a></b>
<br>
<b>LAMPU 2 = &nbsp <a href="led.php?state=2">ON</a></b> /
<b><a href="led.php?state=3">OFF</a></b>

</font>
</p>

</body>
</html>




===================
LEDstate.txt  (file kosong)
===================
 (kosong)





c. Setelah 3 file tersebut dibuat maka buat program Arduino berikut lalu upload

const int ledPin = 7;// the pin that the LED
const int ledPin2 = 6;
int incomingByte;      // a variable to read incoming serial data into

void setup() {
  // initialize serial communication:
  Serial.begin(9600);
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);
  pinMode(ledPin2, OUTPUT);
}

void loop() {
  // see if there's incoming serial data:
    if (Serial.available() > 0) {
    // read the oldest byte in the serial buffer:
    incomingByte = Serial.read();
    // if it's a capital H (ASCII 72), turn on the LED:
    if (incomingByte == 'H') {
      digitalWrite(ledPin, HIGH);
    }
    if (incomingByte == 'L') {
      digitalWrite(ledPin, LOW);
    }
    // if it's an L (ASCII 76) turn off the LED:
    if (incomingByte == 'A') {
      digitalWrite(ledPin2, LOW);
    }
    if (incomingByte == 'B') {
      digitalWrite(ledPin2, HIGH);
    }

  }
}




d. Kemudian buat file Arduino | Processing berikut  lalu RUN

 import processing.serial.*;
 Serial port;

 void setup()  {

 port = new Serial(this, Serial.list()[0], 9600);  

}
 void draw() {

  String onoroff[] = loadStrings("http://chargingstation.hol.es/LEDstate.txt"); // Insert the location of your .txt file
  print(onoroff[0]);  // Prints whatever is in the file ("1" or "0")

  if (onoroff[0].equals("1") == true) {
    println(" - TELLING ARDUINO TO TURN LED ON");
    port.write('H'); // Send "H" over serial to set LED to HIGH

  }
 
  if (onoroff[0].equals("0") == true){

    println(" - TELLING ARDUINO TO TURN LED OFF");
    port.write('L');  // Send "L" over serial to set LED to LOW
 }

   if (onoroff[0].equals("3") == true) {
    println(" - TELLING ARDUINO TO TURN LED ON");
    port.write('A'); // Send "A" over serial to set LED to HIGH

  }
 
  if (onoroff[0].equals("2") == true){

    println(" - TELLING ARDUINO TO TURN LED OFF");
    port.write('B');  // Send "B" over serial to set LED to LOW
 }

  delay(1000); // Set your desired interval here, in milliseconds
 }




 e. Buka alamat yang tadi dibuat "http://chargingstation.hol.es/control.html"



f. Lihat apa yang terjadi pada LED saat tombol ditekan


g. VIDEO HASILNYA
 






sumber = http://projects.sindrelindstad.com/how-to-led-arduino-php-proc/

    

2 comments: