Arduino Mega Server

Модератор: Alex

Android2i2
Сообщения: 18
Зарегистрирован: Вс фев 05, 2017 2:19 pm
Благодарил (а): 2 раза
Поблагодарили: 2 раза
Контактная информация:

Re: Arduino Mega Server

Сообщение Android2i2 » Вс фев 05, 2017 6:23 pm

И снова я со своим AM2320...
Переделал модуль заново. Потому что с тем запутался, да так что распутаться с моими знаниями невозможно.
Писал уже не по примеру имеющегося, а как подсказывало воображение.
СпойлерПоказать
#ifdef DTEMP_FEATURE
#include <iarduino_AM2320.h> //датчик температуры и влажности
iarduino_AM2320 sensor;
int A; //переменная для хранения показаний с датчика
void dtempInit() {
sensor.begin(); //пнул датчик, чтобы работал
}

void dtempWork() {
sensor.read();//читаем показания с датчика
A=sensor.tem;//записываем показания температуры в переменную А
}
#endif
В server_ajax добавил пару строк.
СпойлерПоказать
#ifdef DTEMP_FEATURE
s += makeTag("tempHOM", "", String(A));
#endif
*модуль rtemp отключен.
В dash.js добавил
СпойлерПоказать
try {
var tempHOM = this.responseXML.getElementsByTagName('tempHOM')[0].childNodes[0].nodeValue;
} catch (err) {
tempHOM = "-";
}

try {
var dtempHOM_ = Math.round(tempHOM, 1);
document.getElementById("temp-home").innerHTML = tempHOM_ + "°";
document.getElementById("temp-home-hide").innerHTML = tempHOM_ + "°";
} catch (err) { }
В _dash.html так же прописал
СпойлерПоказать
<p>Дома: <span class="value" id="temp-home-hide">...</span> C</p>
<p>Дома: <span class="value" id="temp-home">...</span> C</p>
Т.е. с файлами .js и .html строго следовал инструкции.
И естественно у меня ничего не вышло.
Точнее скетч компилируется, сервер запускается. Но температура на dash-панели показываться не хочет. Вместо неё просто три точки.
Помогите пожалуйста. Хотя бы ссылочку на полезную для данной темы статью пожертвуйте. Сам я, увы, никакой полезной информации найти не могу.
Только не бейте, пожалуйста. :cry:
Arduino Mega 2560 + Ethernet 5100
Windows 10
IDE 1.6.5

Уровень знаний: Пещерный человек
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server

Сообщение serghei » Вс фев 05, 2017 6:27 pm

Получилось вытащить показания в даш-панель? Тогда велком в тему " Визуализация" ! Когда на защите диплома покажите в телефоне спидометр с Вашей температурой, первое место будет обеспечено!))))
За это сообщение автора serghei поблагодарил:
Android2i2 (Вс фев 05, 2017 6:31 pm)
Рейтинг: 1.16%
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Android2i2
Сообщения: 18
Зарегистрирован: Вс фев 05, 2017 2:19 pm
Благодарил (а): 2 раза
Поблагодарили: 2 раза
Контактная информация:

Re: Arduino Mega Server

Сообщение Android2i2 » Вс фев 05, 2017 6:29 pm

serghei писал(а):Получилось вытащить показания в даш-панель? Тогда велком в тему " Визуализация" ! Когда на защите диплома покажите в телефоне спидометр с Вашей температурой, первое место будет обеспечено!))))
Получилось вытащить только слово "Дома" :D
Но я уже побежал в визуализацию. Вы меня очень заинтриговали.
Arduino Mega 2560 + Ethernet 5100
Windows 10
IDE 1.6.5

Уровень знаний: Пещерный человек
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server

Сообщение serghei » Вс фев 05, 2017 6:50 pm

В 016 версии немного по другому организованы скрипты, но попробую . Три точки говорят о том , что serverAjax не видит переменную вообще или она не задана.Если даже где то накосячить , то ажакс отработает
СпойлерПоказать

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

     // Temperature
         
          try {
            var tempSTR = this.responseXML.getElementsByTagName('tempSTR')[0].childNodes[0].nodeValue;
          } catch (err) {
              tempSTR = "99";// тут ставьте осмысленное , но не реальное число.Легче увидеть ошибку
            }  
И скорее всего
СпойлерПоказать

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

try {
var dtempHOM_ = Math.round(tempHOM, 1); // попробуйте var tempHOM_.............................
document.getElementById("temp-home").innerHTML = tempHOM_ + "°";
document.getElementById("temp-home-hide").innerHTML = tempHOM_ + "°";
} catch (err) { }
И какие ошибки выдает браузер в режиме просмотра кода элемента ? А еще лучше выложи сюда его скрин.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Android2i2
Сообщения: 18
Зарегистрирован: Вс фев 05, 2017 2:19 pm
Благодарил (а): 2 раза
Поблагодарили: 2 раза
Контактная информация:

Re: Arduino Mega Server

Сообщение Android2i2 » Пн фев 06, 2017 3:56 pm

serghei писал(а):В 016 версии немного по другому организованы скрипты, но попробую . Три точки говорят о том , что serverAjax не видит переменную вообще или она не задана.Если даже где то накосячить , то ажакс отработает
СпойлерПоказать

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

     // Temperature
         
          try {
            var tempSTR = this.responseXML.getElementsByTagName('tempSTR')[0].childNodes[0].nodeValue;
          } catch (err) {
              tempSTR = "99";// тут ставьте осмысленное , но не реальное число.Легче увидеть ошибку
            }  
И скорее всего
СпойлерПоказать

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

try {
var dtempHOM_ = Math.round(tempHOM, 1); // попробуйте var tempHOM_.............................
document.getElementById("temp-home").innerHTML = tempHOM_ + "°";
document.getElementById("temp-home-hide").innerHTML = tempHOM_ + "°";
} catch (err) { } 
И какие ошибки выдает браузер в режиме просмотра кода элемента ? А еще лучше выложи сюда его скрин.
Разобрался! Наверное.
Температуру вывел, как оказалось, а может всё не так и я просто что-то нужное случайно сделал, помимо _dash код нужно было поменять так же и в _DASH_HK.
Спасибо за то что отозвались.
Arduino Mega 2560 + Ethernet 5100
Windows 10
IDE 1.6.5

Уровень знаний: Пещерный человек
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server

Сообщение serghei » Пн фев 06, 2017 4:04 pm

Так расскажи что сделал и что поменял. Другим то же интересно.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Android2i2
Сообщения: 18
Зарегистрирован: Вс фев 05, 2017 2:19 pm
Благодарил (а): 2 раза
Поблагодарили: 2 раза
Контактная информация:

Re: Arduino Mega Server

Сообщение Android2i2 » Пн фев 06, 2017 5:35 pm

serghei писал(а):Так расскажи что сделал и что поменял. Другим то же интересно.
Скетч практически не трогал, только подключил библиотеку i2c.
СпойлерПоказать
#ifdef DTEMP_FEATURE
#include <iarduino_AM2320.h> //датчик температуры и влажности
#include <Wire.h>
iarduino_AM2320 sensor;
int A; //переменная для хранения показаний с датчика
void dtempInit() {
sensor.begin(); //пнул датчи, чтобы работал
}
void dtempWorks() {
sensor.read();//читаем показания с датчика
A=sensor.tem;//записываем показания температуры в переменную А
}
#endif

В ajax опять же ничего не менял.
СпойлерПоказать
#ifdef DTEMP_FEATURE
s += makeTag("dtempHOME", "", String(A));
#endif
А вот с dash.js решил не заморачиваться и просто прописал свой тег вместо имеющегося.
СпойлерПоказать
// Temperature
try {
var tempSTR = this.responseXML.getElementsByTagName('dtempHOME')[0].childNodes[0].nodeValue;
} catch (err) {
tempSTR = "-";
}

// Voltage & power
try {
var dvolt = this.responseXML.getElementsByTagName('voltage')[0].childNodes[0].nodeValue;
} catch (err) {
dvolt = "0";
}
try {
var dvoltage = Math.round(parseInt(dvolt), 0);
/* document.getElementById("dash-voltage").innerHTML = dvoltage;
document.getElementById("dash-voltage-hide").innerHTML = dvoltage; */
var tempSTR_ = Math.round(tempSTR, 1);
document.getElementById("dash-voltage").innerHTML = tempSTR_ + "°";
document.getElementById("dash-voltage-hide").innerHTML = tempSTR_ + "°";
} catch (err) { }
dash.html и dash_hk.html заменил "На улице" на "Дома"
СпойлерПоказать
<p>Дома: <span class="value" id="dash-voltage-hide">...</span> C</p>
И показания свои получил.
Вложения
Скриншот 06-02-2017 154526.png
Скриншот 06-02-2017 154526.png (30.12 КБ) 11704 просмотра
За это сообщение автора Android2i2 поблагодарил:
serghei (Пн фев 06, 2017 5:50 pm)
Рейтинг: 1.16%
Arduino Mega 2560 + Ethernet 5100
Windows 10
IDE 1.6.5

Уровень знаний: Пещерный человек
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Arduino Mega Server

Сообщение serghei » Пн фев 06, 2017 5:49 pm

Отлично ! Теперь воткни на SD карту файл Full18.htm отсюда viewtopic.php?f=19&t=3168&start=30#p40876. И замени
СпойлерПоказать

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

function getFull18Data() {
  var request = new XMLHttpRequest();
  request.onreadystatechange = function() {
    if (this.readyState == 4) {
      if (this.status == 200) {
        if (this.responseXML != null) {
          // net activ
          insertTick(30, bufferCpuLoad2);
       
         try {
                data_val7 = this.responseXML.getElementsByTagName('tmpTemp')[0].childNodes[0].nodeValue;// tmpTemp замени на свой 'dtempHOME'
            } catch (err) {
                data_val7 = "99";
            }
            
            
        
        }
      }
    }
  } // request.onreadystatechange = function()    
И на выходе получишь такую же картинку. С лишним кодом думаю разберешься сам. Удачи!

PS На месте второго спидометра прицепи влажность ))))
Последний раз редактировалось serghei Пн фев 06, 2017 9:24 pm, всего редактировалось 1 раз.
За это сообщение автора serghei поблагодарил:
Android2i2 (Пн фев 06, 2017 5:54 pm)
Рейтинг: 1.16%
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Android2i2
Сообщения: 18
Зарегистрирован: Вс фев 05, 2017 2:19 pm
Благодарил (а): 2 раза
Поблагодарили: 2 раза
Контактная информация:

Re: Arduino Mega Server

Сообщение Android2i2 » Пн фев 06, 2017 5:53 pm

Спасибо. :shock:
Пойду пробовать.
Arduino Mega 2560 + Ethernet 5100
Windows 10
IDE 1.6.5

Уровень знаний: Пещерный человек
Android2i2
Сообщения: 18
Зарегистрирован: Вс фев 05, 2017 2:19 pm
Благодарил (а): 2 раза
Поблагодарили: 2 раза
Контактная информация:

Re: Arduino Mega Server

Сообщение Android2i2 » Пн фев 06, 2017 9:45 pm

serghei писал(а):Отлично ! Теперь воткни на SD карту файл Full18.htm отсюда viewtopic.php?f=19&t=3168&start=30#p40876. И замени
СпойлерПоказать

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

function getFull18Data() {
  var request = new XMLHttpRequest();
  request.onreadystatechange = function() {
    if (this.readyState == 4) {
      if (this.status == 200) {
        if (this.responseXML != null) {
          // net activ
          insertTick(30, bufferCpuLoad2);
       
         try {
                data_val7 = this.responseXML.getElementsByTagName('tmpTemp')[0].childNodes[0].nodeValue;// tmpTemp замени на свой 'dtempHOME'
            } catch (err) {
                data_val7 = "99";
            }
            
            
        
        }
      }
    }
  } // request.onreadystatechange = function()        
И на выходе получишь такую же картинку. С лишним кодом думаю разберешься сам. Удачи!

PS На месте второго спидометра прицепи влажность ))))
Ух тыж... Заработало! Я даже не ожидал. :D
Вложения
Скриншот 06-02-2017 220031.png
Скриншот 06-02-2017 220031.png (80.77 КБ) 11664 просмотра
Последний раз редактировалось Android2i2 Пн фев 06, 2017 10:01 pm, всего редактировалось 1 раз.
Arduino Mega 2560 + Ethernet 5100
Windows 10
IDE 1.6.5

Уровень знаний: Пещерный человек
Ответить