Hallo
Ich habe mir einen El Fuego Portland zugelegt und habe bisher immer mein Maverick zum Smoken genutzt. Da ich noch einen Nodemcu als Ersatz für meine Sprenklersteuerung herumliegen hatte, dachte ich mir baue doch mal ein WiFi BBQ Thermometer.
Also habe ich noch ein OLED Display und zwei Max6675 geordert und los ging es.
Was braucht man ?
1 x NodeMCU Lolin mit ESP8266 12E oder NodeMCU Amica (5 Euro hier in DE)
2 x MAX6675 (mit Sensoren Typ K 9,98 Euro für 2 Stück hier in DE)
1 X OLED 0,96 Zoll (könnte man auch weglassen, 4,99 Euro hier in DE)
1 x 5Volt Versorgungsspannung in Form von zBspl. vorhandener Powerbank, Smartphone Netzteil ....
Natürlich wird es beim freundlichen ChinaMann preisgünstiger
Als erstes installiert man erstmal Arduino incl. Bibliotheken auf seinem PC, sofern man das nicht hat.
Als nächstes installiert man die APP Blynk auf dem Smartphone.
Dort erstellt man ein neues Projekt und bekommt dann einen Authentic Token an seine hinterlegte e-mail gesendet.
Da ich nicht über die Blynk Cloud kommunzieren möchte habe ich Blynk Server auf meinem Raspberry laufen.
Zum Programmieren des Nodemcu benötigt man auf seinem PC Arduino.
Mag jetzt alles kompliziert klingen ist aber kein Hexenwerk und es gibt viele Videos zum Thema.
Wie alles "verkabelt" wird seht ihr im "Anhang,Upload"
Was kann man mit dem BBQ Thermometer anstellen ?
Man kann bis zu 4 Thermosensoren Typ K anschließen. Ausgabe für die Hitze im Smoker und eine Kerntemperatur erfolgt am OLED Display. Vollständige Anzeige aller Daten macht man über die Blynk App!
- bis zu 4 Thermometer anzeigen
- min und max Temperatur für die Hitze im Smoker einstellen
- bis zu 3 x die Kerntemperatur anzeigen lassen
- bei erreichen oder unterschreiten der Temperatur im Smoker eine Push Nachricht (sowie Sound) & oder e-mail senden (Eventor in der Blynk App)
- bei erreichen der Kerntemperatur(en) eine Push Nachricht & oder e-mail senden (Eventor in der Blynk App)
- anzeigen von graphischen Verlaufskurven in der Blynk App
- jetzt könnte das ganze noch erweitert werden -> Servormotor zur Klappensteuerung am Smoker,Piezo Beeper direkt am Nodemcu, Servomotor zur automatischen Gasregelung und und und .....
Die Sensoren sind jetzt nix besonderes (einen oder auch zwei kann man fest im Smoker installieren (Loch bohren, festschrauben, man kann ja auch zwei oder drei Hitze Sensoren im Smoker benutzen)
Für das Messen der Kerntemperatur sollte man sich einen anderen (besser geeigneten) zulegen.
Im Code für den NodeMCU ESP8266 müsst ihr folgendes anpassen :
SSID für euer WLAN
Passwort für euer WLAN
Server Adresse für euren Raspberry oder halt die Blynk Cloud
und ganz wichtig der auth Token vom Blynk
So das waren auf die schnelle mal ein paar Anregungen meinerseits
Ich bin mir im klaren das es hier auch sehr schöne andere (teurere) Projete gibt
Meinem "BBQ Thermometer" muß jetzt nur noch ein Gehäuse bekommen.
Kleiner Hinweis für die die es evt. Nachbauen wollen ... die max6675.cpp im Windows Ordner ->
Arduino/libraries/MAX6675-library-master muß editiert werden sonst gibt es eine Fehlermeldung beim kompilieren.
siehe dazu -> https://www.az-delivery.de/blogs/az...erry-pi/esp8266-mit-max6675?ls=de&cache=false
oder hier im Beispiel :
---------------------------------------------------------------------------------
max6675.cpp
// this library is public domain. enjoy!
// www.ladyada.net/learn/sensors/thermocouple
#define _delay_ms(ms) delayMicroseconds((ms) * 2000)
//#include <avr/pgmspace.h>
//#include <util/delay.h>
#include <stdlib.h>
#include "max6675.h"
---------------------------------------------------------------------------------
Schaltplan Nodemcu MAX6675 OLED 0,96Zoll
PIN OUT Nodemcu
Screenshot Blynk App
Screenshot Blynk App
OLED Anzeige
Code für Arduino Nodemcu ESP8266 als zip File ....
Um den Code direkt in Ardurino zu öffnen bitte nach dem Entpacken die Endung .txt von "eBBQ_Therm_mit_OLED.ino) entfernen.
BBQ_Therm_mit_OLED.ino.txt.zip
Hier der Code für Aduino -> Nodemcu ESP8266
Ich habe mir einen El Fuego Portland zugelegt und habe bisher immer mein Maverick zum Smoken genutzt. Da ich noch einen Nodemcu als Ersatz für meine Sprenklersteuerung herumliegen hatte, dachte ich mir baue doch mal ein WiFi BBQ Thermometer.
Also habe ich noch ein OLED Display und zwei Max6675 geordert und los ging es.
Was braucht man ?
1 x NodeMCU Lolin mit ESP8266 12E oder NodeMCU Amica (5 Euro hier in DE)
2 x MAX6675 (mit Sensoren Typ K 9,98 Euro für 2 Stück hier in DE)
1 X OLED 0,96 Zoll (könnte man auch weglassen, 4,99 Euro hier in DE)
1 x 5Volt Versorgungsspannung in Form von zBspl. vorhandener Powerbank, Smartphone Netzteil ....
Natürlich wird es beim freundlichen ChinaMann preisgünstiger
Als erstes installiert man erstmal Arduino incl. Bibliotheken auf seinem PC, sofern man das nicht hat.
Als nächstes installiert man die APP Blynk auf dem Smartphone.
Dort erstellt man ein neues Projekt und bekommt dann einen Authentic Token an seine hinterlegte e-mail gesendet.
Da ich nicht über die Blynk Cloud kommunzieren möchte habe ich Blynk Server auf meinem Raspberry laufen.
Zum Programmieren des Nodemcu benötigt man auf seinem PC Arduino.
Mag jetzt alles kompliziert klingen ist aber kein Hexenwerk und es gibt viele Videos zum Thema.
Wie alles "verkabelt" wird seht ihr im "Anhang,Upload"
Was kann man mit dem BBQ Thermometer anstellen ?
Man kann bis zu 4 Thermosensoren Typ K anschließen. Ausgabe für die Hitze im Smoker und eine Kerntemperatur erfolgt am OLED Display. Vollständige Anzeige aller Daten macht man über die Blynk App!
- bis zu 4 Thermometer anzeigen
- min und max Temperatur für die Hitze im Smoker einstellen
- bis zu 3 x die Kerntemperatur anzeigen lassen
- bei erreichen oder unterschreiten der Temperatur im Smoker eine Push Nachricht (sowie Sound) & oder e-mail senden (Eventor in der Blynk App)
- bei erreichen der Kerntemperatur(en) eine Push Nachricht & oder e-mail senden (Eventor in der Blynk App)
- anzeigen von graphischen Verlaufskurven in der Blynk App
- jetzt könnte das ganze noch erweitert werden -> Servormotor zur Klappensteuerung am Smoker,Piezo Beeper direkt am Nodemcu, Servomotor zur automatischen Gasregelung und und und .....
Die Sensoren sind jetzt nix besonderes (einen oder auch zwei kann man fest im Smoker installieren (Loch bohren, festschrauben, man kann ja auch zwei oder drei Hitze Sensoren im Smoker benutzen)
Für das Messen der Kerntemperatur sollte man sich einen anderen (besser geeigneten) zulegen.
Im Code für den NodeMCU ESP8266 müsst ihr folgendes anpassen :
SSID für euer WLAN
Passwort für euer WLAN
Server Adresse für euren Raspberry oder halt die Blynk Cloud
und ganz wichtig der auth Token vom Blynk
So das waren auf die schnelle mal ein paar Anregungen meinerseits
Ich bin mir im klaren das es hier auch sehr schöne andere (teurere) Projete gibt
Meinem "BBQ Thermometer" muß jetzt nur noch ein Gehäuse bekommen.
Kleiner Hinweis für die die es evt. Nachbauen wollen ... die max6675.cpp im Windows Ordner ->
Arduino/libraries/MAX6675-library-master muß editiert werden sonst gibt es eine Fehlermeldung beim kompilieren.
siehe dazu -> https://www.az-delivery.de/blogs/az...erry-pi/esp8266-mit-max6675?ls=de&cache=false
oder hier im Beispiel :
---------------------------------------------------------------------------------
max6675.cpp
// this library is public domain. enjoy!
// www.ladyada.net/learn/sensors/thermocouple
#define _delay_ms(ms) delayMicroseconds((ms) * 2000)
//#include <avr/pgmspace.h>
//#include <util/delay.h>
#include <stdlib.h>
#include "max6675.h"
---------------------------------------------------------------------------------
Schaltplan Nodemcu MAX6675 OLED 0,96Zoll
PIN OUT Nodemcu
Screenshot Blynk App
Screenshot Blynk App
OLED Anzeige
Code für Arduino Nodemcu ESP8266 als zip File ....
Um den Code direkt in Ardurino zu öffnen bitte nach dem Entpacken die Endung .txt von "eBBQ_Therm_mit_OLED.ino) entfernen.
BBQ_Therm_mit_OLED.ino.txt.zip
Hier der Code für Aduino -> Nodemcu ESP8266
Code:
#define BLYNK_PRINT Serial
#include <max6675.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <ESP_Adafruit_SSD1306.h>
#define OLED_RESET 4
int ktcSO = 12;
int ktcCS = 13;
int ktcCLK = 14;
int foodCSO = 15;
int foodCSM = 02;
int foodCSU = 16;
MAX6675 ktc(ktcCLK, ktcCS, ktcSO);
MAX6675 foodO(ktcCLK, foodCSO, ktcSO);
MAX6675 foodM(ktcCLK, foodCSM, ktcSO);
MAX6675 foodU(ktcCLK, foodCSU, ktcSO);
Adafruit_SSD1306 display(OLED_RESET);
// You should get Auth Token in the Blynk App.
char auth[] = "5xxxxxxxxxxxxxxxxxxxxxxd8563";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "deine SSID WLAN";
char pass[] = "dein Passwort";
char server[] = "deine Server IP oder Blynk Cloud";
BlynkTimer timer;
// This function sends Arduino's up time every second to Virtual Pin (5).
// In the app, Widget's reading frequency should be set to PUSH. This means
// that you define how often to send data to Blynk App.
void readSensorTimerEvent()
{
float t = ktc.readCelsius();
float mtO = foodO.readCelsius();
float mtM = foodM.readCelsius();
float mtU = foodU.readCelsius();
Blynk.virtualWrite(V5, t);
Blynk.virtualWrite(V6, mtO);
Blynk.virtualWrite(V7, mtM);
Blynk.virtualWrite(V8, mtU);
}
void setup()
{
// Debug console
Serial.begin(9600);
//delay(500);
display.begin(SSD1306_SWITCHCAPVCC, 0x78>>1);
display.display();
delay(2000);
display.clearDisplay();
// You can also specify server:
//Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80);
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);
Blynk.begin(auth, ssid, pass, server, 8080);
timer.setInterval(1000L, readSensorTimerEvent);
}
void displayData(){
display.setTextSize(1);
display.setCursor(5,1);
display.println("Heat Temp");
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(18,14);
display.print((char)248);
display.print("C:");
display.print(ktc.readCelsius());
display.setTextSize(1);
display.setCursor(5,36);
display.println("Core Temp");
display.setTextSize(2);
display.setCursor(18,50);
display.print((char)248);
display.print("C:");
display.println(foodO.readCelsius());
display.display();
display.clearDisplay();
}
void loop()
{
Serial.print("\ BBQ C = ");
Serial.print(ktc.readCelsius());
Serial.print("\ Heat C = ");
Serial.print(foodO.readCelsius());
Serial.print("\ Heat C = ");
Serial.print(foodM.readCelsius());
Serial.print("\ Heat C = ");
Serial.println(foodU.readCelsius());
delay(1000);
displayData();
Blynk.run();
timer.run(); // Initiates BlynkTimer
}
Anhänge
-
Nodemcu_max6675_oled_Schaltplan.jpg209,5 KB · Aufrufe: 9.030
-
nodemcu_pins.gif83,9 KB · Aufrufe: 6.388
-
Screenshot_20181011-013518.png126 KB · Aufrufe: 6.304
-
Screenshot_20181011-001406.png107,8 KB · Aufrufe: 5.657
-
Temp_OLED-0.96-Zoll.jpg27,4 KB · Aufrufe: 6.098
-
BBQ_Therm_mit_OLED.ino.txt.zip1,2 KB · Aufrufe: 750