Right, so... according to our lecturers we are supposed to write a blog weekly, and from now onwards I truly intend to do so, however since the first two weeks were quite hectic, I did not have a chance to get to that, which is why this will be a catch-up post for those 2 weeks.
The lists of the projects were put on Moodle and we had little time to choose the one we want to do. That was a very hard choice, but in the end I decided to do the "Home automation and security" since it sounds fun and I think we can use our imagination and do anything we want with it. The fact that we have a lot of hardware to play with is also a plus.
Our first lab session
On our first lab session we all got to meet each other and we started to have some ideas of what we were supposed to do. We also got first piece of hardware - the Gadgeteer Spider. Therefore we decided to try and get a simple "Hello World" working on it. Even though we had a tutorial it took much longer than we planned. First we tried it using Visual Studio 2012, but after installing it and all the dependencies we discovered that it wasn't compatible with Gadgeteer yet. Therefore we had to install everything again with Visual Studio 2010. That finally worked, and we could compile our first program, or not... The next issue we encountered was the update of the Gadgeteer motherboard, which we needed to do in order for it to work. Thankfully that went well and we were able to write a small program to turn an led on and off by pressing a button.
Since we got only a rough idea of what our project was supposed to be like, our group leader decided that we should all do task lists, of features that we want to include in the project. I got to write about Google Now, Google Calendar and how would we tackle opening and closing doors, windows and curtains and turning on and off lights.
Unfortunately I discovered that Google Now is only available on Android, and thus it would be hard to incorporate it in our project. Google Calendar has a nice Java API which we can use and should be quite simple, however for the needs of the prototype in my opinion it is out of scope. So, although I think we should get back to it later, for now we need to focus on things that are much more important, such as managing the hardware and the OS. For opening and closing things we need to find a way to control the motors. For lights, we also need a way of controlling the switch, but we might also want to add something like a light sensor, so that the system knows when the lights should be on/off.
Lastly, we had a long debate about what OS to use for our design, and we are still not certain. I started looking at the Raspberry Pi and at the default OS on it. It seems like a good way to go, since it is already lightweight, and a Raspberry Pi is cheap and efficient. It would be a simple thing to use if we would want to make more automated houses.
As such, I installed QEMU and started playing around with the Raspberry Pi simulation. This was not such an easy task, as I first thought, since the Raspberry Pi runs on a different hardware to my computer. But with some help from the lab assistants I was able to do it, and as a result I even wrote our first part of a script to delete the unnecessary packages.