I was trying make the communication between a page hosted in Web Server JAVA and the arduino , but i don't got successes . I have a page JSP hosted in Web Server JAVA and i want use there to control the arduino , sending and getting data : temperatura , state of lamp , control of my gate and others .. But , how to do this ?
your question is too broad. There are many ways of doing this. Primarly, you should understand how will you connect the computer running the web server to the arduino. Is it physically connected to it via a serial port, ethernet or wirelessly? does the arduino have an ethernet or wifi shield? bluetooth? usb?
With that solved, it should be somewhat easy to make your JSP delegate on a Servlet which, in turn, would interact with the arduino depending on the form of connection mentioned before.
But, in general, this has little to do with web/JSP and a lot to do with arduino communication. Hope it helps. If you provide further details I can refine my answer.
Related
I am trying to set up a server to receive data from arduinos and display the data on a website. I can handle the arduino client side but...
I purchased a website through hostgator and am completely lost on how to use a service such as that to get what I want. Using an arduino as a server, or using a private or lab server is not an option.
I could do it in java, but the service would won’t support java unless I spend more money for a dedicated server and I’m not willing to do that.
Any help would be greatly appreciated!
Are you set on using an Arduino?
If your aim is to stream data directly to a web server, there are plenty of better options out there with built in wifi and all the libraries you could dream of.
I suggest a nodeMCU, or if you are set on an arduino, you will need an ethernet shield.
i am using this tutorial as guide. i am creating an android app which is basically chat application. this uses socket programming to communicate .
i want to connect directly to device and deliver the message. the message does not go to server. server only tell me the address of the device thats it.
i followed the tutorial i mentioned above and this only works for the case where client and server are within same wifi/network. i want to connect to server from client irrespective of their network connection place. how do i do it from any network to any network.
i think i need to use port forwarding , but this is not practical . so we better use a server for keeping track of all the ip changes. and deliver the messages directly from the source to client. so how do i do it. please suggest any resources.
update
as of now what i studied is i have to use innetaddress to communicate if i am inside an wifi router.
thank you
I want to connect my android application to an applet which is running on my pc on Google chrome on Wi-fi.. where my phone works as a wi-fi hotspot and pc as the connected device. I want the connection to work uniquely as I want commands to be passed from my application to the specific applet, on the execution of which my applet does specific tasks. Please tell me the APIs which I can look in both Java and Android or the technology I have to use to make it work..
You need to use any program, such as wamp server, to make your computer to be a localserver. It will install PHP 5, MySQL and Apache. In other hand, you will also need a little bit of knowledge in Php language to create you own web services.
Another thing you need to be aware is that to handle you connection between server and device (and by this I mean which IP you are going to use) you will have a little headache; but first things first..break your problem in little parts thus will be easier to solve them.
I recommend this tutorial.
I think the simple way to connect these two softwares is using UDP.
It is fast, it is easy to program but it is generally unreliable according to TCP. But it is already local network. I dont think that is a case you need to take care in your local wifi network.
So take a look at this tutorial http://tutorials.jenkov.com/java-networking/udp-datagram-sockets.html
There are other ways like https://www.alljoyn.org/. It has more functinality but more complicated.
You must install Server on your PC(Apache httpd or apache tomcat or other based on your interest). A server listens to request from clients. When your mobile is connected to your pc(doesn't matter wire or wireless), you can make a request to an url(say, localhost:8080/welcome) from your app.
Create an applet and connect it with your web application(in the server) using java.net.URL and java.net.URLConnection.
On performing some operation on the client, call the url of the server application and forward the response to the applet.
at my job we are developing a MVC .NET website, which use RXTX Java library for serial communication, it's really simple, just sending strings to serial port, but i really want to part away with java and i thinks that a chrome app could solve our problems.
My question is, how can i have a chrome app that shows our website, and how can our website use the serial api from the chrome app. It's that possible? What other possibilities do i have?
I know that i could use a service for communicate with the serial port too, but i like the idea of having a website that runs just like a native app, but, is a good idea?
There is the USB api, perhaps you can find a USB-to-serial adapter and write a module using chrome.usb
I hope I understand your question.
You can write a packaged app which communicates with the clients serial port.
A description can be found here: http://developer.chrome.com/apps/serial.html
Once you receive data on the client, you can push it back to the server.
my apologies if this is a trivial question.
I've recently begun doing some android programming and I'm writing a simple app that allows you to use your android device as a controller for your windows PC. Specifically it allows the user to do things like turn off the machine, make it sleep, reboot it etc etc. I'm currently using a python library called CherryPy as a server on the windows machine to execute the actual win32api calls to perform the desired function. What i'm not sure about is how to discover (dynamically) which machine on the network is actually hosting the server. Everything is working fine if I hardcode my machines public IP into the android app, but obviously that is far less than ideal. I've considered having the user manually enter their machines public IP in the app, but if there's a way to, say, broadcast a quick message to all machines on the WiFi and check for a pre-canned response that my Python server would send out, that'd be wonderful. Is that possible?
Thanks in advance guys.
Try sending a UDP packet to the special broadcast address 255.255.255.255. Every device in the network should receive a copy of that packet (barring firewalls), and you can arrange to have the server reply to the packet with its identity.
Write your app using the alljoyn framework. AllJoyn will handle these details for you.