mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-26 14:12:16 +03:00
working version with optimization
This commit is contained in:
7
.vscode/extensions.json
vendored
Normal file
7
.vscode/extensions.json
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
// See http://go.microsoft.com/fwlink/?LinkId=827846
|
||||||
|
// for the documentation about the extensions.json format
|
||||||
|
"recommendations": [
|
||||||
|
"platformio.platformio-ide"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -51,4 +51,4 @@ class ButtonInClass : public LineParsing {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
extern ButtonInClass* myButtonIn;
|
extern ButtonInClass myButtonIn;
|
||||||
@@ -39,4 +39,4 @@ class ButtonOutClass : public LineParsing {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
extern ButtonOutClass* myButtonOut;
|
extern ButtonOutClass myButtonOut;
|
||||||
@@ -28,4 +28,4 @@ class InputClass : public LineParsing {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
extern InputClass* myInput;
|
extern InputClass myInput;
|
||||||
@@ -20,4 +20,4 @@ class OutputTextClass : public LineParsing {
|
|||||||
MqttClient::publishStatus(key, state);
|
MqttClient::publishStatus(key, state);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
extern OutputTextClass* myOutputText;
|
extern OutputTextClass myOutputText;
|
||||||
@@ -28,4 +28,4 @@ class PwmOutClass : public LineParsing {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
extern PwmOutClass* myPwmOut;
|
extern PwmOutClass myPwmOut;
|
||||||
@@ -29,4 +29,4 @@ class SensorAnalogClass : public SensorConvertingClass {
|
|||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
extern SensorAnalogClass* mySensorAnalog;
|
extern SensorAnalogClass mySensorAnalog;
|
||||||
@@ -31,4 +31,4 @@ class SensorUltrasonic : public SensorConvertingClass {
|
|||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
extern SensorUltrasonic* mySensorUltrasonic;
|
extern SensorUltrasonic mySensorUltrasonic;
|
||||||
@@ -3,20 +3,19 @@
|
|||||||
//==========================================Модуль физических кнопок========================================
|
//==========================================Модуль физических кнопок========================================
|
||||||
//button-in switch1 toggle Кнопки Свет 1 pin[2] db[20]
|
//button-in switch1 toggle Кнопки Свет 1 pin[2] db[20]
|
||||||
//==========================================================================================================
|
//==========================================================================================================
|
||||||
ButtonInClass* myButtonIn;
|
ButtonInClass myButtonIn;
|
||||||
void buttonIn() {
|
void buttonIn() {
|
||||||
myButtonIn = new ButtonInClass();
|
myButtonIn.update();
|
||||||
myButtonIn->update();
|
String key = myButtonIn.gkey();
|
||||||
String key = myButtonIn->gkey();
|
String pin = myButtonIn.gpin();
|
||||||
String pin = myButtonIn->gpin();
|
|
||||||
sCmd.addCommand(key.c_str(), buttonInSet);
|
sCmd.addCommand(key.c_str(), buttonInSet);
|
||||||
myButtonIn->init();
|
myButtonIn.init();
|
||||||
myButtonIn->switchStateSetDefault();
|
myButtonIn.switchStateSetDefault();
|
||||||
myButtonIn->clear();
|
myButtonIn.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void buttonInSet() {
|
void buttonInSet() {
|
||||||
String key = sCmd.order();
|
String key = sCmd.order();
|
||||||
String state = sCmd.next();
|
String state = sCmd.next();
|
||||||
myButtonIn->switchChangeVirtual(key, state);
|
myButtonIn.switchChangeVirtual(key, state);
|
||||||
}
|
}
|
||||||
@@ -3,20 +3,19 @@
|
|||||||
//==========================================Модуль кнопок===================================================
|
//==========================================Модуль кнопок===================================================
|
||||||
//button-out light toggle Кнопки Свет 1 pin[12] inv[1] st[1]
|
//button-out light toggle Кнопки Свет 1 pin[12] inv[1] st[1]
|
||||||
//==========================================================================================================
|
//==========================================================================================================
|
||||||
ButtonOutClass* myButtonOut;
|
ButtonOutClass myButtonOut;
|
||||||
void buttonOut() {
|
void buttonOut() {
|
||||||
myButtonOut = new ButtonOutClass();
|
myButtonOut.update();
|
||||||
myButtonOut->update();
|
String key = myButtonOut.gkey();
|
||||||
String key = myButtonOut->gkey();
|
String pin = myButtonOut.gpin();
|
||||||
String pin = myButtonOut->gpin();
|
String inv = myButtonOut.ginv();
|
||||||
String inv = myButtonOut->ginv();
|
|
||||||
sCmd.addCommand(key.c_str(), buttonOutSet);
|
sCmd.addCommand(key.c_str(), buttonOutSet);
|
||||||
jsonWriteStr(configOptionJson, key + "_pin", pin);
|
jsonWriteStr(configOptionJson, key + "_pin", pin);
|
||||||
jsonWriteStr(configOptionJson, key + "_inv", inv);
|
jsonWriteStr(configOptionJson, key + "_inv", inv);
|
||||||
myButtonOut->pinModeSet();
|
myButtonOut.pinModeSet();
|
||||||
myButtonOut->pinStateSetDefault();
|
myButtonOut.pinStateSetDefault();
|
||||||
myButtonOut->pinStateSetInvDefault();
|
myButtonOut.pinStateSetInvDefault();
|
||||||
myButtonOut->clear();
|
myButtonOut.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void buttonOutSet() {
|
void buttonOutSet() {
|
||||||
@@ -25,8 +24,8 @@ void buttonOutSet() {
|
|||||||
String pin = jsonReadStr(configOptionJson, key + "_pin");
|
String pin = jsonReadStr(configOptionJson, key + "_pin");
|
||||||
String inv = jsonReadStr(configOptionJson, key + "_inv");
|
String inv = jsonReadStr(configOptionJson, key + "_inv");
|
||||||
if (inv == "") {
|
if (inv == "") {
|
||||||
myButtonOut->pinChange(key, pin, state, true);
|
myButtonOut.pinChange(key, pin, state, true);
|
||||||
} else {
|
} else {
|
||||||
myButtonOut->pinChange(key, pin, state, false);
|
myButtonOut.pinChange(key, pin, state, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,18 +3,17 @@
|
|||||||
//==========================================Модуль ввода цифровых значений==================================
|
//==========================================Модуль ввода цифровых значений==================================
|
||||||
//input-digit digit1 inputDigit Ввод Введите.цифру 4 st[60]
|
//input-digit digit1 inputDigit Ввод Введите.цифру 4 st[60]
|
||||||
//==========================================================================================================
|
//==========================================================================================================
|
||||||
InputClass* myInputDigit;
|
InputClass myInputDigit;
|
||||||
void inputDigit() {
|
void inputDigit() {
|
||||||
myInputDigit = new InputClass();
|
myInputDigit.update();
|
||||||
myInputDigit->update();
|
String key = myInputDigit.gkey();
|
||||||
String key = myInputDigit->gkey();
|
|
||||||
sCmd.addCommand(key.c_str(), inputDigitSet);
|
sCmd.addCommand(key.c_str(), inputDigitSet);
|
||||||
myInputDigit->inputSetDefaultFloat();
|
myInputDigit.inputSetDefaultFloat();
|
||||||
myInputDigit->clear();
|
myInputDigit.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void inputDigitSet() {
|
void inputDigitSet() {
|
||||||
String key = sCmd.order();
|
String key = sCmd.order();
|
||||||
String state = sCmd.next();
|
String state = sCmd.next();
|
||||||
myInputDigit->inputSetFloat(key, state);
|
myInputDigit.inputSetFloat(key, state);
|
||||||
}
|
}
|
||||||
@@ -3,20 +3,19 @@
|
|||||||
//==========================================Модуль ввода времени============================================
|
//==========================================Модуль ввода времени============================================
|
||||||
//input-time time1 inputTime Ввод Введите.время 4 st[10-00-00]
|
//input-time time1 inputTime Ввод Введите.время 4 st[10-00-00]
|
||||||
//==========================================================================================================
|
//==========================================================================================================
|
||||||
InputClass* myInputTime;
|
InputClass myInputTime;
|
||||||
void inputTime() {
|
void inputTime() {
|
||||||
myInputTime = new InputClass();
|
myInputTime.update();
|
||||||
myInputTime->update();
|
String key = myInputTime.gkey();
|
||||||
String key = myInputTime->gkey();
|
|
||||||
sCmd.addCommand(key.c_str(), inputTimeSet);
|
sCmd.addCommand(key.c_str(), inputTimeSet);
|
||||||
myInputTime->inputSetDefaultStr();
|
myInputTime.inputSetDefaultStr();
|
||||||
myInputTime->clear();
|
myInputTime.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void inputTimeSet() {
|
void inputTimeSet() {
|
||||||
String key = sCmd.order();
|
String key = sCmd.order();
|
||||||
String state = sCmd.next();
|
String state = sCmd.next();
|
||||||
myInputTime->inputSetStr(key, state);
|
myInputTime.inputSetStr(key, state);
|
||||||
}
|
}
|
||||||
|
|
||||||
void handle_time_init() {
|
void handle_time_init() {
|
||||||
|
|||||||
@@ -3,18 +3,17 @@
|
|||||||
//===============================================Модуль вывода текста============================================
|
//===============================================Модуль вывода текста============================================
|
||||||
//output-text;id;anydata;Вывод;Сигнализация;order;st[Обнаружено.движение]
|
//output-text;id;anydata;Вывод;Сигнализация;order;st[Обнаружено.движение]
|
||||||
//===============================================================================================================
|
//===============================================================================================================
|
||||||
OutputTextClass* myOutputText;
|
OutputTextClass myOutputText;
|
||||||
void textOut() {
|
void textOut() {
|
||||||
myOutputText = new OutputTextClass();
|
myOutputText.update();
|
||||||
myOutputText->update();
|
String key = myOutputText.gkey();
|
||||||
String key = myOutputText->gkey();
|
|
||||||
sCmd.addCommand(key.c_str(), textOutSet);
|
sCmd.addCommand(key.c_str(), textOutSet);
|
||||||
myOutputText->OutputModuleStateSetDefault();
|
myOutputText.OutputModuleStateSetDefault();
|
||||||
myOutputText->clear();
|
myOutputText.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void textOutSet() {
|
void textOutSet() {
|
||||||
String key = sCmd.order();
|
String key = sCmd.order();
|
||||||
String state = sCmd.next();
|
String state = sCmd.next();
|
||||||
myOutputText->OutputModuleChange(key, state);
|
myOutputText.OutputModuleChange(key, state);
|
||||||
}
|
}
|
||||||
@@ -3,23 +3,22 @@
|
|||||||
//==========================================Модуль управления ШИМ===================================================
|
//==========================================Модуль управления ШИМ===================================================
|
||||||
//pwm-out volume range Кнопки Свет 1 pin[12] st[500]
|
//pwm-out volume range Кнопки Свет 1 pin[12] st[500]
|
||||||
//==================================================================================================================
|
//==================================================================================================================
|
||||||
PwmOutClass* myPwmOut;
|
PwmOutClass myPwmOut;
|
||||||
void pwmOut() {
|
void pwmOut() {
|
||||||
myPwmOut = new PwmOutClass();
|
myPwmOut.update();
|
||||||
myPwmOut->update();
|
String key = myPwmOut.gkey();
|
||||||
String key = myPwmOut->gkey();
|
String pin = myPwmOut.gpin();
|
||||||
String pin = myPwmOut->gpin();
|
String inv = myPwmOut.ginv();
|
||||||
String inv = myPwmOut->ginv();
|
|
||||||
sCmd.addCommand(key.c_str(), pwmOutSet);
|
sCmd.addCommand(key.c_str(), pwmOutSet);
|
||||||
jsonWriteStr(configOptionJson, key + "_pin", pin);
|
jsonWriteStr(configOptionJson, key + "_pin", pin);
|
||||||
myPwmOut->pwmModeSet();
|
myPwmOut.pwmModeSet();
|
||||||
myPwmOut->pwmStateSetDefault();
|
myPwmOut.pwmStateSetDefault();
|
||||||
myPwmOut->clear();
|
myPwmOut.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void pwmOutSet() {
|
void pwmOutSet() {
|
||||||
String key = sCmd.order();
|
String key = sCmd.order();
|
||||||
String state = sCmd.next();
|
String state = sCmd.next();
|
||||||
String pin = jsonReadStr(configOptionJson, key + "_pin");
|
String pin = jsonReadStr(configOptionJson, key + "_pin");
|
||||||
myPwmOut->pwmChange(key, pin, state);
|
myPwmOut.pwmChange(key, pin, state);
|
||||||
}
|
}
|
||||||
@@ -4,23 +4,22 @@
|
|||||||
//==============================================Модуль аналогового сенсора===========================================================================================
|
//==============================================Модуль аналогового сенсора===========================================================================================
|
||||||
//analog-adc;id;anydata;Сенсоры;Аналоговый;order;pin-adc;map[1,1024,1,100];c[1]
|
//analog-adc;id;anydata;Сенсоры;Аналоговый;order;pin-adc;map[1,1024,1,100];c[1]
|
||||||
//===================================================================================================================================================================
|
//===================================================================================================================================================================
|
||||||
SensorAnalogClass* mySensorAnalog;
|
SensorAnalogClass mySensorAnalog;
|
||||||
void analogAdc() {
|
void analogAdc() {
|
||||||
mySensorAnalog = new SensorAnalogClass();
|
mySensorAnalog.update();
|
||||||
mySensorAnalog->update();
|
String key = mySensorAnalog.gkey();
|
||||||
String key = mySensorAnalog->gkey();
|
String pin = mySensorAnalog.gpin();
|
||||||
String pin = mySensorAnalog->gpin();
|
|
||||||
sCmd.addCommand(key.c_str(), analogReading);
|
sCmd.addCommand(key.c_str(), analogReading);
|
||||||
sensorReadingMap += key + ",";
|
sensorReadingMap += key + ",";
|
||||||
jsonWriteStr(configOptionJson, key + "_pin", pin);
|
jsonWriteStr(configOptionJson, key + "_pin", pin);
|
||||||
jsonWriteStr(configOptionJson, key + "_map", mySensorAnalog->gmap());
|
jsonWriteStr(configOptionJson, key + "_map", mySensorAnalog.gmap());
|
||||||
jsonWriteStr(configOptionJson, key + "_с", mySensorAnalog->gc());
|
jsonWriteStr(configOptionJson, key + "_с", mySensorAnalog.gc());
|
||||||
mySensorAnalog->clear();
|
mySensorAnalog.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void analogReading() {
|
void analogReading() {
|
||||||
String key = sCmd.order();
|
String key = sCmd.order();
|
||||||
String pin = jsonReadStr(configOptionJson, key + "_pin");
|
String pin = jsonReadStr(configOptionJson, key + "_pin");
|
||||||
mySensorAnalog->SensorAnalogRead(key, pin);
|
mySensorAnalog.SensorAnalogRead(key, pin);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -4,21 +4,20 @@
|
|||||||
//=========================================Модуль ультрозвукового дальномера==================================================================
|
//=========================================Модуль ультрозвукового дальномера==================================================================
|
||||||
//ultrasonic-cm;id;anydata;Сенсоры;Расстояние;order;pin[12,13];map[1,100,1,100];c[1]
|
//ultrasonic-cm;id;anydata;Сенсоры;Расстояние;order;pin[12,13];map[1,100,1,100];c[1]
|
||||||
//=========================================================================================================================================
|
//=========================================================================================================================================
|
||||||
SensorUltrasonic* mySensorUltrasonic;
|
SensorUltrasonic mySensorUltrasonic;
|
||||||
void ultrasonicCm() {
|
void ultrasonicCm() {
|
||||||
mySensorUltrasonic = new SensorUltrasonic();
|
mySensorUltrasonic.update();
|
||||||
mySensorUltrasonic->update();
|
String key = mySensorUltrasonic.gkey();
|
||||||
String key = mySensorUltrasonic->gkey();
|
String pin = mySensorUltrasonic.gpin();
|
||||||
String pin = mySensorUltrasonic->gpin();
|
|
||||||
String trig = selectFromMarkerToMarker(pin, ",", 0);
|
String trig = selectFromMarkerToMarker(pin, ",", 0);
|
||||||
String echo = selectFromMarkerToMarker(pin, ",", 1);
|
String echo = selectFromMarkerToMarker(pin, ",", 1);
|
||||||
sCmd.addCommand(key.c_str(), ultrasonicReading);
|
sCmd.addCommand(key.c_str(), ultrasonicReading);
|
||||||
sensorReadingMap += key + ",";
|
sensorReadingMap += key + ",";
|
||||||
jsonWriteStr(configOptionJson, key + "_trig", trig);
|
jsonWriteStr(configOptionJson, key + "_trig", trig);
|
||||||
jsonWriteStr(configOptionJson, key + "_echo", echo);
|
jsonWriteStr(configOptionJson, key + "_echo", echo);
|
||||||
jsonWriteStr(configOptionJson, key + "_map", mySensorUltrasonic->gmap());
|
jsonWriteStr(configOptionJson, key + "_map", mySensorUltrasonic.gmap());
|
||||||
jsonWriteStr(configOptionJson, key + "_с", mySensorUltrasonic->gc());
|
jsonWriteStr(configOptionJson, key + "_с", mySensorUltrasonic.gc());
|
||||||
mySensorUltrasonic->clear();
|
mySensorUltrasonic.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ultrasonicReading() {
|
void ultrasonicReading() {
|
||||||
@@ -26,7 +25,7 @@ void ultrasonicReading() {
|
|||||||
String trig = jsonReadStr(configOptionJson, key + "_trig");
|
String trig = jsonReadStr(configOptionJson, key + "_trig");
|
||||||
String echo = jsonReadStr(configOptionJson, key + "_echo");
|
String echo = jsonReadStr(configOptionJson, key + "_echo");
|
||||||
String pin = trig + "," + echo;
|
String pin = trig + "," + echo;
|
||||||
mySensorUltrasonic->SensorUltrasonicRead(key, pin);
|
mySensorUltrasonic.SensorUltrasonicRead(key, pin);
|
||||||
}
|
}
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
|
|||||||
@@ -73,8 +73,8 @@ void setup() {
|
|||||||
udpInit();
|
udpInit();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
pm.info("Ssdp Init");
|
//pm.info("Ssdp Init");
|
||||||
SsdpInit();
|
//SsdpInit();
|
||||||
|
|
||||||
ts.add(
|
ts.add(
|
||||||
TEST, 1000 * 60, [&](void*) {
|
TEST, 1000 * 60, [&](void*) {
|
||||||
@@ -101,9 +101,8 @@ void loop() {
|
|||||||
#endif
|
#endif
|
||||||
timeNow->loop();
|
timeNow->loop();
|
||||||
MqttClient::loop();
|
MqttClient::loop();
|
||||||
myButtonIn->loop();
|
myButtonIn.loop();
|
||||||
myScenario->loop();
|
myScenario->loop();
|
||||||
//loopScenario();
|
|
||||||
loopCmd();
|
loopCmd();
|
||||||
loopSerial();
|
loopSerial();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user