thebedroomlaboratory / BrewMonitor

The Arduino and Cloud-based homebrewing controller
Other
16 stars 6 forks source link

Store string in flash and configuration in EEPROM #12

Open matsstaff opened 9 years ago

matsstaff commented 9 years ago

Static strings (like HTTP headers et.c.) would be better to store in program memory to reduce RAM usage. Configuration (like device ID, SSID, password etc.) would be suitable to store in EEPROM to make them easily changeable, yet retained after power off.

catchmartin commented 9 years ago

Just wondering, do you think we'd be better off using the brewpi-avr as a starting point and then try to make it wireless?

matsstaff commented 9 years ago

It kind of depends on where you want to go with this. Before I 'stumbled' upon the hackability of the STC-1000, I was knee-deep in trying to modify BrewPi to do what I wanted. I think the biggest strength of BrewPi is the PID/thermostat algorithm, but also that for fermentation it is kind of overkill. I don't want to knock it, as it is excellent, but IMHO, the drawbacks are that it has too many dependencies and might be too flexible. What I like about this project is cost and simplicity. For pure logging, I'd rather see a firmware mod for the ESP that reads temp and uploads to the 'cloud'. For controlling fermentation (and doing logging to the cloud), it would be a good idea to keep the stock firmware and use an Arduino pro mini for example to keep it low cost, yet robust and simple. I agree with the sentiment that it should be autonomous, you should not need to set up a computer/raspy/whatever to get up and running. I would think that if controlling fermentation is a goal, it would be cool to have the Arduino serve a simple webpage for configuration, that you could reach on your private network and still just push log data to the cloud. Keep things pretty simple, yet powerful enough to do what is needed.

catchmartin commented 9 years ago

Yeah, we've a couple of ESP-03 modules en route, where all the GPIO pins on the ESP8266 are broken out. The cheapest solution would be to use the ESP8266 for the whole implementation. Maybe there's no real need for the Arduino at all, even for relay control: http://harizanov.com/2014/11/esp8266-powered-web-server-led-control-dht22-temperaturehumidity-sensor-reading/ If we ported the PID algorithm across from BrewPi then this could be an full solution very quickly.

matsstaff commented 9 years ago

That could absolutely be a very reasonable solution. I've seen the project you are referring to and it seems like the ESP8266 has a lot of potential. I'm just not all that familiar with it yet. Bottom line is that it needs to be reliable. I don't know if it has built in watchdog functionality and if the SDK supports it (but it really should). Then it could be a really slick and robust solution.