Страница 21 из 326

Re: Arduino Mega Server

Добавлено: Вс авг 02, 2015 11:04 am
AVK74
Ардуина
http://www.ebay.com/itm/171865404789?_t ... EBIDX%3AIT
Сетевой шилд
http://www.ebay.com/itm/181524271680?_t ... EBIDX%3AIT
Сам заказал, скоро присоединюсь к вам.
Логический анализатор очень даже неплохой
http://www.ebay.com/itm/24MHz-8CH-USB-X ... 3cff68dfbb
Как то так

Re: Arduino Mega Server

Добавлено: Вс авг 02, 2015 11:30 am
ElectroN007
Анализатор у меня серьезнее - zeroplus lap-c 16032. Железо, если китайская поделка на эзернет шилд рабочая, скоро будет. Я в таком большом проекте запутаться боюсь ;) , вот и хотел с кем-то из создателей/людей в теме ковырять.

Re: Arduino Mega Server

Добавлено: Вс авг 02, 2015 12:29 pm
uni
Спасибо за наводки на китайские под(д)елки. Лично я бы сделал отладочный проект на C++ отдельно от исходников Arduino и отлаживал при помощи JTAG'а. Оригинальные отладчики дороги, но существуют дешёвые заменители: AVR JTAG ICE. Можно купить плату FTDI и переходник к ней AVR JTAG ICE, далее пользоваться:
На адаптер выведены:

Колодка ISP10 для прошивки контроллеров AVR стандартным ISP10 кабелем. В качестве программатора используется FTBИ (bitbang режим работы микросхемы FT2232)
Упрощенный четырех контактный разъем для прошивки AVR модулей, установленных в Pinboard II
Вывод JTAG для программной эмуляции AVR JTAG ICE II (Happy JTAG).
Вывод JTAG для аппаратной реализации AVR JTAG ICE I с подключением по COM порту (COM порт реализуется через эмуляцию USB-COM канала В микросхемы FTDI)
10 выводов GPIO встроенного контроллера.
Я использую Happy JTAG 2 (программный эмулятор JTAG ICE MkII) на Windows 7 x32, но не знаю на счёт поддержки 2560 меги. Заявлено, что программа поддерживает, но не тестировалось. Автор проекта его забросил, но пользоваться им можно. Лучше всего купить оригинальный отладчик, чтобы не мучиться в настройках прочих под(д)елок. Сложные проекты без JTAG поддерживать просто нереально (портить нервную систему).

Re: Arduino Mega Server

Добавлено: Вс авг 02, 2015 1:00 pm
uni
Я бы, если честно, сделал бы всю эту тему немного по-другому. В качестве головы с web-сервером использовал бы роутер TL-MR3020, к нему бы подключил многопортовый usb-hub, а к хабу переходники usb-RS-485. На каждой такой линии могут сидеть мк в качестве modbus slave устройств. Библиотека для работы по modbus через ajax запросы существует (со стороны web-сервера используются скрипты sh).

Получается обычная промышленная централизованная структура. Если нужны действия при наступлении каких-то событий, то в линуксе можно периодически считывать сигналы из сети RS-485 теми же shell-скриптами, обрабатывать их и делать управляющие воздействия.

П.С. Вот, кстати, как бы это могло выглядеть: Подключение конвертера RS-485 в TTL к Arduino.

Re: Arduino Mega Server

Добавлено: Пн авг 03, 2015 7:37 am
123ksn
uni писал(а):и отлаживал при помощи JTAG'а...Я использую Happy JTAG 2 (программный эмулятор JTAG ICE MkII) на Windows 7 x32, но не знаю на счёт поддержки 2560 меги
Маленькая ремарка, которая может перечеркнуть истинность данного высказывания. Дело в том, что Ардуино Мега2560 - это кастрат относительно МК ATmega2560. Это я к тому, что не все сигналы МК выведены на разъемы. Лично я "прокололся" на втором кварце - нет для него места. И еще бог знает что не выведено. Курите даташит.
uni писал(а):Я бы, если честно, сделал бы всю эту тему немного по-другому. В качестве головы с web-сервером использовал бы роутер TL-MR3020, к нему бы подключил многопортовый usb-hub, а к хабу переходники usb-RS-485
Не сбивайте человека с "истинного" пути. Такие проекты (на роутере) уже (по моему) есть, а то, что делает автор - нет. Пусть будет и на ардуино. Ссылки специально не даю.

Re: Arduino Mega Server

Добавлено: Пн авг 03, 2015 8:15 am
AVK74
123ksn писал(а):Маленькая ремарка, которая может перечеркнуть истинность данного высказывания. Дело в том, что Ардуино Мега2560 - это кастрат относительно МК ATmega2560. Это я к тому, что не все сигналы МК выведены на разъемы. Лично я "прокололся" на втором кварце - нет для него места. И еще бог знает что не выведено. Курите даташит.
Да вроде порт F в полном объеме выведен, а JTAG на нем как раз.
Ну и можно проще, при входе в процедуру ставим единичку на какойнить ноге, при выходе снимаем, смотрим осциллографом.

Re: Arduino Mega Server

Добавлено: Пн авг 03, 2015 9:54 am
ингвар
Вопрос от новичка, подскажите пожалуйста как подключить датчик температуры ds18b20 это надо подключить его к D2 порту, а потом где он будет отображаться и как это значения передать на сервер MajorDoMo и что сделать если этих датчиков больше одного ?

Re: Arduino Mega Server

Добавлено: Пн авг 03, 2015 11:39 am
Alex
В стандартной поставке модуль температуры отключён, но код присутстствует и вы можете его задействовать раскомментировав строку

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

//#define TEMP_FEATURE  
Но! модулю требуется оперативная память, которой и так вобрез. Поэтому, если не заработает, то отключите то, что вам сейчас не нужно, например электро.

Датчики сажаются на 2-ю ногу в режиме паразитного питания. Один момент. Вы должны указать id своих датчиков вместо

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

PROGMEM byte idTempDat1[] = {40, 240,  72, 81, 3, 0, 0}; // STR [*]
PROGMEM byte idTempDat2[] = {40, 149,  87, 87, 3, 0, 0}; // BLK [&]
PROGMEM byte idTempDat3[] = {40, 221,  16, 81, 3, 0, 0}; // SRV [@]
PROGMEM byte idTempDat4[] = {40,  23,  98, 87, 3, 0, 0}; // WRM [%]
PROGMEM byte idTempDat5[] = {40, 207, 142, 87, 3, 0, 0}; // HOM [^]  
Определить id можно при помощи функции

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

void showSerial() {
  Serial.print("S/N: ");
  for (byte i = 0; i < 8; i++) {
    Serial.print(' ');
    Serial.print(tempSensor1[i]); // in DEC
    //Serial.print(tempSensor1[i], HEX); // in HEX
  }
  Serial.println();
}

Re: Arduino Mega Server

Добавлено: Пн авг 03, 2015 2:22 pm
ингвар
а куда эту функцию вписывать ? просто там в модуле есть эта функция и при подключении датчика пишет

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

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
Parasite power is: OFF
Found 1 devices
1970-01-01 00:00:07 ;Open!
1970-01-01 00:00:07 GET /objects/?object=contHOM&op=m&m=update&v=1
1970-01-01 00:00:07 +Norm
1970-01-01 00:00:07 GET /objects/?object=contCLO&op=m&m=update&v=0
*not present
&not present
@not present
подключал и на паразитном питании все равно не пишет ID
может я что то не так делаю?

Re: Arduino Mega Server

Добавлено: Пн авг 03, 2015 3:37 pm
Alex
Технология такая. Подключаем один датчик и вызываем функцию. Показания записываем и вносим в код.

То же проделываем с каждым датчиком (при отдельном подключении). Это проделать нужно только один раз.

Или просто посмотрите номер датчика в какой-нибудь другой программе, где его видно.

Функцию можно вызвать из setup();