Question

Image of my phone

My goal: Make my phone control an Arduino which controls servos which will do cool animations.

How do I get to my goal: I use Java to communicate to the Arduino Nano through the yellow pins (visible on the right picture) through serial (RxD/TxD) (RS-232 protocol) which will tell the Arduino how to control the servos or motors.

Problems:

  • I don't know which one of the pins that does what, like which one that is GND, which one that is TxD or RxD
  • I don't know how to tell the phone to do things with its yellow pins (which the Arduino will read and understand to control its servos/motors)
  • [_] I don't know how to listen to the phone's accelerometer through Java - The thing that lets it tell what is down
  • [_] I don't know how to listen to the phone's light-sensor
  • [_] I don't know how to listen to the phone's microphone
  • [_] I don't know how to listen to the phone's camera

[_] = Things I'm just very curious about that I will use for future projects.

Extra information: I got NetBeans IDE 7.1.1, and I got an Arduino Nano, I got the phone shown above which is called "J10i2 Elm Sony Ericsson".


So I guess what I'm really looking for is someone who knows how to control a phone 100% through Java. Or being pointed in the right direction is also nice!

If you think that I can do this in a better/simpler/smarter way then feel free to leave a comment stating why and how it is better ;)

Was it helpful?

Solution

I would suggest one easy solution, use a REST web service (SOA arquitechture) to solve this problem i did it in my personal case and now im able to control and monitor my house :)

You could simply create a database table representation of your arduino's pins...then just create a service that receives some parameters (i.e> pin no, status -> 1/0, arduino id, etc) and saves them in the database, with your mobile app you could just use the same web service for changing the values.

Finally write down an Arduino app that keeps reading statuses from that service and database (of course using another endpoint/ method in which case you just need to pass your arduino id and it will return a response of all of the different pin status so you can read/process them from your arduino (for example since JSON library is heavy and slow on arduino im passing my return values back from the server to the arduino using simple CSV values i.e> "[pin:status,.....]" i have some code for making HTTP/GET/POST on Arduino you just need the ethernet shield , i could bring you the code if you are interested

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top