Wireless Recycled Reef Controller
|Home | Recent Edits | Search | Edit this page|
GettingStarted -|- NewS -|- HOWTos -|- DownLoads -|- SoftWare -|- Input Output -|- X-10_Control -|- Bugs/Features -|- ABout
WRRC - Wireless Recycled Reef Controller is an automation computer for measurement and control of a reef tank. Although the target is for a marine reef tank, most of the functions can be used for home automation as well.
WRRC is built on a Linksys WRT54G router (there are other similar platforms that should work with more / less hardware functionality as well) using Open Source Software and Open Source Hardware Designs where available.
This project has been around for quite some time, and I've had much time to think about it. I think the project is a great idea, but building it on the WRT54G has proven a hurdle in itself. I personally am not highly skilled in cross-compiling code to run on a quite limited platform such as the WRT54G. Given this, and the constant evolution of the OWFS software that it is built upon, I've decided to concentrate on a full-featured platform (IE a regular, or small form-factor PC) to allow me the most robust toolset with the least number of external hardware constraints.
I've recently moved to the Small_Form_Factor hardware to help find a common ground to allow this project to continue. I am using a Compaq/HP E-PC that measures aproximately 3.75"x10"x12". While the E-PC is larger and more power-hungry (at 44w for the E-PC vs 6w for the WRT54TG?), I get a much more robust environment in return (with a full linux distro installed as a LAMP_server). MySQL provides a much better RDBMS as the heart of the data collection, and the monitor/control scripts can be written in Perl instead of simple shell scripts for far better features & flexability. Granted there is a size & electricity to feature & robustness trade-off, but IMO, I'm OK with that for now. I am by no means giving up on the WRT54G platform, but think development is much better suited to a full machine over the limited platform, and eventually I'd love to see it condensed down to fit on the WRT54G or else the similar Linksys NSLU2
All the 1-Wire sensors are completely independant of the platform, so any standard 1-wire device will work identically on any platform the controller is running on. For this reason, I don't think there's any problem with developing on a full box, and eventually porting to a smaller platform.
Although in the initial phase, the project is a DIY project, the goal is to create a powerful and user friendly alternative for a commercial product. Even if you're not a computer expert, you're welcome to try out the project during development cycle, most of the pieces are in place to at least monitor your environment. I also believe that the project is not that difficult to use even at it's most basic form. With more input I can get ideas for improvements and that will be your contribution to the project. You might even find that after using WRRC, it may not be as difficult as it seemed initially.
Note to End Users The goal is to make a system that you configure easily from a Web Page. Most of the Hardware will easily be DIY or you can get kits or complete product from a Vendor. Everything is Open Source and Open Hardware, nothing is hidden so you can improve everything if you want to, otherwise just enjoy everything the Open Source Community provides to you.
For Comments, Help (including Helping me and me helping you), Suggestions please use this thread:
Seems to be a lower cost entry for X10 control and use a DS9097U? for monitoring.
Rough Install Notes
- everything is flashed based now on the file system. So even system files can be updated.
- all current
- more packages available including one for mounting Windows shares
Unfortunately to move to the new firmware, I have to compile OWFS and Fuse (the lower level software) for the new kernel it uses. I'm playing around with compilation. I also found a bug in the package manager tool, so I need to fix that and develop an upgrade plan.
I want to integrate the other interfaces for Package Manager and Firmware upgrade into the new inteface. At that point I can release the new interface and just do updates for New Admin and Status screens.
See screenshot below.
To create a dynamic all you have to do is:
#!/bin/sh cat top.tmpl cat nav.tmpl cat main-start.tmpl #---------------------------------------------- # Dynamic Shell code and HTML can go here # It will be placed in the main section (green) #---------------------------------------------- # Finish up the page cat main-end.tmpl cat right-links.tmpl cat bottom.tmpl
That's it. Here is what it looks like. This Page is displaying the X10 Modules Status. I have to work on making each module a Toggle Link to turn on and off, but not too hard. It should just be a for loop.
I'm still learning it, and just figured out to use Non Blocking commands instead. Really Powerful set of tools. You can even watch the X10 bus for events and trigger actions.
Notes: The devs have been moved to /wrrc/x10
scripts to start either Powerlink - /wrrc/bin/wrrc-pld.sh start
or CM11a - /wrrc/bin/wrrc-cm11.sh start
To stop, same command replace with stop.
I didn't make it auto start on reboot yet, but you can symlink it to your init.d directory:
ln -s /wrrc/bin/wrrc-
To use Wish you will need to subsitute /dev/x10 with /wrrc/x10 for the device files.