Страница 100 из 125

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

Добавлено: 28 фев 2015, 23:24
DOCSIMUS
Всем добрый вечер.
Есть проблемка.
Есть сервер на маленьком атоме. Debian без графики. Все хорошо работает.
Но когда стал все настраивать, то обратил внимание на одну неприятную вещь.
В устройстве мега прописан основной сервер и скрипт, а также в разделе действия стоит переключение порта (например, 10:2).
Жму кнопку и скрипт на сервере все корректно отрабатывает.
Проходит некоторое время в течении которого бездействие (не знаю точно сколько - более часа).
Снова жму кнопку - пауза (сервер молчит), по таймауту срабатывает отработка действия, прописанного в меге - 10:2 - выход переключился. И тут приходит ответ от сервера и соответственно снова переключение порта. Сам процесс обмена не записывал (кстати, как это можно сделать ? в логах апачи только входящие http запросы). Поэтому только по внешенй реакции сужу. Такое впечатление, что сервер уснул или затормозил - паузы между нажатием кнопки и ответа от сервера до 3 сек. Все это дело проходит, если как-нибудь "толкнуть" сервер - не понял как это происходит, но точно все нормализуется, если например зайти на сервер по SSH, а может быть просто включить компьютер... И все нормально снова - реакция сервера моментальная. Куда копать не пойму. Как записать лог обмена http между сервером и мегой (чтобы были видны не только входящие, но и исходящие от сервера)? И что вообще делать? Может быть кто сталкивался и знает?

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

Добавлено: 28 фев 2015, 23:36
Andrey_B
Скорее всего жесткий диск засыпает (spin down).
Посмотрите настройки hdparm (/etc/hdparm.conf) и опция -S для этой утилиты.
Версию ухода Web-сервера в swap из-за недостатка оперативной памяти можно, наверное, исключить, раз проблема решается логином через ssh.

Как временная мера, пока не найдете причину, попробуйте в cron прописать что-нибудь типа ls -l / >/dev/null каждые 5 минут.

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

Добавлено: 01 мар 2015, 01:39
DOCSIMUS
Andrey_B писал(а):Скорее всего жесткий диск засыпает (spin down).
Посмотрите настройки hdparm (/etc/hdparm.conf) и опция -S для этой утилиты.
Версию ухода Web-сервера в swap из-за недостатка оперативной памяти можно, наверное, исключить, раз проблема решается логином через ssh.

Как временная мера, пока не найдете причину, попробуйте в cron прописать что-нибудь типа ls -l / >/dev/null каждые 5 минут.
утилиты hdparm у меня не было
установил
на всякий случай сделал hdparm -S 0 /dev/sda
сервер не перегружал
но после некоторого времени все повторилось
сейчас ребутнул сервер - может быть надо было, не знаю

память вот на всякий случай
total used free shared buffers cached
Mem: 1813952 183740 1630212 0 10420 81932
-/+ buffers/cache: 91388 1722564
Swap: 3666940 0 3666940

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

Добавлено: 01 мар 2015, 04:13
DOCSIMUS
Дело оказалось не в spin down.
Выяснил, что как только отключаю свой основной компьютер от локальной сети, сервер начинает "тормозить".
Просмотрел Wireshark'ом, а при каждом нажатии кнопки пакеты идут от сервера на основной компьютер с порта 9000.
Сразу вспомнил, что настраивал удаленную отладку php xdebug'ом - отключил и все нормализовалось.
За помощь все равно спасибо.

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

Добавлено: 31 мар 2015, 17:04
kinord
Dron писал(а):
3din_итог.zip
Изображение
собственно, как и обещал, выкладываю. комплектующие подписаны.
ENC использую примерно такой, подключается через разъём
ардуинку использую такую, она жёстко впаивается



дополнение - используемые фьюзы:
Изображение
соответственно, если используется загрузчик, то high fuse становятся D8
Заранее извиняюсь, за, может быть, излишнее цитирование, но это, что бы долго не объяснять суть моей нехитрой проблемы, т.к. тема уже довольно большая.

Подскажите как правильно выставить фьюзы?

Установил программу, как у автора на скриншоте - она по умолчанию не шьет 328. В инете нашел мануал как в конфиг программы добавить нужный контроллер, но при прошивке всё равно ругается. В другой программе (например AVRDUDE_PROG) фьюзы нельзя выставить такие как на скриншоте.
Подскажите какие правильно установить фьюзы, что бы не запороть микруху.

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

Добавлено: 01 апр 2015, 00:46
Dron
эта программа у меня потому, что она единственная поддерживает мой программатор.
для работы с 328р нужно добавить

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

	<CHIP>
		<NAME>ATmega328P</NAME>
		<FLASH>32768</FLASH>
		<EEPROM>1024</EEPROM>
		<SIG>0x000F951E</SIG>
		<PAGE>128</PAGE>
		<LFUSE layout="2">YES</LFUSE>
		<HFUSE layout="5">YES</HFUSE>
		<EFUSE layout="4">YES</EFUSE>
		<LOCK>YES</LOCK>
		<CALIB>YES</CALIB>
		<PLACEMENT>.\Images\Placements\ZIF_DIP_40.bmp</PLACEMENT>
	</CHIP>
в файл chips.xml
и важно:
скриншот сделан до появления загрузчика, потому сейчас я выставляю фьюзы FF D8 FA

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

Добавлено: 02 апр 2015, 13:19
kinord
Благодарю!

Прошивку залил - девайс заработал от программатора, осталось помудрить с собственным питанием.
То, что греется ENC - это нормально?

Ещё раз огромное спасибо за помощь!

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

Добавлено: 07 апр 2015, 10:15
looc
Внимательно все изучаю и готовлюсь к реализации УД с использованием MegaD-238 и 1-wire. Хочу документировать в виде фотографий работ поэтапно, для себя и, мб если Андрей не будет против, выложить их в отдельном форуме, так как по моему мнению не хватает простой визуализации данного проекта, не немножко было показано на форуме "Помогите девушке разобраться". Я имею ввиду тонкость, например фото реального (физического) подключения датчиков, фотографий реализации шкафов с оборудованием, думаю, что это поможет развитию и избежание (исправление) ошибок в будущем.
Да теперь по теме:
Для подключения сети 1-wire на данном сайте идет обсуждение USB адаптера DS9490R, который подсоединятся непосредственно к компу, что не очень удобно, особенно к однопалатным, например Raspberry Pi 2 Model B 1GB RAM ссылка: http://onpad.ru/shop/cubie/raspberrypi/ ... /1625.html. вычитал про АДАПТЕР ETHERNET-1-WIRE С УСТАНОВКОЙ НА ДИН РЕЙКУ ссылка http://radioseti.ru/index.php?route=pro ... uct_id=142 хотел бы обсудить этот адаптер, удобство понимаю как ethernet подключение и DIN-реечное подключение.

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

Добавлено: 09 апр 2015, 16:24
vladimir22
looc писал(а):вычитал про АДАПТЕР ETHERNET-1-WIRE С УСТАНОВКОЙ НА ДИН РЕЙКУ ссылка http://radioseti.ru/index.php?route=pro ... uct_id=142 хотел бы обсудить этот адаптер, удобство понимаю как ethernet подключение и DIN-реечное подключение.
приобрел подобный .
я так и не смог его подружить с OWFS, с бенуксом работает на ура. поддержка в бенуксе запилена автором.

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

Добавлено: 09 апр 2015, 18:22
stels3737
vladimir22 писал(а):
looc писал(а):вычитал про АДАПТЕР ETHERNET-1-WIRE С УСТАНОВКОЙ НА ДИН РЕЙКУ ссылка http://radioseti.ru/index.php?route=pro ... uct_id=142 хотел бы обсудить этот адаптер, удобство понимаю как ethernet подключение и DIN-реечное подключение.
приобрел подобный .
я так и не смог его подружить с OWFS, с бенуксом работает на ура. поддержка в бенуксе запилена автором.
остается спросить у автора бенукс как его прикрутить в OWFS, делов та на 5 минут, что в линуксе что в виндовсе

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

Добавлено: 10 апр 2015, 10:58
vladimir22
спрашивал .
готов вам предоставить тестовый полигон , для проведения таких действий. Хоть боевую систему , хоть тестовую виртуальную среду.

зы я неделю переписывался с производителем девайса , и с автором бенукса , у меня так и не получилось.

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

Добавлено: 10 апр 2015, 13:20
stels3737
vladimir22 писал(а):спрашивал .
готов вам предоставить тестовый полигон , для проведения таких действий. Хоть боевую систему , хоть тестовую виртуальную среду.

зы я неделю переписывался с производителем девайса , и с автором бенукса , у меня так и не получилось.
Вот посмотрите здесь http://stackoverflow.com/questions/2386 ... -for-linux - кто делал сказал что специалист сразу поймет что и как

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

Добавлено: 10 апр 2015, 13:26
vladimir22
пройденный этап.... не видит OWFS того мастера (ds2480) который стоит в этих девайсах.
да да предвижу вопрос - да, стоит там в качестве заглушки DS1820 и бенукс успешно видит его и читает.
если кто то готов поковыряться, или наружу открою этот преобразователь, или создам тестовую среду .

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 10 апр 2015, 14:35
alexsis_76
507 у вас в коде наверняка есть такое(по крайней мере в оригинале было)

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

if(TickGet() - StartTime > 4*TICK_SECOND)
выдежка 4 секунды
а еще там есть

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

TICK_SECOND
TICK_MINUTE
TICK_HOUR 
подставляя на место TICK_SECOND указанные макросы получим требуемую задежку

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

alexsis_76, если я правильно вас понял, вы предлагаете то же, что я описал в пункте 2. То есть отправлять в цикле команду на конвертацию. Только вы предлагаете делать это часто. Долбить датчик раз в секунду? Не знаю. И, кстати, в этом случае я не уверен в отсутствии "self heating problem".
угу

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

Долбить датчик раз в секунду?
а кто мешает увеличить время (минуты, часы,дни)надо только заменить константу и добавить несколько строк кода

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 10 апр 2015, 14:51
507
alexsis_76 писал(а):507 у вас в коде наверняка есть такое(по крайней мере в оригинале было)
Вы мне льстите.
Мой код...
Я пока очень далек от того что б создать что то свое, эх если б мог то столько хотелок своих решил, а сколько появилось бы еще, жуть.
Я так понял Вы сослались про код для PIC. так?

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 10 апр 2015, 15:00
alexsis_76
вот правда для авр, для пик понадобится поменять код для работы с оборудыванием, остальное вроде бы кросплатформенное
в архиве вариант оригинальный (от производителя)алгоритм поиска с ,за один проход оперделяет адрес одного устройства на шине , позволяет искать устройства указанного пользователем семейства, для каждого устройства считает crc, требуется вызывать в цикле пока не вернет false,после этого номера всех найденных устройств будут записаны в буффер,т,к на момент написания прошивки был всего лишь один датчик , то измерение производится вот так

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

uint8_t start_convert(void)
{	
    uint8_t convert_busy;
	ow_reset();							// сброс 1-wire
	ow_write_byte(OW_SKIP_ROM_CMD);		// команда "пропустить адрес"
	ow_write_byte(CMD_START_CONV);		// команда "начать измерение"
    return convert_busy=1;// возвратим флаг занятости
	}
ow_write_byte(OW_SKIP_ROM_CMD); // команда "пропустить адрес"
где то есть исходник где есть работа с несколькими датчиками (надо искать)

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 10 апр 2015, 15:01
alexsis_76
Я так понял Вы сослались про код для PIC. так?
нужно изменить только нижний уровень

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 10 апр 2015, 16:09
alexsis_76
507 вот это вроде рабочее
все то же самое что и в предыдущем ,заменены только функции работы с шиной,
uint8_t INIT_1WARE(uint8_t *OW_Buf) //инициализируем библиотеку и записываем номера датчиков в массив
{
uint8_t count=0,i;
//i=ow_reset();
//return i;

result = OWFirst();
while (result)
{
for(i=0;i<8;i++)
{
*OW_Buf ++=ROM_NO;
}
result = OWNext();
count++;
}
return count;
}

uint8_t read_temperature(uint8_t*buf_ware_DS1820,uint8_t *buf_temperature)
{

uint8_t i,t=0,ROM_NO_DS[8],result=1;
uint16_t *ware_ptr_DS=ROM_NO_DS;
int tt;
temperature_result_flag=0;
result=ow_reset();
ow_write_byte(OW_SKIP_ROM_CMD);
ow_write_byte(CMD_RD_SCRPAD); // команда "считать регистры датчика"
//чтение данных из датчика
for( i=0;i<8;i++){ // читаем до тех пор пока не получим все 9 байтов
ROM_NO_DS=ow_read_byte(); // читаем байт в буфер
tt = (*ware_ptr_DS>>1); // заполняем буфер
}
tt = *ware_ptr_DS>>4; // выкидываем доли температуры
// если температуоа отрицательная

t=tt & 0x00ff;
// выкидываеи ст байт
if(tt>127){ // если температуоа отрицательная
//t=tt-256;
t=~t;
temperature_result_flag=1; // признак что температура отрицательна
}
//if(tt==NULL)

*buf_temperature=t;
return result;
}
uint8_t start_convert(void)
{
uint8_t convert_busy;
ow_reset(); // сброс 1-wire
ow_write_byte(OW_SKIP_ROM_CMD); // команда "пропустить адрес"
ow_write_byte(CMD_START_CONV); // команда "начать измерение"
return convert_busy=1;// возвратим флаг занятости
}

если вызвать uint8_t INIT_1WARE то она заполнит uint8_t *OW_Buf номерами устройств и вернет count количество найденных устройств
остальные две функции осуществляют конвертирование и считывание показаний
если заменить ow_write_byte(OW_SKIP_ROM_CMD); // команда "пропустить адрес"
адресом устройства из OW_Buf то можно использывать несколько датчиков uint8_t замените на unsigned char или BYTE,uint16_t-WORD
OW_Buf буффер соотстветствующего размера,библиотека позволяет найти любое число устройств на шине,все ограничено лишь размером буфера, и вам нужно будет описать функцию селекции датчиков, при отключении хотя бы одного устройства остальные сбиваются в кучу

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 10 апр 2015, 16:42
507
спасибо, возьмем на заметку.
Вот еще думаю, что можно вынести на SD карту для высвобождения ресурсов.

Re: Прошивка MegaD-328 (релизы, обсуждения, предложения)

Добавлено: 11 апр 2015, 02:23
alexsis_76
Вот еще думаю, что можно вынести на SD карту
данные для построения веб страниц