pengetahuan dasar pemrograman jaringan (network) dan ethernet library pada arduino _ dasar komputer...

Upload: baba

Post on 06-Jul-2018

238 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/16/2019 Pengetahuan Dasar Pemrograman Jaringan (Network) Dan Ethernet Library Pada Arduino _ DASAR KOMPUTER BUA…

    1/17

    19/4/2016 Pengetahuan Dasar pemrograman Jaringan (Network) dan Ethernet Library pada Arduino | DASAR KOMPUTER BUAT PEMULA

    https://pccontrol.wordpress.com/2014/07/02/pengetahuan-dasar-pemrograman-jaringan-network-dan-ethernet-pada-arduino/ 1/17

    Posted by pccontrol

    DASAR KOMPUTER BUAT PEMULA

    Pengetahuan Dasar pemrograman Jaringan

    (Network) dan Ethernet Library pada Arduino

    UL 2

    Sebelum ada arduino untuk pemrograman jaringan pada microcontroller dirasa cukup sulit tapi dengan adanya arduino dgn kelengkapan ethernet librarynya pemrograman jaringanmen jadi lebih mudah. Bahkan orang yg awam microcontroller pun bisa mempelajarinya dgnlebih cepat. Untuk pembahasan tema artikel ini anda sebaiknya mengetahui dasar dasar jaringan komputer dan dasar pengetahuan pemrograman jaringan. Untuk dasarpemrograman jaringan anda bisa baca di sini.(h ps://pccontrol.wordpress.com/2012/03/15/pengetahuan‑dasar‑network‑programming‑

    socket‑programming/) Sedangkan untuk dasar dasar jaringan komputer sudah cukup banyakyg mengulasnya di internet.

    Library Ethernet arduino menyediakan berbagai fungsi/method dan beberapa protokol(HTTP,TCP,UDP ) yang memungkinkan program sketch menjadikan arduino sbg client atauserver.

    Beberapa cara komunikasi Arduino pada jaringan ethernet

    * arduino dijadikan sebagai web server

    * arduino dijadikan sebagai client web server ( berfungsi spt google crome ,IE atau mozilla)

    * Client – server dgn protokol TCP , arduino bisa diset sebagai client atau servernya

    * Client – server dgn protokol UDP , arduino bisa diset sebagai client atau servernya

    Yang dimaksud Client atau server adalah aplikasi/software adapun bentuk fisiknya bisa bermacam macam bisa PC, mainframe, laptop, microcontroller, dll.

    Server bersifat pasif/melayani , ia menunggu permintaan dari client. Misalnya Pada webserver , ia akan menunggu request/permintaan dari web client. Ketika kita ketik www.example.com pada web client(browser) sebenarnya yg terjadi adalah permintaan web

     

    https://pccontrol.wordpress.com/2012/03/15/pengetahuan-dasar-network-programming-socket-programming/https://pccontrol.wordpress.com/2012/03/15/pengetahuan-dasar-network-programming-socket-programming/https://pccontrol.wordpress.com/author/pccontrol/https://pccontrol.wordpress.com/2014/07/02/pengetahuan-dasar-pemrograman-jaringan-network-dan-ethernet-pada-arduino/https://pccontrol.wordpress.com/2012/03/15/pengetahuan-dasar-network-programming-socket-programming/https://pccontrol.wordpress.com/2014/07/02/pengetahuan-dasar-pemrograman-jaringan-network-dan-ethernet-pada-arduino/https://pccontrol.wordpress.com/author/pccontrol/

  • 8/16/2019 Pengetahuan Dasar Pemrograman Jaringan (Network) Dan Ethernet Library Pada Arduino _ DASAR KOMPUTER BUA…

    2/17

    19/4/2016 Pengetahuan Dasar pemrograman Jaringan (Network) dan Ethernet Library pada Arduino | DASAR KOMPUTER BUAT PEMULA

    https://pccontrol.wordpress.com/2014/07/02/pengetahuan-dasar-pemrograman-jaringan-network-dan-ethernet-pada-arduino/ 2/17

    client kepada web server dg domain example.com untuk mengirim halaman index.html, lalu

    oleh web client ditampilkan dlm bentuk halaman visual yg bisa kita lihat bukan kodehtmlnya.

    Perlu diketahuai setiap kita mengetik namadomain.com pada web client sebenarnya ygdikirim ke server adalah namadomain.com/index.html . Permintaan untuk menampilkanhalaman utama karena halaman utama biasanya adalah index.html , index.htm, index.php

    atau index.asp.

    Kalau ga percaya coba anda ketik fimadani.com dan fimadani.com/index.php hasilnya akansama.

    Berikut ini HTTP transaction yaitu proses request sebuah web client dan respon sebuah webserver, web Client meminta halaman index.html dari web server www.example.com

     

    (h ps://pccontrol.files.wordpress.com/2014/07/h ptransaction2.jpg)

    Gambar 1. HTTP transaction

    Untuk pengontrolan atau pengambilan data melalui jaringan ethernet yg paling mudah adalah Arduino kita jadikan sebagai web server dan kita bisa meminta atau mengeset datalewat web client .

     

  • 8/16/2019 Pengetahuan Dasar Pemrograman Jaringan (Network) Dan Ethernet Library Pada Arduino _ DASAR KOMPUTER BUA…

    3/17

    19/4/2016 Pengetahuan Dasar pemrograman Jaringan (Network) dan Ethernet Library pada Arduino | DASAR KOMPUTER BUAT PEMULA

    https://pccontrol.wordpress.com/2014/07/02/pengetahuan-dasar-pemrograman-jaringan-network-dan-ethernet-pada-arduino/ 3/17

    Arduino ethernet (atau Arduino dgn ethernet shield ) sebagai Web Server

    Pada percoban ini Pc akan menghubungi alamat web server arduino yg telah di setmenggunakan web client spt google crome , mozilla atau IE.Header Respon dari web serverdari arduino yg akan kita buat seperlunya saja yaitu “HTTP/1.1 200 OK Content‑type:text/html;” diikuti oleh kode Html yg akan dikirim ke client.

    Struktur kode HTML

      (https://reader015.{domain}/reader015/html5/0715/5b4b391178e4a/5b4b39146002d

     

    https://pccontrol.files.wordpress.com/2014/07/httptransactionarduino2.jpghttps://pccontrol.files.wordpress.com/2014/07/html.jpg

  • 8/16/2019 Pengetahuan Dasar Pemrograman Jaringan (Network) Dan Ethernet Library Pada Arduino _ DASAR KOMPUTER BUA…

    4/17

    19/4/2016 Pengetahuan Dasar pemrograman Jaringan (Network) dan Ethernet Library pada Arduino | DASAR KOMPUTER BUAT PEMULA

    https://pccontrol.wordpress.com/2014/07/02/pengetahuan-dasar-pemrograman-jaringan-network-dan-ethernet-pada-arduino/ 4/17

    (h ps://pccontrol.files.wordpress.com/2014/07/h ptransactionarduino2.jpg)

    Gambar 2. Arduino sebagai web server

    Arduino Sebagai Web Client (berfungsi spt Mozilla , IE atau google crome)

    Pada mencoba komunikasi ini kita perlu web server yg telah terinstall di PC , anda bisamenginstall apache web server (h ps://www.apachefriends.org/download.html) yg bisadidapat diinternet secara gratis.

    (h ps://pccontrol.files.wordpress.com/2014/07/arduinosbgwebclient.jpg)

    Gambar 3. Arduino sebagai web client

    Arduino sebagai Client server TCP dan UDP menggunakan Socket Programming

     

    https://www.apachefriends.org/download.html

  • 8/16/2019 Pengetahuan Dasar Pemrograman Jaringan (Network) Dan Ethernet Library Pada Arduino _ DASAR KOMPUTER BUA…

    5/17

    19/4/2016 Pengetahuan Dasar pemrograman Jaringan (Network) dan Ethernet Library pada Arduino | DASAR KOMPUTER BUAT PEMULA

    https://pccontrol.wordpress.com/2014/07/02/pengetahuan-dasar-pemrograman-jaringan-network-dan-ethernet-pada-arduino/ 5/17

    (h ps://pccontrol.files.wordpress.com/2014/07/tcipudp1.jpg)

    Gambar 4. a) client‑server arduino dgn PC b) client‑server arduino dgn arduino

     

    Arduino Ethernet Library

    Berikut ini daftar Class class yang tersedia pada Ethernet Library beserta fungsi/methodnyayang akan kita gunakan dalam pemrograman jaringan arduino :

    Class Ethernet

    class Ethernet digunakan untuk inisialisasi ethernet library dan se ing network .

    fungsi/method class ini antara lain

    Ethernet.begin() digunakan untuk inisialisasi ethernet dan se ing jaringan . method inimempunyai beberapa method overloading antara lain:

    Ethernet.begin(mac) , untuk fungsi yg ini alamat ip nya ditentukan otomatis (oleh DHCP).Ethernet.begin(mac, ip)Ethernet.begin(mac, ip, dns)Ethernet.begin(mac, ip, dns, gateway)Ethernet.begin(mac, ip, dns, gateway, subnet)

    Parameter

     

  • 8/16/2019 Pengetahuan Dasar Pemrograman Jaringan (Network) Dan Ethernet Library Pada Arduino _ DASAR KOMPUTER BUA…

    6/17

    19/4/2016 Pengetahuan Dasar pemrograman Jaringan (Network) dan Ethernet Library pada Arduino | DASAR KOMPUTER BUAT PEMULA

    https://pccontrol.wordpress.com/2014/07/02/pengetahuan-dasar-pemrograman-jaringan-network-dan-ethernet-pada-arduino/ 6/17

    – mac: MAC (Media access control) adalah alamat untuk tiap perangkat ethernet , mac terdiridari 6 bytes. ini adalah alamat hardware Ethernet . Pada Arduino Ethernet Shields ygterbaru no MAC tertulis di stiker . Untuk perangkat arduino ethernet yg model lama,kita memilih sendiri alamat MAC nya.– ip: alamat IP perangkat (4 byte)– dns: alamat IP server DNS (4 byte).– Gateway: alamat IP gateway jaringan ( 4 byte).

    – subnet: subnet mask dari jaringan ( 4 byte). opsional: default 255.255.255.0Return value

     Jika kita menggunakan DHCP untuk menentukan alamat IP maka fungsi yg digunakanadalah Ethernet.begin (mac), yg mempunyai return value int: 1 pada saat koneksi DHCP

     berhasil dan 0 pada jika gagal. fungsi/method selain Ethernet.begin (mac) tidak punya retunvalue .

    Contoh byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; byte ip[] = { 10, 0, 0, 177 };Ethernet.begin(mac, ip);

     baik mac atau ip adress ditulis dgn koma karena disimpan kedalam array

    Ethernet.localIP : fungsi ini untuk mendapatkan alamat IP dari Ethernet . Berguna bilaalamat ip otomatis ditetapkan melalui DHCP

    Class IPAddress

    Class IPAddress digunakan oleh IP adress lokal dan IP address remote host.

    IPAddress() (h p://arduino.cc/en/Reference/EthernetIPAddress) : mendefinisikan alamat IPlocal host maupun remote host

    Class EthernetServer 

    Class ini digunakan untuk membuat arduino sebagai server yg menunggu permintaan dariclient. Class Server adalah base class untuk class Ethernetserver . Base class tidak dipanggil langsung, tetapi dipanggil setiap kali Anda menggunakan fungsi dari class turunannya yaitu EthernetServer() (h p://arduino.cc/en/Reference/EthernetServer) class ini digunakan untuk membuat sebuah objek server yang menunggu koneksi masuk pada port tertentu. Fungsi/method class ini antara lain:

     begin() (h p://arduino.cc/en/Reference/ServerBegin) : Memberitahu server untuk mulai

    mendengarkan koneksi masuk.

    available() (h p://arduino.cc/en/Reference/ServerAvailable) : Untuk mengecek apakah ada client yang terhubung ke server dan memiliki data yang tersedia untuk dibaca. return

     

    http://arduino.cc/en/Reference/ServerAvailablehttp://arduino.cc/en/Reference/ServerBeginhttp://arduino.cc/en/Reference/EthernetServerhttp://arduino.cc/en/Reference/EthernetIPAddress

  • 8/16/2019 Pengetahuan Dasar Pemrograman Jaringan (Network) Dan Ethernet Library Pada Arduino _ DASAR KOMPUTER BUA…

    7/17

    19/4/2016 Pengetahuan Dasar pemrograman Jaringan (Network) dan Ethernet Library pada Arduino | DASAR KOMPUTER BUAT PEMULA

    https://pccontrol.wordpress.com/2014/07/02/pengetahuan-dasar-pemrograman-jaringan-network-dan-ethernet-pada-arduino/ 7/17

    value fungsi ini adalah sebuah objek client.

    write() (h p://arduino.cc/en/Reference/ServerWrite) : mengirim data byte ke client ygterhubung ke server.

    print() (h p://arduino.cc/en/Reference/ServerPrint) : mengirim dataASCII ke client ygterhubung ke server.

    println() (h p://arduino.cc/en/Reference/ServerPrintln) : mengirim data ASCII ke client ygterhubung dan menambahkan code CR ,LF dibelakangnya.

    Class EthernetClient

    class Client ini digunakan untuk membuat arduino sebagai client yg dpt menghubungi server .Class Client (h p://arduino.cc/en/Reference/ClientConstructor) tdk digunakan secara langsung

    tetapi sebagai base class dari class EthernetClient(h p://arduino.cc/en/Reference/EthernetClient) , class ini yg akan kita gunakan fungsi/methodnya antara lain:

    if (EthernetClient) (h p://arduino.cc/en/Reference/IfEthernetClient) : Mengindikasikan jikaclient Ethernet yang ditentukan sudah siap.

    connected() (h p://arduino.cc/en/Reference/ClientConnected) : Untuk mengecek apakahclient terhubung atau tidak. Perhatikan bahwa client dianggap terhubung jika sambungantelah ditutup namun masih ada data yang belum dibaca.

    connect() (h p://arduino.cc/en/Reference/ClientConnect) : Menghubungkan ke alamat IPtertentu dan port. return value menunjukkan keberhasilan atau kegagalan koneksi. fungsiini mendukung DNS lookups bila menggunakan nama domain.

    write() (h p://arduino.cc/en/Reference/ClientWrite) : mengirim data ke server dari client ygterkoneksi. Data ini dikirim sebagai byte atau serangkaian byte.

    print() (h p://arduino.cc/en/Reference/ClientPrint) : mengirim data ke server dari client ygterkoneksi. Data ini dikirim sebagai code ASCII.

    println() (h p://arduino.cc/en/Reference/ClientPrintln) :mengirim data ke server dari clientyg terkoneksi. Data ini dikirim sebagai code ASCII + CR LF (kode enter)

    available() (h p://arduino.cc/en/Reference/ClientAvailable) :Return value nya adalah jumlah byte yang tersedia untuk dibaca (yaitu jumlah data yang telah diterima client dariserver yang terhubung). available() turunan dari class utilitas Stream.

    read() (h p://arduino.cc/en/Reference/ClientRead) : Baca byte berikutnya yang diterimaclient yg terkoneksi ke server

    flush() (h p://arduino.cc/en/Reference/ClientFlush) : Buang setiap byte yang telah ditulisuntuk client tetapi belum dibaca.

     

    http://arduino.cc/en/Reference/ClientStophttp://arduino.cc/en/Reference/ClientFlushhttp://arduino.cc/en/Reference/ClientReadhttp://arduino.cc/en/Reference/ClientAvailablehttp://arduino.cc/en/Reference/ClientPrintlnhttp://arduino.cc/en/Reference/ClientPrinthttp://arduino.cc/en/Reference/ClientWritehttp://arduino.cc/en/Reference/ClientConnecthttp://arduino.cc/en/Reference/ClientConnectedhttp://arduino.cc/en/Reference/IfEthernetClienthttp://arduino.cc/en/Reference/EthernetClienthttp://arduino.cc/en/Reference/ClientConstructorhttp://arduino.cc/en/Reference/ServerPrintlnhttp://arduino.cc/en/Reference/ServerPrinthttp://arduino.cc/en/Reference/ServerWrite

  • 8/16/2019 Pengetahuan Dasar Pemrograman Jaringan (Network) Dan Ethernet Library Pada Arduino _ DASAR KOMPUTER BUA…

    8/17

    19/4/2016 Pengetahuan Dasar pemrograman Jaringan (Network) dan Ethernet Library pada Arduino | DASAR KOMPUTER BUAT PEMULA

    https://pccontrol.wordpress.com/2014/07/02/pengetahuan-dasar-pemrograman-jaringan-network-dan-ethernet-pada-arduino/ 8/17

    stop() (h p://arduino.cc/en/Reference/ClientStop) : putuskan koneksi ke server.

    Class EthernetUDP

    class ini digunakan untuk membuat pengiriman pesan pd client‑server dengan protokol UDP.

    fungsi/method class ini :

     begin() (h p://arduino.cc/en/Reference/EthernetUDPBegin) : untuk inisialisasi libararyethernet UDP dan penyetingan jaringan

    read() (h p://arduino.cc/en/Reference/EthernetUDPRead) : Membaca data UDP dari bufferyg telh ditentukan.

     Jika tidak ada argumen yang diberikan, return valuenya adalah karakter berikutnya dalam buffer.Fungsi ini hanya dapat berhasil setelah pemanggilan fungsi UDP.parsePacket ().

    write() (h p://arduino.cc/en/Reference/EthernetUDPWrite) : Mengirim data UDP kekoneksi remote. data harus diawali beginPacket () dan diakhiri oleh endPacket ().

     beginPacket () menginisialisasi paket data, data tidak dikirim sampai endPacket ()dipanggil

     beginPacket() (h p://arduino.cc/en/Reference/EthernetUDPBeginPacket) : Mulai koneksiuntuk mengirim data UDP ke koneksi remote

    endPacket() (h p://arduino.cc/en/Reference/EthernetUDPEndPacket) : fungsi ini dipanggil

    setelah mengirim data UDP ke koneksi remote.

    parsePacket() (h p://arduino.cc/en/Reference/EthernetUDPParsePacket) : Cek keberadaanpaket UDP, dan return value nya panjang data UDP yg diterima. parsePacket () harusdipanggil sebelum membaca buffer.

    available() (h p://arduino.cc/en/Reference/EthernetUDPAvailable) : untuk mendapatkan jumlah byte (karakter) yg tersedia dibuffer untuk dibaca.Fungsi ini hanya dapat berhasil setelah fungsi UDP.parsePacket() dipanggil.

    stop() (h p://arduino.cc/en/Reference/EthernetUDPStop) : memutuskan koneksi ke server.Lepaskan semua sumber daya yang digunakan selama sesi UDP.

    remoteIP() (h p://arduino.cc/en/Reference/EthernetUDPRemoteIP) : Mendapatkan alamatIP dari koneksi remote . Fungsi ini harus dipanggil setelah UDP.parsePacket ().

    remotePort() (h p://arduino.cc/en/Reference/EthernetUDPRemotePort) : Mendapatkan portkoneksi UDP remote host. Fungsi ini harus dipanggil setelah UDP.parsePacket ().

     

    Contoh‑1

    Program sketch arduino sebagai web server

     

    http://arduino.cc/en/Reference/EthernetUDPRemotePorthttp://arduino.cc/en/Reference/EthernetUDPRemoteIPhttp://arduino.cc/en/Reference/EthernetUDPStophttp://arduino.cc/en/Reference/EthernetUDPAvailablehttp://arduino.cc/en/Reference/EthernetUDPParsePackethttp://arduino.cc/en/Reference/EthernetUDPEndPackethttp://arduino.cc/en/Reference/EthernetUDPBeginPackethttp://arduino.cc/en/Reference/EthernetUDPWritehttp://arduino.cc/en/Reference/EthernetUDPReadhttp://arduino.cc/en/Reference/EthernetUDPBeginhttp://arduino.cc/en/Reference/ClientStop

  • 8/16/2019 Pengetahuan Dasar Pemrograman Jaringan (Network) Dan Ethernet Library Pada Arduino _ DASAR KOMPUTER BUA…

    9/17

    19/4/2016 Pengetahuan Dasar pemrograman Jaringan (Network) dan Ethernet Library pada Arduino | DASAR KOMPUTER BUAT PEMULA

    https://pccontrol.wordpress.com/2014/07/02/pengetahuan-dasar-pemrograman-jaringan-network-dan-ethernet-pada-arduino/ 9/17

    Pada percobaan ini kita akan menampilkan “hello ini web arduino” di web client ketika web browser mengarah ke web server arduino .

    Kode HTML yg akan dikirm oleh arduino sebagai respon dari web client adalah sbb:

    HTTP/1.1 200 OKContent‑Type: text/html

    Refresh: 5

    ”);

    hello ini dari web server arduino

    Program sketch agar arduino menjadi web server dan mengirim balasan HTML diatas adalahsbb

    12345678

    910111213141516171819

    2021222324252627282930

    3132333435

    #include #include  byte alamat_mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };IPAddress alamat_ip_webserver(192,168,1,177);EthernetServer webservercoba(80); void  setup() {

      Ethernet.begin(alamat_mac, alamat_ip_webserver);  webservercoba.begin();  } void  loop() { // listen for incoming clients  EthernetClient client = webservercoba.available(); if  (client) { 

    // an http request ends with a blank line  boolean currentLineIsBlank = true;

     while  (client.connected()) { if  (client.available()) { char  c = client.read(); if  (c == '\n'  && currentLineIsBlank) {

     // send a standard http response  client.println("HTTP/1.1 200 OK");  client.println("Content‐Type: text/html");  client.println("Connection: close"); // the connection will be closed

    client.println("Refresh: 5"); // refresh the page automatically everyclient.println();

      client.println("");  client.println("");  client.println("");  client.println("hello ini dari web server arduino");  client.println("");

     

  • 8/16/2019 Pengetahuan Dasar Pemrograman Jaringan (Network) Dan Ethernet Library Pada Arduino _ DASAR KOMPUTER BUA…

    10/17

    19/4/2016 Pengetahuan Dasar pemrograman Jaringan (Network) dan Ethernet Library pada Arduino | DASAR KOMPUTER BUAT PEMULA

    https://pccontrol.wordpress.com/2014/07/02/pengetahuan-dasar-pemrograman-jaringan-network-dan-ethernet-pada-arduino/ 10/17

     

    setelah anda compile dan diupload ke arduino board lalu hubungkan arduino ke PC dengankable UTP. buka web browser anda misal google crome ketik alamat ip dari web serverarduino maka akan muncul sbb

    (h ps://pccontrol.files.wordpress.com/2014/07/testh tp.jpg)

    Membaca dan menampilkan data ADC (analog) dari arduino

    ganti code diantara dan diatas

    client.println("");

    client.println("hello ini dari web server arduino");client.println("");

    3637383940414243

    4445464748495051525354

    55

      client.println(""); break;  } if  (c == '\n') { // you're starting a new line  currentLineIsBlank = true;  } else if  (c != '\r') {

     // you've gotten a character on the current line  currentLineIsBlank = false;  }  }  } // give the web browser time to receive the data  delay(1); // close the connection:  client.stop(); 

    }

    }

  • 8/16/2019 Pengetahuan Dasar Pemrograman Jaringan (Network) Dan Ethernet Library Pada Arduino _ DASAR KOMPUTER BUA…

    11/17

    19/4/2016 Pengetahuan Dasar pemrograman Jaringan (Network) dan Ethernet Library pada Arduino | DASAR KOMPUTER BUAT PEMULA

    https://pccontrol.wordpress.com/2014/07/02/pengetahuan-dasar-pemrograman-jaringan-network-dan-ethernet-pada-arduino/ 11/17

    menjadi

    client.println("");

    int dataanalog = analogRead(1);

    client.print("nilai analog input chanel 1 = ")

    client.print(dataanalog);

    client.println("");

    Contoh 2. Arduino Sebagai web client

    #include #include #include

     byte mac[] = { alamat mac }; byte ip[] = { ip ethernet shield }; byte dnsserver[] = { alamat ip DNS Server }; byte gateway[] = { alamat ip gateway }; byte subnet[] = { 255,255,255,0 };int dataAnalog;

    EthernetClient client;SOCKET pingSocket = 0;int pingTimeout = 4;

     byte destinationIp[] = { alamat ip };char buffer [256];

    void setup(void){Ethernet.begin(mac, ip, dnsserver, gateway, subnet);}

    void loop(void) {

    ICMPPing ping(pingSocket);ping( pingTimeout , destinationIp , buffer );dataAnalog = analogRead(A1);

    if (client.connect(“namaDomain.com”, 80)) {client.print( “GET /forminput.php?datadikirim=dataAnalog HTTP/1.1”);client.print( “Host: namaDomain.com.com”);client.println( “Connection: close”);client.println();client.println();

    client.stop();}else {

     

  • 8/16/2019 Pengetahuan Dasar Pemrograman Jaringan (Network) Dan Ethernet Library Pada Arduino _ DASAR KOMPUTER BUA…

    12/17

    19/4/2016 Pengetahuan Dasar pemrograman Jaringan (Network) dan Ethernet Library pada Arduino | DASAR KOMPUTER BUAT PEMULA

    https://pccontrol.wordpress.com/2014/07/02/pengetahuan-dasar-pemrograman-jaringan-network-dan-ethernet-pada-arduino/ 12/17

    }delay(5000);}

    Contoh 3

    TCP Chat Client server

    (h ps://pccontrol.files.wordpress.com/2014/07/arduinochat3.jpg)

     

    12345

    6789

    10111213141516

    171819202122

    #include ;#include ;byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };IPAddress ip(192,168,1, 177); 

    //server menggunakan port 5000 (client juga harus menggunakan port ygEthernetServer server(5000);boolean alreadyConnected = false; // apakah sudah terkoneksi sebelumny void  setup()  {  // inisialisasi ethernet device  Ethernet.begin(mac, ip);  // listen untuk client yg datang  server.begin();  }

     void  loop()  {  // tunggu client datang  EthernetClient client = server.available();  if  (client) // jika ada client menghubungi

     

  • 8/16/2019 Pengetahuan Dasar Pemrograman Jaringan (Network) Dan Ethernet Library Pada Arduino _ DASAR KOMPUTER BUA…

    13/17

    19/4/2016 Pengetahuan Dasar pemrograman Jaringan (Network) dan Ethernet Library pada Arduino | DASAR KOMPUTER BUAT PEMULA

    https://pccontrol.wordpress.com/2014/07/02/pengetahuan-dasar-pemrograman-jaringan-network-dan-ethernet-pada-arduino/ 13/17

    Contoh 3 . Client TCP

    2324252627282930

    31323334353637383940

      {  if  (!alreadyConnected)  {  // kosongkan input buffer:  client.flush();  client.println("Hello client, sy server"); //kirim ke client  alreadyConnected = true;  }

      if  (client.available() > 0)  { 

    char  thisChar = client.read(); //baca byte dari client: 

    server.write(thisChar); //kirim kembali ke client:  }  }}

    12345678

    910111213141516171819

    2021222324252627282930

    3132333435

    #include #include  byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };IPAddress ip(192,168,1,150); // IP address serverIPAddress server(192,168,1,177);

    // inisialisasi Ethernet clientEthernetClient client; void  setup(){  // start the Ethernet connection:  Ethernet.begin(mac, ip); if(client.connect(server, 5000));

      {

      //do nothing:  } } void  loop(){  // if there are incoming bytes available

    if  (client.available())  {

      char  c = client.read();  } 

    // as long as there are bytes in the serial queue,  // read them and send them out the socket if it's open:

     

  • 8/16/2019 Pengetahuan Dasar Pemrograman Jaringan (Network) Dan Ethernet Library Pada Arduino _ DASAR KOMPUTER BUA…

    14/17

    19/4/2016 Pengetahuan Dasar pemrograman Jaringan (Network) dan Ethernet Library pada Arduino | DASAR KOMPUTER BUAT PEMULA

    https://pccontrol.wordpress.com/2014/07/02/pengetahuan-dasar-pemrograman-jaringan-network-dan-ethernet-pada-arduino/ 14/17

    Contoh 4. clien server dgn protokol UDP .

    (h ps://pccontrol.files.wordpress.com/2012/03/udp.jpg)UDP

    Pada komunikasi dgn protokol UDP antara client dan server tak perlu ada koneksipendahuluan spt TCP , client bisa langsung kirim data ke server atau sebaliknya . tetapikelemahannya data tidak dijamin sampai atau data bisa error atau double. Sehingga UDP tdkcocok untuk pengontrolan tapi mungkin cocok untuk sebuah server yg mengirim data ygsifatnya sebagai informasi saja ke banyak client.

    3637383940414243

    444546474849

     if  (client.connected())

      {  client.print("tes");  } 

    // if the server's disconnected, stop the client:  if  (!client.connected())

      {  client.stop();  // do nothing:  while(true);  }}

    123

    45678

    include #include #include

    byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };IPAddress ip(192, 168, 1, 177); unsigned int  localPort = 8888; // local port to listen on

     

    https://pccontrol.files.wordpress.com/2012/03/udp.jpg

  • 8/16/2019 Pengetahuan Dasar Pemrograman Jaringan (Network) Dan Ethernet Library Pada Arduino _ DASAR KOMPUTER BUA…

    15/17

    19/4/2016 Pengetahuan Dasar pemrograman Jaringan (Network) dan Ethernet Library pada Arduino | DASAR KOMPUTER BUAT PEMULA

    https://pccontrol.wordpress.com/2014/07/02/pengetahuan-dasar-pemrograman-jaringan-network-dan-ethernet-pada-arduino/ 15/17

     

    Referensi :

    h p://arduino.cc/en/Reference/Ethernet (h p://arduino.cc/en/Reference/Ethernet)

    h p://tronixstuff.com/2013/12/06/arduino‑tutorials‑chapter‑16‑ethernet/

    (h p://tronixstuff.com/2013/12/06/arduino‑tutorials‑chapter‑16‑ethernet/)

    h p://www.w3schools.com/html/html_intro.asp(h p://www.w3schools.com/html/html_intro.asp)

     

    910111213141516

    1718192021222324252627

    2829303132333435363738

    39

     // buffers for receiving and sending datachar  packetBuffer[UDP_TX_PACKET_MAX_SIZE]; //buffer to hold incoming pchar  ReplyBuffer[] = "ack"; // a string to send back // An EthernetUDP instance to let us send and receive packets over UDPEthernetUDP Udp; void

      setup() {  // start the Ethernet and UDP:  Ethernet.begin(mac,ip);  Udp.begin(localPort);} void  loop() {  // if there's data available, read a packet  int  packetSize = Udp.parsePacket();  if(packetSize)  {

      IPAddress remote = Udp.remoteIP();  // read the packet into packetBufffer  Udp.read(packetBuffer,UDP_TX_PACKET_MAX_SIZE); 

    // send a reply, to the IP address and port that sent us the packeUdp.beginPacket(Udp.remoteIP(), Udp.remotePort());

      Udp.write(ReplyBuffer);  Udp.endPacket();  }  delay(10);

    }

    http://www.w3schools.com/html/html_intro.asphttp://tronixstuff.com/2013/12/06/arduino-tutorials-chapter-16-ethernet/http://arduino.cc/en/Reference/Ethernet

  • 8/16/2019 Pengetahuan Dasar Pemrograman Jaringan (Network) Dan Ethernet Library Pada Arduino _ DASAR KOMPUTER BUA…

    16/17

    19/4/2016 Pengetahuan Dasar pemrograman Jaringan (Network) dan Ethernet Library pada Arduino | DASAR KOMPUTER BUAT PEMULA

    https://pccontrol.wordpress.com/2014/07/02/pengetahuan-dasar-pemrograman-jaringan-network-dan-ethernet-pada-arduino/ 16/17

     About pccontrol

    erisi Tutorial Menggunakan PC untuk mengontrol Peralatan dengan cara mudah & praktis.View all posts by pccontrol »

    Posted on 02/07/2014, in Arduino. Bookmark the permalink. 6 Comments.

    Leave a comment

    Comments 6

    lathiefandriana s | 12/06/2015 at 5:40 PMasalamualaikum, mas nanya kalau datanya dikirim namun tidak ingin di tampilkan dimozila atau semacamnya melainkan langsung ke visual studio itu bisa enggak ya? maaf

     baru pemula, kalau bisa memakai yang yang h p,atau udp!!! mohon tanggapanya

     pccontrol | 15/06/2015 at 10:26 AMwaalaykumsalam

     bisa di tampilkan di visual studio .coba mas pelajari pemrograman socket dengan VB

    atau C#

    Dhanus Sjw | 19/09/2014 at 7:56 AM

     

    -10%

    Rp 8.999.000

    Rp 5.999.000

    http://-/?-https://wordpress.com/about-these-ads/https://info.criteo.com/privacy/informations?infonorm=3&partner=15598&campaignid=65488&zoneid=303142&bannerid=3368882&displayid=c030150bc4&uaCap=0&u=%7Cu9EixEryLRp6AVUkGdjO2LGelO0V4WPScW3x6D0l3zA=%7Chttps://cat.jp.as.criteo.com/delivery/ck.php?cppv=1&cpp=YpUitHxFaXFjNG1IMDdsU1phZ1o1ZkJPSkNmMC8yclpybDFJbkdyUEorbXprTWhtOGNydWlDQTdpQm9FblN1ajd5NG5EVFpncW1VNHlYVzcvN1NnczdXRW13aFA1L2ZkU3U2NjE2NkV5K2NxN1MyS1JpZmZtWG1FVFBPdUYvOWdKcjJ1VGUxM0k0dFZiYTczckJoQ3ZoaW9IRGJEWUwvQm45a1NnRUc4cGlVZzdPNGp0WVkrQUl5WW5ROVJ6MWJSSWJlYjd3ZnRXKzRWZG9qOUlnQVFHUWQ4QmRWVU1jQ3poTWxsUDhEb2poODBEYnQwZDRjS3ZyT2syVm0vRHF2VUtCSnNEK1UwRTV1Z2hBRnlVeUdQcnVXbm5mbTdQUmhtYmxLK0RpOElBNHhhUjJKWi9GVldQL2hnRzZrQUJFTG1YdnhwUmFGV0VVY3NYNjVyOHVPZHRnWkFseDFHaC9wejFKTHp5S2sxK1VkYWRXVkVSM1hGQWZ6aTZUbTVwMWxGcVBXM1p8&maxdest=http%3A%2F%2Fwww.lazada.co.id%2Fsamsung-nx-mini-205-mp-lens-9-27-mm-hitam-6680413.html%3Fwt_af%3Did.affiliate.criteo.lf.visitorsdisplaydesktop.xxio0000srcvt0400%26utm_source%3Dcriteo%26utm_medium%3Dcpcmedia%26utm_campaign%3Dlfvisitorsdisplaydesktop%26utm_term%3Dxxio0000srcvt0400https://cat.jp.as.criteo.com/delivery/ck.php?cppv=1&cpp=x6PPc3xFaXFjNG1IMDdsU1phZ1o1ZkJPSkNmMC8yclpybDFJbkdyUEorbXprTWhtOGNydWlDQTdpQm9FblN1ajd5NG5EVFpncW1VNHlYVzcvN1NnczdXRW13aFA1L2ZkU3U2NjE2NkV5K2NxN1MyS1JpZmZtWG1FVFBPdUYvOWdKcjJ1VGUxM0k0dFZiYTczckJoQ3ZoaW9IRGJEWUwvQm45a1NnRUc4cGlVZzdPNGdxWnJXZVNzQ1dDYUFxWm1TcFZNd0VPVTREaGYvemlJMVovSVNJSTlKWVhjclFQNGFiZ2JKYkNOMGFtajdIL3hrWE1jNHBva09mNnVvSzhmQjMyakRybGlNRnREbEhJaDBNNkpxTmZoRkJYUmxJV1RrY0NTYytnQ0RabU12WUtWQVJVb2Vnbk5YOG5maFU3clpOV3l5TTFtYTdxaTVlM25XNTVHc0NhSUFTOW1KcEhPM3AyZ1BKRTlvazBIcGNGdVNrQnNrSVR1U1F4TkNOUWFlSUpzbDR8&maxdest=http%3A%2F%2Fwww.lazada.co.id%2Folympus-kamera-mirrorless-e-p3-double-kit-zuiko-12-mp-hitam-gratis-sdhc-16-gb-eksklusif-training-darwis-triadi-5127555.html%3Fwt_af%3Did.affiliate.criteo.lf.visitorsdisplaydesktop.xxio0000srcvt0400%26utm_source%3Dcriteo%26utm_medium%3Dcpcmedia%26utm_campaign%3Dlfvisitorsdisplaydesktop%26utm_term%3Dxxio0000srcvt0400https://cat.jp.as.criteo.com/delivery/ck.php?cppv=1&cpp=BFMnOXxFaXFjNG1IMDdsU1phZ1o1ZkJPSkNmMC8yclpybDFJbkdyUEorbXprTWhtOGNydWlDQTdpQm9FblN1ajd5NG5EVFpncW1VNHlYVzcvN1NnczdXRW13aFA1L2ZkU3U2NjE2NkV5K2NxN1MyS1JpZmZtWG1FVFBPdUYvOWdKcjJ1VGUxM0k0dFZiYTczckJoQ3ZoaW9IRFUwRkRocS9zWXAycGRCVUx0UG9iL2FHcWlSY3Bodk1OWEt0OVpYU3JXNElrS1k3NVNkN1dsRzh4T01SM2hSbWlWNFpGalNOQkpKdllvekVxN0ZaMXZ0SlpXN3BDRG9rQ244UEZSd09oZE00NlNJNnNuSjJrb2dUNTRZOHE1M1lSWG5CMUV1NGwvbmtxVXIvWE1pbXRMMnJJUFNTMU90bmNRZEs4Z0xZYkZnTnNOVXZuVU9OdzRyMTV1NDc2dkNWYkNvSk94TU5MVnVrOCtPamJKa0srYWN0NFdjZnFtbEpsNjM4ZHRKelUzNEx8&maxdest=http%3A%2F%2Fwww.lazada.co.id%2Folympus-pen-lite-e-pl6-camera-kit-with-14-42mm-40-150mm-lens-16-mp-white-2835699.html%3Fwt_af%3Did.affiliate.criteo.lf.visitorsdisplaydesktop.xxio0000srcvt0400%26utm_source%3Dcriteo%26utm_medium%3Dcpcmedia%26utm_campaign%3Dlfvisitorsdisplaydesktop%26utm_term%3Dxxio0000srcvt0400https://cat.jp.as.criteo.com/delivery/ck.php?cppv=1&cpp=QYyam3xFaXFjNG1IMDdsU1phZ1o1ZkJPSkNmMC8yclpybDFJbkdyUEorbXprTWhtOGNydWlDQTdpQm9FblN1ajd5NG5EVFpncW1VNHlYVzcvN1NnczdXRW13aFA1L2ZkU3U2NjE2NkV5K2NxN1MyS1JpZmZtWG1FVFBPdUYvOWdKcjJ1VGUxM0k0dFZiYTczckJoQ3ZoaW9IRGJEWUwvQm45a1NnRUc4cGlVZzdPNGhUdk9PdEh0bFNLRUhXdGJRSlJ4N2lYbmFrNFYremhGN20wTng1NUp5dDlDRUhEbDdxaHoxRFFibWh4bGFGQ0g4SWkrOWVFZFB0Uk83L3dTYnRHeTRHNVQ3NzZnVVgyUWNISlBGbUNONHlWMHBPQmYxYmR6eDViR2NMNHZreWo2YmRtNC95YjN2V3FkS0M3NzY1enVCRW1hRWdLREkzRFR0a04xQmpMRWlmcnE1SjExalBGSWI5Um5rSVUydFBtWDFIa2JxSFUwcU16bHVhcHVFVTVVbUd8&maxdest=http%3A%2F%2Fwww.lazada.co.id%2Fcanon-eos-m10-kit-1-15-45mm-f35-63-is-stm-18mp-hitam-5865471.html%3Fwt_af%3Did.affiliate.criteo.lf.visitorsdisplaydesktop.xxio0000srcvt0400%26utm_source%3Dcriteo%26utm_medium%3Dcpcmedia%26utm_campaign%3Dlfvisitorsdisplaydesktop%26utm_term%3Dxxio0000srcvt0400https://cat.jp.as.criteo.com/delivery/ck.php?cppv=1&cpp=eNxihnxFaXFjNG1IMDdsU1phZ1o1ZkJPSkNmMC8yclpybDFJbkdyUEorbXprTWhtOGNydWlDQTdpQm9FblN1ajd5NG5EVFpncW1VNHlYVzcvN1NnczdXRW13aFA1L2ZkU3U2NjE2NkV5K2NxN1MyS1JpZmZtWG1FVFBPdUYvOWdKcjJ1VGUxM0k0dFZiYTczckJoQ3ZoaW9IRFdPREV0MWVKR085YkVDSWRyeUlscVZIY0VCZlZ6NXZSSEMveVNBL3g2MjM4TFlpUmFPeVd3WVdrdWhYVGRpYjBQelNHbFZlbTZtNVUwb3lvU0Fxb1dFYlR0c3hoVmhoNjZ5V25CdUVkZnFVc1VMd2ZhR1dZaVgyVmpWSVRzVGV5ejdwMDJQMEdEL0xGNEF2VXJPamdlWDZ0K1VJbldzWnpsdUdrdDEvSWhqd2FlWXJoRUhpZVhEWnJRWmN0b1BYcnhFWkRHRW1HTU9SMFVNNFJkaG5WMEJ1eWpDaytPakdsTXZmTkxZUFk2VVhaMk80dUp1TVRobFJ1TnpFMDVqNk13PT18&maxdest=http%3A%2F%2Fwww.lazada.co.id%2Fgracefulvara-fashion-mens-winter-warm-trench-coat-double-breasted-jacket-button-hooded-overcoat-outwear-black-5110347.html%3Fwt_af%3Did.affiliate.criteo.lf.visitorsdisplaydesktop.xxio0000srcvt0900%26utm_source%3Dcriteo%26utm_medium%3Dcpcmedia%26utm_campaign%3Dlfvisitorsdisplaydesktop%26utm_term%3Dxxio0000srcvt0900https://cat.jp.as.criteo.com/delivery/ck.php?cppv=1&cpp=VNKIb3xFaXFjNG1IMDdsU1phZ1o1ZkJPSkNmMC8yclpybDFJbkdyUEorbXprTWhtOGNydWlDQTdpQm9FblN1ajd5NG5EVFpncW1VNHlYVzcvN1NnczdXRW13aFA1L2ZkU3U2NjE2NkV5K2NxN1MyS1JpZmZtWG1FVFBPdUYvOWdKcjJ1VGUxM0k0dFZiYTczckJoQ3ZoaW9IRGJEWUwvQm45a1NnRUc4cGlVZzdPNGlrZTVVN1FvbEo2MEhqS1FBOU9DVHM3d0hranEycC9zVVVlbllDTkNlcnhMWmJBK3prcHZCQ21BRjl1eGZCK284T3FncVJYdWdHQ0VKa2VVUDFtLzB4M0c3VkNST1lwdmFyTW5jNjRRWDBLZ3lncGJEUHpCVS9CSGgzNHhJYTJteStOeDUxMHYxUlRkaXNMZ00zYUJNcm9RS0IwMVFxY2dweVIrSzI2L1liTlJuYVV0SjdCS0JiSjhKTWhnM0ZzcUV6K0lPSnhxS3R3ellmTzRZb243YzZ8&maxdest=http%3A%2F%2Fwww.lazada.co.id%2Fnikon-d3200-lensa-kit-vr-ii-18-55mm-242-mp-hitam-4889893.html%3Fwt_af%3Did.affiliate.criteo.lf.visitorsdisplaydesktop.xxio0000srcvt0400%26utm_source%3Dcriteo%26utm_medium%3Dcpcmedia%26utm_campaign%3Dlfvisitorsdisplaydesktop%26utm_term%3Dxxio0000srcvt0400https://cat.jp.as.criteo.com/delivery/ck.php?cppv=1&cpp=jYFvtnxFaXFjNG1IMDdsU1phZ1o1ZkJPSkNmMC8yclpybDFJbkdyUEorbXprTWhtOGNydWlDQTdpQm9FblN1ajd5NG5EVFpncW1VNHlYVzcvN1NnczdXRW13aFA1L2ZkU3U2NjE2NkV5K2NxN1MyS1JpZmZtWG1FVFBPdUYvOWdKcjJ1VGUxM0k0dFZiYTczckJoQ3ZoaW9IRGNnRVI3d3NYdWlOenlPYWpiK25WTlhGRmtJNktwVW1LU3V4ay9Jb084SGdrNTlEUlo0OVRkdnFGaDRadkVvek5URWwyVDNqcVVmY1dkSElFUUY3bXpxZ3VSMHd3cTFWbDBqbGpmQTJwSlEzRVZtUEpvZkdjYnJxaTFndUJ5UGhPNGc1bUVXK0kzK1ZnbXVrd1ptVi9udUhMSVk2TDd4TEVqb3o5Z1IwcTExRVllTWtGZUpQZS8xQkVkR1RXMlVjWFBUTkJ4S2ZsM2ZPU2lGU090TlRxN0U9fA%3D%3D&maxdest=http%3A%2F%2Fwww.lazada.co.id%3Fwt_af%3Did.affiliate.criteo.lf.visitorsdisplaydesktop.xxio0000srcvt%26utm_source%3Dcriteo%26utm_medium%3Dcpcmedia%26utm_campaign%3Dlfvisitorsdisplaydesktop%26utm_term%3Dxxio0000srcvthttps://www.facebook.com/dhanushttps://pccontrol.wordpress.com/http://gravatar.com/lathieandrianahttps://pccontrol.wordpress.com/2014/07/02/pengetahuan-dasar-pemrograman-jaringan-network-dan-ethernet-pada-arduino/https://pccontrol.wordpress.com/category/dasar/dasar-3/arduino/https://pccontrol.wordpress.com/author/pccontrol/

  • 8/16/2019 Pengetahuan Dasar Pemrograman Jaringan (Network) Dan Ethernet Library Pada Arduino _ DASAR KOMPUTER BUA…

    17/17

    19/4/2016 Pengetahuan Dasar pemrograman Jaringan (Network) dan Ethernet Library pada Arduino | DASAR KOMPUTER BUAT PEMULA

    hallo mas minta masukannya dong.. saya ingin membuat sebuah rangkaian yg mana bilasebuah tombol ditekan maka dia akan mengirimkan data ke program di PC melalui LAN..nah itu board arduino apa saja yg dibutuhkan?

    Thank’s..

     pccontrol | 27/09/2014 at 8:18 AM

    Arduno ethernet atau xboardh ps://pccontrol.wordpress.com/2014/07/02/pengetahuan‑dasar‑pemrograman‑jaringan‑network‑dan‑ethernet‑pada‑arduino/

    Imamul Huda | 13/07/2014 at 9:47 AMMas/Pak untuk masukin MAC address dan dapet IP dari ethernetnya gmana caranya ya?Thanks..

     pccontrol | 13/07/2014 at 5:32 PMEthernet.begin(mac); –> jika IP didapat otomatis dari DHCP

    Ethernet.begin(mac, ip);

    IPAddress ip = Ethernet.localIP(); —> mendapatkan no IP

    Blog at WordPress.com. The Mystique Theme.

    https://wordpress.com/themes/mystique/https://wordpress.com/?ref=footer_bloghttps://pccontrol.wordpress.com/https://www.facebook.com/imamul.huda.5https://pccontrol.wordpress.com/2014/07/02/pengetahuan-dasar-pemrograman-jaringan-network-dan-ethernet-pada-arduino/https://pccontrol.wordpress.com/