I’ve recently started a project on GitHub called ‘CaptureTheData!’. The project is about using cheap and readily available sensors like GPS receivers, Wiimotes or cellphones to create a cheap vehicle data logger. This data can be viewed/analyzed in an interactive web-application using a customizable dashboard.
The following video demonstrates the features of the web-application:
Visit the GitHub repository to read more about the project.
On a personal note, this project has been really great on improving my programming skills. Since I’ve started this project, I’ve learned a lot about:
- Git, creating a repo, submitting proper commits, file diff
- GitHub, setting up a repo, managing a project
- GPL, how to use licenses on a project, how to obey the GPL license when including external libraries
- MarkDown, creating files using MarkDown syntax
- PHP, building a REST web service
- C, setting up a project with a proper directory structure, using libraries
- Make, creating a makefile using dependencies and including libraries
- Shell scripting, create a shell-script to automate shell commands, using variables
- Ext JS 4, creating a proper MVC application using models, stores, views and controllers. Using charts. Using external libraries
- SQLite 3, managing SQLite databases, indices, optimization of queries. Using them in C and PHP with libraries
I already had a lot of knowledge on interfacing with GPS receivers (using NMEA), cellphones (using the Hayes command set) and WiiMotes (using WiiRemoteJ) and have used this on various projects in the past. Applying this knowledge on one large project was very satisfying.