Monday, October 11, 2010

HomeAutomation Client v0.0.0.1

I have developed my app to the point that satisfies my needs as a proof of concept. Now that I am there, I have started outlining my plans for the 1.0 version. I will have to brush up on some more of my java, but it will be good information anyways.

I have to re-learn my options for collections of objects. In Delphi, I would use a TObjectList, TStringList or a child class that inherits from TObjectClass. However, for java, it has been long enough that I don't remember the built in constructs that are at my disposal. I could attempt to write my own version of the TObjectList class, and will if there are no other options, but have to believe I can find something first. At least, I will start with Google and go from there.

Once I am done investigating collections and a couple other minor questions, I will be flushing out my next generation of a UI. It will be an actual UI that somebody might use. Currently, the app I have linked to here is only an EditText, TextView and a button. The app simply sends an HTTP Request with the exact text in the EditText and displays the result in the TextView. This happens when the application loads as well as when the button is clicked. The server is an Arduino Micro controller on my home LAN. I currently have my router set up to forward port 80 to Arduino so I can also access it over my 3G. I have posted about it here on my blog. I also have the code for my version of the Webduino server on Any web server capable of receiving/responding to this app's requests would also work.


  1. It would seem that the client will use canned commands. How difficult would it be to add speech recognition or instead of a text field, use buttons for the areas under the clients control?

  2. It would just be a matter of managing the speech recognition code to translate into a http request before sending.

    I am in the process of creating a real client app instead of just this dirty proof of concept. The whole UI is a completely different look feel. I will try to post an in-process update today after work.