hello, got a fun project to discuss
Hello, new to this community. I do originally come from the windows world, but I've been loving fedora on my main desktop for 2+ years, and my servers have been mostly linux for more than a decade. I've just turned 30 this year. Since high school, and long before, I've had a fascination with home automation. My first project was hooking everything in my bedroom to the printer port on an over-clocked 486 running dos and a qbasic program I wrote. it worked great, and I'm still proud of that old basic code. In the past 3-4 years, I've found myself back in the home automation mood. I've found a great niche to focus on that gives me endless new ideas.
I'd like to tell you about my project. I hope to inspire some to either join me and contribute some code to the project, or just get into a deep conversation about it. I IRC, when I'm available too. Anyway, hydroponic gardening is pretty fun, even if I suck at it and kill off half my peppers. When I first started researching the hobby, I realized I had a need for some very powerful software to run my hydroponic setup. If I get into something, I do it right and big. Besides being soil-less gardening in water, it's all about controlling the environment. Every setup is different, with special needs, and concepts, and sequential tasks.
This year, I decided to rewrite the entire project from the dated vb6 to java, and open source everything. I believe this is in the best interest of the project, but it wont experience any of the benefits of this unless I allow others to contribute to it. Besides, I've been working on it for far to long, and I've found it takes an extremely long time for a single person to create something with the caliber I'm demanding. It must be reliable, and capable of doing anything the user can imagine. I'll try to be short and quick describing the program.
So far, I have a server that runs command line or in the background, and has a prompt to run commands. The server loads plugins for any range of uses. Plugins are used to connect to different types of hardware. My main focus is the Arduino. For example, a light timer would be a plugin. It decides when to turn a light on or off and sends commands via the server to another plugin which communicates with the hardware and turns the actual light on or off. The server is far from finished, but I do have a working prototype. It loads plugins, and the plugins communicate with each other and with an Arduino. The next phase of the project, I'm starting on a client gui which will connect to the server and display the state of everything, like a dashboard. This is my first time for a lot of things, but I'm doing my best to write quality code. One mountain I'm about to tackle is designing a new protocol for the client and server to communicate. I've been trying to brainstorm it, but haven't come up with a whole lot yet, because so much of the program is all new and hasn't been written yet.
In closing.. ask me anything about my project. I think it'll be a huge hit on the interwebs, once I have something finished and people start finding it. Hoping I get some positive replies.