mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-30 11:59:12 +03:00
177 lines
5.0 KiB
JSON
177 lines
5.0 KiB
JSON
|
|
{
|
|||
|
|
"mark": "iotm",
|
|||
|
|
"config": [
|
|||
|
|
{
|
|||
|
|
"global": 0,
|
|||
|
|
"type": "Reading",
|
|||
|
|
"subtype": "MQgas",
|
|||
|
|
"id": "MQ135",
|
|||
|
|
"widget": "anydataPpm",
|
|||
|
|
"page": "Сенсоры",
|
|||
|
|
"descr": "MQ-135",
|
|||
|
|
"Series": 135,
|
|||
|
|
"Gas": "CO2",
|
|||
|
|
"Rl on board": "10",
|
|||
|
|
"Ro in clean air": 0,
|
|||
|
|
"Rl/Ro in clean air": "0",
|
|||
|
|
"PPM in clean air": "397.13",
|
|||
|
|
"aLimit": "-0.42",
|
|||
|
|
"bLimit": "1.92",
|
|||
|
|
"Warm up time": "60",
|
|||
|
|
"Sample interval": 20,
|
|||
|
|
"Sample times": "10",
|
|||
|
|
"Calibtation intensity": 5,
|
|||
|
|
"autoCalibration": 1,
|
|||
|
|
"autoCalib.Period": 1,
|
|||
|
|
"TempHum correction": 1,
|
|||
|
|
"k1": 0.00672096284322792,
|
|||
|
|
"k2": -0.0159038179354688,
|
|||
|
|
"b1": -0.741244323718154,
|
|||
|
|
"b2": 1.77535862501753,
|
|||
|
|
"temperature": "20",
|
|||
|
|
"idTempSensor": "Tmp",
|
|||
|
|
"humidity": "50",
|
|||
|
|
"idHumSensor": "Hum",
|
|||
|
|
"Debug": 1,
|
|||
|
|
"plus": 0,
|
|||
|
|
"multiply": 1,
|
|||
|
|
"round": 1,
|
|||
|
|
"pin-Esp32": 34,
|
|||
|
|
"operating voltage": 3.3,
|
|||
|
|
"int": 15
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"global": 0,
|
|||
|
|
"type": "Writing",
|
|||
|
|
"subtype": "Loging",
|
|||
|
|
"id": "log",
|
|||
|
|
"widget": "chart1",
|
|||
|
|
"page": "Графики",
|
|||
|
|
"descr": "CO2",
|
|||
|
|
"int": "1",
|
|||
|
|
"logid": "MQ135",
|
|||
|
|
"points": 300
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"global": 0,
|
|||
|
|
"type": "Reading",
|
|||
|
|
"subtype": "VButton",
|
|||
|
|
"id": "vbtn",
|
|||
|
|
"needSave": 0,
|
|||
|
|
"widget": "toggle",
|
|||
|
|
"page": "Калибровка",
|
|||
|
|
"descr": "Быстрая Калибровка",
|
|||
|
|
"int": "0",
|
|||
|
|
"val": "0"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"global": 0,
|
|||
|
|
"type": "Reading",
|
|||
|
|
"subtype": "Bme280t",
|
|||
|
|
"id": "Tmp",
|
|||
|
|
"widget": "anydataTmp",
|
|||
|
|
"page": "Сенсоры",
|
|||
|
|
"descr": "Температура",
|
|||
|
|
"int": 15,
|
|||
|
|
"addr": "0x76",
|
|||
|
|
"round": 1
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"global": 0,
|
|||
|
|
"type": "Reading",
|
|||
|
|
"subtype": "Bme280h",
|
|||
|
|
"id": "Hum",
|
|||
|
|
"widget": "anydataHum",
|
|||
|
|
"page": "Сенсоры",
|
|||
|
|
"descr": "Влажность",
|
|||
|
|
"int": 15,
|
|||
|
|
"addr": "0x76",
|
|||
|
|
"round": 1
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"global": 0,
|
|||
|
|
"type": "Writing",
|
|||
|
|
"subtype": "Timer",
|
|||
|
|
"id": "timer0",
|
|||
|
|
"widget": "nil",
|
|||
|
|
"page": "",
|
|||
|
|
"descr": "Таймер",
|
|||
|
|
"int": "1",
|
|||
|
|
"countDown": 15,
|
|||
|
|
"ticker": "0",
|
|||
|
|
"repeat": "1",
|
|||
|
|
"needSave": 0
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"global": 0,
|
|||
|
|
"type": "Reading",
|
|||
|
|
"subtype": "Variable",
|
|||
|
|
"id": "vout",
|
|||
|
|
"needSave": 0,
|
|||
|
|
"widget": "anydataDef",
|
|||
|
|
"page": "Калибровка",
|
|||
|
|
"descr": "Последняя калибровка",
|
|||
|
|
"int": "0",
|
|||
|
|
"val": "0.0",
|
|||
|
|
"map": "1024,1024,1,100",
|
|||
|
|
"plus": 0,
|
|||
|
|
"multiply": 1,
|
|||
|
|
"round": 0
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"global": 0,
|
|||
|
|
"type": "Reading",
|
|||
|
|
"subtype": "VButton",
|
|||
|
|
"id": "vbtn13",
|
|||
|
|
"needSave": 0,
|
|||
|
|
"widget": "toggle",
|
|||
|
|
"page": "Калибровка",
|
|||
|
|
"descr": "Автокалибровка выкл/вкл",
|
|||
|
|
"int": "0",
|
|||
|
|
"val": "1"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"global": 0,
|
|||
|
|
"type": "Reading",
|
|||
|
|
"subtype": "VButton",
|
|||
|
|
"id": "vbtn50",
|
|||
|
|
"needSave": 0,
|
|||
|
|
"widget": "toggle",
|
|||
|
|
"page": "Калибровка",
|
|||
|
|
"descr": "Накопительная Калибровка",
|
|||
|
|
"int": "0",
|
|||
|
|
"val": "0"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
scenario=>#запускаем разово калибровку без параметрова или с ними
|
|||
|
|
if vbtn then {
|
|||
|
|
MQ135.calibrate();
|
|||
|
|
#MQ135.calibrateR0(42);
|
|||
|
|
#MQ135.calibrateRlRo(0.60);
|
|||
|
|
#MQ135.calibratePPM(400);
|
|||
|
|
#MQ135.TempHumCorrection(20,55);
|
|||
|
|
#MQ135.TempHumCorrection(Tmp,Hum);
|
|||
|
|
vbtn = 0;}
|
|||
|
|
|
|||
|
|
#обновляем время последней калибровки
|
|||
|
|
if MQ135 then {
|
|||
|
|
vout = MQ135.lastCalibration();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
#влючаем/выключаем автокалибровку
|
|||
|
|
if vbtn13 == 1 then MQ135.setAutoCalibration(1)
|
|||
|
|
if vbtn13 == 0 then MQ135.setAutoCalibration(0)
|
|||
|
|
|
|||
|
|
|
|||
|
|
#принудительно запускаем автокалибровку
|
|||
|
|
if vbtn50 then {
|
|||
|
|
MQ135.runAutoCalibration();
|
|||
|
|
vbtn50 = 0;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#можно по таймеру передавать температуру и влажность в модуль. Но проще сразу вписать id этих элементов в настройки MQ
|
|||
|
|
#if timer0 == 0 then MQ135.TempHumCorrection(Tmp,Hum);
|