Arduino Mega Server

Модератор: Alex

ингвар
Сообщения: 142
Зарегистрирован: Вт ноя 25, 2014 2:06 pm

Re: Arduino Mega Server

Сообщение ингвар »

Подключил 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

Re: Arduino Mega Server

Сообщение Alex »

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

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

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

Re: Arduino Mega Server

Сообщение ингвар »

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

или вот здесь

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

  getTemperature(0); // STR
  getTemperature(1); // HOM (SRV)
  getTemperature(2); // WRM     
спасибо за ответ, вот тут я и не менял
Windows 10 + Raspberry Pi3 + ESP8266
mirsum
Сообщения: 65
Зарегистрирован: Вс янв 12, 2014 12:54 pm
Откуда: Белгород

Re: Arduino Mega Server

Сообщение mirsum »

Выдавало такую же ощибку
Init SD card... failed
Проблема оказалась в непропае разъёма кары на плате ethernet. Прогрел феном и все заработало.[/quote]

У меня такая же проблема, решается: вытащить и вставить карту, до следующей перезагрузки работает, к сожалению фена нет.
Gorgon67
Сообщения: 23
Зарегистрирован: Пт сен 11, 2015 9:05 am

Re: Arduino Mega Server

Сообщение Gorgon67 »

к сожалению фена нет
Тогда паяльником. :D
Вложения
SD_CARD1.jpg
SD_CARD1.jpg (199.94 КБ) 17540 просмотров
AlexVS
Сообщения: 6
Зарегистрирован: Пт авг 01, 2014 4:48 am

Re: Arduino Mega Server

Сообщение AlexVS »

Большое спасибо за проделанную работу! Скачал, установил, запустил - заработало! Есть вопросы:
1. Без сервера MajorDoMo IP для AMS можно установить другой? Я запустил в 1 подсетке - вроде работает.
2. Если отсутствует MajorDoMo, как отключить попытку соединения с ним? Если заремить #define MAJORDOMO_FEATURE - то лезут ошибки:

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

C:\TEMP\build8564963264143647868.tmp\arduino_mega_server.cpp.o: In function `sendElectroMajor(char*, unsigned char, unsigned char)':
C:\Program Files (x86)\Arduino/electro.ino:179: undefined reference to `sendHTTPRequest()'
C:\TEMP\build8564963264143647868.tmp\arduino_mega_server.cpp.o: In function `pirsWorks()':
C:\Program Files (x86)\Arduino/pirs.ino:54: undefined reference to `sendRequest(char*, int)'
C:\Program Files (x86)\Arduino/pirs.ino:78: undefined reference to `sendRequest(char*, int)'
C:\Program Files (x86)\Arduino/pirs.ino:124: undefined reference to `sendRequest(char*, int)'
C:\Program Files (x86)\Arduino/pirs.ino:148: undefined reference to `sendRequest(char*, int)'
C:\Program Files (x86)\Arduino/pirs.ino:171: undefined reference to `sendRequest(char*, int)'
C:\TEMP\build8564963264143647868.tmp\arduino_mega_server.cpp.o:C:\Program Files (x86)\Arduino/contacts.ino:54: more undefined references to `sendRequest(char*, int)' follow
C:\TEMP\build8564963264143647868.tmp\arduino_mega_server.cpp.o: In function `getTemperature(unsigned char)':
C:\Program Files (x86)\Arduino/rtemp.ino:137: undefined reference to `sendRequestMinus(char*, char*, int, int)'
collect2.exe: error: ld returned 1 exit status
Ошибка компиляции.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm

Re: Arduino Mega Server

Сообщение Alex »

Без сервера MajorDoMo IP для AMS можно установить другой? Я запустил в 1 подсетке - вроде работает.
Да, будет работать, но я этот вариант не тестировал.
Если отсутствует MajorDoMo, как отключить попытку соединения с ним? Если заремить #define MAJORDOMO_FEATURE - то лезут ошибки:


Отключить попытки соединения с М можно только вручную закомментировав соответствующие участки кода, но делать это не обязательно, это не на что не влияет.
SPbDima
Сообщения: 113
Зарегистрирован: Пн окт 19, 2015 8:27 am

Re: Arduino Mega Server

Сообщение SPbDima »

Цитата:
Без сервера MajorDoMo IP для AMS можно установить другой? Я запустил в 1 подсетке - вроде работает.
Да, будет работать, но я этот вариант не тестировал.
Можно указывать любой IP, проверено. Но лучше выбирать IP исходя из настроек роутера
Цитата:
Если отсутствует MajorDoMo, как отключить попытку соединения с ним? Если заремить #define MAJORDOMO_FEATURE - то лезут ошибки:
Отключить попытки соединения с М можно только вручную закомментировав соответствующие участки кода, но делать это не обязательно, это не на что не влияет.
с ошибками код не компилится, поэтому комментируй код. либо могу скинуть скетч, если не получится.
SPbDima
Сообщения: 113
Зарегистрирован: Пн окт 19, 2015 8:27 am

Re: Arduino Mega Server

Сообщение SPbDima »

Сделал вывод с лога (с тестовой информацией) в графический вид. Данные в логе в формате JSON хранятся на SD. Если нужно могу выложить код. Сейчас займусь формированием самих логов.
С загрузкой в формате JSON столкнулся с проблемой (возможно главной): не информативная ошибка распарсивания данных, а JSON обладает строгими требованиями. Читайте https://learn.javascript.ru/json#метод-json-parse
GaiverX
Сообщения: 62
Зарегистрирован: Ср авг 26, 2015 3:15 pm

Re: Arduino Mega Server

Сообщение GaiverX »

Всем привет вновь.
Долгое время не мог вернуться к работе над АМС, и в связи с этим появились идеи по варианту реализации.
Моя ардуина будет работать в связке с роутером ASUS RT-N14U, на котором установлена прошивка OpenWRT. Прошиваться будет так же по сети. Сейчас жду прихода программатора, что бы изменить бутлоадер на ожидание прошивки не по USB, а по Ethernet.
Пока программатора нет, планировал выполнять прошивку *.hex файлом через avrdude. Планировал...
Но реальность такова, что после первой прошивки АМС этим способом, обновить прошивку не удается, avrdude не может подключиться и выдает ошибки

root@NEX:~# avrdude -p m2560 -P /dev/ttyACM0 -c stk500v2 -b 9600 -C /etc/avrdude.conf -U flash:w:/rem/ardu/arduino_mega_server.cpp.hex
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout

При этом ардуина работает корректно, и данные от нее поступают
root@NEX:~# cat /dev/ttyACM0
2015-11-19 13:39:04 ;Open!
2015-11-19 13:39:04 not connected
2015-11-19 13:39:04 +Norm
2015-11-19 13:39:04 not connected
2015-11-19 13:39:04 tempSTR: ID problem or not present
2015-11-19 13:39:04 tempHOM: ID problem or not present
2015-11-19 13:39:04 tempWRM: ID problem or not present
2015-11-19 13:39:04 Sensor tempSTR health: 0%
2015-11-19 13:39:04 Sensor tempHOM health: 0%
2015-11-19 13:39:04 Sensor tempWRM health: 0%
2015-11-19 13:39:04 Modil Temperature Health: 0%
2015-11-19 13:39:04 not connected
(duration 1 min 0 sec)


Может, кто встречался с подобной проблемой?
Последний раз редактировалось GaiverX Чт ноя 19, 2015 1:07 pm, всего редактировалось 1 раз.
Ответить