Web Based IR Light Controller

The friendliest place on the web for anyone with an interest in aquariums or fish keeping!
If you have answers, please help by responding to the unanswered posts.

Harry Muscle

Aquarium Advice Activist
Joined
Jun 22, 2015
Messages
160
I wanted to repost this from another forum I'm part of in case anyone here is interested.

Originally posted May 12, 2015:

There are a few light controllers already out there that can control the Current USA Satellite and/or Ecoxotic E Series fixtures but none of them seem to be web based. Since the rest of my tank will be controlled by an Apex controller I didn't like the idea of having something that requires physical access to change settings on.

I write code for a living so it only made sense to write a controller that's accessible via the web from a browser ... both desktop and mobile.

I had an Arduino Uno and Ethernet shield lying around so that seemed like the perfect platform.

The Arduino Uno doesn't have much ROM space but so far things are fitting ... just barely though.

The controller is still a work in progress, about 75% done I'd say. The Arduino code is pretty much all done just not debugged yet. Most of the work left is on the web side of things.

Here's a link to the project code:

https://github.com/Stonyx/IRLightController

The controller borrows a concept from the iAqua Lite where you predefine the color values for the 4 memory buttons and then fade between those. However it greatly expands on this by allowing a total of 50 schedule entries per week for when the various colors should be active. It also adds 50 additional schedules per week for sending any IR command to the light which adds great flexibility to do fun things with the various dynamic modes.

It also gets its time from a NTP time server on the web so no more having to change the time when daylight savings kicks in.

And lastly it will be able to control both the Satellite and E Series fixtures.

I'll post updates here as I make progress but feel free to check the Github link for the latest changes and post here with questions, suggestions, etc.

Thanks,
Harry
 
Originally posted July 3, 2015:

This controller is now feature complete ... it's officially graduating from Alpha stage to Beta stage. I have done isolated testing during development, but this hasn't yet been tested on an actual Arduino along with the HTML/CSS/JS interacting with it. It's probably going to be a few weeks before I get my Arduino setup and ready to test, so if anyone feels like helping out and trying this code feel free to do so. I'm open to all comments, suggestions, questions, etc.

Here are screenshots of what the user interface looks like:

Main page:

IR-Light-Controller-1.png


Memory Schedule page:

IR-Light-Controller-2.png


Timer Schedule page:

IR-Light-Controller-3.png


Color Values page:

IR-Light-Controller-4.png


Reboot page:

IR-Light-Controller-5.png


Reset page:

IR-Light-Controller-6.png


About page:

IR-Light-Controller-7.png


Thanks,
Harry

P.S. The pages are fully responsive and adjust on mobile devices.

P.P.S. Please ignore some of the bogus test values in the screenshots.
 
I finally found some time to load this onto my Arduino and debug it. I've committed lots of fixes to github. Web pages are being served very nicely now. A full load takes about 15 seconds which isn't that bad considering how slow an Arduino is and the fact that it's serving fully responsive pages along with a few images.

I ended up running out of code space with one of the fixes, so I had to remove DHCP support, however, that made room for making the time zones and daylight savings time configurable via the web interface.

Things are coming along nicely. I'd say it's around 90% done.

Thanks,
Harry
 
The code base is now basically all done. I've added the last set of configuration screens and tested everything I can think of. The only thing that I can't test is how it actually interacts with the various fixtures it supports, since I don't own all of them, however, the IR codes come from other tested projects so I'm pretty confident it will work just fine.

If anyone feels like trying this out I'd be more than happy to assist. I'm actually surprised there isn't more interest in this ... personally it seems so much easier to access the timer over the network than having to physically touch it to make changes which is what the rest of the Arduino light controllers on this site require. Also not having to change the time twice a year for daylight savings time is a big plus for me personally too.

BTW, here are the mobile screens for the timer:

Screenshot_2015-09-13-11-44-58.png


Screenshot_2015-09-13-11-45-42.png


Screenshot_2015-09-13-11-46-01.png


Screenshot_2015-09-13-11-46-08.png


Screenshot_2015-09-13-11-46-15.png


Screenshot_2015-09-13-11-46-20.png


Screenshot_2015-09-13-11-46-27.png


Screenshot_2015-09-13-11-46-33.png


Screenshot_2015-09-13-11-46-39.png


Thanks,
Harry
 
How are you getting the controller online? Sorry if stupid question.

Sent from my SAMSUNG-SM-N910A using Tapatalk
 
Wow! This is way too advanced for me. So with the build in your house do you have everything on your tank automated?

Sent from my SAMSUNG-SM-N900A using Aquarium Advice mobile app
 
How are you getting the controller online? Sorry if stupid question.

Sent from my SAMSUNG-SM-N910A using Tapatalk
I'm using the standard Arduino Ethernet shield to add networking capability to the controller.

Thanks,
Harry
 
Wow! This is way too advanced for me. So with the build in your house do you have everything on your tank automated?

Sent from my SAMSUNG-SM-N900A using Aquarium Advice mobile app
That's the goal. Although the water changes will require a bit of work on my part, like pushing a button to start the water change pump and occasionally refilling the water change container in the basement.

Thanks,
Harry
 
Interesting concept. Still working out the specs for the arduino and what the real world usage might be but I commend you for the work.

Sent from my SAMSUNG-SM-N910A using Tapatalk
 
Back
Top Bottom