My Neptune Apex web interface compatible DIY reef controller

I got my initial version of the esp8266 library done, and the result does not look good.

configured as a server, it receives client connection (I use curl) fine, but it is very slow to send back data to the client. I converted the Ethernet library webserver example to use my library, and it takes 11 seconds to send the html response back that is only 207 bytes long!

I timed the sends and it takes 220ms for each send to complete. each client.print() is one send, and each client.println() is 2 sends. If you look at the webserver example, the series of client.println ends up as 52 separate send commands to esp8266, hence 52*220 = about 11 seconds. not good.

I tried searching for code other people write, and pretty much all of them needs to add delay() to slow things down otherwise the program crashes.
I think the esp8266 is yet another novelty item and not ready for prime time.

I think espresiff published the sdk so people can write their own firmware. I might look into this to see if something can be done to speed up the sending.

sorscode, your suggestion to use raspberry pi keeps looking better everyday.
 
I have the code for temp and fan control done, and working on network part before I do the led part. the network part has not been going well, so I'm still unsure what I'll end up using. I still do want the controller to be network enabled.
 
it almost seems like the esp8266 firmware was designed and written for interactive use and not for program use. Hence the commands must be human readable, and for interactive use, 220ms lag is not noticeable. It's like the time your finger comes off the enter key. But for a program, this is not feasible. They should have written the firmware to use some kind of enum to assign numeric values to commands, so it can be quickly processed via case / switch instead of having to wait for the string to complete and then parse , etc etc.

I'll test my code later on a mega just to rule out the possibility it is the teensy implementation of serial library that is causing this problem.
 
Did you see there is a library written for this device? Its called ITEADLIB_Aruino_ESP8266

yes I did a survey of all existing libraries and none of them are implemented as a subclass of Client and Server classes just like the Ethernet and Wifi libraries of Arduino. The objective here is to create a library using the same model so it will be literally plug and play to convert any existing Arduino program that uses either Ethernet or Wifi library to use ESP8266. This model is very solid, works well and tons of applications use it (including the chauvet16). I was planning on converting my chauvet to use esp82666 wifi if this all works out.

Most of the existing libraries simply adds a wrapper to the AT commands of esp8266. They still work like as if there is a person in front of a terminal typing in commands.

I don't think it is the esp8266 hardware itself per se that is the problem, but just the way the AT command firmware is implemented.

I found this post that looks like the same issue

http://bbs.espressif.com/viewtopic.php?f=7&t=216
 
BTW, the reason I initially chose to use cc3000 wifi is because I saw Adafruit implemented the library using Client/Server subclass and thought I'd just spend the $35 and save myself the trouble of writing a new library. But I soon discovered their implementation is incomplete (maybe just 2/3) so it does not completely work, and both the module and library have problems. I did not read anything about the issues anywhere on adafruit website, I'm guessing because they need to sell their stock of cc3000 modules. A reputable company should pull these off the shelf. ;^)
 
I'm guessing this was probably already covered but I wasn't able to find it via the search ...

Where did you purchase the case for this project, or was it custom made? If it was custom made, do you have any details on that process?

Thanks,
Harry
 
If you are talking about the Mega board itself, pictures can be found here. He actually stuffed them all into the housing for the chauvet
 
If you are talking about the Mega board itself, pictures can be found here. He actually stuffed them all into the housing for the chauvet
I'm referring to the housing itself ... is Chauvet an existing product of some sorts?

Thanks,
Harry

Edit: never mind ... I see that's the relay box.
 
The Chauvet is basically a controllable power strip. It has a db9 (think a connector on the back of a pc) to turn off each outlet individually. In Doughboy's case, he pulled some of the guts out of the Chauvet case and placed the board in there.

Chauvet is a brand name. Not in the industry, but I am sure there are other manufacturers out there that would work. There may have even been an individual from this thread who took your average ordinary household power strip and configured it to work. Of course, my mind could just be making that up in a moment of senior senility.

I myself used a plastic project housing from Radio Shack. Cost somewhere south of $10.
 
My controller didn't switch over for daylight savings, I thought that part was fixed but maybe not, anyone else have the same problem this morning?
 
mine did not switch, but I had problem with my temp sensor filling up the log with crc error. I checked the code, it should have worked, it checks for 2nd sunday of march 2am, which is today. I'll go over the code again. I know I verified it last November to make sure it worked.

for now, just reboot the controller and it should pick up the correct time.
 
I just rebooted my controller, and it still did not get the dst time. its like the #define AUTODST was not present. I checked my config.h and it is defined. I'll have to look into this further.
 
ok, it looks like a bug.
The code checks for DST as follows,

it creates a tmElement_t record for current year, march 1. Then gets the date for nextSunday twice. Since march 1 is already on a sunday, this means it is incorrectly calculating the dst start as March 15.

I'll fix this and update github.
 
fix in file Network.ino updated on github.

Everyone still needs to get this fix to have the correct time between now and March 15.

The next time March 1 will fall on a Sunday is in year 2020.

Nov 1 will run into the same bug since Nov 1 is a Sunday. I fixed that as well.
 
off topic.

I just found out today the amazon/ontrac delivery van that delivered the jebao rw-8 last monday hit my minivan parked in front of my house, twice, then the driver delivers the package!!!:headwally:

I'm going to call ontrac tomorrow and see how far this gets.

<iframe src="https://www.youtube.com/embed/0NllSIAOyy8?rel=0" allowfullscreen="" frameborder="0" height="315" width="420"></iframe>
 
Back
Top