Страница 140 из 326
Re: Arduino Mega Server
Добавлено: Сб апр 23, 2016 9:14 am
Sps
Всем добрый день, кто-нибудь пробовал к AMS-0.14 прикрутить DHT22 и вывести показания t и h в Сенсоры, поделитесь опытом.
Re: Arduino Mega Server
Добавлено: Сб апр 23, 2016 10:43 am
nick7zmail
Sps писал(а):Всем добрый день, кто-нибудь пробовал к AMS-0.14 прикрутить DHT22 и вывести показания t и h в Сенсоры, поделитесь опытом.
Не ток пытался)) Сделал...Не факт что код идеально правильный...даже больше скажу...он не правильный...но работает)).
Там проверки на отвалившейся датчик нету...т.е. tempSensorHealth всегда =100). Но переделывать пока некогда...выдастся часик свободный - посмотрю что можно сделать.
Вот мой r_temp. Имена датчиков "dht1_temp", "dht1_hum"...выводите куда угодно))
UPD: Внимание, перезалил файл....теперь с проверкой на отвалившийся датчик...выкладывать, дак конечные версии =)
Re: Arduino Mega Server
Добавлено: Вс апр 24, 2016 11:15 am
Sps
nick7zmail писал(а):Sps писал(а):Всем добрый день, кто-нибудь пробовал к AMS-0.14 прикрутить DHT22 и вывести показания t и h в Сенсоры, поделитесь опытом.
Не ток пытался)) Сделал...Не факт что код идеально правильный...даже больше скажу...он не правильный...но работает)).
Там проверки на отвалившейся датчик нету...т.е. tempSensorHealth всегда =100). Но переделывать пока некогда...выдастся часик свободный - посмотрю что можно сделать.
Вот мой r_temp. Имена датчиков "dht1_temp", "dht1_hum"...выводите куда угодно))
UPD: Внимание, перезалил файл....теперь с проверкой на отвалившийся датчик...выкладывать, дак конечные версии =)
Огромное спасибо за код. Я так понял DHT22 становится вместо ds18b20 (в моем случае мне нужны оба типа датчиков), пробовал вставить под свои нужды, с разбегу не получилось, ds18b20 отрабатывают нормально, а из двух dht показывает один, только влажность и то как-то криво. Зато теперь есть направление в какую сторону копать, еще раз благодарю.
Re: Arduino Mega Server
Добавлено: Вс апр 24, 2016 11:21 am
nick7zmail
Sps писал(а):Огромное спасибо за код. Я так понял DHT22 становится вместо ds18b20 (в моем случае мне нужны оба типа датчиков), пробовал вставить под свои нужды, с разбегу не получилось, ds18b20 отрабатывают нормально, а из двух dht показывает один, только влажность и то как-то криво. Зато теперь есть направление в какую сторону копать, еще раз благодарю.
Да, DHT воткнул вместо ds18b20. Вместе чтобы работали - скорее всего нужно ещё 1 массив создать чисто под показания влажности. Т.к. у ds только 1 показание, а у dht - два, и там несрастание массивов получится, если в один всё пихать...и как то надо придумать, чтобы они одним циклом забирались...на досуге хотел над этим подумать, но досуга пока не было =D...тем более пробовать не на чем, ds у меня нету).
PS:
Создал тему про железки, отпишитесь там, если придумаете что нить)
Re: Arduino Mega Server
Добавлено: Пн апр 25, 2016 10:49 am
alexsis_76
Посмотрел код файловой системы, поднял частоту SPI почти никакого, видимо это предел меги, но есть другой способ, воспользоваться кешем браузера, кешируем картинки и css, получаем вот что

- Безымянный_1.JPG (155.43 КБ) 12575 просмотров
как видим грузится только первый файл , остальное берется из кеша, при первой загрузке он заполняется, зато потом при переходе страницы появляются мгновенно(браузер берет из из своего кеша, а не запрашивает с устройства, все скрипты на страницах вроде работают).rв коде нужно сделать это
void sendHtmlAnswer(EthernetClient cl)
{write_p(PSTR("HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nConnnection: close\r\nCache-Control: private, max-age=3600\r\n\r\n"),cl);}
void sendCssAnswer(EthernetClient cl)
{write_p(PSTR("HTTP/1.1 200 OK\r\nContent-Type: text/css\r\nConnnection: close\r\nCache-Control: private, max-age=3600\r\n\r\n"),cl);}
void sendJsAnswer(EthernetClient cl)
{write_p(PSTR("HTTP/1.1 200 OK\r\nContent-Type: application/javascript\r\nConnnection: close\r\n\r\n"),cl);}
void sendImgAnswer(EthernetClient cl)
{write_p(PSTR("HTTP/1.1 200 OK\r\nContent-Type: image/png\r\nConnnection: close\r\nCache-Control: private, max-age=3600\r\n\r\n"),cl);}
void sendXmlAnswer(EthernetClient cl)
{write_p(PSTR("HTTP/1.1 200 OK\r\nContent-Type: text/xml\r\nConnnection: close\r\n\r\n"),cl);}
компилируйте , проверяйте.
Re: Arduino Mega Server
Добавлено: Вт апр 26, 2016 8:29 pm
nick7zmail
Alex...небольшая просьба...хотелось бы в новой версии мега сервера увидеть пример с записью в постоянную память контроллера. Сам ещё не разбирался с этим делом, но вроде слышал что можно сохранять некоторые параметры в постоянную память, которая сохраняется даже при отключении питания контроллера. Было бы неплохим тоном закинуть туда настройки - как минимум IP и MAC, чтобы можно было менять прямо из интерфейса, а не в коде. Особенно это поможет с контроллером esp...т.к. там точно придется сохранять как минимум wifi сеть, пароль.
Re: Arduino Mega Server
Добавлено: Ср апр 27, 2016 6:20 am
alexsis_76
но вроде слышал что можно сохранять некоторые параметры в постоянную память, которая сохраняется даже при отключении питания контроллера
Да это называется EEPROM,правда местный загрузчик видимо не умеет помещать строки в EEPROM, поэтому вместо того чтобы сделать так
byte EEMEM ESELF_MAC[6]= {0x00, 0x2A, 0xF5, 0x12, 0x67, 0xFA};
eeprom_read_block((void*)&T_SELF_MAC, (void*)ESELF_MAC, 6);
приходится делать так
byte EEMEM ESELF_MAC[6];
byte SELF_MAC[]= {0x00, 0x2A, 0xF5, 0x12, 0x67, 0xFA};;
eeprom_write_block(SELF_MAC,(void*)ESELF_MAC, 6);
eeprom_read_block((void*)&T_SELF_MAC, (void*)ESELF_MAC, 6);
вообщем через одно место
но зато загружает данные с EEPROM, правда строка все равно хранится в озу, но можно спрятать ее за PROGMEM , и доставать ее оттуда(ужаснее этой "среды разработки" я еще не видел)
полный код
/*
Modul Ethernet
part of Arduino Mega Server project
*/
#include <avr/eeprom.h>;
// Ethernet settings
byte EEMEM ESELF_MAC[6];
byte EEMEM ESELF_IP[4];
byte GATEWAY[] ={192,168,1,1};
byte SELF_MAC[]= {0x00, 0x2A, 0xF5, 0x12, 0x67, 0xFA};;
byte SELF_IP[]= {192, 168, 1, 34} ;
void ethernetInit() {
byte T_SELF_MAC[6];
byte T_SELF_IP[4] ;
Serialprint("Modul Ethernet...\n");
eeprom_write_block(SELF_MAC,(void*)ESELF_MAC, 6);
eeprom_write_block(SELF_IP,(void*)ESELF_IP,4);
eeprom_read_block((void*)&T_SELF_MAC, (void*)ESELF_MAC, 6);
eeprom_read_block((void*)&T_SELF_IP, (void*)ESELF_IP, 4);
Ethernet.begin(T_SELF_MAC, T_SELF_IP, GATEWAY);
Serialprint(" MAC: ");
printMac(T_SELF_MAC);
Serial.println();
Serialprint(" IP: ");
printIp(T_SELF_IP);
Serial.println();
modulEthernet = MODUL_ENABLE;
Serialprint("started\n");
}
void enableEthernet() {pinMode(10, OUTPUT); digitalWrite(10, LOW);}
void disableEthernet() {pinMode(10, OUTPUT); digitalWrite(10, HIGH);}
void enableSdCard() {pinMode( 4, OUTPUT); digitalWrite( 4, LOW);}
void disableSdCard() {pinMode( 4, OUTPUT); digitalWrite( 4, HIGH);}
Код взят прямо из библиотек компилятора без ардуиновской обертки , ардуино по моему имеет читать только по 1 байту, придется организовывать циклы.
P.S. С введением кеширования начали нормально загружаться картинки, иногда не загружалась последняя, причина не в том что сервер ее не отдавал, ее просто никто не спрашивал.
Re: Arduino Mega Server
Добавлено: Ср апр 27, 2016 1:42 pm
Alex
Alex...небольшая просьба...хотелось бы в новой версии мега сервера увидеть пример с записью в постоянную память контроллера.
Стандартная библиотека EEPROM позволяет легко и просто работать с постоянной памятью. Можно записывать ячейки, сохранять переменные различных типов и даже сохранять структуры и любые объекты — никаких проблем.
В АМС появится работа с EEPROM в ближайших версиях.
Re: Arduino Mega Server
Добавлено: Ср апр 27, 2016 8:06 pm
denis68
Всем доброго времени суток.
Alex огромное спасибо за проделанную работу.
Очень хочется разобраться с AMS duo+w5100, третий день не могу запустить.
Все прошил, могу только попинговать, сайт не открывается.
Подскажите что может быть???
Modul SD...
SD started... OK
index.htm... found
started
Modul RTC...
Waiting for NTP sync...
2016-04-27 20:07:02 started
2016-04-27 20:07:02 Modul Server... started
2016-04-27 20:07:02 Modul Timers... started
2016-04-27 20:07:02 Modul SD Info... started
2016-04-27 20:07:02 Modul PIR's... started
2016-04-27 20:07:02 Modul Contacts... started
2016-04-27 20:07:02 Modul Temperature...
2016-04-27 20:07:02 Parasite power OFF
2016-04-27 20:07:02 Found 0 devices
2016-04-27 20:07:02 #0: 0 0 0 0 0 0 0 tempSTR
2016-04-27 20:07:02 #1: 0 0 0 0 0 0 0 tempHOM
2016-04-27 20:07:02 #2: 0 0 0 0 0 0 0 tempWRM
2016-04-27 20:07:02 started
2016-04-27 20:07:03 Modul Electro... started
2016-04-27 20:07:03 Modul nooLite... started
2016-04-27 20:07:03 GLOBAL Init DONE
2016-04-27 20:07:03 AMS WORK
2016-04-27 20:07:03 tempSTR: ID problem or not present
2016-04-27 20:07:03 tempHOM: ID problem or not present
2016-04-27 20:07:03 tempWRM: ID problem or not present
2016-04-27 20:07:03 tempSTR: ID problem or not present
2016-04-27 20:07:03 tempHOM: ID problem or not present
2016-04-27 20:07:03 tempWRM: ID problem or not present
2016-04-27 20:07:03 tempSTR: ID problem or not present
2016-04-27 20:07:03 tempHOM: ID problem or not present
2016-04-27 20:07:03 tempWRM: ID problem or not present
2016-04-27 20:07:04 tempSTR: ID problem or not present
2016-04-27 20:07:04 tempHOM: ID problem or not present
2016-04-27 20:07:04 tempWRM: ID problem or not present
2016-04-27 20:07:04 tempSTR: ID problem or not present
2016-04-27 20:07:04 tempHOM: ID problem or not present
2016-04-27 20:07:04 tempWRM: ID problem or not present
2016-04-27 20:07:05 tempSTR: ID problem or not present
2016-04-27 20:07:05 tempHOM: ID problem or not present
2016-04-27 20:07:05 tempWRM: ID problem or not present
2016-04-27 20:07:05 tempSTR: ID problem or not present
2016-04-27 20:07:05 tempHOM: ID problem or not present
2016-04-27 20:07:05 tempWRM: ID problem or not present
2016-04-27 20:07:05 tempSTR: ID problem or not present
2016-04-27 20:07:05 tempHOM: ID problem or not present
2016-04-27 20:07:05 tempWRM: ID problem or not present
2016-04-27 20:07:06 tempSTR: ID problem or not present
2016-04-27 20:07:06 tempHOM: ID problem or not present
2016-04-27 20:07:06 tempWRM: ID problem or not present
2016-04-27 20:07:06 tempSTR: ID problem or not present
2016-04-27 20:07:06 tempHOM: ID problem or not present
2016-04-27 20:07:06 tempWRM: ID problem or not present
2016-04-27 20:07:06 tempSTR: ID problem or not present
2016-04-27 20:07:06 tempHOM: ID problem or not present
2016-04-27 20:07:06 tempWRM: ID problem or not present
2016-04-27 20:07:07 tempSTR: ID problem or not present
2016-04-27 20:07:07 tempHOM: ID problem or not present
2016-04-27 20:07:07 tempWRM: ID problem or not present
2016-04-27 20:07:07 tempSTR: ID problem or not present
2016-04-27 20:07:07 tempHOM: ID problem or not present
2016-04-27 20:07:07 tempWRM: ID problem or not present
2016-04-27 20:07:07 tempSTR: ID problem or not present
2016-04-27 20:07:07 tempHOM: ID problem or not present
2016-04-27 20:07:07 tempWRM: ID problem or not present
2016-04-27 20:07:08 tempSTR: ID problem or not present
2016-04-27 20:07:08 tempHOM: ID problem or not present
2016-04-27 20:07:08 tempWRM: ID problem or not present
2016-04-27 20:07:08 tempSTR: ID problem or not present
2016-04-27 20:07:08 tempHOM: ID problem or not present
2016-04-27 20:07:08 tempWRM: ID problem or not present
2016-04-27 20:07:08 tempSTR: ID problem or not present
2016-04-27 20:07:08 tempHOM: ID problem or not present
2016-04-27 20:07:08 tempWRM: ID problem or not present
2016-04-27 20:07:09 tempSTR: ID problem or not present
2016-04-27 20:07:09 tempHOM: ID problem or not present
2016-04-27 20:07:09 tempWRM: ID problem or not present
2016-04-27 20:07:09 tempSTR: ID problem or not present
2016-04-27 20:07:09 tempHOM: ID problem or not present
2016-04-27 20:07:09 tempWRM: ID problem or not present
2016-04-27 20:07:10 tempSTR: ID problem or not present
2016-04-27 20:07:10 tempHOM: ID problem or not present
2016-04-27 20:07:10 tempWRM: ID problem or not present
2016-04-27 20:07:10 tempSTR: ID problem or not present
2016-04-27 20:07:10 tempHOM: ID problem or not present
2016-04-27 20:07:10 tempWRM: ID problem or not present
2016-04-27 20:07:10 tempSTR: ID problem or not present
2016-04-27 20:07:10 tempHOM: ID problem or not present
2016-04-27 20:07:10 tempWRM: ID problem or not present
2016-04-27 20:07:11 tempSTR: ID problem or not present
2016-04-27 20:07:11 tempHOM: ID problem or not present
2016-04-27 20:07:11 tempWRM: ID problem or not present
2016-04-27 20:07:11 tempSTR: ID problem or not present
2016-04-27 20:07:11 tempHOM: ID problem or not present
2016-04-27 20:07:11 tempWRM: ID problem or not present
2016-04-27 20:12:01 tempSTR: ID problem or not present
2016-04-27 20:12:01 tempHOM: ID problem or not present
2016-04-27 20:12:01 tempWRM: ID problem or not present
2016-04-27 20:17:01 tempSTR: ID problem or not present
Re: Arduino Mega Server
Добавлено: Чт апр 28, 2016 9:59 am
nick7zmail
denis68 писал(а):Всем доброго времени суток.
Alex огромное спасибо за проделанную работу.
Очень хочется разобраться с AMS duo+w5100, третий день не могу запустить.
Все прошил, могу только попинговать, сайт не открывается.
Подскажите что может быть???
Ну сервер у вас запускается судя по логу...может sd-карту не видит, и не может открыть содержимое? Либо на карте структура каталогов неправильная... Попробуйте отформатить её, и снова данные залить.