Arduino Mega Server

Модератор: Alex

buzum
Сообщения: 5
Зарегистрирован: Ср сен 30, 2015 12:08 am
Благодарил (а): 0
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение buzum » Сб ноя 14, 2015 12:47 am

Alex писал(а):
пунк 4 не помог... не показывает ID датчиков... даже при подключении 1 датчика, вот начало лога:
Ну один датчик должен работать. Попробуйте залить более старую версию АМС, там температурный модуль другой. Если не заработает, то я бы сказал, что дело либо в подключении, либо в отклонениях от стандартной конфигурации. Кстати, а какой смысл подключать карту памяти не стандартно, а через модуль?
модуль подключил, только потому что предыдущие попытки запустить AMS через китайские Arduino mega и ethernet-shield завершилсь провалом со всеми sd/microsd картами. После подключения модюля - Сервер запустился, а до этого - все провально..
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Сб ноя 14, 2015 9:31 am

модуль подключил, только потому что предыдущие попытки запустить AMS через китайские Arduino mega и ethernet-shield завершилсь провалом со всеми sd/microsd картами.
Я не знаю что, но что-то у вас там совсем не в порядке. Я использую китайское железо и не испытываю никаких проблем. Все платы (если они исправны) уже 2-3 года прекрасно работают совместно, проблемы были только с платами более раннего производства.

Возможно, одна из плат у вас попросту неисправна. На исправных платах дистрибутив должен работать 100%.
ингвар
Сообщения: 142
Зарегистрирован: Вт ноя 25, 2014 2:06 pm
Благодарил (а): 33 раза
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение ингвар » Сб ноя 14, 2015 1:58 pm

ledmax писал(а):Удалось понять причину некорректной работы считывания данных с множества температурных датчиков (5, 10, итд..)
Проблема в том, что серийники должны быть прописаны в точно такой же последовательности, как они определись при первом опросе шины.

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

{40,255,120,99,104,20,2}, // STR
         {40,255,161,39,104,20,3}, // SRV
         {40,255,171,39,104,20,3}, // WRM
         {40,255,131,39,104,20,3}, // temp1          


Если использовать много датчиков, то получается ерунда - сложно распределить их в нужно последовательности, а что ещё хуже - они могут определиться в другом порядке.
У меня при подключении 4 датчика прога ругается на память, что это может быть ?

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

Sketch uses 64 006 bytes (25%) of program storage space. Maximum is 253 952 bytes.
Global variables use 6 157 bytes (75%) of dynamic memory, leaving 2 035 bytes for local variables. Maximum is 8 192 bytes.
Low memory available, stability problems may occur.
 
СпойлерПоказать
Изображение
Windows 10 + Raspberry Pi3 + ESP8266
SPbDima
Сообщения: 113
Зарегистрирован: Пн окт 19, 2015 8:27 am
Благодарил (а): 9 раз
Поблагодарили: 21 раз

Re: Arduino Mega Server

Сообщение SPbDima » Сб ноя 14, 2015 5:39 pm

1. Где ошибка? Я вижу только предупреждение!
2. id у 3-го и 4-го датчика одинаковые
Gorgon67
Сообщения: 23
Зарегистрирован: Пт сен 11, 2015 9:05 am
Благодарил (а): 2 раза
Поблагодарили: 3 раза

Re: Arduino Mega Server

Сообщение Gorgon67 » Сб ноя 14, 2015 6:56 pm

модуль подключил, только потому что предыдущие попытки запустить AMS через китайские Arduino mega и ethernet-shield завершилсь провалом со всеми sd/microsd картами. После подключения модюля - Сервер запустился, а до этого - все провально..
Тоже такая же фигня была и запускалось после подключения модуля SD.
Выдавало такую же ощибку
Init SD card... failed
Проблема оказалась в непропае разъёма кары на плате ethernet. Прогрел феном и все заработало.
ингвар
Сообщения: 142
Зарегистрирован: Вт ноя 25, 2014 2:06 pm
Благодарил (а): 33 раза
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение ингвар » Сб ноя 14, 2015 7:23 pm

SPbDima писал(а):1. Где ошибка? Я вижу только предупреждение!
2. id у 3-го и 4-го датчика одинаковые
1 Просто интересно на что это предупреждения влияет
2 это для примера поставил так то они были разные и эта же ошибка
и бывает что если один датчик отсоединил( например поломался) то все датчики перестают передавать данные
Windows 10 + Raspberry Pi3 + ESP8266
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Сб ноя 14, 2015 9:34 pm

У меня при подключении 4 датчика прога ругается на память, что это может быть ?
Всё правильно, память используется под завязку и любые телодвижения могут приводить к её нехватке.
Проблема оказалась в непропае разъёма кары на плате ethernet. Прогрел феном и все заработало.
Вот-вот и я об этом же.
Просто интересно на что это предупреждения влияет
Компилятор догадывается, что в процессе исполнения стек встретится с кучей и начнутся любые непредсказуемые глюки.
бывает что если один датчик отсоединил( например поломался) то все датчики перестают передавать данные
Так и должно быть. Сейчас система рассчитана на точное совпадение ID датчиков и их последовательности (объявления и определения).
ингвар
Сообщения: 142
Зарегистрирован: Вт ноя 25, 2014 2:06 pm
Благодарил (а): 33 раза
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение ингвар » Вт ноя 17, 2015 12:37 pm

Подключил 4 датчика, он все увидел но все равно передает температуру первых трех и все

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

MEGA started...
Init SD card... OK
index.htm... found
Waiting for NTP sync... 
Transmit NTP request
No NTP response
Connect to MajorDoMo... OK
Init SD card... OK
1970-01-01 00:00:02 Modul Temperature Init START
1970-01-01 00:00:02 Parasite power ON
1970-01-01 00:00:02 Found 4 devices
1970-01-01 00:00:02 #0: 40 176 100 14 2 0 0 (WRM)
1970-01-01 00:00:02 #1: 40 52 86 24 1 0 0 (U2)
1970-01-01 00:00:02 #2: 40 114 253 23 1 0 0 (STR)
1970-01-01 00:00:02 #3: 40 234 65 114 2 0 0 (No1)
1970-01-01 00:00:03 Modul Temperature Init DONE
1970-01-01 00:00:04 ;Open!
1970-01-01 00:00:04 GET /objects/?object=contHOM&op=m&m=update&v=1
1970-01-01 00:00:04 +Norm
1970-01-01 00:00:04 GET /objects/?object=contCLO&op=m&m=update&v=0
1970-01-01 00:00:05 WRM: 21.37
1970-01-01 00:00:05 GET /objects/?object=WRM&op=m&m=update&v=21.37 HTTP/1.0
1970-01-01 00:00:05 U2: 21.31
1970-01-01 00:00:05 GET /objects/?object=U2&op=m&m=update&v=21.31 HTTP/1.0
1970-01-01 00:00:05 STR: 21.31
1970-01-01 00:00:05 GET /objects/?object=STR&op=m&m=update&v=21.31 HTTP/1.0
1970-01-01 00:00:06 Sensor WRM health: 100%
1970-01-01 00:00:06 Sensor U2 health: 100%
1970-01-01 00:00:06 Sensor STR health: 100%
1970-01-01 00:00:06 Sensor No1 health: 100%
1970-01-01 00:00:06 Modil Temperature Health: 100%
1970-01-01 00:00:07 WRM: 21.44
1970-01-01 00:00:07 GET /objects/?object=WRM&op=m&m=update&v=21.43 HTTP/1.0
1970-01-01 00:00:08 U2: 21.31
1970-01-01 00:00:08 GET /objects/?object=U2&op=m&m=update&v=21.31 HTTP/1.0
1970-01-01 00:00:08 STR: 21.31
1970-01-01 00:00:08 GET /objects/?object=STR&op=m&m=update&v=21.31 HTTP/1.0
в чем может быть ошибка или больше 3 шт не будет передаваться ?
Windows 10 + Raspberry Pi3 + ESP8266
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Вт ноя 17, 2015 3:24 pm

Нет, передаёт он в автоматическом режиме и ему всё равно сколько датчиков. Проблему нужно искать в определении количества датчиков, типа

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

byte const MAX_TEMP_SENSORS = 3; 
или

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

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

// 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
};  
или вот здесь

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

  getTemperature(0); // STR
  getTemperature(1); // HOM (SRV)
  getTemperature(2); // WRM   
ингвар
Сообщения: 142
Зарегистрирован: Вт ноя 25, 2014 2:06 pm
Благодарил (а): 33 раза
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение ингвар » Вт ноя 17, 2015 4:04 pm

Alex писал(а):Нет, передаёт он в автоматическом режиме и ему всё равно сколько датчиков. Проблему нужно искать в определении количества датчиков, типа

или вот здесь

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

  getTemperature(0); // STR
  getTemperature(1); // HOM (SRV)
  getTemperature(2); // WRM     
спасибо за ответ, вот тут я и не менял
Windows 10 + Raspberry Pi3 + ESP8266
Ответить