r-downing / wifi-sous-vide Goto Github PK
View Code? Open in Web Editor NEWWiFi-controlled Sous Vide on ESP8266 (arduino)
WiFi-controlled Sous Vide on ESP8266 (arduino)
Hi Ryan,
great work on your Sous-Vide topic. Some ideas / nice to haves:
I am still new to the programming , I worked a bit through your code, but I have to admit, these points (and the used libraries) show me my limits.. ;-)
BTW - any reason why you did build your own PID instead of the standard PID library of Brett Beauregard?
Best Timmo
I can get it to boot up and appear as an access point named Sous Vide however if I try to connect to it via an Android device or a Mac desktop, it eventually crashes like so:
setup complete.
Exception (28):
epc1=0x40212e9e epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000
ctx: cont
sp: 3fff0f70 end: 3fff1260 offset: 01a0
>>>stack>>>
3fff1110: 3ffe8cd4 3ffefa44 3fff1140 3ffefac8
3fff1120: 3ffe8cd4 3ffefa44 3fff114c 4020f766
3fff1130: 3ffe8cd4 3ffefa44 3ffefa20 4020cf3d
3fff1140: 00000000 00000000 00000000 3fff3a24
3fff1150: 0000000f 00000000 3fff3024 0000000f
3fff1160: 0000000a 00000000 00000000 4021f45b
3fff1170: 401068c0 00000004 00037011 3fff300c
3fff1180: 0000000f 00000000 3fff3a6c 0000000f
3fff1190: 00000000 3fff3164 0000000f 00000001
3fff11a0: 3fff8584 0000000f 00000008 3fff48fc
3fff11b0: 0000000f 00000003 3fff8c94 0000007f
3fff11c0: 00000074 3fff1210 3ffefa20 4020a0c0
3fff11d0: 3ffefa60 00000000 3fff3054 4020a7b0
3fff11e0: 3ffe90a8 00000000 4020adf0 0000000a
3fff11f0: 00000000 3fff3f14 3ffefa20 3fff022c
3fff1200: 00000001 3ffefa44 3ffefa20 4020bbbb
3fff1210: 3ffe90a8 00000000 00001388 4020d2fd
3fff1220: 00000000 3fff3f14 3ffefb7c 401069b9
3fff1230: 3fffdad0 00000000 3fff0225 40207326
3fff1240: 3fffdad0 00000000 3fff0225 402100c0
3fff1250: feefeffe feefeffe 3fff0240 40100710
<<<stack<<<
ets Jan 8 2013,rst cause:2, boot mode:(3,0)
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v4ceabea9
~ld
I'm using the most recent versions of the required libraries via the Arduino library manager.
Hi,
at first thank you very much for the project. I was just thinking about a diy sous vide solution and then found this project.
From your experience ... does it have to switch the relais very quickly on and off or is it more like a minute on, then off, a minute on, then off and so on?
I'm asking because I'm wondering if it would be possible to replace the relais with a SonOff basic switch (5$) connected to the cooking device running Tasmota or so. This way it could be turned on by wifi or mqtt and there wouldn't be any physical connection between the temperature sensor connected to the esp8266 controller and the actual switch controlling the cooker. There would probably a delay of a second or two everytime it has to switch.
I compile cketch and upload it to wemos d1 mini. It seems working but the webpage of esp still reloading and there no any data on the screen of the webpage. What is wrong?
I'm also looking into what it would take to get this on an ESP board that only has 1024k of flash, can you think of a way to slim it down so that it would all fit? If not, what would have to be cut?
Arduino: 1.8.13 (Linux), Board: "LOLIN(WEMOS) D1 mini Pro, 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), 16MB (FS:14MB OTA:~1019KB), v2 Lower Memory, Disabled, None, All Flash Contents, 115200"
/home/bob/wifi-sous-vide/wifi-sous-vide.ino: In lambda function:
wifi-sous-vide:103:26: error: no matching function for call to 'ArduinoJson::JsonObject::printTo(char [200])'
json.printTo(jsonchar);
^
/home/bob/wifi-sous-vide/wifi-sous-vide.ino:103:26: note: candidates are:
In file included from /home/bob/Arduino/libraries/ArduinoJson/src/../include/ArduinoJson/JsonArray.hpp:10:0,
from /home/bob/Arduino/libraries/ArduinoJson/src/../include/ArduinoJson.h:8,
from /home/bob/Arduino/libraries/ArduinoJson/src/ArduinoJson.h:13,
from /home/bob/wifi-sous-vide/wifi-sous-vide.ino:14:
/home/bob/Arduino/libraries/ArduinoJson/src/../include/ArduinoJson/Internals/JsonPrintable.hpp:25:10: note: size_t ArduinoJson::Internals::JsonPrintable::printTo(Print&) const [with T = ArduinoJson::JsonObject; size_t = unsigned int]
size_t printTo(Print &print) const {
^
/home/bob/Arduino/libraries/ArduinoJson/src/../include/ArduinoJson/Internals/JsonPrintable.hpp:25:10: note: no known conversion for argument 1 from 'char [200]' to 'Print&'
/home/bob/Arduino/libraries/ArduinoJson/src/../include/ArduinoJson/Internals/JsonPrintable.hpp:31:10: note: size_t ArduinoJson::Internals::JsonPrintable::printTo(char*, size_t) const [with T = ArduinoJson::JsonObject; size_t = unsigned int]
size_t printTo(char buffer, size_t bufferSize) const {
^
/home/bob/Arduino/libraries/ArduinoJson/src/../include/ArduinoJson/Internals/JsonPrintable.hpp:31:10: note: candidate expects 2 arguments, 1 provided
/home/bob/wifi-sous-vide/wifi-sous-vide.ino: In lambda function:
wifi-sous-vide:113:26: error: no matching function for call to 'ArduinoJson::JsonObject::printTo(char [200])'
json.printTo(jsonchar);
^
/home/bob/wifi-sous-vide/wifi-sous-vide.ino:113:26: note: candidates are:
In file included from /home/bob/Arduino/libraries/ArduinoJson/src/../include/ArduinoJson/JsonArray.hpp:10:0,
from /home/bob/Arduino/libraries/ArduinoJson/src/../include/ArduinoJson.h:8,
from /home/bob/Arduino/libraries/ArduinoJson/src/ArduinoJson.h:13,
from /home/bob/wifi-sous-vide/wifi-sous-vide.ino:14:
/home/bob/Arduino/libraries/ArduinoJson/src/../include/ArduinoJson/Internals/JsonPrintable.hpp:25:10: note: size_t ArduinoJson::Internals::JsonPrintable::printTo(Print&) const [with T = ArduinoJson::JsonObject; size_t = unsigned int]
size_t printTo(Print &print) const {
^
/home/bob/Arduino/libraries/ArduinoJson/src/../include/ArduinoJson/Internals/JsonPrintable.hpp:25:10: note: no known conversion for argument 1 from 'char [200]' to 'Print&'
/home/bob/Arduino/libraries/ArduinoJson/src/../include/ArduinoJson/Internals/JsonPrintable.hpp:31:10: note: size_t ArduinoJson::Internals::JsonPrintable::printTo(char, size_t) const [with T = ArduinoJson::JsonObject; size_t = unsigned int]
size_t printTo(char *buffer, size_t bufferSize) const {
^
/home/bob/Arduino/libraries/ArduinoJson/src/../include/ArduinoJson/Internals/JsonPrintable.hpp:31:10: note: candidate expects 2 arguments, 1 provided
exit status 1
no matching function for call to 'ArduinoJson::JsonObject::printTo(char [200])'
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
I couldn't get this to work until I completely erased the flash memory on my ESP8266 using esptool. Without doing that, it would boot up and log "setup complete" on the console but the wifi part would not load. I suspect before loading this project, something had already written to the memory in the chip and when the network code in this project attempted to read persisted data, it failed in some way that prevented it from fully loading. Perhaps there is a way to fix that?
But in the meantime, if anyone else is stuck, just clear the firmware memory completely using esptool before flashing this project.
Thanks!
Hello, I am unfamiliar with angular, I have tried to follow some tutorials online with no success... How do I run the webserver?
Hi,
Thanks for your project. It is great!
https://learn.adafruit.com/sous-vide-powered-by-arduino-the-sous-viduino/sous-vide is a similar project and it offers a way to auto tune the PDI settings.
I saw that you hardcoded your settings, could you share some advice on how to determine correct settings / tune the PID for my cooker?
Regards
After updating Google Chrome, the control interface stopped working. However, under Microsoft Edge this problem does not occur.
Dear Ryan,
The PowerOff seems to throw an "undefined" in the browser. I am not deep into angular (acually just learning it whily tring to modify your scripts), but somehow this seems to be undefined in the core.js file.
any hint? thx!
<button type="button" ng-click="submit({powerOff})">Off</button>
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.