As discussed in my initial post, I am going to begin a project with a project description post. This should help me to organize my thoughts and motivations for a project and help readers to understand why I am doing this, what I hope to learn and what the final product should look like. The shortest description of the project sufficient to go over the motivation is this: I want to be able to monitor the internal temperature of my outdoor compost system wirelessly so I can know that it is warm enough to sufficiently compost.
There are two main questions to get through before moving onto the technical parts of the project:
What is compost?
There are plenty of resources on what compost is, how to use it and how to do it in the city (where I am), so I’m not going to spend a lot of time on this topic. Feel free to ask any questions and after I get permission, I’ll add a link to a post on a shared blog that I contribute to that is more related to stuff like that. The most important compost-related info you need to know to understand my motivation is that organic materials in a pile-like structure needs to get to a certain temperature before it begins to form the nice stuff that plants crave (no not brawndo).
There is a pretty good description in the blog I will link to soon of why to compost in general and why I care about composting but for extreme shorthand: I care about composting because it gives me a way to get rid of food scraps/waste without throwing it in the trash which is not good. I also grew up on a farm and I miss growing things, so as soon as the weather turns nice I plan on planting some stuff and I want some things to feed my plants. Ok, I probably spent a couple thousand words on my other blog just to say those couple sentences…anyways. The motivation for me picking this project as my first post-masters-thesis hardware/software IoT project is three fold:
1. It is damn simple compared to my thesis. It is very similar in terms of the types of technologies, so I have a decent starting point, but its a 1-3 sensor deal in my back yard and I already have 80% of the hardware, software, and tools needed to do it. This makes it <powerthirst_voice>EXTREMELY DOABLE</powerthirst_voice>.
2. The reasons in point 1 make this a good project to get back in the game, but it also will help me to develop a nice platform for monitoring other (potentially more complicated) stuff. This way I can explore all kinds of nifty technological stuff like protocols and hardware, best practices etc with a simple application that I can expect to finish.
3. It is a perfect example of how the IoT can combine very different interests and actually add value to non-technological hobbies. That doesn’t mean I wont get a lot of pleasure out of digging holes and getting dirty with simple analog shovels and mattocks that are in no way instrumented (….yet…..).
Back to the project description/use case
To make this somewhat of of a modern, agile process , I am going to start with a single epic story that will encompass what I want the system to do from a user perspective, which can then be used to define all the individual stories and tasks that, when implemented, will make up the system. Here goes….
As an enterprising young urban gardener on the go, I would like to be able to see what the current internal temperature of my compost whatever (tumbler, pile) is from any web-enabled device and look at past temperatures so that I can know more quantitatively how my compost is progressing.
Ok, that wasn’t too hard now was it. A lot will go into realizing that single story of course, but that locks down the big picture. One thing that makes this different than a product that I was making for someone else is that I am the customer in this case. That means I also get to decide HOW I want all this stuff to get done, how much I am willing to pay, how I want to access it etc. This can be good and bad because it can lead to mission-creep, but that is an expected problem for any personal project.
As the would-be user of this system I have some ideas about what this system will look like right now, but this could of course change. The first plan is very simple: A webpage somewhere that has a big CURRENT TEMPERATURE XX °C thing, and a graph that I can adjust the time period on that shows past temperatures from X to Y datetime. As a developer you would have mockups at some point to work off of, but I probably won’t get that rigorous about the process.
Alright, lets get to some hot TECHNICAL ACTION!