Friday, July 25, 2014

Weeks 3-7 Update

It's been a while, hasn't it? So here is where we are:

Last post, I stated that we were planning on using a Python-based program to communicate with a microcontroller  that would control a set of LEDs and a touch screen device. In theory, this idea would work. However, communicating through a microcontroller using Python to talk to a touch screen proved way too difficult and definitely not worth the effort, so we bailed on the idea.

What we wanted was simple integration, so we looked at other methods of implementation. What we really wanted was an all-in-one sort of method so we could limit the number of devices to the smallest number possible for simplicity's sake. We considered other languages like Arduino which would make communication with the microcontroller simple. However, keeping and controlling a fairly large database with Arduino is not a simple, and the touch screen was not as user-friendly as we would have liked. So what all-in-one device could we work with?

We decided to work with Android using a Java platform, and here is why:
1) An Android device has a touch screen
2) The Android device runs the code
3) The Android device would only need to control LEDs (as far as outside devices go)

We purchased a Google Nexus 7 tablet to use. We believe that creating an Android app for our project will prove to be the most effective.

So here comes the painful part. As you may have noticed, we have not committed any code onto git thus far, which is a shame. The reason is that we wrote up some code in Python, but given our decision to work with an Android app, the code is now irrelevant. We will still be using the general layout of the code when we start writing in Java, but Python and Java do not translate well between each other. Neither my partner nor I have any experience with Java, let alone the Android side of things. As a result, we have spent the last two weeks or so getting familiar with Java and Android. Android provides great tutorials on their website that walk through the steps to creating an app and playing with its features. Debugging is also incredibly easy too, which was a pleasant surprise. Connecting the Nexus to my computer with a USB cable allows me to run the code on my laptop and play with the app in real time on the tablet.

Physically speaking, we have nothing to show. Yet. However, I feel really good about where we are headed with the Android app and hope to have started developing the basic features of the app within the coming weeks. We are behind our original schedule, but that is not really my concern since the project has taken many unexpected turns.

What I like most about this project is that it is now starting to feel like a learning process and less like work. I look forward to the road ahead.

No comments:

Post a Comment