Introduction: Arduino Desktop Application on Java in LAN
Description:
here we have created an java desktop application using neatbeans.
this application turn on led on arduino.
this application also work in your LAN.
Hardware require:
1: arduino uno
2: arduino ethernet sheild
3: RJ45 cable
4: LED
Software require:
1: Net beans ide to run your desktop application
2: Arduino 2.0
here we have created an java desktop application using neatbeans.
this application turn on led on arduino.
this application also work in your LAN.
Hardware require:
1: arduino uno
2: arduino ethernet sheild
3: RJ45 cable
4: LED
Software require:
1: Net beans ide to run your desktop application
2: Arduino 2.0
Step 1: Assigning MAc and IP to Arduino Board
UPLOAD THIS PROGRAM TO ARDUINO.
ALSO CHANGE YOUR MAC AND IP ACCORDING YOUR NETWORK.
/*
UDPSendReceive.pde:
This sketch receives UDP message strings, prints them to the serial port
and sends an "acknowledge" string back to the sender
A Processing sketch is included at the end of file that can be used to send
and received messages for testing with a computer.
created 21 Aug 2010
by Michael Margolis
This code is in the public domain.
*/
#include <SPI.h> // needed for Arduino versions later than 0018
#include <Ethernet.h>
#include <EthernetUdp.h> // UDP library from: bjoern@cs.stanford.edu 12/30/2008
#include <SoftwareSerial.h>
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {0x90,0xA2,0xDA,0x0D,0x8B,0x8F};
IPAddress ip(192, 168, 1, 105);
IPAddress ip1(192, 168, 1, 101);
EthernetServer server(8032);
unsigned int localPort = 8032;
boolean incoming = 0;
// local port to listen on
// buffers for receiving and sending data
char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; //buffer to hold incoming packet,
char ReplyBuffer[] = "acknowledged"; // a string to send back
// An EthernetUDP instance to let us send and receive packets over UDP
EthernetUDP Udp;
void setup() {
// start the Ethernet and UDP:
Ethernet.begin(mac,ip);
Udp.begin(localPort);
pinMode(2,OUTPUT);
Serial.begin(9600);
}
void loop() {
/*
EthernetClient client = server.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 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
//reads URL string from $ to first blank space
if(incoming && c == ' '){
incoming = 0;
}
if(c == '$'){
incoming = 1;
}
//Checks for the URL string $1 or $2
if(incoming == 1){
Serial.println(c);
if(c == 'a'){
Serial.println("ON");
digitalWrite(2, HIGH);
int rd=digitalRead(2);
delay(10);
server.write("ON");
delay(10);
Serial.println(rd);
}
if(c == 'b'){
Serial.println("OFF");
digitalWrite(2, LOW);
int rd=digitalRead(2);
delay(10);
server.write("OFF");
Serial.println(rd);
delay(10);
}
}
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(10);
client.stop();
}
*/
// if there's data available, read a packet
int packetSize = Udp.parsePacket();
Serial.println(packetSize);
if(packetSize)
{
Serial.print("Received packet of size ");
Serial.println(packetSize);
Serial.print("From ");
IPAddress remote = Udp.remoteIP();
for (int i =0; i < 4; i++)
{
Serial.print(remote[i], DEC);
if (i < 3)
{
Serial.print(".");
}
}
Serial.print(", port ");
Serial.println(Udp.remotePort());
// read the packet into packetBufffer
Udp.read(packetBuffer,UDP_TX_PACKET_MAX_SIZE);
Serial.println("Contents:");
Serial.println(packetBuffer);
Serial.println(packetBuffer[0]);
if(packetBuffer[0]=='1'){
digitalWrite(2,HIGH);
}else if(packetBuffer[0]=='2'){
digitalWrite(2,LOW);
}
// send a reply, to the IP address and port that sent us the packet we received
Udp.beginPacket(Udp.remoteIP(),Udp.remotePort());
Udp.write("WAHh BHurA");
Udp.endPacket();
}
/*Udp.beginPacket(ip1,8032);
Udp.write(ReplyBuffer);
Udp.endPacket();
delay(400);
client.stop();*/
}
/*
Processing sketch to run with this example
=====================================================
// Processing UDP example to send and receive string data from Arduino
// press any key to send the "Hello Arduino" message
import hypermedia.net.*;
UDP udp; // define the UDP object
void setup() {
udp = new UDP( this, 6000 ); // create a new datagram connection on port 6000
//udp.log( true ); // <-- printout the connection activity
udp.listen( true ); // and wait for incoming message
}
void draw()
{
}
void keyPressed() {
String ip = "192.168.1.177"; // the remote IP address
int port = 8888; // the destination port
udp.send("Hello World", ip, port ); // the message to send
}
void receive( byte[] data ) { // <-- default handler
//void receive( byte[] data, String ip, int port ) { // <-- extended handler
for(int i=0; i < data.length; i++)
print(char(data[i]));
println();
}
*/
ALSO CHANGE YOUR MAC AND IP ACCORDING YOUR NETWORK.
/*
UDPSendReceive.pde:
This sketch receives UDP message strings, prints them to the serial port
and sends an "acknowledge" string back to the sender
A Processing sketch is included at the end of file that can be used to send
and received messages for testing with a computer.
created 21 Aug 2010
by Michael Margolis
This code is in the public domain.
*/
#include <SPI.h> // needed for Arduino versions later than 0018
#include <Ethernet.h>
#include <EthernetUdp.h> // UDP library from: bjoern@cs.stanford.edu 12/30/2008
#include <SoftwareSerial.h>
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {0x90,0xA2,0xDA,0x0D,0x8B,0x8F};
IPAddress ip(192, 168, 1, 105);
IPAddress ip1(192, 168, 1, 101);
EthernetServer server(8032);
unsigned int localPort = 8032;
boolean incoming = 0;
// local port to listen on
// buffers for receiving and sending data
char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; //buffer to hold incoming packet,
char ReplyBuffer[] = "acknowledged"; // a string to send back
// An EthernetUDP instance to let us send and receive packets over UDP
EthernetUDP Udp;
void setup() {
// start the Ethernet and UDP:
Ethernet.begin(mac,ip);
Udp.begin(localPort);
pinMode(2,OUTPUT);
Serial.begin(9600);
}
void loop() {
/*
EthernetClient client = server.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 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
//reads URL string from $ to first blank space
if(incoming && c == ' '){
incoming = 0;
}
if(c == '$'){
incoming = 1;
}
//Checks for the URL string $1 or $2
if(incoming == 1){
Serial.println(c);
if(c == 'a'){
Serial.println("ON");
digitalWrite(2, HIGH);
int rd=digitalRead(2);
delay(10);
server.write("ON");
delay(10);
Serial.println(rd);
}
if(c == 'b'){
Serial.println("OFF");
digitalWrite(2, LOW);
int rd=digitalRead(2);
delay(10);
server.write("OFF");
Serial.println(rd);
delay(10);
}
}
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(10);
client.stop();
}
*/
// if there's data available, read a packet
int packetSize = Udp.parsePacket();
Serial.println(packetSize);
if(packetSize)
{
Serial.print("Received packet of size ");
Serial.println(packetSize);
Serial.print("From ");
IPAddress remote = Udp.remoteIP();
for (int i =0; i < 4; i++)
{
Serial.print(remote[i], DEC);
if (i < 3)
{
Serial.print(".");
}
}
Serial.print(", port ");
Serial.println(Udp.remotePort());
// read the packet into packetBufffer
Udp.read(packetBuffer,UDP_TX_PACKET_MAX_SIZE);
Serial.println("Contents:");
Serial.println(packetBuffer);
Serial.println(packetBuffer[0]);
if(packetBuffer[0]=='1'){
digitalWrite(2,HIGH);
}else if(packetBuffer[0]=='2'){
digitalWrite(2,LOW);
}
// send a reply, to the IP address and port that sent us the packet we received
Udp.beginPacket(Udp.remoteIP(),Udp.remotePort());
Udp.write("WAHh BHurA");
Udp.endPacket();
}
/*Udp.beginPacket(ip1,8032);
Udp.write(ReplyBuffer);
Udp.endPacket();
delay(400);
client.stop();*/
}
/*
Processing sketch to run with this example
=====================================================
// Processing UDP example to send and receive string data from Arduino
// press any key to send the "Hello Arduino" message
import hypermedia.net.*;
UDP udp; // define the UDP object
void setup() {
udp = new UDP( this, 6000 ); // create a new datagram connection on port 6000
//udp.log( true ); // <-- printout the connection activity
udp.listen( true ); // and wait for incoming message
}
void draw()
{
}
void keyPressed() {
String ip = "192.168.1.177"; // the remote IP address
int port = 8888; // the destination port
udp.send("Hello World", ip, port ); // the message to send
}
void receive( byte[] data ) { // <-- default handler
//void receive( byte[] data, String ip, int port ) { // <-- extended handler
for(int i=0; i < data.length; i++)
print(char(data[i]));
println();
}
*/
Step 2: PING With Arduino in Command Prompt
You have assigned MAC and IP address to arduino board.
Now we have to check whether arduino is giving response or not..!!!
1.Setup bridge connection with your PC and Arduino ethernet board(LAN ).
2. if connection is created then we have to run PING command in CMD.
ping 192.168.1.105 // assign here your arduino's ip address.
If ping command is working than output is look similar as image.
Now we have to check whether arduino is giving response or not..!!!
1.Setup bridge connection with your PC and Arduino ethernet board(LAN ).
2. if connection is created then we have to run PING command in CMD.
ping 192.168.1.105 // assign here your arduino's ip address.
If ping command is working than output is look similar as image.
Step 3: Run Desktop Application
Note:
we have provided desktop application source in ArduinoDesktopApplication.rar
Extart it and run into Nebeans.
we have provided desktop application source in ArduinoDesktopApplication.rar
Extart it and run into Nebeans.
Attachments
Step 4: Contact Us
For further information send mail to our e-mail id: technoartgroup007@gmail.com
Presented By:
Techno-Art Group
Presented By:
Techno-Art Group