Anda di halaman 1dari 21

INTERFACE MENGGUNAKAN

JARINGAN ETHERNET
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
Cara Kerja Komunikasi ethernet
• Server bersifat pasif/melayani , ia menunggu
permintaan dari client.  
• Ketika kita ketik  www.example.com pada web
client(browser) ,  web client meminta 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 kode htmlnya.
• Arduino sebagai web server
• PC akan menghubungi alamat web server
arduino yg telah di set menggunakan web
client spt google crome , mozilla atau IE.
Header  Respon dari web server dari 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.
• Arduino sebagai  web client
• Arduino Sebagai Web Client  berfungsi spt
Mozilla , IE atau google crome
• Komunikasi ini kita perlu web server yg telah
terinstall di PC ,  anda bisa menginstall 
apache web server yg bisa didapat diinternet
secara gratis.
• Arduino sebagai Client server TCP dan UDP  
menggunakan Socket Programming
MODUL ETHERNET ENC28J60
• Ethernet modul ENC28J60 merupakan sebuah
modul ethernet controller yang bekerja secara
standalone dengan komunikasi SPI (Serial
Pheripheral Interface) dengan mikrokontroller.
Dengan komunikasi dengan SPI maka akan
lebih mudah untuk pengontrollannya dengan
menggunakan mikrokontroller
ENC berfungsi sebagai gateway Arduino ke jaringan
TCP/IP yakni bisa berupa :
• LAN (Local Area Network)
• WAN (Wide Area Network)
• MAN (Metropolitan Area Network)
Atau jaringan internet
ENC perlu disetting IP, subnet mask
• IP gateway
• DNS
Interface dengan Protokol SPI
• Arduino sudah support protokol SPI sehingga
langsung dihubungkan ke pin-pin ethernet. Pin-
pin yang digunakan untuik berkomunikasi SPI
adalah :
• MISO (Master In Slave Out)  Bertukar data
• MOSI (Master Out Slave In)  Bertukar data
• SCK (Serial Clock)  Clock sinkronisasi
• SS (Slave Select)  memilih slave yang diminta
komunikasi
Pin SPI
Interface PC-Arduino
#include <SPI.h> void loop() { // output the value of each analog input pin
#include <Ethernet.h> // listen for incoming clients for (int analogChannel = 0; analogChannel < 6;
EthernetClient client = server.available(); analogChannel++) {
// Enter a MAC address and IP address for your controller below. if (client) { int sensorReading = analogRead(analogChannel);
// The IP address will be dependent on your local network: client.print("analog input ");
Serial.println("new client");
byte mac[] = { client.print(analogChannel);
// an http request ends with a blank line
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED client.print(" is ");
boolean currentLineIsBlank = true;
}; client.print(sensorReading);
IPAddress ip(192, 168, 169, 177); while (client.connected()) {
client.println("<br />");
if (client.available()) {
}
// Initialize the Ethernet server library char c = client.read();
client.println("</html>");
// with the IP address and port you want to use Serial.write(c);
break;
// (port 80 is default for HTTP): // if you've gotten to the end of the line (received a
}
EthernetServer server(80); newline
if (c == '\n') {
// character) and the line is blank, the http request has
// you're starting a new line
void setup() { ended,
currentLineIsBlank = true;
// Open serial communications and wait for port to open: // so you can send a reply
} else if (c != '\r') {
Serial.begin(9600); if (c == '\n' && currentLineIsBlank) {
while (!Serial) { // you've gotten a character on the current line
// send a standard http response header
; // wait for serial port to connect. Needed for native USB port only client.println("HTTP/1.1 200 OK"); currentLineIsBlank = false;
} }
client.println("Content-Type: text/html");
}
client.println("Connection: close"); // the connection
}
will be closed after completion of the response
// start the Ethernet connection and the server: // give the web browser time to receive the data
client.println("Refresh: 5"); // refresh the page
Ethernet.begin(mac, ip); delay(1);
automatically every 5 sec
server.begin(); // close the connection:
client.println();
Serial.print("server is at "); client.stop();
client.println("<!DOCTYPE HTML>");
Serial.println(Ethernet.localIP()); Serial.println("client disconnected");
client.println("<html>");
} }
}

v
Komunikasi data menggunakan Jaringan
Ethernet
Program menerima data
#include <UIPEthernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
PAddress ip(192,168,3,20);
EthernetServer server(80);
char arrayRead;

void setup() {
Ethernet.begin(mac, ip);
server.begin();
Serial.begin(9600);
while (!Serial) {
;
}
}
void loop() {
EthernetClient client = server.available();
if (client.available() > 0)
{
arrayRead = client.read();
Serial.print(arrayRead);
arrayRead = 0;
}
if (!(client.connected()))
{
client.stop();
}
Program mengirim data
#include <UIPEthernet.h>

EthernetClient client;
void setup() {
Serial.begin(9600);
uint8_t mac[6] = {0x00,0x01,0x02,0x03,0x04,0x05};
Ethernet.begin(mac);
}

void loop() {
int readPot = analogRead(A0);

if(client.connect(IPAddress(192,168,3,20),80))
{
client.print(readPot);
client.stop();
}

Anda mungkin juga menyukai