55 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #include <Arduino.h>
 | |
| #include "wled.h"
 | |
| //Intiating code for QuinLED Dig-Uno temp sensor
 | |
| //Uncomment Celsius if that is your prefered temperature scale
 | |
| #include <DallasTemperature.h> //Dallastemperature sensor
 | |
| #ifdef ARDUINO_ARCH_ESP32 //ESP32 boards
 | |
| OneWire oneWire(18);
 | |
| #else //ESP8266 boards
 | |
| OneWire oneWire(14);
 | |
| #endif
 | |
| DallasTemperature sensor(&oneWire);
 | |
| long temptimer = millis();
 | |
| long lastMeasure = 0;
 | |
| #define Celsius // Show temperature mesaurement in Celcius otherwise is in Fahrenheit
 | |
| void userSetup()
 | |
| {
 | |
| // Start the DS18B20 sensor
 | |
|   sensor.begin();
 | |
| }
 | |
|     
 | |
| //gets called every time WiFi is (re-)connected. Initialize own network interfaces here
 | |
| void userConnected()
 | |
| {
 | |
| 
 | |
| }
 | |
| 
 | |
| void userLoop()
 | |
| {
 | |
|   temptimer = millis();
 | |
|   
 | |
| // Timer to publishe new temperature every 60 seconds
 | |
|   if (temptimer - lastMeasure > 60000) {
 | |
|     lastMeasure = temptimer;
 | |
|     
 | |
| //Check if MQTT Connected, otherwise it will crash the 8266
 | |
|     if (mqtt != nullptr){
 | |
|       sensor.requestTemperatures();
 | |
| 
 | |
| //Gets prefered temperature scale based on selection in definitions section
 | |
|       #ifdef Celsius
 | |
|       float board_temperature = sensor.getTempCByIndex(0);
 | |
|       #else
 | |
|       float board_temperature = sensors.getTempFByIndex(0);
 | |
|       #endif
 | |
| 
 | |
| //Create character string populated with user defined device topic from the UI, and the read temperature. Then publish to MQTT server.
 | |
|       char subuf[38];
 | |
|       strcpy(subuf, mqttDeviceTopic);
 | |
|       strcat(subuf, "/temperature");
 | |
|       mqtt->publish(subuf, 0, true, String(board_temperature).c_str());
 | |
|     return;}
 | |
|   return;}
 | |
| return;
 | |
| }
 | 
