Merge branch 'master' of https://gitea.ctdo.de/interfisch/sensoresp
This commit is contained in:
commit
2353fea4f6
|
@ -17,13 +17,13 @@
|
||||||
#data_dir=data_sensoresp2
|
#data_dir=data_sensoresp2
|
||||||
#data_dir=data_sensoresp3
|
#data_dir=data_sensoresp3
|
||||||
#data_dir=data_sensoresp4
|
#data_dir=data_sensoresp4
|
||||||
data_dir=data_sensoresp5
|
#data_dir=data_sensoresp5
|
||||||
#data_dir=data_sensoresp3dprinter
|
#data_dir=data_sensoresp3dprinter
|
||||||
|
|
||||||
|
|
||||||
#Outdoor
|
#Outdoor
|
||||||
[env:sensoresp0]
|
[env:sensoresp0]
|
||||||
platform = espressif8266
|
platform = espressif8266 @ 2.5.0 #using old esp version, because of "obsolete API, use ::begin(WiFiClient, url)" error. Try again if fix available in platformio over vscode
|
||||||
board = d1_mini
|
board = d1_mini
|
||||||
framework = arduino
|
framework = arduino
|
||||||
|
|
||||||
|
@ -72,7 +72,7 @@ lib_deps =
|
||||||
|
|
||||||
#Arbeitszimmer
|
#Arbeitszimmer
|
||||||
[env:sensoresp1]
|
[env:sensoresp1]
|
||||||
platform = espressif8266
|
platform = espressif8266 @ 2.5.0
|
||||||
board = d1_mini
|
board = d1_mini
|
||||||
framework = arduino
|
framework = arduino
|
||||||
|
|
||||||
|
@ -115,7 +115,7 @@ lib_deps =
|
||||||
|
|
||||||
#Wohnzimmer Air Quality
|
#Wohnzimmer Air Quality
|
||||||
[env:sensoresp2]
|
[env:sensoresp2]
|
||||||
platform = espressif8266
|
platform = espressif8266 @ 2.5.0
|
||||||
board = d1_mini
|
board = d1_mini
|
||||||
framework = arduino
|
framework = arduino
|
||||||
|
|
||||||
|
@ -144,7 +144,7 @@ lib_deps =
|
||||||
|
|
||||||
#Wohnzimmer
|
#Wohnzimmer
|
||||||
[env:sensoresp3]
|
[env:sensoresp3]
|
||||||
platform = espressif8266
|
platform = espressif8266 @ 2.5.0
|
||||||
board = d1_mini
|
board = d1_mini
|
||||||
framework = arduino
|
framework = arduino
|
||||||
|
|
||||||
|
@ -175,7 +175,7 @@ lib_deps =
|
||||||
|
|
||||||
#Schlafzimmer
|
#Schlafzimmer
|
||||||
[env:sensoresp4]
|
[env:sensoresp4]
|
||||||
platform = espressif8266
|
platform = espressif8266 @ 2.5.0
|
||||||
board = d1_mini
|
board = d1_mini
|
||||||
framework = arduino
|
framework = arduino
|
||||||
|
|
||||||
|
@ -214,11 +214,12 @@ lib_deps =
|
||||||
|
|
||||||
#Kueche
|
#Kueche
|
||||||
[env:sensoresp5]
|
[env:sensoresp5]
|
||||||
platform = espressif8266
|
platform = espressif8266 @ 2.5.0
|
||||||
board = d1_mini
|
board = d1_mini
|
||||||
framework = arduino
|
framework = arduino
|
||||||
|
|
||||||
monitor_port = /dev/ttyUSB0
|
#monitor_port = /dev/ttyUSB0
|
||||||
|
monitor_port = COM3
|
||||||
monitor_speed = 115200
|
monitor_speed = 115200
|
||||||
|
|
||||||
build_flags =
|
build_flags =
|
||||||
|
@ -242,22 +243,24 @@ build_flags =
|
||||||
-D dataBH1750_senddelaymax=1000*60*2
|
-D dataBH1750_senddelaymax=1000*60*2
|
||||||
|
|
||||||
-D SENSOR_VL53L1X
|
-D SENSOR_VL53L1X
|
||||||
-D dataBH1750_minchange=10.0
|
-D dataVL53L1X_minchange=100
|
||||||
-D dataBH1750_senddelaymax=1000*60*2
|
-D dataVL53L1X_senddelaymax=1000*30
|
||||||
|
-D dataVL53L1X_readdelay=1000
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
lib_deps =
|
lib_deps =
|
||||||
adafruit/DHT sensor library@1.3.10
|
adafruit/DHT sensor library@1.3.10
|
||||||
claws/BH1750@1.1.4
|
claws/BH1750@1.1.4
|
||||||
ArduinoJson@6.16.1 #dependency of homie. using older version because of "ambiguous overload for operator|" error
|
ArduinoJson@6.16.1
|
||||||
Homie@3.0.0
|
marvinroger/Homie @ ^3.0.1
|
||||||
pololu/VL53L1X @ ^1.3.0
|
pololu/VL53L1X @ ^1.3.0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#3D Printer
|
#3D Printer
|
||||||
[env:sensoresp3dprinter]
|
[env:sensoresp3dprinter]
|
||||||
platform = espressif8266
|
platform = espressif8266 @ 2.5.0
|
||||||
board = d1_mini
|
board = d1_mini
|
||||||
framework = arduino
|
framework = arduino
|
||||||
|
|
||||||
|
|
48
src/main.cpp
48
src/main.cpp
|
@ -241,12 +241,12 @@
|
||||||
#include <VL53L1X.h>
|
#include <VL53L1X.h>
|
||||||
VL53L1X vl53l1x;
|
VL53L1X vl53l1x;
|
||||||
bool vl53l1xinit_ok=false;
|
bool vl53l1xinit_ok=false;
|
||||||
struct sensordata dataVL53L1X_range;
|
struct sensordata dataVL53L1X;
|
||||||
struct sensordata dataVL53L1X_peak_signal_count_rate;
|
|
||||||
struct sensordata dataVL53L1X_ambient_count_rate;
|
|
||||||
|
|
||||||
uint16_t value_vl53l1x_range;
|
uint16_t value_vl53l1x_range;
|
||||||
|
|
||||||
unsigned long lastread_vl53l1x=0;
|
unsigned long lastread_vl53l1x=0;
|
||||||
|
VL53L1X::RangeStatus lastsentvalue_vl53l1x_status;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef SENSOR_ANEMOMETER
|
#ifdef SENSOR_ANEMOMETER
|
||||||
|
@ -487,10 +487,16 @@ void setup() {
|
||||||
vl53l1xinit_ok=true;
|
vl53l1xinit_ok=true;
|
||||||
vl53l1x.setDistanceMode(VL53L1X::Long);
|
vl53l1x.setDistanceMode(VL53L1X::Long);
|
||||||
vl53l1x.setMeasurementTimingBudget(50000);
|
vl53l1x.setMeasurementTimingBudget(50000);
|
||||||
vl53l1x.startContinuous(50); //This period should be at least as long as the timing budget.
|
vl53l1x.startContinuous(1000); //This period should be at least as long as the timing budget.
|
||||||
}
|
}
|
||||||
#ifdef dataVL53L1X_range_minchange
|
#ifdef dataVL53L1X_minchange
|
||||||
dataVL53L1X_range.minchange=dataVL53L1X_range_minchange;
|
dataVL53L1X.minchange=dataVL53L1X_minchange;
|
||||||
|
#endif
|
||||||
|
#ifdef dataVL53L1X_senddelaymax
|
||||||
|
dataVL53L1X.senddelaymax=dataVL53L1X_senddelaymax;
|
||||||
|
#endif
|
||||||
|
#ifdef dataVL53L1X_readdelay
|
||||||
|
dataVL53L1X.readdelay=dataVL53L1X_readdelay;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -602,7 +608,10 @@ void setup() {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef SENSOR_VL53L1X
|
#ifdef SENSOR_VL53L1X
|
||||||
sensorNode.advertise("range");
|
sensorNode.advertise("tofstatus");
|
||||||
|
sensorNode.advertise("tofrange");
|
||||||
|
sensorNode.advertise("tofpeaksignal");
|
||||||
|
sensorNode.advertise("tofambient");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef SENSOR_ANEMOMETER
|
#ifdef SENSOR_ANEMOMETER
|
||||||
|
@ -1129,9 +1138,9 @@ void loop_TCS34725_colortemp()
|
||||||
|
|
||||||
|
|
||||||
#ifdef SENSOR_VL53L1X
|
#ifdef SENSOR_VL53L1X
|
||||||
void loop_VL53L1X_range()
|
void loop_VL53L1X()
|
||||||
{
|
{
|
||||||
sensordata &d=dataVL53L1X_range;
|
sensordata &d=dataVL53L1X;
|
||||||
|
|
||||||
bool _changed=false;
|
bool _changed=false;
|
||||||
if (millis() >= (d.lastreadtime+d.readdelay)) {
|
if (millis() >= (d.lastreadtime+d.readdelay)) {
|
||||||
|
@ -1142,18 +1151,27 @@ void loop_VL53L1X_range()
|
||||||
}
|
}
|
||||||
|
|
||||||
value_vl53l1x_range=vl53l1x.ranging_data.range_mm;
|
value_vl53l1x_range=vl53l1x.ranging_data.range_mm;
|
||||||
|
|
||||||
|
/* for debugging
|
||||||
Serial.print("range: ");
|
Serial.print("range: ");
|
||||||
Serial.print(vl53l1x.ranging_data.range_mm);
|
Serial.print(vl53l1x.ranging_data.range_mm);
|
||||||
Serial.print("\tstatus: ");
|
Serial.print("\tstatus: ");
|
||||||
Serial.print(VL53L1X::rangeStatusToString(vl53l1x.ranging_data.range_status));
|
Serial.print(VL53L1X::rangeStatusToString(vl53l1x.ranging_data.range_status));
|
||||||
|
Serial.print("\tstatus=");
|
||||||
|
Serial.print(vl53l1x.ranging_data.range_status);
|
||||||
Serial.print("\tpeak signal: ");
|
Serial.print("\tpeak signal: ");
|
||||||
Serial.print(vl53l1x.ranging_data.peak_signal_count_rate_MCPS);
|
Serial.print(vl53l1x.ranging_data.peak_signal_count_rate_MCPS);
|
||||||
Serial.print("\tambient: ");
|
Serial.print("\tambient: ");
|
||||||
Serial.print(vl53l1x.ranging_data.ambient_count_rate_MCPS);
|
Serial.print(vl53l1x.ranging_data.ambient_count_rate_MCPS);
|
||||||
|
Serial.println();
|
||||||
|
*/
|
||||||
|
|
||||||
if (abs((int)d.lastsentvalue-value_vl53l1x_range)>=d.minchange){ //int abs
|
if (abs((int)d.lastsentvalue-value_vl53l1x_range)>=d.minchange){ //int abs
|
||||||
_changed=true;
|
_changed=true;
|
||||||
}
|
}
|
||||||
|
if (lastsentvalue_vl53l1x_status!=vl53l1x.ranging_data.range_status) { //sensor status changed
|
||||||
|
_changed=true;
|
||||||
|
}
|
||||||
d.lastreadtime=millis();
|
d.lastreadtime=millis();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1164,10 +1182,14 @@ void loop_VL53L1X_range()
|
||||||
|
|
||||||
Homie.getLogger() << "range vl53l1x " << ": " << value_vl53l1x_range << endl;
|
Homie.getLogger() << "range vl53l1x " << ": " << value_vl53l1x_range << endl;
|
||||||
|
|
||||||
sensorNode.setProperty("range").send(String(value_vl53l1x_range));
|
|
||||||
|
|
||||||
|
sensorNode.setProperty("tofstatus").send(VL53L1X::rangeStatusToString(vl53l1x.ranging_data.range_status));
|
||||||
|
sensorNode.setProperty("tofrange").send(String(value_vl53l1x_range));
|
||||||
|
sensorNode.setProperty("tofpeaksignal").send(String(vl53l1x.ranging_data.peak_signal_count_rate_MCPS));
|
||||||
|
sensorNode.setProperty("tofambient").send(String(vl53l1x.ranging_data.ambient_count_rate_MCPS));
|
||||||
|
|
||||||
d.lastsentvalue=value_vl53l1x_range;
|
d.lastsentvalue=value_vl53l1x_range;
|
||||||
|
lastsentvalue_vl53l1x_status=vl53l1x.ranging_data.range_status;
|
||||||
|
|
||||||
d.lastsent=millis();
|
d.lastsent=millis();
|
||||||
}
|
}
|
||||||
|
@ -1323,6 +1345,12 @@ void loopHandler() {
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef SENSOR_VL53L1X
|
||||||
|
if (vl53l1xinit_ok) {
|
||||||
|
loop_VL53L1X();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef SENSOR_ANEMOMETER
|
#ifdef SENSOR_ANEMOMETER
|
||||||
loop_anemometer();
|
loop_anemometer();
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue