Умный Дом по Ethernet

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
cyb650
Сообщения: 47
Зарегистрирован: 08 янв 2013, 15:28
Откуда: СПб

Re: Умный Дом по Ethernet

Сообщение cyb650 » 08 июн 2013, 11:49

alexsis_76 писал(а):
Какие настройки сети проверить?
настройки роутера роутеры обычно настрайиваются на подсеть 192.168.1 т е или настроить роутер на подсеть 192.168.0 или прошить девайс 192.168.1.14 это при маске 255.255.255.0 это происходит из за того что девайс не может работать с подсетями :( и если есть DHCP ИСКЛЮЧИТЕ АДРЕС ДЕВАЙСА ИЗ ДИАПАЗОНА АДРЕСОВ ПОСЛЕДНЕГО
Да, спасибо, именно в этом и было дело, все заработало.
Собрал девайс на Arduino Pro Mini (Mega328P) + известный готовый сетевой модуль.
Сейчас пытаюсь разбираться с прошивкой - если гружу скомпилированную автором, то все работает, а если компилирую из исходников сам (AVR Studio 4.19), то сервер выдает ошибку авторизации (401 Unauthorized) :(
Есть лишние модули Beckhoff. Пишите в личку.

alexsis_76
Сообщения: 1071
Зарегистрирован: 26 авг 2011, 05:09
Откуда: Забайкальский край п Оловянная

Re: Умный Дом по Ethernet

Сообщение alexsis_76 » 08 июн 2013, 13:44

а если компилирую из исходников сам (AVR Studio 4.19), то сервер выдает ошибку авторизации (401 Unauthorized)
где то промаргивала такая проблема помнится решилась добавлением volatile посмотрите сообщения ТНК в этой теме
вот
THK » 19 окт 2012, 17:38

qdjdfy007 писал(а):
У меня почему то зависает ровно через сутки веб интрфейс (пишет 401 Unauthorized). Информация на дисплее отображается исправно....

Сегодня столкнулся с этой же проблемой, но по другой причине, GCC v4.4.5 с уровнем оптимизации "s", делает немного более компактный код, но и WEB начинает вести себя как Вы описали.
Попробуйте изменить объявление переменной password с
КОД: ВЫДЕЛИТЬ ВСЁ
static char password[7];

на
КОД: ВЫДЕЛИТЬ ВСЁ
volatile char password[7];

или
КОД: ВЫДЕЛИТЬ ВСЁ
volatile static char password[7];

Должно помочь.
THK
Модератор

cyb650
Сообщения: 47
Зарегистрирован: 08 янв 2013, 15:28
Откуда: СПб

Re: Умный Дом по Ethernet

Сообщение cyb650 » 08 июн 2013, 19:57

alexsis_76 писал(а):
а если компилирую из исходников сам (AVR Studio 4.19), то сервер выдает ошибку авторизации (401 Unauthorized)
где то промаргивала такая проблема помнится решилась добавлением volatile посмотрите сообщения ТНК в этой теме
вот
К сожалению, не помогает, равно как и отключение оптимизации.. Кто-нить под виндой компилял успешно?
Есть лишние модули Beckhoff. Пишите в личку.

AlexZ
Сообщения: 6
Зарегистрирован: 04 фев 2013, 21:26

Re: Умный Дом по Ethernet

Сообщение AlexZ » 08 июн 2013, 20:44

у меня на Arduino Uno, компилирую без проблем этим: http://sourceforge.net/projects/winavr/ ... /20100110/

ellab
Сообщения: 35
Зарегистрирован: 11 июн 2013, 16:47

Re: Умный Дом по Ethernet

Сообщение ellab » 11 июн 2013, 17:47

Здравствуйте всем! Сразу хотел бы поблагодарить Андрея за ОГРОМНУЮ работу! Собрал Megad-328 отлично работает, но есть вопросы:
1. Как изменить названия портов в 192.168.0.14 (к примеру P0 изменить на GARAGE) пробовал менять код в браузере работает до первого обновления HTML (в исходниках так же не нашел))
2. Я понимаю что не могу этого просить,но можно сделать FAQ для ламеров по созданию web сервера (ПРОБОВАЛ БИЛСЯ НЕ ПОЛУЧИЛОСЬ)
Заранее спасибо, с уважением Дмитрий!

Shershnyov
Сообщения: 9
Зарегистрирован: 09 апр 2012, 16:56

Re: Умный Дом по Ethernet

Сообщение Shershnyov » 11 июн 2013, 19:15

Хочу для начала собрать устройство на готовом ethernet модуле и arduino pro mini. В поиске по теме толком ничего не нашел. У кого то есть скетч для ардуино про мини ?

alexsis_76
Сообщения: 1071
Зарегистрирован: 26 авг 2011, 05:09
Откуда: Забайкальский край п Оловянная

Re: Умный Дом по Ethernet

Сообщение alexsis_76 » 11 июн 2013, 19:27

У кого то есть скетч для ардуино про мини
сдесь используют не скетч а программу предоставленную Андреем

alexsis_76
Сообщения: 1071
Зарегистрирован: 26 авг 2011, 05:09
Откуда: Забайкальский край п Оловянная

Re: Умный Дом по Ethernet

Сообщение alexsis_76 » 11 июн 2013, 19:30

Как изменить названия портов в 192.168.0.14
никак эти константы прописаны в заголовочных файлах, но можно использывать # define

Shershnyov
Сообщения: 9
Зарегистрирован: 09 апр 2012, 16:56

Re: Умный Дом по Ethernet

Сообщение Shershnyov » 11 июн 2013, 19:58

А, понял. Откомпилировать и залить c помощью usbasp сразу на ардуину? Разводки в этой теме 2011г актуальны еще? Может у кого есть по свежее? Или схемка в диптрейс?

dimonix
Сообщения: 366
Зарегистрирован: 19 фев 2012, 22:01
Откуда: Сколково

Re: Умный Дом по Ethernet

Сообщение dimonix » 11 июн 2013, 20:03

Shershnyov писал(а):Хочу для начала собрать устройство на готовом ethernet модуле и arduino pro mini. В поиске по теме толком ничего не нашел. У кого то есть скетч для ардуино про мини ?
видимо плохо искали - viewtopic.php?f=1&t=6&start=760#p4648
и здесь viewtopic.php?f=1&t=6&p=7540#p7540
только заливается не скетч через USB, а "полноценная" прошивка через ISP программатор.

Shershnyov
Сообщения: 9
Зарегистрирован: 09 апр 2012, 16:56

Re: Умный Дом по Ethernet

Сообщение Shershnyov » 11 июн 2013, 20:19

dimonix писал(а):
Shershnyov писал(а):Хочу для начала собрать устройство на готовом ethernet модуле и arduino pro mini. В поиске по теме толком ничего не нашел. У кого то есть скетч для ардуино про мини ?
видимо плохо искали - viewtopic.php?f=1&t=6&start=760#p4648
и здесь viewtopic.php?f=1&t=6&p=7540#p7540
только заливается не скетч через USB, а "полноценная" прошивка через ISP программатор.
Спасибо огромное!

ellab
Сообщения: 35
Зарегистрирован: 11 июн 2013, 16:47

Re: Умный Дом по Ethernet

Сообщение ellab » 11 июн 2013, 21:12

alexsis_76 писал(а):
Как изменить названия портов в 192.168.0.14
никак эти константы прописаны в заголовочных файлах, но можно использывать # define
А можно поподробнее?...
И еще было бы здорово прикрутить к ADC срабатывание по установленному значению. Намекните как сделать? :roll:

Andrey_B
Администратор
Сообщения: 4096
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 11 июн 2013, 22:49

ellab, устройство изначально задумывалось как умный исполнитель, который работает в единой информационной системе Умного Дома.
Web-интерфейс устройства предназначен главным образом для настройки и в гораздо меньшей степени для управления.
Все управление должно в идеале происходить через сервер, на котором установлен полноценный Web-интерфейс (HTML5/JS и т.д.)

Решений тут несколько.
1. Встроить эти "альясы" в устройство, но тогда придется пожертвовать EEPROM'ом и увеличить размер буфера под TCP-пакет. А память - ОЧЕНЬ дорогой ресурс в микроконтроллерах. Мне кажется ее можно использовать более разумно.
2. Разработать простенький скрипт-шлюз для сервера (например, на PHP), в котором вы выбираете конкретное устройство, а в нем конкретный порт по именам.
3. Использовать демо-интерфейс, в котором отчасти эта проблема решена, так как там встроено управление портами по альясам.

По поводу ADC. Здесь примерно такая же ситуация. В случае наличия сервера, лучше отдать ему интерпретацию значений. Другое дело, когда сервера нет, но тут возникает целый ряд вопросов (примерно с десяток) - как все это делать.

ellab
Сообщения: 35
Зарегистрирован: 11 июн 2013, 16:47

Re: Умный Дом по Ethernet

Сообщение ellab » 11 июн 2013, 23:00

Андрей, огромное спасибо! Основная проблема как раз в том, что я дня 4 пробовал запустить web-сервер, но безрезультатно.... Нахватает знаний в виду немного другой специфики работы. Следовал инструкциям по установке apache, mysql, php скинул ваши исходники и в ответ получил загрузку (download) Index.php. :cry:
И правда ли что исходники подходят под windows? А вот с порогом срабатывания АЦП вопрос стоит остро. Может если будет время добавите эту функцию, да и раньше на форуме такие просьбы были.

Andrey_B
Администратор
Сообщения: 4096
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 11 июн 2013, 23:26

download php - значит не установлен php или не настроен Apache.
Если вы в Debian, то там все делается просто и автоматически
apt-get install apache2 php5 mysql-server
и все дела

Теоретически исходники Web-интерфейса должны работать в Windows, но я не проверял.

По поводу АЦП
1. С какой периодичностью проверять АЦП?
2. Это должен быть настраиваемый параметр?
3. Должно настраиваться направление: больше, меньше, равно?
4. А что делать, если АЦП находится в пограничной зоне и постоянно проходит порог срабатывания?
5. А может быть надо, чтобы настраивалась длительность при которой значение можно считать активным?
6. А может нужно еще настраивать диапазон?
7. Нужна также настройка - проверять автоматически состояние ADC или нет. Или проверять те, у которых заполнен Action? А если я хочу получать сообщение на сервер, без Action?
8. А может быть нужен еще и NetAction и такая же логика работы, как у портов типа IN?

ellab
Сообщения: 35
Зарегистрирован: 11 июн 2013, 16:47

Re: Умный Дом по Ethernet

Сообщение ellab » 11 июн 2013, 23:44

Andrey_B писал(а): По поводу АЦП
1. С какой периодичностью проверять АЦП?
2. Это должен быть настраиваемый параметр?
3. Должно настраиваться направление: больше, меньше, равно?
4. А что делать, если АЦП находится в пограничной зоне и постоянно проходит порог срабатывания?
5. А может быть надо, чтобы настраивалась длительность при которой значение можно считать активным?
6. А может нужно еще настраивать диапазон?
7. Нужна также настройка - проверять автоматически состояние ADC или нет. Или проверять те, у которых заполнен Action? А если я хочу получать сообщение на сервер, без Action?
8. А может быть нужен еще и NetAction и такая же логика работы, как у портов типа IN?
1.Думаю минимум раз в 5с (а если возможно и чаще)
2.Настраиваемый в исходнике
3.Больше. если понадобиться меньше играть OUT'ом
4.Добавить поле "гистерезис"
5.Если возможно то только в исходнике
6.думаю не нужно
7.Опрашивать все
8.Идеальный вариант!!!
СПАСИБО ЧТО НЕ ОСТАЕТЕСЬ РАВНОДУШНЫМ! ;)

ellab
Сообщения: 35
Зарегистрирован: 11 июн 2013, 16:47

Re: Умный Дом по Ethernet

Сообщение ellab » 12 июн 2013, 00:32

cyb650 писал(а):Кто-нить под виндой компилял успешно?
Winavr-20100110 комилит без проблем ;)

Urbas81
Сообщения: 313
Зарегистрирован: 28 авг 2012, 14:22

Re: Умный Дом по Ethernet

Сообщение Urbas81 » 12 июн 2013, 09:37

Давно хочу спросить у участников данного форума, может у кого есть или кто-то знает где можно посмотреть или скачать библиотеку для работы в CodeVisionAVR с ENC28J60 где была бы возможность отправки сообщений на сервер с модуля, как это реализовано на мегадевайсе. Сколько ни пытался переписать с WINAVR библиотеки не получается, в WINAVR ,блиотеке еще куча полезностей типа WOL, DHCP и т.д но как это перенести на CVAVR?

alexsis_76
Сообщения: 1071
Зарегистрирован: 26 авг 2011, 05:09
Откуда: Забайкальский край п Оловянная

Re: Умный Дом по Ethernet

Сообщение alexsis_76 » 12 июн 2013, 12:22

Как изменить названия портов в 192.168.0.14
а дошло что вам нужно чтобы вместо этого
{"D0", "D1", "D3", "D4", "D5", "D6", "D7", "C0", "C1", "C2", "C3", "C4", "C5"}
были человеческие имена попробуйте так создайте массив имен что то типа этого
#define IO_SIZE_NAME 13
char *aion[ IO_SIZE_NAME] = {"сдесь ваши 13 имен", "имя", "имя", "имя", "имя", "имя", "имя", "имя", "имя", "имя", "имя", "имя", "имя"};
затем это plen=fill_tcp_data(buf,plen,aio);заменить на это plen=fill_tcp_data(buf,plen,aion); напишите что будет
И еще было бы здорово прикрутить к ADC срабатывание по установленному значению. Намекните как сделать?
сдесь
// Если порт является АЦП
if ( _port_type[atoi(gStrbuf)] == 2 )
{
ADMUX = (1 << REFS0) + port_num;
//ADMUX |= (1 << ADLAR);
ADCSRA|=(1<<ADSC);
while (bit_is_set(ADCSRA, ADSC))
;
//_delay_loop_1(0); // 60us
//_delay_loop_1(0); // 60us
uint16_t my_val;
uint8_t my_val_low;
my_val_low = ADCL;
my_val = (ADCH<<8)|my_val_low;
//snprintf_P(temp,sizeof(temp),PSTR("%d"),my_val);
itoa (my_val, temp, 10);
plen=fill_tcp_data(buf,plen, temp);
}
запускается ацп преобразование и результат записывается в буфер результат преобразования представляет собой абстрактное значение ни к чему не привязанное вам нужно определить что с ним делать дальше вот сдесь
http://ab-log.ru/forum/viewtopic.php?f=1&t=462 нечто приближенное к вашему варианту измерения напряжения с помощью ацп

Urbas81
Сообщения: 313
Зарегистрирован: 28 авг 2012, 14:22

Re: Умный Дом по Ethernet

Сообщение Urbas81 » 12 июн 2013, 12:36

alexsis_76 писал(а):
Как изменить названия портов в 192.168.0.14
а дошло что вам нужно чтобы вместо этого
{"D0", "D1", "D3", "D4", "D5", "D6", "D7", "C0", "C1", "C2", "C3", "C4", "C5"}
были человеческие имена попробуйте так создайте массив имен что то типа этого
#define IO_SIZE_NAME 13
char *aion[ IO_SIZE_NAME] = {"сдесь ваши 13 имен", "имя", "имя", "имя", "имя", "имя", "имя", "имя", "имя", "имя", "имя", "имя", "имя"};
затем это plen=fill_tcp_data(buf,plen,aio);заменить на это plen=fill_tcp_data(buf,plen,aion); напишите что будет


Скорее всего будет ошибка 401, т.к размер страницы будет слишком большой, я себе когда добавлял дополнительные порты для TQFP корпуса, так мне пришлось имена портов еще урезать и убрать версию прошивки, чтоб влезть в размер.

Ответить