Arduino Mega Server

Модератор: Alex

ledmax
Сообщения: 88
Зарегистрирован: Сб окт 24, 2015 9:56 pm

Re: Arduino Mega Server

Сообщение ledmax »

Alex писал(а):И как вы снимаете сразу с 2-х пинов? Создаёте 2 объекта?
По очереди. Тупо продублировал. Думаю можно ещё как то упростить, убрать чего нибудь лишнее...
Alex писал(а):А когда здоровье 0% сама температура показывается?
не показывает, там ведь так написано, если здоровье 0 - то не читает температуру.
Попробую убрать здоровье..

https://drive.google.com/a/cncpro.ee/fi ... sp=sharing
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Arduino Mega Server

Сообщение Alex »

не показывает, там ведь так написано, если здоровье 0 - то не читает температуру.
Попробую убрать здоровье..
Подождите, первично не здоровье, а работа самого сенсора. У вас проблема не со здоровьем, а с чтением сенсора.

И возможно это связано с работой сразу с двумя пинами.
ledmax
Сообщения: 88
Зарегистрирован: Сб окт 24, 2015 9:56 pm

Re: Arduino Mega Server

Сообщение ledmax »

Да, да, вы правы...
Но вторая шина не причём - изначально проблема была и с оригинальным скетчем, по этому и прикрутил вторую..
У меня в бойлере залито 8 датчиков, что бы мощность считать - добраться до них нету никакой возможности( Прийдётся искать проблему..
Sps
Сообщения: 45
Зарегистрирован: Вт окт 27, 2015 4:23 pm

Re: Arduino Mega Server

Сообщение Sps »

Alex писал(а):
Прицепил датчик DS18B20 на 2 пин, в мониторе порта вижу, температура скачет, а как эти данные можно увидеть в браузере?
Вообще-то в 0.13 версии температура выводится прямо в dash-панель, что видно на скриншотах.
На форуме читаю ...подключил модуль... и дальше тихо ходьбы написал как его подключать, что в каком файле/файлах писать, менять, какую кнопку нажать, где этот рубильник???
Рубильника нет, есть только исходный код, который можно изучать. Документация пишется и будет позже.
Кто-нибудь, ткните носом куда смотреть/читать по принципу в этом файле ковыряй эту часть кода, в следующем другую и т.д.
Открываем исходный код страницы в браузере, находим место, где выводится температура, а дальше задаём себе вопрос «откуда она здесь берётся?», шевелим мозгом и по цепочке находим весь алгоритм. По другому — никак.
Вообще-то в 0.13 версии температура выводится прямо в dash-панель, что видно на скриншотах.
====и где находиться этот приборный щиток на который выводится температура?....

Рубильника нет, есть только исходный код, который можно изучать. Документация пишется и будет позже.
====Это я уже читал в начале форума. Вообще-то документация пишется параллельно созданию блоков модулей и т.д. А еще лучше просто отвечать на вопросы даже если они глупые, тогда документация сама собой напишется из ответов, их надо будет только систематизировать.

Открываем исходный код страницы в браузере, находим место, где выводится температура, а дальше задаём себе вопрос «откуда она здесь берётся?», шевелим мозгом и по цепочке находим весь алгоритм. По другому — никак.
====А это объяснение мне больше всего понравилось... открыл код
<table class="table-generic">
<tr class="tr-title"> <td class="td-first"><p>Название</p></td> <td><p>Объект</p></td> <td><p>Значение, °C</p></td> <td><p>Статус</p></td> <td><p>Здоровье, %</p></td> <td><p>Обновление, мин.</p></td></tr>
<tr class="tr-color2"><td class="td-first"><p>Температура на улице</p></td> <td><p>tempSTR</p></td> <td><p>15.3</p></td> <td><p>OK</p></td> <td><p>100</p></td> <td><p>1</p></td></tr> ...ну и т.д.

нашел <p>15.3</p><p>27.3</p><p>21.5</p>задал вопрос, шевелю, вижу цепочку - написано ручками...просто гениально! 5+ с таким успехом можно и по скриншоту найти как эти циферки сюда попадают.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Arduino Mega Server

Сообщение Alex »

Это я уже читал в начале форума. Вообще-то документация пишется параллельно созданию блоков модулей и т.д. А еще лучше просто отвечать на вопросы даже если они глупые, тогда документация сама собой напишется из ответов, их надо будет только систематизировать.
Больше шевелим мозгом и меньше предъявляем претензий. И всё срастётся.

А в ответе на вменяемые вопросы ещё никому отказано не было.

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

        <div class="cell-4">
          <div class="box-dash text-right hide">
            <p>На улице: <span class="value" id="dash-voltage">...</span> C</p>
            <p>Мощность: <span class="value" id="dash-power">...</span> Вт</p>
          </div>
        </div> 
Вложения
0.13 Temperature
0.13 Temperature
013.png (65.31 КБ) 19956 просмотров
SPbDima
Сообщения: 113
Зарегистрирован: Пн окт 19, 2015 8:27 am

Re: Arduino Mega Server

Сообщение SPbDima »

1. Sps, на первой странице Alex подробно описал в каком состоянии проект:
На данный момент проект находится в статусе альфа версии и для работы с ним нужны знания программирования и веб-технологий. Если вы не чувствуете в себе уверенности в этих областях, то, возможно, вам стоит подождать некоторое время, пока проект не приобретёт более или менее законченный вид.
2. Alex, как можно писать код не добавляя комментарии? GaiverX проделал работу по комментированию файла: arduino_mega_server.ino (ver. 0.12), может использовать данный файл как основу?

3. Alex, м.б. вынести константы, как id температурных датчиков, вкл/выкл модулей(вместо //#define ELECTRO_FEATURE) на карту памяти в файл ams.conf (например), и управлять файлом с веба, а не перепрошивкой.

4. FAQ по поводу подключения температурных датчиков:
а. подключили датчики к порту D2
б. загружаем скетч(если не загружен) и открываем "монитор последовательного порта", где должны увидеть:
SPOILERSPOILER_SHOW
MEGA started...
Init SD card... OK
index.htm... found
Waiting for RTC sync...
Init SD card... OK
2015-11-03 16:37:01 Modul Temperature Init START
2015-11-03 16:37:01 Parasite power OFF
2015-11-03 16:37:01 Found 3 devices
2015-11-03 16:37:01 #0: 16 88 33 86 2 8 0 (tempSTR)
2015-11-03 16:37:01 #1: 16 225 34 86 2 8 0 (tempHOM)
2015-11-03 16:37:01 #2: 40 96 164 78 4 0 0 (tempWRM)
Found 3 devices - или сколько у Вас подключено датчиков. Далее берем id датчиков: 16 88 33 86 2 8 0, 16 225 34 86 2 8 0, 40 96 164 78 4 0 0 и заменяем значения в скетче rtemp:

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

// Sensors ID's
byte idTempDat[MAX_TEMP_SENSORS][MAX_ID_DIGITS] = { 
  {40, 240, 72, 81, 3, 0, 0}, // STR
  {40, 221, 16, 81, 3, 0, 0}, // SRV
  {40,  23, 98, 87, 3, 0, 0}, // WRM
}; 
в. Загружаем новый скетч и получаем на даш-панеле температуру с первого датчика(// STR).

P.S.: Alex, не знаю почему, но версия 0.12 работает стабильно (доступ к веб-серверу не пропадает), а версия 0.13 и пример (брал 7 и 8) из учебника http://startingelectronics.org постоянно виснет, станица становится недоступной. Чудеса какие-то! А что делает следующий код(точнее для чего он?):

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

    if (force == 0) {
      sendTagByte("force", "", 1, cl);
    } else {
        sendTagByte("force", "", 0, cl);
      } 
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Arduino Mega Server

Сообщение Alex »

2. Alex, как можно писать код не добавляя комментарии? GaiverX проделал работу по комментированию файла: arduino_mega_server.ino (ver. 0.12), может использовать данный файл как основу?
Приведение кода в порядок стоит в планах, но сейчас есть более актуальные задачи.
3. Alex, м.б. вынести константы, как id температурных датчиков, вкл/выкл модулей(вместо //#define ELECTRO_FEATURE) на карту памяти в файл ams.conf (например), и управлять файлом с веба, а не перепрошивкой.
Это очевидная идея и рано или поздно она будет реализована. Мало того, есть примеры загрузки не только конфигурации, но и логики, а это уже очень круто.
Alex, не знаю почему, но версия 0.12 работает стабильно (доступ к веб-серверу не пропадает), а версия 0.13 и пример (брал 7 и 8) из учебника http://startingelectronics.org постоянно виснет, станица становится недоступной.
Странно, у меня и 0.13 и примеры из учебника работают нормально. Я не исключаю какие-либо проблемы с 0.13 версией, но примеры обязаны работать стабильно.
А что делает следующий код(точнее для чего он?):
Этот код посылает в веб-интерфейс уведомление о режиме работы с сокетами. И это отображается в теме «гик моде» (по умолчанию) в виде индикатора

FRC — форсированный режим с захватом всех 4-х сокетов (для ускорения интерфейса)
NRM — нормальный режим с захватом 3-х сокетов и одним свободным для прочих сетевых нужд (к сожалению, чуть медленнее)

В 0.13 версии есть код для переключения этих режимов на лету, прямо в веб-интерфейсе. Но он отключён потому, что с 3 на 4 переходит нормально, а обратно — нет. Я уже оглашал эту задачу, но не нашлось желающих её решить.


----------------
Кстати, теперь у всех есть железо и несколько версий АМС (я уже не говорю о том, что все умные и квалифицированные, но ни одна задача, названная мной актуальной, не решена). А именно:

Решение проблемы с Ethernet библиотекой
Решение проблемы с переключением 3-4 сокета
Ускорение сетевой работы
Проблема с АСК при передаче файлов
Корректная передача бинарных файлов
Работа АСК с директориями
И т. д.
Sps
Сообщения: 45
Зарегистрирован: Вт окт 27, 2015 4:23 pm

Re: Arduino Mega Server

Сообщение Sps »

Alex писал(а):
Это я уже читал в начале форума. Вообще-то документация пишется параллельно созданию блоков модулей и т.д. А еще лучше просто отвечать на вопросы даже если они глупые, тогда документация сама собой напишется из ответов, их надо будет только систематизировать.
Больше шевелим мозгом и меньше предъявляем претензий. И всё срастётся.

А в ответе на вменяемые вопросы ещё никому отказано не было.

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

        <div class="cell-4">
          <div class="box-dash text-right hide">
            <p>На улице: <span class="value" id="dash-voltage">...</span> C</p>
            <p>Мощность: <span class="value" id="dash-power">...</span> Вт</p>
          </div>
        </div> 
И что в моем вопросе невменяемого? Я же спрашивал ...На форуме читаю ...подключил модуль... и дальше тихо ходьбы написал как его подключать, что в каком файле/файлах писать, менять, какую кнопку нажать, где этот рубильник???
И что в ответ ...Рубильника нет, изучай исходный код.
Ну да конечно как можно изучать код если id="dash-voltage" оказался температурой, комментариев нет, а вот рубильник оказывается есть, хорошо SPbDima не поленился, большое ему за это спасибо. Оказалось всего-навсего мне надо было раскомментировать одну строчку и температура в dash-панели сразу появилась, вот теперь, когда цепочка работает и код разбирать можно.
Sps
Сообщения: 45
Зарегистрирован: Вт окт 27, 2015 4:23 pm

Re: Arduino Mega Server

Сообщение Sps »

SPbDima писал(а):1. Sps, на первой странице Alex подробно описал в каком состоянии проект:
На данный момент проект находится в статусе альфа версии и для работы с ним нужны знания программирования и веб-технологий. Если вы не чувствуете в себе уверенности в этих областях, то, возможно, вам стоит подождать некоторое время, пока проект не приобретёт более или менее законченный вид.
2. Alex, как можно писать код не добавляя комментарии? GaiverX проделал работу по комментированию файла: arduino_mega_server.ino (ver. 0.12), может использовать данный файл как основу?

3. Alex, м.б. вынести константы, как id температурных датчиков, вкл/выкл модулей(вместо //#define ELECTRO_FEATURE) на карту памяти в файл ams.conf (например), и управлять файлом с веба, а не перепрошивкой.

4. FAQ по поводу подключения температурных датчиков:
а. подключили датчики к порту D2
б. загружаем скетч(если не загружен) и открываем "монитор последовательного порта", где должны увидеть:
SPOILERSPOILER_SHOW
MEGA started...
Init SD card... OK
index.htm... found
Waiting for RTC sync...
Init SD card... OK
2015-11-03 16:37:01 Modul Temperature Init START
2015-11-03 16:37:01 Parasite power OFF
2015-11-03 16:37:01 Found 3 devices
2015-11-03 16:37:01 #0: 16 88 33 86 2 8 0 (tempSTR)
2015-11-03 16:37:01 #1: 16 225 34 86 2 8 0 (tempHOM)
2015-11-03 16:37:01 #2: 40 96 164 78 4 0 0 (tempWRM)
Found 3 devices - или сколько у Вас подключено датчиков. Далее берем id датчиков: 16 88 33 86 2 8 0, 16 225 34 86 2 8 0, 40 96 164 78 4 0 0 и заменяем значения в скетче rtemp:

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

// Sensors ID's
byte idTempDat[MAX_TEMP_SENSORS][MAX_ID_DIGITS] = { 
  {40, 240, 72, 81, 3, 0, 0}, // STR
  {40, 221, 16, 81, 3, 0, 0}, // SRV
  {40,  23, 98, 87, 3, 0, 0}, // WRM
}; 
в. Загружаем новый скетч и получаем на даш-панеле температуру с первого датчика(// STR).

P.S.: Alex, не знаю почему, но версия 0.12 работает стабильно (доступ к веб-серверу не пропадает), а версия 0.13 и пример (брал 7 и 8) из учебника http://startingelectronics.org постоянно виснет, станица становится недоступной. Чудеса какие-то! А что делает следующий код(точнее для чего он?):

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

    if (force == 0) {
      sendTagByte("force", "", 1, cl);
    } else {
        sendTagByte("force", "", 0, cl);
      } 
Огромное спасибо, информация полезная, прочитал и через 2 минуты все запустил.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Arduino Mega Server

Сообщение Alex »

И что в моем вопросе невменяемого?
Ничего, поэтому и отвечаю
Ну да конечно как можно изучать код если id="dash-voltage" оказался температурой
А вот от претензий вам нужно избавляться. Вам никто и ничего не обещал, а id мог называться как угодно, посмотрите на номер версии.
хорошо SPbDima не поленился, большое ему за это спасибо.
SPbDima молодец
Ответить