thanks appreciate the kind words. do you mean OS for you to use or for you to install on your own.
i am slowly but surely posting more on my site on how to do things on your own if you choose to, still, the easiest way is to use a v2 smart controller
http://www.kijanigrows.com/purchase-v2-smart-controller/
the hardware on this combined linux/arduino board has many of the external shields and components from your amazing project.

it also comes with firmware(arduino code) and software(linux,python) preinstalled that will easily support a lot of what you are doing directly.
then there are the backend servers and applications, and finally the client visualization programs.
still, if you send your data in the required json format to the backend, then you should be able to use the backend data for analysis and visualization tools that are available through the api.
this sorta looks like this:
{
"baudRate": 38400,
"name": "kj_v2_01",
"uptime": "12 days, 4:57:09.620000",
"pins": {
"D38": 0,
"D39": 0,
"D31": 0,
"A15": 425,
"A14": 430,
"A11": 456,
using the api, raw data posted looks like
http://api.kijanigrows.com/v2/device/get/kj_v2_01 the biggest difference is i return raw sensor values for each pin, so you can connect any sensor in any pin without changing firmware on the arduino end. pin to sensor mapping, conversion, calibration is done in the backend through a kj2arduino nodejs library - displaying the proper values is a presentation task not data collection task.
this is how your data looks after your sensor mapping through a mapping UI
{
"baudRate": 38400,
"name": "kj_v2_01",
"uptime": "12 days, 4:54:39.330000",
"pins": {
"photocell_sensor": {
"value": 7.46,
"meta": {
"sensor": "photocell_sensor",
"type": "analogue",
"units": "lumens",
"key": "photocell",
"conversionCode": "ldr2lumens",
"messages": {
"state": "ok"
}
}
},
"gb_level_sensor": {
"value": 53.75,
"meta": {
"_id": "556058fd15ce0f2f19f33a75",
"sensor": "gb_level_sensor",
"type": "analogue",
"units": "%",
"key": "gbLevel",
"conversionCode": "ir2gblevel",
"messages": {
"state": "ok"
}
}
},
notice the pin numbers are replaced with richer sensor information as shown below
http://api.kijanigrows.com/v2/device/sensors/json/kj_v2_01so, back to your question ... yes, i will open source things, but it is still easier to use a v2 controller board optimized for the platform at the moment ... you get more fun tools by default and you can focus on what your data means and enjoying your garden from your work travels anywhere in the world.
your project shows lots of dedicated hard work, if you can afford to get a v2 board i would be really grateful as we are still bootstrapping if not let me know i will send you one if you would like Chiumanfu.