Arduino Mega Server

Модератор: Alex

Sps
Сообщения: 45
Зарегистрирован: Вт окт 27, 2015 4:23 pm
Благодарил (а): 6 раз
Поблагодарили: 1 раз

Re: Arduino Mega Server

Сообщение Sps » Пн ноя 02, 2015 11:11 pm

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
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Вт ноя 03, 2015 8:26 am

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

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

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

        <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> 
Вложения
013.png
0.13 Temperature
013.png (65.31 КБ) 19505 просмотров
SPbDima
Сообщения: 113
Зарегистрирован: Пн окт 19, 2015 8:27 am
Благодарил (а): 9 раз
Поблагодарили: 21 раз

Re: Arduino Mega Server

Сообщение SPbDima » Вт ноя 03, 2015 8:08 pm

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

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

4. FAQ по поводу подключения температурных датчиков:
а. подключили датчики к порту D2
б. загружаем скетч(если не загружен) и открываем "монитор последовательного порта", где должны увидеть:
СпойлерПоказать
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);
      } 
За это сообщение автора SPbDima поблагодарили (всего 2):
Sps (Вт ноя 03, 2015 10:54 pm) • braserlaky (Ср фев 24, 2016 8:39 am)
Рейтинг: 2.33%
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Вт ноя 03, 2015 9:40 pm

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
Благодарил (а): 6 раз
Поблагодарили: 1 раз

Re: Arduino Mega Server

Сообщение Sps » Вт ноя 03, 2015 10:48 pm

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
Благодарил (а): 6 раз
Поблагодарили: 1 раз

Re: Arduino Mega Server

Сообщение Sps » Вт ноя 03, 2015 10:53 pm

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
б. загружаем скетч(если не загружен) и открываем "монитор последовательного порта", где должны увидеть:
СпойлерПоказать
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
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Ср ноя 04, 2015 7:26 am

И что в моем вопросе невменяемого?
Ничего, поэтому и отвечаю
Ну да конечно как можно изучать код если id="dash-voltage" оказался температурой
А вот от претензий вам нужно избавляться. Вам никто и ничего не обещал, а id мог называться как угодно, посмотрите на номер версии.
хорошо SPbDima не поленился, большое ему за это спасибо.
SPbDima молодец
SPbDima
Сообщения: 113
Зарегистрирован: Пн окт 19, 2015 8:27 am
Благодарил (а): 9 раз
Поблагодарили: 21 раз

Re: Arduino Mega Server

Сообщение SPbDima » Ср ноя 04, 2015 11:41 am

Alex писал(а):
2. Alex, как можно писать код не добавляя комментарии? GaiverX проделал работу по комментированию файла: arduino_mega_server.ino (ver. 0.12), может использовать данный файл как основу?
Приведение кода в порядок стоит в планах, но сейчас есть более актуальные задачи.
Вопрос был не в трате твоего времени для добавления комментариев к уже написанному коду (хотя, без комментариев трудно разобраться с кодом. А пока не разберешься трудно начать помогать с кодом), а в добавлении комментариев к новому, либо переделываемому коду (сначала универ учит, а потом жизнь, что необходимо параллельно коду всегда добавлять комментарии).
Alex писал(а):
Alex, не знаю почему, но версия 0.12 работает стабильно (доступ к веб-серверу не пропадает), а версия 0.13 и пример (брал 7 и 8) из учебника http://startingelectronics.org постоянно виснет, станица становится недоступной.
Странно, у меня и 0.13 и примеры из учебника работают нормально. Я не исключаю какие-либо проблемы с 0.13 версией, но примеры обязаны работать стабильно.
Возможно проблемы с моим железом(NoName), но факт остаётся фактом. Т.к. сначала проверял работоспособность AMS на работе, где Arduino по проводу подключалось к роутеру, а ПК по WIFI; затем дома, где ПК и Ардуино соединялись через роутер по проводам.
Сравнил код между 0.12 и 0.13 и основная разница - это код по которому у меня возник вопрос.
А что делает следующий код(точнее для чего он?):
Alex писал(а): ----------------
Кстати, теперь у всех есть железо и несколько версий АМС (я уже не говорю о том, что все умные и квалифицированные, но ни одна задача, названная мной актуальной, не решена). А именно:

Решение проблемы с Ethernet библиотекой
Решение проблемы с переключением 3-4 сокета
Ускорение сетевой работы
Проблема с АСК при передаче файлов
Корректная передача бинарных файлов
Работа АСК с директориями
И т. д.
Пока я могу помогать с FAQ, но только с тем с чем я сам сейчас разбираюсь (температурные датчики). Также могу начать писать/делать логгирование температурных датчиков.
А остальные вопросы лучше вывесить на первой странице с ссылками на описание проблематики.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Ср ноя 04, 2015 2:14 pm

Пока я могу помогать с FAQ, но только с тем с чем я сам сейчас разбираюсь (температурные датчики).
Творчество никак и ни для кого не ограничено. Пишите FAQ и я помещу ссылку на него на первой странице.
Также могу начать писать/делать логгирование температурных датчиков.
Я уже раза три озвучивал оптимальный вариант работы: каждый делает что-то для себя и здесь анансирует, что сделал (как минимум) и выкладывает описание (как максимум). Каждый желающий из этой базы решений может взять что-либо для себя.

Я в дистрибутив включаю только то, что посчитаю нужным, каждый волен формировать свой дистрибутив, если у него есть такое желание.
SPbDima
Сообщения: 113
Зарегистрирован: Пн окт 19, 2015 8:27 am
Благодарил (а): 9 раз
Поблагодарили: 21 раз

Re: Arduino Mega Server

Сообщение SPbDima » Чт ноя 05, 2015 10:59 am

Поправил/дописал для AMS 0.13 работу закладки СЕНСОРЫ в части вывода данных с температурных датчиков. Обновление значений температуры в таблице происходит раз в минуту.
в архиве
SD_CARD(SPbDima).zip
(11.35 КБ) 275 скачиваний
3 файла которыми необходимо произвести замену на карте памяти:
1. _dash.htm - в даш-борде поправил наименование ID для вывода температуры
2. sensors.htm - дал имя таблице и добавил запуск новой процедуры при старте страницы
3. scripts.js - раз в секунду с ардуино получаются данные для даш-панели, в том числе и с температурных датчиков. Эти данные сохраняются в переменные, которые используются новой процедурой для вставки значений в таблицу температурных датчиков. Новая процедура запускается раз в минуту.

в архиве
sensors_graph.rar
(11.29 КБ) 306 скачиваний
файлы: scripts.js и sensors.htm
доработана страница "Сенсоры", добавлен обновляемый раз в минуту график изменения текущей температуры
Последний раз редактировалось SPbDima Чт ноя 12, 2015 8:59 am, всего редактировалось 1 раз.
За это сообщение автора SPbDima поблагодарил:
ledmax (Ср фев 10, 2016 5:03 am)
Рейтинг: 1.16%
Ответить