Testimonials ( 32 )
(5,0/5)

Review By Sigit Yatmono,
Sigit Yatmono
Toko terpercaya utk belanja komponen dan part robotika
22-07-2024
Verified Purchase
Review By Ade,
Ade
pelayanan ramah
21-02-2024
Verified Purchase
Review By azkal,
azkal
masnya ramah sekali
21-02-2024
Verified Purchase

New products

Berita DigiWare

Komunikasi Jaringan Ethernet pada Intel Galileo Gen 2 [TCP Server-Part 1]

Salah satu fitur utama yang dimiliki oleh Intel Galileo ataupun Intel Galileo Gen 2 yaitu adanya komunikasi jaringan Ethernet (RJ45). Memang sebelum kehadiran Intel Galileo terdapat beberapa mini-PC yang menyediakan fitur komunikasi jaringan Ethernet (RJ45), akan tetapi hal ini cukup rumit karena harus berurusan dengan sistem operasi Linux. Bagi teman-teman yang belum menguasai bahasa pemrograman seperti python, lua, hal ini tentu saja menjadi kendala tersendiri.

Intel Galileo dan Intel Galileo Gen 2 menyediakan fitur Arduino UNO form factor dan dapat diprogram dengan Arduino IDE. Tentu saja hal ini menjadi kabar gembira bagi kita semua yang ingin mengembangkan aplikasi berbasis Arduino dan memerlukan koneksi dengan antarmuka jaringan ethernet.

Lalu bagaimana cara berkomunikasi jaringan ethernet di Intel Galileo Gen 2 melalui Arduino IDE, apakah masih bisa menggunakan library ethernet yang disediakan di Arduino? Ok, langsung saja kita memulai pembahasannya.

Perlengkapan :

  1. Intel Galileo Gen 2.
  2. Kabel Ethernet.
  3. Kabel micro-USB.

Prosedur percobaan :

  1. Hubungkan kabel LAN dari PC langsung ke Intel Galileo Gen 2.
  2. Atur konfigurasi IP pada jaringan LAN di PC menjadi IP static.
  3. Buka Arduino IDE, kemudian buat file baru dan ketikan kode program berikut ini :

    	#include 
    
    	EthernetServer server(5000);
    	boolean terhubung = false; // whether or not the client was connected previously
    
    	void setup() {
    	  delay(2000);
    	  
    	  server.begin();
    	  Serial.begin(9600);
    
    	  Serial.print("Server address:");
    	  
    	  //Penggunaan Intel Galileo Gen 2 tanpa microSD
    	  //jika koneksi kabel LAN dari PC <> Intel Galileo Gen 2
    	  //PC menggunakan IP Static
    	  //Intel Galileo Gen 2 menggunakan IP Static 192.168.1.13
    	  //Alamat IP Intel Galileo Gen 2 dapat disesuaikan.
    	  //system("ifconfig eth0 192.168.1.13 netmask 255.255.255.0 up");
    	  //system("/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}' > /dev/ttyGS0");
    
    	  //Penggunaan Intel Galileo Gen 2 dengan microSD card + IoT Dev Kit Images
    	  //jika koneksi kabel LAN dari PC <> Intel Galileo Gen 2
    	  //PC menggunakan IP Static
    	  //Intel Galileo Gen 2 menggunakan IP Static 192.168.1.13
    	  //Alamat IP Intel Galileo Gen 2 dapat disesuaikan.
    	  system("ip addr add 192.168.1.13 dev enp0s20f6");
    	  system("/sbin/ifconfig enp0s20f6 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}' > /dev/ttyGS0");
    	}
    
    	void loop() {
    	  EthernetClient client = server.available();
    	  if (client) {
    		if (!terhubung) {
    		  client.flush();    
    		  Serial.println("Client terhubung");
    		  client.println("Selamat Bergabung di Intel Galileo Gen 2"); 
    		  terhubung = true;
    		} 
    		while(client.connected()){
    		  if (client.available() > 0) {
    			// read the bytes incoming from the client:
    			char thisChar = client.read();
    			// echo the bytes back to the client:
    			server.write(thisChar);
    			// echo the bytes to the server as well:
    			Serial.write(thisChar);
    		  }
    		}
    		Serial.println("Client tidak terhubung");
    		terhubung = false;
    	  }
    	}	
    	
  4. Perhatikan baris ke 14 - 29. Pada baris ini dapat dipilih sesuai dengan kondisi dari Intel Galileo Gen 2 yang digunakan. Apabila tidak menggunakan microSD Card, maka nama interface dari ethernet di linux adalah eth0. Sedangkan jika menggunakan image IoT Dev Kit pada microSD Card, maka nama interface dari ethernet di linux adalah enp0s20f6.
    Jika menggunakan image IoT Dev Kit pada microSD Card, maka pastikan konfigurasi pada baris 14 - 29 adalah sebagai berikut :


    Jika tidak menggunakan microSD, pastikan konfigurasi pada baris 14 - 29 adalah sebagai berikut :
  5. Kemudian Upload kode program tersebut ke Intel Galileo Gen 2.
  6. Tunggu sampai proses upload selesai, kemudian buka Serial Monitor.
  7. Jika tidak terlambat membuka Serial Monitor dan tidak ada kesalahan kode program, maka pada Serial Monitor akan muncul informasi IP TCP Server dari Intel Galileo Gen 2.
  8. Setelah mendapatkan informasi alamat IP, sekarang saatnya mencoba koneksi dari PC ke Intel Galileo Gen 2 melalui TCP dengan menggunakan bantuan software terminal TCP/IP.
    Pada kesempatan kali ini, software yang digunakan adalah Hercules dari HW-Group. http://www.hw-group.com/products/hercules/index_en.html
    Software Hercules menyediakan beberapa jenis terminal untuk komunikasi, antara lain : Serial UART, UDP, TCP Server, TCP Client.
  9. Download software Hercules dan Jalankan software tersebut.
    Pada artikel kali ini, kami menggunakan software Hercules versi 3.2.6.
  10. Setelah muncul jendela software Hercules, pilih Tab TCP Client, kemudian masukan alamat IP dan Port dari Intel Galileo Gen 2.

    Alamat IP di dapatkan dari informasi pada Serial Monitor di Arduino IDE. Sedangkan Port 5000 merupakan port yang sudah ditentukan pada program Arduino.
  11. Kemudian tekan tombol Connect. Lalu lihat apa yang terjadi pada software Hercules dan Serial Monitor di Arduino IDE. Jika tidak ada kesalahan, pada Serial Monitor akan muncul informasi bahwa ada client yang terkoneksi ke server. Pada percobaan kali ini, server yang dimaksud adalah Intel Galileo Gen 2 dan client adalah PC.

    Pada gambar di atas dapat dilihat bahwa server memberikan informasi melalui Serial Monitor bahwa ada client (PC) yang terhubung ke server.
    Selain itu, server juga menyapa client dengan memberikan informasi “Selamat Bergabung di Intel Galileo Gen 2”
  12. Kemudian coba kirim karakter dari PC (Client) ke Intel Galileo Gen 2 (Server). Jika tidak ada kesalahan, maka data akan diterima oleh server, kemudian ditampilkan melalui Serial Monitor dan dikirimkan kembali ke client.

    Pada software Hercules terdapat tulisan berwarna pink atau merah muda yang menandakan internal echo pada software tersebut.

Percobaan kali ini cukup sederhana, Intel Galileo Gen 2 berfungsi sebagai Server TCP dan PC sebagai Client TCP. Jika Client (PC) sudah terhubung ke Server (Intel Galileo Gen 2), maka alur komunikasi data selalui dimulai dari Client (PC) kemudian diterima oleh Server (Intel Galileo Gen 2) baru kemudian dikembalikan lagi (echo) ke Client (PC).


Berdasarkan dari alur data ini, maka kita bisa membuat aplikasi sederhana untuk menghidupkan atau mematikan LED pada pin 13 melalui jaringan ethernet. Penasaran bagaimana caranya? Tunggu artikel kami pada edisi selanjutnya.