I wanted to attempt to write out the big picture of what I hope to develop, especially since this past weekend really helped me start seeing a kind of range of applications that could stem off of the initial infrastructure I've been working on.
So, before I start, I'd like to introduce two terms:
- Microcontroller (eg: an Arduino): it's essentially a computer with a limiting amount of processing power. The Arduino is perhaps the most popular prototyping platform, probably because it is open-source. It's not hard to get started since there's virtually an infinite range of applications for these devices and tons of tutorials.
- Zigbee Mesh Network (eg: XBee uses Zigbee protocol): this is a language for wireless communication, as is WiFi; the difference is less bandwith, but more range (up to 1 mile). The one main thing to know is that to start a network, you need a coordinator chip, and then you add on as many "nodes" as you like. All nodes will try to forward their information to the coordinator chip. Also, each node can relay another nodes data, so in theory, the range is infinite.
I''d like to map out the basic architecture (I'll try to make this a fancy picture when I have access to a comfortable computer) by taking the greenhouse example we discussed this weekend:
greenhouse –> sensor –> Xbee Node–> Xbee Coordinator –> Arduino –> Internet
The idea of having things connected to the internet is that it streamlines data-logging (you don't have to physically remove any memory sticks) and now the user can observe and control the network in real-time from anywhere with internet connection.
What's also nice is that once you have the basic framework down (ie: XBee Coordinator –> Arduino –> Internet), you can start adding more nodes with different functions which many people suggested this weekend:
- monitoring refrigeration
- monitoring wash stations
- monitoring and alarms of movement in fields
- automating chicken feed
- weather stations
- monitoring energy use
- electric fence node
- anything else you can dream up
The cost of these electronics being relatively cheap and the entire project being open-source means that users can tinker with any component. You want to add a node that I haven't developed yet, go for it! I'd like to allow users to choose their own level of involvement, anywhere from only buying a subscription to the server (whatever is economically feasible) and building and installing all their components to a full-service where I could set up and maintain the entire network. Technically, a single farmer could implement the whole system, including the server on their own, but economically it makes sense for several farmers to share a server. Although the time invested learning about electronics and software would probably not make much sense for most farmers, the information will be readily available by virtue of being open-source and I would provide my services to bridge the gap.