Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I am trying to connect my arduino ethernet shield and a java application to communicate. I could not achieve that any one can help. this

I am trying to connect my arduino ethernet shield and a java application to communicate. I could not achieve that any one can help.

this is my java code

/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package client;

import java.io.*; import java.net.*; import java.util.logging.Level; import java.util.logging.Logger; import javafx.application.Application; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.control.ScrollPane; import javafx.scene.control.TextArea; import javafx.scene.control.TextField; import javafx.scene.layout.BorderPane; import javafx.stage.Stage;

/** * * @author amanuel Negash */

public class Client extends Application { // IO streams DataOutputStream toServer = null; DataInputStream fromServer = null;

@Override // Override the start method in the Application class public void start(Stage primaryStage) { // Panel p to hold the label and text field BorderPane paneForTextField = new BorderPane(); paneForTextField.setPadding(new Insets(5, 5, 5, 5)); paneForTextField.setStyle("-fx-border-color: green"); paneForTextField.setLeft(new Label("Enter a radius: "));

TextField tf = new TextField(); tf.setAlignment(Pos.BOTTOM_RIGHT); paneForTextField.setCenter(tf);

BorderPane mainPane = new BorderPane(); // Text area to display contents TextArea ta = new TextArea(); mainPane.setCenter(new ScrollPane(ta)); mainPane.setTop(paneForTextField);

// Create a scene and place it in the stage Scene scene = new Scene(mainPane, 450, 200); primaryStage.setTitle("Client"); // Set the stage title primaryStage.setScene(scene); // Place the scene in the stage primaryStage.show(); // Display the stage

tf.setOnAction(e -> { try { // Get the radius from the text field double radius = Double.parseDouble(tf.getText().trim());

// Send the radius to the server toServer.writeDouble(radius); toServer.flush();

// Get area from the server double area = fromServer.readDouble();

// Display to the text area ta.appendText("Radius is " + radius + " "); ta.appendText("Area received from the server is " + area + ' '); } catch (IOException ex) { System.err.println(ex); } }); try { SocketAddress sockaddr = new InetSocketAddress("172.17.31.47", 59637); // Create your socket Socket socket = new Socket(); // Connect with 10 s timeout socket.connect(sockaddr, 999999999);;

// Create an input stream to receive data from the server fromServer = new DataInputStream(socket.getInputStream());

// Create an output stream to send data to the server toServer = new DataOutputStream(socket.getOutputStream()); socket.close(); } catch (IOException ex) { ta.appendText(ex.toString() + ' '); } } }

the following is my etherent arduino code

#include #include byte mac[] = {0x90, 0xf2, 0xda, 0x0e, 0x98, 0x34 };

EthernetClient client; void setup() { Serial.begin(9600); Ethernet.begin(mac); server.begin(); delay(1000); Serial.print("server is at "); Serial.println(Ethernet.localIP()); server.begin();

} void loop() { //Serial.println("loop"); client = server.available(); char incoming;

if (client) { Serial.println("Client connected"); while(client.connected()) { if (client.available()) { incoming = client.read(); Serial.print(incoming); client.print(incoming); } } Serial.println("Client disconnected"); } client.stop(); }

I got the following erroer

image text in transcribed

Enter a radius: java.net ConnectException: Connection timed out: connect

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions