За основу взял вкладку с работой от "Laurent" , так как он умеет работать по сети. Добавил вкладку
СпойлерПоказать
Код: Выделить всё
/*
Module MySensors ESP32
part of Arduino Mega Server project
*/
#ifdef FEATURE_MYSEN
#define ANSW_BUF_SIZE 128
char HTTP_answ[ANSW_BUF_SIZE] = {0};
// target net settings
byte MHC_IP[] = {192, 168, 2, 120}; //IP адрес гейта MySensors
int MHC_PORT = 5003; //порт гейта
#define MAX_LEN_MREQUEST 128
String srequest = "";
WiFiClient sclient;
void initMYSEN() {
initStart(F("MySensors"), true); // инициализация модуля
timeStamp();
Serial.print(F(" Connect to MySensors_Gate... ")); // подключение
if (sclient.connect(MHC_IP, MHC_PORT)) {
Serial.println(F("OK"));
sclient.println();
} else {
Serial.println(F("failed"));
}
delay(200);
sclient.stop();
moduleMYSEN = ENABLE;
started(F("MySensors"), true); // старт модуля
}
void sendMySemsorsRequest() {
if (sclient.connect(MHC_IP, MHC_PORT)) {
timeStamp(); Serial.print(F("Command: ")); // а вот тут сплошные косяки ))
Serial.println(buf);
sclient.println(buf);
delay(100);
timeStamp(); Serial.print(F("Answer GateWay: ")); // но часть ответа видим ))
srequest = "";
while(sclient.available() != 0) {
char c = sclient.read();
Serial.print(c);
if (srequest.length() < MAX_LEN_MREQUEST) {
srequest += (c);
}
}
delay(500);
sclient.stop();
} else {
timeStamp(); Serial.println(F("Error sending command"));
}
} // sendLaurentRequest()
void workMYSEN() {
if (cycle5m) {
sendMySemsorsRequest(); // при вызове этого гейт перегружается ?
}
}
#endif
СпойлерПоказать
- 2018-05-09 11:55:22 Module DHT... started
2018-05-09 11:55:22 Module MySensors...
2018-05-09 11:55:22 Connect to MySensors_Gate... OK // Подключились
2018-05-09 11:55:22 Module MySensors... started // Стартанули
2018-05-09 11:55:22 Module BME... started
2018-05-09 11:55:22 Module Electro... started
2018-05-09 11:55:22 Module TLog... started
2018-05-09 11:55:22 HTTP port: 8080
2018-05-09 11:55:22 Module Http... started // это другая песня и работает ))).
GLOBAL Init DONE (35s)
AMS WORK
СпойлерПоказать
- 2018-05-09 12:04:49 Command:
2018-05-09 12:04:49 Answer GateWay: 0;255;3;0;14;Gateway startup complete. // Знающие люди поймут ))
Библиотека передает "всего" 53 переменных с числами , ну и знать с какого ID что прилетело. А дальше распарсивать ответы можно и руками. Вывести на страницу уже не проблема.
PS Отдельное СПАСИБО ledmax за его идею разговора двух AMS по сети. ( хотя у меня ничего не взлетело ((((( )))).