Mengendalikan Arduino via Aplikasi Web

10 1.583

9d19310763171b0d958d23a18b3d7e1c_400x400Tulisan ini adalah seri ekstra dari tulisan sebelumnya tentang bagaimana cara mengeksplorasi menggunakan shield Serial Wifi berbasis ESP8266. Pada sesi kali ini kita akan belajar membuat sebuah sistem client – server yang bisa mengendalikan arduino untuk membuat led berada pada kondisi on dan off. tutorial ini akan cukup panjang dan rumit karena membutuhkan pengatahuan tidak hanya tentang arduino namun juga pemrograman web menggunakan Java. Jadi siap-siap! ūüėČ

Sebelumnya, bagi anda yang belum membaca seri tulisan saya sebelumnya tentang shield wifi ini saya sarankan anda membacanya terlebih dahulu

Saya menggunakan shield wifi berbasis ESP8266 yang seperti berikut.

watermarked-14412658564634

Jika anda belum memilikinya, saya sarankan anda membelinya di TOKO BEY dengan mengakses halaman pembelian disini. Sedangkan untuk Arduino Uno, anda bisa mendapatkan di halaman pembelian di sini

1. Diagram Sistem

Oke, kita akan mulai dari frame besarnya, dengan diagram sistem yang akan kita buat,  kurang lebih adalah sebagai berikut

wifi2

Notebook 1 dan notebook 2 adalah simbol bahwa kita bisa mengakses halaman web dari komputer mana saja selama terhubung ke jaringan. Pada  halaman web pengguna bisa melakukan perintah untuk menyalakan atau mematikan led, perintah ini kemudian dikirimkan ke Web Application Server dimana aplikasi web telah terinstall. Aplikasi web itu telah terhubung dengan socket pada shield wifi arduino dan meneruskan perintah yang didapat





2. Mengatur Shield Wifi

Shield wifi pada sesi kali ini akan saya atur sebagai server dan akan terhubung pada jaringan yang sama dengan Application Server. Sehingga berikut pengaturannya

wifi3

Perhatikan, pengaturan tersebut mirip dengan pengaturan pada tulisan saya di sesi ke 2. perbedaannya pada Network Setting dimana socket Type saya atur sebagai Server, dengan Port 9000

3. Membuat Program Arduino.

Langkah berikutnya adalah membuat program arduino yang menerima data yang dikirimkan dari client. Kita bisa mendownloadnya di link berikut di github. Setelah itu ekstrak dan buka file arduino_serv/arduino_serv.ino pada Arduino IDE lalu upload ke Arduino Uno. Jangan lupa untuk men-switch dulu shield ke posisi off agar proses upload berhasil.

Berikut program arduino_serv tersebut

Tidak ada yang istimewa dari program ini, hanyalah program serial biasa yang membaca masukan, jika menerima string 1 maka LED di PORT13 menyala, namun jika string 0 yang didapat, maka LED mati.





4. Mempersiapkan Environment Java EE

Dalam tutorial kali ini saya akan membuat aplikasi web sekaligus socket yang terhubung dengan shield wifi menggunakan bahasa pemrogram java. Hal yang diperlukan sebelum memulai adalah, mengatur environment. Untuk IDE saya menggunakan Eclipse IDE for Web Developer, kitabisa mendownloadnya di link berikut. Lebih lanjut tentanng tutorial instalasi Eclipse dan mengatur environment java yang diperlukan, silahkan baca terlebih dahulu tulisan saya sebelumnya

Buka Eclipse IDE yang telah di-install, lalu setup environment Aplication Server menggunakan Apache Tomcat 7.

Baca Juga : Mempersiapkan Environment Java EE

5. Import Program

Setelah environment selesei diatur, import source code yang telah di-download pada point 3. Pilih menu File > Import > Existing Project into Workspace lalu klik Next. Di jendela dialog selanjutnya, browse pada Select Root Directory dan arahkan pada direktori SimpleWeb lalu Finish

import

Jika proses import tidak mengalami masalah, anda akan menemui program java di dua kelas dan dua package yang berbeda. Class yang pertama adalah SimpleClient.java yang merupakan program socket client yang pada prinsipnya terhubung dan mengirim pesan ke shield arduino melalui mekanisme client server.

Agar pembahasan ini tidak terlalu melebar, saya tidak akan membahas mengenai dasar pemrograman java dan socket, anda bisa mencari sendiri pembahasan yang lebih mendalam dengan kata kunci Java Socket Programming di Google

Yang perlu diperhatikan disini adalah baris 14, saya menulis secara hardcode alamat IP dari shield WIFI, jadi kita perlu mengubahnya sesuai dengan alamat IP dari shield arduino yang kita gunakan. Lalu bagaimana saya bisa mengetahui alamat IP dari shield wifi tersebut bila settingan IP yang digunakan adalah DHCP?

Ada banyak cara, salah satunya, adalah melakukan scanning dengan menggunakan Advanced IP Scanner yang saya dapatkan di link berikut

Class yang kedua adalah HelloServlet.java yang merupakan program servlet yang menampilkan halaman Java Server Page WEB-INF/HelloJSP.jsp jika dilakukan request GET. Dan melakukan pemrosesan data untuk kemudian meneruskannya ke arduino saat form di submit melalui method doPost() (baris 58-69)

Bagaimana? Cukup mudah bukan? Atau cukup sulit. ¬†Jangan segan menggunakan kolom komentar untuk bertanya mengenai kesulitan dari tutorial kita kali ini. ūüėČ

Salam Elektronika

10 Komen
  1. sandika berkata

    gan untuk kontrol LED menggunakan android gimana caranya?

    1. admin berkata

      Jika menggunakan android prinsip kerjanya sama. cuma ada tambahan untuk membuat aplikasi android-nya

  2. daniel fsrt berkata

    Bang, Bisa bagi nomor WA nya. mau tanya2 ini, sekalian mau beli produknya.

    untuk koneksi Arduino dengan web aplikasi,
    bisa gak web aplikasi mengendalikan arduino dengan jaringan yang berbeda.

    Contoh : Laptop kita terhubung ke Wifi A, Arduino dengan wifi B.

    0812 6003 6994 bantu share ya Bang.
    saya mau belajar koneksi arduino dengan ATS Genset dan mengendalikannya mengunakan Web Application. Trims

    1. tirtomaya berkata

      coba pakai repeater

  3. Sky Zelitra berkata

    gan, ini web nya bisa diakses dari manapun tidak?, misalkan dari smartphone sehingga bisa dikendalikan dari jarak jauh

    1. admin berkata

      itu cuma masalah jaringan.. apakah pakai internet atau cuma intranet (lokal)

      1. Sky Zelitra berkata

        jd yang contoh agan ini tuh pake internet atau intranet?

  4. fikri yadi berkata

    gan, ada tutorial shield wfi esp8266 menggunakan php/mysql untuk web servernya

  5. Naila berkata

    misi gan numpang nanya nih soalnya ane lagi tahap belajar arduino…
    bisa gak gan kalau ane buat projek web tanpa aplikasi Eclipse IDE for Web Developer yang agan sebutkan terhubung dengan wifi shield sebagai server kontrol?

  6. Naila berkata

    misi gan numpang nanya nih soalnya ane lagi tahap belajar arduino…
    bisa gak gan kalau ane buat projek web tanpa aplikasi Eclipse IDE for Web Developer yang agan sebutkan terhubung dengan wifi shield sebagai server kontrol?
    kalau bisa ane minta pencerahanya gan hehehe

%d blogger menyukai ini: