My BBQ cooking monitor - ESP8266 dual K-probe via MAX31855 & OLED display

Hi,
Thanks for the very interesting example!
I’m trying to get it to work, but while compiling, I’m hving the following error. I hope you can help me:

class ArduinoOTAMdnsClass<WiFiServer, WiFiClient, WiFiUDP>’ has no member named ‘setHostname’.
I’ve installed the ArduinoOta v1.0.3, but maybe it should be another lib or another version.

If I comment outt the ArduinoOTA calls in the code, I get an error compling
error: redefinition of ‘class BlynkTimer’
#define SimpleTimer BlynkTimer
The Blynk v.0.6.1 and
SimpleTimer v1.0.0 and Time v1.6.0

I’m sorry for the questions, although I’ve done more Arduino projects, this seems to be a new area for me :wink:

Thanks in advance!

Willem-Jan

What versions of the Arduino ESP Core and Blynk library do you have installed?

Pete.

Thanks.

It is a new installation, so no previous projects on this computer.
ESP8266 libs:
Arduino Uno Dev v0.0.3
Acrobotic SSD1306 v1.0.1
Adafruit ESP8266 V1.0.0
Adafruit IO Arduino v3.4.0
Adafruit MQTT v1.0.3
Allthingstalk Wifi SDK v2.1.0
ArduinoESPAT v1.0.2
ArduinoOTA v1.0.3
and
Blynk V0.6.1

And your ESP core version? - Boards, Board Manager, scroll down to ESP by ESP community.

Pete

@Dave1829 The Adafruit Huzzah ESP8266 has a rechargeable 3.7 volt lithium cell that runs about 10 hours under “normal” usage. You could connect it to a temperature probe, and spiral the cable on the BBQ spit close to outside the BBQ hood, but still on the spit to allow it to rotate. That allows you to “cut the cord” and measure the actual temp of something that’s rotating, rather than having to turn the spit motor switch OFF to check the temperature, remove the probe, and then turn the motor back ON.
(Answer to the question posted by @Emilio on July 2017).

These are the libraries which are used:
Library ESP8266WiFi 1.0 in folder: \ArduinoData\packages\esp8266\hardware\esp8266\2.6.3\libraries\ESP8266WiFi
Library ESP8266mDNS 1.2 in folder: \ArduinoData\packages\esp8266\hardware\esp8266\2.6.3\libraries\ESP8266mDNS
Library ArduinoOTA 1.0.3 in folder: \Arduino\libraries\ArduinoOTA
Library ESP8266WebServer 1.0 in folder: \ArduinoData\packages\esp8266\hardware\esp8266\2.6.3\libraries\ESP8266WebServer
Library ESP8266HTTPUpdateServer 1.0 in folder: \ArduinoData\packages\esp8266\hardware\esp8266\2.6.3\libraries\ESP8266HTTPUpdateServer
Library Blynk 0.6.1 in folder: \Arduino\libraries\Blynk
Library SimpleTimer 1.0.0 in folder: \Arduino\libraries\SimpleTimer
Library Wire 1.0 in folder: \ArduinoData\packages\esp8266\hardware\esp8266\2.6.3\libraries\Wire
Library MAX31855 in folder: \Arduino\libraries\MAX31855 (legacy)
Library Adafruit_GFX_Library 1.7.5 in folder: \Arduino\libraries\Adafruit_GFX_Library
Library Adafruit_SSD1306 2.1.0 in folder: \Arduino\libraries\Adafruit_SSD1306
Library SPI 1.0 in folder: \ArduinoData\packages\esp8266\hardware\esp8266\2.6.3\libraries\SPI
Library Time 1.6 in folder: \Arduino\libraries\Time
Library RunningMedian 0.1.15 in folder: \Arduino\libraries\RunningMedian

So, to answer my earlier question, you have ESP Core version 2.6.3 installed

I would have expected this to say something like:
Library ArduinoOTA at version 1.x in folder: \ArduinoData\packages\esp8266\hardware\esp8266\2.6.3\libraries\ArduinoOTA

It seems that you’ve installed a different OTA library, rather than the one included in the ESP core.

Pete.

I don’t think the problem is coming from the ArduinoOTA.
I just removed the includes and code refering to OTA, webserver, DNS and httpupdates :
//#include <ESP8266mDNS.h>
//#include <WiFiUdp.h>
//#include <ArduinoOTA.h>
//#include <ESP8266WebServer.h>
//#include <ESP8266mDNS.h>
//#include <ESP8266HTTPUpdateServer.h>

But still the same error on the SimpleTimer:

error: redefinition of ‘class BlynkTimer’
#define SimpleTimer BlynkTimer

SimpleTimer and BlynkTimer are two different things.
BlynkTimer is an updated and improved version of SimpleTimer and is included in the Blynk library and available without the need to specifically include it.

This makes no sense to me and I can’t see it in the original code.

Pete,

1 Like

Hi Pete,

Aha, I just removed the
#include <SimpleTimer.h>
and removed the simpletimer lib.

Now it compiles are runs :slight_smile:
Step 1 done!!

Thanks!

The OTA comes later…

Real cool project am getting the components together however as yet I have been unable to compile the code I keep getting the error “‘MAX31855’ does not name a type”
I have tried the Adafruit Library as well as others but to avail.
Could you please let me know which library you used and if possible the link to download it.
Much obliged

The code in post #1 compiles fine for me.
I have the Adafruit libraries installed.
I suspect that you’re missing one of the Adafruit helper libraries, such as “Adafruit_GFX_Library”, or that one or more of the Adafruit libraries is out of date.
When I compile the code (with verbose output turned on) I get this summary at the end…

Multiple libraries were found for "Adafruit_SSD1306.h"
 Used: C:\Users\Pete Knight\Documents\Arduino\libraries\Adafruit_SSD1306
 Not used: C:\Users\Pete Knight\Documents\Arduino\libraries\Adafruit_SSD1306-esp8266-64x48
 Not used: C:\Users\Pete Knight\Documents\Arduino\libraries\Adafruit_SSD1306-1.1.2
Using library ESP8266WiFi at version 1.0 in folder: C:\Users\Pete Knight\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\libraries\ESP8266WiFi 
Using library ESP8266mDNS at version 1.2 in folder: C:\Users\Pete Knight\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\libraries\ESP8266mDNS 
Using library ArduinoOTA at version 1.0 in folder: C:\Users\Pete Knight\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\libraries\ArduinoOTA 
Using library ESP8266WebServer at version 1.0 in folder: C:\Users\Pete Knight\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\libraries\ESP8266WebServer 
Using library ESP8266HTTPUpdateServer at version 1.0 in folder: C:\Users\Pete Knight\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\libraries\ESP8266HTTPUpdateServer 
Using library Blynk at version 0.6.1 in folder: C:\Users\Pete Knight\Documents\Arduino\libraries\Blynk 
Using library SimpleTimer in folder: C:\Users\Pete Knight\Documents\Arduino\libraries\SimpleTimer (legacy)
Using library Wire at version 1.0 in folder: C:\Users\Pete Knight\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\libraries\Wire 
Using library MAX31855 in folder: C:\Users\Pete Knight\Documents\Arduino\libraries\MAX31855 (legacy)
Using library Adafruit_GFX_Library at version 1.9.0 in folder: C:\Users\Pete Knight\Documents\Arduino\libraries\Adafruit_GFX_Library 
Using library Adafruit_SSD1306 at version 2.3.1 in folder: C:\Users\Pete Knight\Documents\Arduino\libraries\Adafruit_SSD1306 
Using library SPI at version 1.0 in folder: C:\Users\Pete Knight\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\libraries\SPI 
Using library Time at version 1.6 in folder: C:\Users\Pete Knight\Documents\Arduino\libraries\Time 
Using library RunningMedian at version 0.1.15 in folder: C:\Users\Pete Knight\Documents\Arduino\libraries\RunningMedian 
Using library Adafruit_BusIO at version 1.3.3 in folder: C:\Users\Pete Knight\Documents\Arduino\libraries\Adafruit_BusIO 
"C:\\Users\\Pete Knight\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\2.5.0-4-b40a506/bin/xtensa-lx106-elf-size" -A "C:\\Users\\PETEKN~1\\AppData\\Local\\Temp\\arduino_build_648148/sketch_aug02a.ino.elf"
Sketch uses 359212 bytes (34%) of program storage space. Maximum is 1044464 bytes.
Global variables use 32136 bytes (39%) of dynamic memory, leaving 49784 bytes for local variables. Maximum is 81920 bytes. 

Thanks for the reply Peter.
I have updated the Adafruit GFX library as well as all others.
I do not find the ESP8266-12F in the board manager so used the NodeMCU 1.0 (ESP-12E Module) to try to compile it however still the same problem.
I updated the board manager the ESP8266 v2.7.3 is installed.
Here is the verbose output.
Used: C:\Users\doart\OneDrive\Arduino\libraries\Time
Not used: C:\Users\doart\OneDrive\Arduino\libraries\Time-master
Using library ESP8266WiFi at version 1.0 in folder: C:\Users\doart\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.3\libraries\ESP8266WiFi
Using library ESP8266mDNS at version 1.2 in folder: C:\Users\doart\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.3\libraries\ESP8266mDNS
Using library ArduinoOTA at version 1.0 in folder: C:\Users\doart\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.3\libraries\ArduinoOTA
Using library ESP8266WebServer at version 1.0 in folder: C:\Users\doart\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.3\libraries\ESP8266WebServer
Using library ESP8266HTTPUpdateServer at version 1.0 in folder: C:\Users\doart\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.3\libraries\ESP8266HTTPUpdateServer
Using library Blynk at version 0.6.1 in folder: C:\Users\doart\OneDrive\Arduino\libraries\Blynk
Using library Wire at version 1.0 in folder: C:\Users\doart\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.3\libraries\Wire
Using library MAX31855-master at version 0.0.1 in folder: C:\Users\doart\OneDrive\Arduino\libraries\MAX31855-master
Using library SPI at version 1.0 in folder: C:\Users\doart\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.3\libraries\SPI
Using library Adafruit-GFX-Library-master at version 1.9.0 in folder: C:\Users\doart\OneDrive\Arduino\libraries\Adafruit-GFX-Library-master
Using library Adafruit_SSD1306-master at version 2.3.1 in folder: C:\Users\doart\OneDrive\Arduino\libraries\Adafruit_SSD1306-master
Using library Time at version 1.5 in folder: C:\Users\doart\OneDrive\Arduino\libraries\Time
Using library RunningMedian at version 0.1.15 in folder: C:\Users\doart\OneDrive\Arduino\libraries\RunningMedian
Using library Adafruit_BusIO at version 1.4.1 in folder: C:\Users\doart\OneDrive\Arduino\libraries\Adafruit_BusIO
exit status 1
‘MAX31855’ does not name a type

I think that is your problem.

It says in post #48 that you should be using this library:

Pete.

Pete thank you so much for your help it is much appreciated indeed.
Yes that was the problem it now compiles OK.
I missed that post #48 it is a blighter when one gets old it is even more so when the eyesight lets you down.
Again thanks now I can proceed.

Hi there BBQ lovers. Dave, thanks for sharing this nice project.

I have a problem using this suggested library: https://github.com/engineertype/MAX31855
“Specified folder/zip file does not contain a valid library”
I have tried with a few other MAX31855 libraries, but no luck.

Just copy the files from the GitHub site to your Arduino library folder like this:

image

Pete.

2 Likes

Thanks Pete. I have tried that too but still can`t compile. Here is my verbose…

"C:\\Users\\Bill\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\python3\\3.7.2-post1/python3" "C:\\Users\\Bill\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.7.4/tools/signing.py" --mode header --publickey "C:\\Users\\Bill\\Documents\\Arduino\\double k probe bbq temp monitor blynk\\double_k_probe_bbq_temp_monitor_blynk/public.key" --out "C:\\Users\\Bill\\AppData\\Local\\Temp\\arduino_build_104699/core/Updater_Signing.h"
"C:\\Users\\Bill\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\2.5.0-4-b40a506/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-IC:\\Users\\Bill\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.7.4/tools/sdk/include" "-IC:\\Users\\Bill\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.7.4/tools/sdk/lwip2/include" "-IC:\\Users\\Bill\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.7.4/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\\Users\\Bill\\AppData\\Local\\Temp\\arduino_build_104699/core" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++11 -MMD -ffunction-sections -fdata-sections -fno-exceptions -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10814 -DARDUINO_ESP8266_GENERIC -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_GENERIC\"" -DLED_BUILTIN=2 -DFLASHMODE_DOUT -DESP8266 "-IC:\\Users\\Bill\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.7.4\\cores\\esp8266" "-IC:\\Users\\Bill\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.7.4\\variants\\generic" "-IC:\\Users\\Bill\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.7.4\\libraries\\ESP8266WiFi\\src" "-IC:\\Users\\Bill\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.7.4\\libraries\\ESP8266mDNS\\src" "-IC:\\Users\\Bill\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.7.4\\libraries\\ArduinoOTA" "-IC:\\Users\\Bill\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.7.4\\libraries\\ESP8266WebServer\\src" "-IC:\\Users\\Bill\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.7.4\\libraries\\ESP8266HTTPUpdateServer\\src" "-IC:\\Users\\Bill\\Documents\\Arduino\\libraries\\Blynk\\src" "-IC:\\Users\\Bill\\Documents\\Arduino\\libraries\\SimpleTimer" "-IC:\\Users\\Bill\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.7.4\\libraries\\Wire" "-IC:\\Users\\Bill\\Documents\\Arduino\\libraries\\MAX31855" "-IC:\\Users\\Bill\\Documents\\Arduino\\libraries\\Adafruit_GFX_Library" "-IC:\\Users\\Bill\\Documents\\Arduino\\libraries\\Adafruit_SSD1306" "-IC:\\Users\\Bill\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.7.4\\libraries\\SPI" "-IC:\\Users\\Bill\\Documents\\Arduino\\libraries\\Time-master" "-IC:\\Users\\Bill\\Documents\\Arduino\\libraries\\RunningMedian" "-IC:\\Users\\Bill\\Documents\\Arduino\\libraries\\Adafruit_BusIO" "C:\\Users\\Bill\\AppData\\Local\\Temp\\arduino_build_104699\\sketch\\double_k_probe_bbq_temp_monitor_blynk.ino.cpp" -o "C:\\Users\\Bill\\AppData\\Local\\Temp\\arduino_build_104699\\sketch\\double_k_probe_bbq_temp_monitor_blynk.ino.cpp.o"
In file included from C:\Users\Bill\Documents\Arduino\libraries\Blynk\src/Blynk/BlynkApi.h:17:0,
                 from C:\Users\Bill\Documents\Arduino\libraries\Blynk\src/BlynkApiArduino.h:14,
                 from C:\Users\Bill\Documents\Arduino\libraries\Blynk\src/BlynkSimpleEsp8266.h:24,
                 from C:\Users\Bill\Documents\Arduino\double k probe bbq temp monitor blynk\double_k_probe_bbq_temp_monitor_blynk\double_k_probe_bbq_temp_monitor_blynk.ino:15:
C:\Users\Bill\Documents\Arduino\libraries\Blynk\src/Blynk/BlynkTimer.h:36:21: error: redefinition of 'class BlynkTimer'
 #define SimpleTimer BlynkTimer
                     ^
C:\Users\Bill\Documents\Arduino\libraries\SimpleTimer/SimpleTimer.h:10:7: note: in expansion of macro 'SimpleTimer'
 class SimpleTimer {
       ^
C:\Users\Bill\Documents\Arduino\libraries\Blynk\src/Blynk/BlynkTimer.h:36:21: error: previous definition of 'class BlynkTimer'
 #define SimpleTimer BlynkTimer
                     ^
C:\Users\Bill\Documents\Arduino\libraries\Blynk\src/Blynk/BlynkTimer.h:41:7: note: in expansion of macro 'SimpleTimer'
 class SimpleTimer {
       ^
Using library ESP8266WiFi at version 1.0 in folder: C:\Users\Bill\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\libraries\ESP8266WiFi 
Using library ESP8266mDNS at version 1.2 in folder: C:\Users\Bill\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\libraries\ESP8266mDNS 
Using library ArduinoOTA at version 1.0 in folder: C:\Users\Bill\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\libraries\ArduinoOTA 
Using library ESP8266WebServer at version 1.0 in folder: C:\Users\Bill\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\libraries\ESP8266WebServer 
Using library ESP8266HTTPUpdateServer at version 1.0 in folder: C:\Users\Bill\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\libraries\ESP8266HTTPUpdateServer 
Using library Blynk at version 0.6.1 in folder: C:\Users\Bill\Documents\Arduino\libraries\Blynk 
Using library SimpleTimer at version 1.0.0 in folder: C:\Users\Bill\Documents\Arduino\libraries\SimpleTimer 
Using library Wire at version 1.0 in folder: C:\Users\Bill\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\libraries\Wire 
Using library MAX31855 in folder: C:\Users\Bill\Documents\Arduino\libraries\MAX31855 (legacy)
Using library Adafruit_GFX_Library at version 1.10.4 in folder: C:\Users\Bill\Documents\Arduino\libraries\Adafruit_GFX_Library 
Using library Adafruit_SSD1306 at version 2.4.0 in folder: C:\Users\Bill\Documents\Arduino\libraries\Adafruit_SSD1306 
Using library SPI at version 1.0 in folder: C:\Users\Bill\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\libraries\SPI 
Using library Time-master at version 1.6 in folder: C:\Users\Bill\Documents\Arduino\libraries\Time-master 
Using library RunningMedian at version 0.2.1 in folder: C:\Users\Bill\Documents\Arduino\libraries\RunningMedian 
Using library Adafruit_BusIO at version 1.7.0 in folder: C:\Users\Bill\Documents\Arduino\libraries\Adafruit_BusIO 
exit status 1
Error compiling for board Generic ESP8266 Module.

I think you’ve posted the wrong compiler output - that’s mine from post #106

Pete.

1 Like

True. :smile: I have updated. I have comparing mine to yours. They are mostly the same except I have some libraries with the newer version. I have also tried to compile it for various boards, but does not help.