My Neptune Apex web interface compatible DIY reef controller

I see the picture links to photobucket are broken.
they want a ransom of $400 to get the links to work again.

for now, you can browse the album directly. be prepared to get a boatload of questionable looking ads.

http://s1193.photobucket.com/user/jerrysy/library/controller

schematics are in github page.

https://github.com/d0ughb0y/Chauvet16

I was actually just about to post to ask about those. Granted I have not read through all 100 pages of this thread, but is there an alternative to using the Chauvet SR-08 Relay pack since it may be harder to find?
 
I was actually just about to post to ask about those. Granted I have not read through all 100 pages of this thread, but is there an alternative to using the Chauvet SR-08 Relay pack since it may be harder to find?



I think the Chauvet relay has been discontinued.
I am thinking the best option is to DIY your own case using 1/4" acrylic. I've never diy'ed acrylic before so I don't know how hard or easy it is, but I'll probably give it a try. I see lowes sells 24"x18" 0.22" thick acrylic for $24. I might buy one and some weld on 4 and try to make a box.
 
Doughboy, have you had any issues with the webserver not responding? I've had the controller up for a few months now and it seems like every few days / week the server won't let me log in to it and the LCD remains frozen on the last screen, but the status light continues to blink and the ATO keeps working (I can test with moving the float switches).

Sometimes it'll recover after a few hours and let me log in again, other times I have to restart it. Logs don't seem to show anything problematic, but there are not any log data after the time it freezes (until I restart it or it recovers). Thought it was an issue with the Arduino / MicroSD card, so I replaced the mega, the w5100 shield, and the 8gb microSD. Same thing happens though...

I'm pretty puzzled at what it could be... I was thinking maybe I'll try to get the two atlas stamps working in Serial mode again (currently in i2c) in case the i2c bus is getting overloaded, but that seems like a long shot.

Any ideas? I can send you log files if that'd help too.
 
Doughboy, have you had any issues with the webserver not responding? I've had the controller up for a few months now and it seems like every few days / week the server won't let me log in to it and the LCD remains frozen on the last screen, but the status light continues to blink and the ATO keeps working (I can test with moving the float switches).

Sometimes it'll recover after a few hours and let me log in again, other times I have to restart it. Logs don't seem to show anything problematic, but there are not any log data after the time it freezes (until I restart it or it recovers). Thought it was an issue with the Arduino / MicroSD card, so I replaced the mega, the w5100 shield, and the 8gb microSD. Same thing happens though...

I'm pretty puzzled at what it could be... I was thinking maybe I'll try to get the two atlas stamps working in Serial mode again (currently in i2c) in case the i2c bus is getting overloaded, but that seems like a long shot.

Any ideas? I can send you log files if that'd help too.

So quick update on this... it seems that the issue has been related to the SD card & logging. I reformatted my 8gb card after the system locked up several times in one day, and it hasn't locked up since then. I also got a 4gb card in case there's an issue with the 8gb one and will try that out too.

In case others are having a similar issue and are also using 8gb micro SD cards, try reformatting the card!
 
sorry for late reply.
all network access to the controller is logged, so you can check if someone is trying to hack into the controller. So if someone is continuously attempting to log in, it may fill up the log file. You can add the ip address to your router's firewall blacklist.

the arduino ethernet shield can handle 4 connections at a time. If it gets overloaded, you may need to wait for connections to be timed out (I think 3 minutes), and try again.
 
Good point about the network access logging potentially being the culprit - I had seen this before but didn't think that it could be enough to fill up the SD card. But after looking at it again, I think that it may be the problem.

Wondering if you've ever seen this happening before. I have a bookmark saved to my iPhone desktop for the controller, and when I log in from my phone it generates a ton of log activity. The below logging happens ~10 times in a row. When I log in from my PC instead, minimal log activity generated.
I'll do some digging on how safari accesses/saves bookmarks... Maybe it's trying to cache thumbnails from the webpage and that generates a lot of log activity...

08:14:25 Access denied.
08:14:25 192.168.1.152 /apple-touch-icon-120x120-precomposed.png
08:14:25 Access denied.
08:14:25 192.168.1.152 /apple-touch-icon-120x120-precomposed.png
08:14:25 Access denied.
08:14:25 192.168.1.152 /apple-touch-icon-120x120.png
08:14:25 Access denied.
08:14:25 192.168.1.152 /apple-touch-icon-120x120.png
08:14:25 Access denied.
08:14:26 192.168.1.152 /apple-touch-icon-precomposed.png
08:14:26 Access denied.
08:14:26 192.168.1.152 /apple-touch-icon-precomposed.png
08:14:26 Access denied.
08:14:26 192.168.1.152 /apple-touch-icon.png
08:14:26 Access denied.
08:14:26 192.168.1.152 /apple-touch-icon.png
08:14:26 Access denied.
08:14:26 192.168.1.152 /favicon.ico
08:14:26 Access denied.
08:14:26 192.168.1.152 /favicon.ico
08:14:26 Access denied.
 
Cant get this to compile. keep getting error











Network.ino: In function 'void logNetworkAccess(TinyWebServer&)':
Network:552: error: 'class EthernetClient' has no member named 'getRemoteIP'
 
Did you edit the ethernetclient.h and ethernetclient.cpp files? I suspect that's the issue, it looks like the compile issue you have is because the ethernetclient files don't have the method you need to add.

Instructions from the documentation here are also pasted below: https://github.com/d0ughb0y/Chauvet16/

You will also need to edit the Ethernet library to add a new method for getting the ip address of the incoming connection.

Edit EthernetClient.cpp and add this to the end of the file:

uint8_t* EthernetClient::getRemoteIP(uint8_t remoteIP[])
{
W5100.readSnDIPR(_sock, remoteIP);
return remoteIP;
}


Edit EthernetClient.h and add this to line 25:

uint8_t* getRemoteIP(uint8_t RemoteIP[]);//adds remote ip address
 
Good point about the network access logging potentially being the culprit - I had seen this before but didn't think that it could be enough to fill up the SD card. But after looking at it again, I think that it may be the problem.

Wondering if you've ever seen this happening before. I have a bookmark saved to my iPhone desktop for the controller, and when I log in from my phone it generates a ton of log activity. The below logging happens ~10 times in a row. When I log in from my PC instead, minimal log activity generated.
I'll do some digging on how safari accesses/saves bookmarks... Maybe it's trying to cache thumbnails from the webpage and that generates a lot of log activity...

08:14:25 Access denied.
08:14:25 192.168.1.152 /apple-touch-icon-120x120-precomposed.png
08:14:25 Access denied.
08:14:25 192.168.1.152 /apple-touch-icon-120x120-precomposed.png
08:14:25 Access denied.
08:14:25 192.168.1.152 /apple-touch-icon-120x120.png
08:14:25 Access denied.
08:14:25 192.168.1.152 /apple-touch-icon-120x120.png
08:14:25 Access denied.
08:14:26 192.168.1.152 /apple-touch-icon-precomposed.png
08:14:26 Access denied.
08:14:26 192.168.1.152 /apple-touch-icon-precomposed.png
08:14:26 Access denied.
08:14:26 192.168.1.152 /apple-touch-icon.png
08:14:26 Access denied.
08:14:26 192.168.1.152 /apple-touch-icon.png
08:14:26 Access denied.
08:14:26 192.168.1.152 /favicon.ico
08:14:26 Access denied.
08:14:26 192.168.1.152 /favicon.ico
08:14:26 Access denied.



Make sure the bookmark contains your login info, then you will not get the access denied log.

The bookmark should be something like
Http://username:passwd@192.167.1.152

Replace username:passwd with your login and the IP address with your external IP.
 
Did you edit the ethernetclient.h and ethernetclient.cpp files? I suspect that's the issue, it looks like the compile issue you have is because the ethernetclient files don't have the method you need to add.

Instructions from the documentation here are also pasted below: https://github.com/d0ughb0y/Chauvet16/

You will also need to edit the Ethernet library to add a new method for getting the ip address of the incoming connection.

Edit EthernetClient.cpp and add this to the end of the file:

uint8_t* EthernetClient::getRemoteIP(uint8_t remoteIP[])
{
W5100.readSnDIPR(_sock, remoteIP);
return remoteIP;
}


Edit EthernetClient.h and add this to line 25:

uint8_t* getRemoteIP(uint8_t RemoteIP[]);//adds remote ip address


There both as said in the instructions. That's what's confusing me so much
 
Yep, that's how I had set up my bookmark -- using the full URL with the username & password, followed by external IP, and port. It logs in automatically when I hit the bookmark, but for whatever reason I'm still getting those Access Denied messages.

it looks like iOS devices may try to query webpages for a 120x120 image to use as the bookmark icon, so it may be that my phone is querying the page for an image but ignores the credentials when doing so and that results in an error... I'm going to try putting an icon in a public folder and adding a few lines to the index.htm to point to that, will let you know if that resolves it.
 
Jerry, I have a question about the pwm fans.
I made the circuit as pictured in the shematic and wanted to try it with a simple pwm example sketch. It works in the way that the speed of the fan varies, but I get a high whining sound whenever the fans are running.
If I leave out the circuit with the transistors and just use the pwm signal directly on the pwm pin of the fan, I don't have the noise.

In your program, is there some sort of special pwm output to get rid of that whining sound? It's difficult for me to test it with your code without having the full controller.



Thanks for your reply
 
So the pwm output must be 25khz? Does your sketch take care of that?

yes, it is in source file PWMFan.ino

I actually used 20khz since the values are convenient and setting the duty cycle between 0 and 100 is just a direct register assignment, no additional calculations.

16mhz/8 (clock divider) /100 (counter top) = 20khz
 
Back
Top