Skip to main content

Web Server

In this example, you will use your Ethernet Shield and your Arduino board to create a simple Web server. Using the Ethernet library, your device will be able to answer a HTTP request with your Ethernet shield. After opening a browser and navigating to your Ethernet shield's IP address, your Arduino will respond with just enough HTML for a browser to display the input values from all six analog pins.


Step 1: What You Need?

1 x Arduino Board ( Arduino UNO used in this tutorial) 
1 x Arduino Ethernet Shield


Don't have components? Don't worry. Just click the component's name. 


Step 2: Build Your Circuit.

The Ethernet shield allows you to connect a WizNet Ethernet controller to the Arduino boards via the SPI bus. It uses pins 10, 11, 12, and 13 for the SPI connection to the WizNet. Later models of the Ethernet shield also have an SD Card on board. Digital pin 4 is used to control the slave select pin on the SD card.

The shield should be connected to a network with an Ethernet cable. You will need to change the network settings in the program to correspond to your network.
In the above image, the Arduino or Genuino board would be stacked below the Ethernet shield.


Step 3: Upload The Code.

1. Select the Arduino board type: Select Tools >> Board >> Select your correct Arduino board used.


2. Find the port number by accessing device manager on Windows. See the section Port (COM&LPT) and look for an open port named "Arduino Uno (COMxx)". If you are using a different board, you will find a name accordingly. What matters is the xx in COMxx part. In my case, it's COM3. So my port number is 3.


Select the right port: Tools >> Port >> Select the port number.


3. You can find this code in the example of Arduino IDE.
Select File >> Examples >> Ethernet >> WebServer

Click press the "upload" button (see the button with right arrow mark).
/*
Web Server A simple web server that shows the value of the analog input pins.
using an Arduino Wiznet Ethernet shield. Circuit:
* Ethernet shield attached to pins 10, 11, 12, 13
* Analog inputs attached to pins A0 through A5 (optional) created 18 Dec 2009
by David A. Mellis
modified 9 Apr 2012
by Tom Igoe
modified 02 Sept 2015
by Arturo Guadalupi */ #include <SPI.h>
#include <Ethernet.h> // Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
};
IPAddress ip(192, 168, 1, 177); // Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
EthernetServer server(80); void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
} // start the Ethernet connection and the server:
Ethernet.begin(mac, ip);
server.begin();
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
} void loop() {
// listen for incoming clients
EthernetClient client = server.available();
if (client) {
Serial.println("new client");
// an http request ends with a blank line
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
Serial.write(c);
// if you've gotten to the end of the line (received a newline
// character) and the line is blank, the http request has ended,
// so you can send a reply
if (c == '\n' && currentLineIsBlank) {
// send a standard http response header
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close"); // the connection will be closed after completion of the response
client.println("Refresh: 5"); // refresh the page automatically every 5 sec
client.println();
client.println("<!DOCTYPE HTML>");
client.println("<html>");
// output the value of each analog input pin
for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
int sensorReading = analogRead(analogChannel);
client.print("analog input ");
client.print(analogChannel);
client.print(" is ");
client.print(sensorReading);
client.println("<br />");
}
client.println("</html>");
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();
Serial.println("client disconnected");
}
}



Warning


This example doesn't require an SD card. If an SD card is inserted but not used, it is possbile for the sketch to hang, because pin 4 is used as SS (active low) of the SD and when not used it is configured as INPUT by default. 

Two possible solutions:
  • remove the SD card;
  • add these lines of code in the setup()

pinMode(4, OUTPUT);
digitalWrite(4, HIGH);

http://news.chivindo.com/687/web-server.html

Comments

Popular posts from this blog

SketchUp Pro 2020 v20.1.235 Full Version

BAGAS31 – SketchUp Pro 2020 v20.1.235 Full Version  merupakan software yang dirancang untuk membantu sobat membuat dan mengedit model 3D. Dengan desain tampilan yang ‘clean’ dan simple, menjadikan software ini mudah untuk digunakan. Software ini hadir dengan editor bawaan yang memungkinkan sobat mendesain objek 3D dari awal, Layout designer untuk menggabungkan model 3D serta Style Builder untuk menyesuaikan model dengan gaya yang berbeda. Software ini juga memiliki fitur untuk mengimpor data dari format lain, seperti 3DS, DWG, KMZ, JPG, PNG, PSD, TIF, TGA dan sebagainya. Tanpa berpanjang lebar, silakan download  Sketch Up Pro  versi terbaru 2020 v20.1.235 Full Version   melalui link yang disediakan. SketchUp Pro 2020 v20.1.235 Full Version Screenshots : Download : SketchUp Pro 2020 v20.1.235 Installer | Size: 128 MB [ FileUp ] | [ up4ever ] JAMU SketchUp Pro 2020 v20.1.235 Full Version | Size: 14.5 MB [ FileUp ] | [ ...

SCADA

SCADA merupakan singkatan dari Supervisory Control and Data Acquisitio n. SCADA merupakan sebuah sistem yang mengumpulkan informasi atau data-data dari lapangan dan kemudian mengirimkan-nya ke sebuah komputer pusat yang akan mengatur dan mengontrol data-data tersbut. Sistem SCADA tidak hanya digunakan dalam proses-proses industri, misalnya, pabrik baja, pembangkit dan pendistribusian tenaga listrik (konvensional maupun nuklir), pabrik kimia, tetapi juga pada beberapa fasilitas eksperimen seperti fusi nuklir. Dari sudut pandang SCADA, ukuran pabrik atau sistem proses mulai dar 1.000an hingga 10.000an I/O (luara/masukan), namun saat ini sistem SCADA sudah bisa menangani hingga ratusan ribu I/O. Ada banyak bagian dalam sebuah sistem SCADA. Sebuah sistem SCADA biasanya memiliki perangkat keras sinyal untuk memperoleh dan mengirimkan I/O, kontroler, jaringan, antarmuka pengguna dalam bentuk HMI (Human Machine Interface), piranti komunikasi dan beberapa perangkat lunak pendukung. Semua itu...

Persoalan Pokok pada Pembangkit Tenaga Listrik

Pembangkit listrik yang biasa digunakan pada suatu Sistem Tenaga Listrik (STL) terdiri dari pembangkit listrik tenaga air (Hydro plant atau PLTA) dan unit-unit thermal.Pembangkit-pembangkit itu sekarang ini umumnya sudah berhubungan satu dengan yang lainnya, atau yang sering disebut dengan interkoneksi. Setelah beroperasi dalam waktu tertentu, maka dari pembangkit-pembangkit itu ada yang keluar dari sistem interkoneksi dan hal ini disebabkan karena ada unit pembangkit yang rusak dan tentunya perlu diganti atau diperbaiki, kedua karena ada pembangkit yang istirahat untuk keperluan pemeliharaan. Salah satu contoh rencana pemeliharaan unit pembangkit adalah dengan menggunakan metode Levelized Resh dari Gaever . Namun dalam aplikasinya harus dibagi dalam dua kriteria, yaitu pertama unit pembangkit bisa dikeluarkan tanpa adanya penyesuaian. Kedua unit pembangkit yang dikeluarkan harus diatur dalam kurun waktu yang terbatas. Dengan demikian berarti pada waktu tertentu ada unit pembangkit y...

Jenis-jenis Plug dan Socket Listrik

Setelah pada artikel sebelumnya di sini yang membahas mengenai peralatan listrik rumah tinggal, maka artikel kali ini akan membahas lebih detail lagi mengenai satu peralatan instalasi listrik yang digunakan, yaitu plug dan socket. Plug dan socket listrik (dalam bahasa sehari-hari dikenal dengan colokan dan stop-kontak) 2 pin awalnya diciptakan oleh Harvey Hubbell dan dipatenkan pada tahun 1904. Karya Hubbell ini pun menjadi rujukan pembuatan plug dan socket setelahnya dan menjelang tahun 1915 penggunaannya semakin meluas, walaupun pada tahun-tahun 1920an peralatan rumah serta komersial masih menggunakan socket lampu jenis screw-base Edison. Kemudian plug 3 pin diciptakan oleh Albert Büttner pada tahun 1926 dan mendapatkan hak paten dari badan paten jerman (DE 370538), karyanya tersebut dikenal dengan nama "schuko" . Namun ada juga pencipta plug 3 pin ini, yaitu Philip F. Labre, semasa beliau masih menuntut ilmu di Sekolah Kejuruan Milwaukee (MSOE) dan mendapatkan hak paten d...

Ferite Core Transformer

What are Ferrite Core Transformers? The transformer made out of ferrite core is called ferrite core transformer . The ferrite core transformer is used for higher frequency applications.The power transformer is made out of CRGO steel core which operate at 50 or 60 Hz frequency. The transformer operating at higher frequency is designed with a ferrite core. The composition of ferrite core in transformer is iron oxides,combined with nickle, zinc and manganese compounds. These compounds have low coercivity  and also called soft ferrites.   Advantage of use of  Ferrite Core ? A major advantage to a ferrite core is its high electrical resistance to high current. The high resistance to eddy current lead lower eddy current losses over many frequencies.  Ferrites have an advantage over other types of magnetic materials due to their high electrical resistivity and low eddy current losses over a wide frequency range. These characteristics, along with high permeability, make ferr...