передача данных от majordomo к arduino mega server
Модератор: Alex
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: передача данных от majordomo к arduino mega server
Передавайте по mqtt)) протокол же 2хсторонний...и url запросами сеть не грузит.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: передача данных от majordomo к arduino mega server
Вам нужен вывод в МД или в браузер ? Судя по коду DHT появится через 5 минут. Для теста измените
Вывод в браузер закомментирован. Я уже много раз объяснял , как это сделать. Собственно , там осталось только добавить вывод в HTML.
СпойлерПоказать
Код: Выделить всё
#ifdef DHT_FEATURE
if (cycle5m) {// подставьте 20s
dhtWorks();
}
#endif
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 15
- Зарегистрирован: Пн дек 25, 2017 8:29 am
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
Re: передача данных от majordomo к arduino mega server
serghei писал(а):Вам нужен вывод в МД или в браузер ? Судя по коду DHT появится через 5 минут. Для теста изменитеВывод в браузер закомментирован. Я уже много раз объяснял , как это сделать. Собственно , там осталось только добавить вывод в HTML.СпойлерПоказатьКод: Выделить всё
#ifdef DHT_FEATURE if (cycle5m) {// подставьте 20s dhtWorks(); } #endif
Мне хотелось бы понять, работают у меня датчики или нет, а кроме как посмотреть в ком порт я не знаю как. Скопировал файл dtemp к себе и вроде заработало. Подключил дисплей 16*2, пока вывожу показания туда, все DHT работает 2 шт, DS выводится один, подсоединю еще один DS и буду пробовать, пока не совсем понял как вывести больше одного. С таймером вроде разобрался, спасибо.
Пока за несколько дней осилил 100 с лишним страниц форума ) закомментируемая строка вывода в HTML не попадалась, буду дальше копать. По аналогии с инструкцией подключения температуры пока не получилось вывести.
-
- Сообщения: 15
- Зарегистрирован: Пн дек 25, 2017 8:29 am
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
Re: передача данных от majordomo к arduino mega server
MQTT обмен насколько я понял с MajorDomo?nick7zmail писал(а):Передавайте по mqtt)) протокол же 2хсторонний...и url запросами сеть не грузит.
Буду пробовать, Спасибо за ответ )
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: передача данных от majordomo к arduino mega server
+2. Если в сериале данные от DHT есть , дальше будет проще. Посмотри код сервера Ажакс
Раскомментируй все строки. Первый makeTag передает в браузер названия датчиков , а string значения температур. После этого в XML таблице должны появиться Ваши данные датчиков.
Дальше в скрипте надо дописать условия приема этих данных. У меня влажность передается так
Вам надо подставить свои названия градусников var humDht = this.responseXML.getElementsByTagName('dht1_temp') .
И так для каждого значения. Ну и потом вставить в даш панель. Сложно - пока не поймете этот механизм. Сначала попробуйте с далласом.
СпойлерПоказать
Код: Выделить всё
// #ifdef DHT_FEATURE
// for (byte i = 0; i < MAX_DHT_SENSORS; i++) {
// s += makeTag(dobjSens[i], "", String(current_dht[i]));
// s += makeTag(dobjSens[i], "Health", String(dtempSensorHealth[i]));
// }
// s += makeTag("mdTempHealth", "", String(tempModulHealth));
// #endif
Дальше в скрипте надо дописать условия приема этих данных. У меня влажность передается так
СпойлерПоказать
Код: Выделить всё
// Humidity DHT
try {
var humDht = this.responseXML.getElementsByTagName('humDHT')[0].childNodes[0].nodeValue;
} catch (err) {
humDht = "3";
}
try {
var humDht_ = Math.round(humDht, 1);
document.getElementById("hum-srv").innerHTML = humDht_ + "%";
document.getElementById("hum-srv-hide").innerHTML = humDht_ + "%";
} catch (err) { }
// Temperature DHT
try {
var tempDht = this.responseXML.getElementsByTagName('tempDHT')[0].childNodes[0].nodeValue;
} catch (err) {
tempDht = "4";
}
try {
var tempDht_ = Math.round(tempDht, 1);
document.getElementById("t-srv").innerHTML = tempDht_ + "°";
document.getElementById("t-srv-hide").innerHTML = tempDht_ + "°";
} catch (err) { }
И так для каждого значения. Ну и потом вставить в даш панель. Сложно - пока не поймете этот механизм. Сначала попробуйте с далласом.
- Рейтинг: 1.16%
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 15
- Зарегистрирован: Пн дек 25, 2017 8:29 am
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
Re: передача данных от majordomo к arduino mega server
А, закомментирован код vladragor'a а я думал у алекса. С далласом получилось, Спасибо! Правда пришлось поковыряться с алексовским "dash-voltage"serghei писал(а):+2. Если в сериале данные от DHT есть , дальше будет проще. Посмотри код сервера АжаксРаскомментируй все строки. Первый makeTag передает в браузер названия датчиков , а string значения температур. После этого в XML таблице должны появиться Ваши данные датчиков.СпойлерПоказатьКод: Выделить всё
// #ifdef DHT_FEATURE // for (byte i = 0; i < MAX_DHT_SENSORS; i++) { // s += makeTag(dobjSens[i], "", String(current_dht[i])); // s += makeTag(dobjSens[i], "Health", String(dtempSensorHealth[i])); // } // s += makeTag("mdTempHealth", "", String(tempModulHealth)); // #endif
Дальше в скрипте надо дописать условия приема этих данных. У меня влажность передается такВам надо подставить свои названия градусников var humDht = this.responseXML.getElementsByTagName('dht1_temp') .СпойлерПоказатьКод: Выделить всё
// Humidity DHT try { var humDht = this.responseXML.getElementsByTagName('humDHT')[0].childNodes[0].nodeValue; } catch (err) { humDht = "3"; } try { var humDht_ = Math.round(humDht, 1); document.getElementById("hum-srv").innerHTML = humDht_ + "%"; document.getElementById("hum-srv-hide").innerHTML = humDht_ + "%"; } catch (err) { } // Temperature DHT try { var tempDht = this.responseXML.getElementsByTagName('tempDHT')[0].childNodes[0].nodeValue; } catch (err) { tempDht = "4"; } try { var tempDht_ = Math.round(tempDht, 1); document.getElementById("t-srv").innerHTML = tempDht_ + "°"; document.getElementById("t-srv-hide").innerHTML = tempDht_ + "°"; } catch (err) { }
И так для каждого значения. Ну и потом вставить в даш панель. Сложно - пока не поймете этот механизм. Сначала попробуйте с далласом.
СпойлерПоказать
СпойлерПоказать
СпойлерПоказать
СпойлерПоказать
СпойлерПоказать
СпойлерПоказать
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: передача данных от majordomo к arduino mega server
+3. Давайте разбираться. Вот только конкретно этот код смогу проверить только вечером . Начало есть. Дальше будет проще. Сперва проверьте на странице , на что матер......))) что не нравиться браузеру. Какие ошибки он показывает ?
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 15
- Зарегистрирован: Пн дек 25, 2017 8:29 am
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
Re: передача данных от majordomo к arduino mega server
Ни на что не ругается. Сайт работает. странички переключатся. страница примеры ajax работает. индикаторы шевелятся. темы переключаются. Но даш панель "пустая", как на скрине выше (похоже что подгружается только HTML и причем болванка даш панели меняется при смене тем, но данных нет)serghei писал(а):+3. Давайте разбираться. Вот только конкретно этот код смогу проверить только вечером . Начало есть. Дальше будет проще. Сперва проверьте на странице , на что матер......))) что не нравиться браузеру. Какие ошибки он показывает ?
Причем она не совсем пустая, на ней живой только график сети
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: передача данных от majordomo к arduino mega server
Если код правильно вставлен, то в XML таблице должны появиться два DHT градусника. Еще шаманить надо в dash.js
PS я в коммандировку........ Остальное ночью )
PS я в коммандировку........ Остальное ночью )
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: передача данных от majordomo к arduino mega server
Странно... Ажакс на может собрать страницу.Я с таким сталкивался.
У меня плата от RobotDyn с 8266 на борту.
Последние NAN- это ответ DHT. их нет в наличие. Давай пойдем другим путем. Просто выведем показания на страницу, Как Full2.htm
Сейчас в слепую попробую набросать.
====================
А , ну конечно! Такой фокус с массивом DHT не проходит , потому что там передаются два параметра в одном пакете. Замени в сервере ажакс
И появится даш-панель. И дальше очень внимательно смотри за названиями! первый в makeTag название датчика как в скетче , потом две кавычки , потом String реальная переменная!!!!
Ну а в dash.js разберёшься?
СпойлерПоказать
Последние NAN- это ответ DHT. их нет в наличие. Давай пойдем другим путем. Просто выведем показания на страницу, Как Full2.htm
Сейчас в слепую попробую набросать.
====================
А , ну конечно! Такой фокус с массивом DHT не проходит , потому что там передаются два параметра в одном пакете. Замени в сервере ажакс
СпойлерПоказать
Код: Выделить всё
#ifdef DHT_FEATURE
s += makeTag("dht1_temp", "", String(dhta.readTemperature()));
s += makeTag("dht1_hum", "", String(dhta.readHumidity()));
s += makeTag("dht2_temp", "", String(dhtb.readTemperature()));
s += makeTag("dht2_hum", "", String(dhtb.readHumidity()));
s += makeTag("dht3_temp", "", String(dhtc.readTemperature()));
s += makeTag("dht3_hum", "", String(dhtc.readHumidity()));
s += makeTag("dht4_temp", "", String(dhtd.readTemperature()));
s += makeTag("dht4_hum", "", String(dhtd.readHumidity()));
// for (byte i = 0; i < MAX_DHT_SENSORS; i++) {
// s += makeTag(dobjSens[i], "", String(current_dht[i]));
// s += makeTag(dobjSens[i], "Health", String(dtempSensorHealth[i]));
// }
// s += makeTag("mdTempHealth", "", String(tempModulHealth));
#endif
Ну а в dash.js разберёшься?
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS