Arduino Mega Server

Модератор: Alex

Allar
Сообщения: 35
Зарегистрирован: Пн авг 22, 2016 9:22 am

Re: Arduino Mega Server

Сообщение Allar »

в скетче
// Sensors ID's
byte idTempDat[MAX_TEMP_SENSORS][MAX_ID_DIGITS] = {
{40, 16, 41, 31, 0, 0, 128}, // STR
{40, 172, 56, 40, 0, 0, 128}, // SRV
{40, 138, 89, 31, 0, 0, 128}, // WRM
{40, 199, 88, 40, 0, 0, 128}, // ST3
{40, 177, 56, 31, 0, 0, 128}, // ST4
{40, 54, 39, 40, 0, 0, 128}, // ST5
};

да, когда AMS запускается, сначала в браузере пишутся нули, примерно через 5 минут появляются данные.
ажакс не трогал, в этой версии код перенесен в DASH.JS, там и редактировал.
ну и в _dash.htm прописал
И чего то много закоментированого текста.
копипаста :) , т.к. этот язык не знаю, скопировал и отредактировал по аналогии.
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв

Re: Arduino Mega Server

Сообщение serghei »

Так .Будем думать, что названия датчиков соответствуют названиям в DASH.JS иначе выдаст NAN или еррор.

Код: Выделить всё

char objSens[MAX_TEMP_SENSORS][MAX_TEMP_NAME_LEN] = {"tempSTR", "tempHOM", "tempWRM"};

 
После этого в DASH.JS должно быть 6 подобных конструкций для каждого датчика
SPOILERSPOILER_SHOW

Код: Выделить всё


                // Temperature
          try {
            var c1TempSTR1 = this.responseXML.getElementsByTagName('c1Temp1')[0].childNodes[0].nodeValue;
          } catch (err) {
              c1TempSTR1 = "err";
            }  
            
             try {
            var tempSTR1_= Math.round(parseInt(c1TempSTR1), 0);
            document.getElementById("dash-c1-temp1").innerHTML = tempSTR1_;
            document.getElementById("dash-c1-temp1-hide").innerHTML = tempSTR1_;
            
              } catch (err) { }
              
Только вместо моих названий вставьте свои .

*** Сообщение запрещено. Сообщение похоже на спам. ***
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Arduino Mega Server

Сообщение Alex »

вверху сайта появилась белая полоса с надписью amp;
Это либо вы допустили ошибку при редактировании htm файла, либо файл залился на карту с ошибкой (что иногда случается — попробуйте перезалить файл, скорее всего _header.htm).
Allar
Сообщения: 35
Зарегистрирован: Пн авг 22, 2016 9:22 am

Re: Arduino Mega Server

Сообщение Allar »

флэшку проверил на ошибки и переписал _header.htm - не помогло.
пробовал разные варианты написания, нет значений.
на всех значениях ....
есть подозрение что не тянет 6 датчиков,
лог загрузки
пробовал понизить сопротивление, добавив параллельно еще 4,7 ком, без изменений.
Вложения
Снимок.JPG
Снимок.JPG (86.5 КБ) 12711 просмотров
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв

Re: Arduino Mega Server

Сообщение serghei »

У Вас все нормально увиделось. И главное - видно как назвали датчики. Теперь скинте скрин , где в сериале второй раз выводится температура всех даллосов. и если можно файлы DASH.JS и HTM.Вместе победим проблему , а заодно и себя проверю , как я выучил урок )))).Подтягивающий резистор можно опустить до 1 ком.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
alexsis_76
Сообщения: 792
Зарегистрирован: Пт янв 22, 2016 10:08 am

Re: Arduino Mega Server

Сообщение alexsis_76 »

Коду вас в принципе рабочий,Math.round уберите,он у вас округляет к целому,показания то хоть приходят?
Allar
Сообщения: 35
Зарегистрирован: Пн авг 22, 2016 9:22 am

Re: Arduino Mega Server

Сообщение Allar »

serghei писал(а): Теперь скинте скрин , где в сериале второй раз выводится температура всех даллосов.
не понял, это как?
Вложения
DASH.JS
(22.17 КБ) 555 скачиваний
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв

Re: Arduino Mega Server

Сообщение serghei »

Давайте с самого начала. В скетче назвали датчики

Код: Выделить всё

char objSens[MAX_TEMP_SENSORS][MAX_TEMP_NAME_LEN] = {"tempSTR", "tempHOM", "tempWRM","tempST3","tempST4","tempST5"};
Дальше в сервере-ажакс ничего не меняем. При этом коды ID надо прописать в скетче rtemp. После этого в сериале после надписи " AMS work" через 5 минут появятся имена всех датчиков и их температура. Если они рядом , то разница в показаниях будет в десятые доли градуса. После этого переходим к DASH.JS . Согласно инструкции на сайте дописываем
SPOILERSPOILER_SHOW

Код: Выделить всё

// Temperature
try {
var tempSTR = this.responseXML.getElementsByTagName('tempSTR')[0].childNodes[0].nodeValue;
} catch (err) {
tempSTR = "err";// лучше поставить что то осмысленное, но не реальное
} 
try {
var tempHOM = this.responseXML.getElementsByTagName('tempHOM')[0].childNodes[0].nodeValue;
} catch (err) {
tempHOM = "-";
} 
try {
var tempWRM = this.responseXML.getElementsByTagName('tempWRM')[0].childNodes[0].nodeValue;
} catch (err) {
tempWRM = "-";
} 
try {
var tempST3 = this.responseXML.getElementsByTagName('tempST3')[0].childNodes[0].nodeValue;
} catch (err) {
tempST3 = "-";
} 
try {
var tempST4 = this.responseXML.getElementsByTagName('tempST4')[0].childNodes[0].nodeValue;
} catch (err) {
tempST4 = "-";
} 
try {
var tempST5 = this.responseXML.getElementsByTagName('tempST5')[0].childNodes[0].nodeValue;
} catch (err) {
tempST5 = "-";
} 

// Voltage & power

          try {
            var tempHOM_ = Math.round(tempHOM, 1);
            document.getElementById("temp-home").innerHTML = tempHOM_ + "°";
            document.getElementById("temp-home-hide").innerHTML = tempHOM_ + "°";
          } catch (err) { }

try{
var tempSTR_ = Math.round(tempSTR, 1);
document.getElementById("dash-voltage").innerHTML = tempSTR_ + "°";
document.getElementById("dash-voltage-hide").innerHTML = tempSTR_ + "°";
} catch (err) { }

try {

var tempWRM_ = Math.round(tempWRM, 1);
document.getElementById("temp-t2").innerHTML = tempWRM_ + "°";
document.getElementById("temp-t2-hide").innerHTML = tempWRM_ + "°";
} catch (err) { }
try {

var tempST3_ = Math.round(tempST3, 1);
document.getElementById("temp-t3").innerHTML = tempST3_ + "°";
document.getElementById("temp-t3-hide").innerHTML = tempST3_ + "°";
} catch (err) { }
try {

var tempST4_ = Math.round(tempST4, 1);
document.getElementById("temp-t4").innerHTML = tempST4_ + "°";
document.getElementById("temp-t4-hide").innerHTML = tempST4_ + "°";
} catch (err) { }
try {

var tempST5_ = Math.round(tempST5, 1);
document.getElementById("temp-t5").innerHTML = tempST5_ + "°";
document.getElementById("temp-t5-hide").innerHTML = tempST5_ + "°";
} catch (err) { }

 
Ну и последнее дописываем DASH.HTM
SPOILERSPOILER_SHOW

Код: Выделить всё

<p>Дома: <span class="value" id="dash-voltage-hide">...</span> C</p>
<p>Дома: <span class="value" id="dash-voltage">...</span> C</p>


<p>Дома: <span class="value" id="temp-home-hide">...</span> C</p>
<p>Дома: <span class="value" id="temp-home">...</span> C</p>

<p>Дома: <span class="value" id="temp-2-hide">...</span> C</p>
<p>Дома: <span class="value" id="temp-2">...</span> C</p>

<p>Дома: <span class="value" id="temp-3-hide">...</span> C</p>
<p>Дома: <span class="value" id="temp-3">...</span> C</p>

<p>Дома: <span class="value" id="temp-4-hide">...</span> C</p>
<p>Дома: <span class="value" id="temp-4">...</span> C</p>

<p>Дома: <span class="value" id="temp-5-hide">...</span> C</p>
<p>Дома: <span class="value" id="temp-5">...</span> C</p>
Как то так. Поправьте если не прав.

*** Сообщение запрещено. Сообщение похоже на спам. ***
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Allar
Сообщения: 35
Зарегистрирован: Пн авг 22, 2016 9:22 am

Re: Arduino Mega Server

Сообщение Allar »

файл _DASH.HTM
Вложения
_DASH.h
файл _DASH.HTM
(5.45 КБ) 616 скачиваний
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв

Re: Arduino Mega Server

Сообщение serghei »

Я утром ответил, но меня опять робот забанил. Похоже он не любит сообщения с кодами)))). Сейчас сравню.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Ответить