Умный Дом по Ethernet
Re: Умный Дом по Ethernet
Выходы от датчиков и другого LAN оборудования, при вводе в шкаф решил предварительно подключать вот к таким планкам, сегодня получил, качество хорошее:
заказывал вот здесь: http://www.ebay.com/itm/390204401529?ss ... 1497.l2649
заказывал вот здесь: http://www.ebay.com/itm/390204401529?ss ... 1497.l2649
-
- Сообщения: 75
- Зарегистрирован: 03 май 2012, 22:45
Re: Умный Дом по Ethernet
Я все равно не очень понимаю как витую пару проложить. Нельзя объяснить? Ну т.е. берешь вот так витуху (купил медную сечением 0.5), ее в гофру, около батари петлю вытаскиваешь (? Какой длинны) и дальше что там, розетку ставить надо?_sa_ писал(а):Зависит от того какой датчик выберете. Если цифрофой, работающий по 1-wire, то на на одну шину их можно повесить несколько, грубо говоря, разрезал петлю, выдернул оттуда два провода, от к ним припаял датчик, в следующей петле на эти же два провода, еще датчик.
Опять же, в витой паре 8 проводов. Можно на разные провода повесить разные датчики.
Один вопрос - длинна. Думаю, далассовский датчик можно метров на 20 на проводах от контроллера расположить
Буду конечно 1-wire использовать
Re: Умный Дом по Ethernet
Я бы прикинул, хватил ли 8 проводов витой пары под все задачи. Если хватит, то сделал бы петлю с выводом в подрозетник. То есть, заштробил бы ее в стену, в гофре и петельку вывел подрозетнике там, где планируется использовать датчик. Размер петели я бы сделал такой, чтобы можно было поковыряться в проводах. Какие-то разрезать, подпаять провода до самого датчика.Rik писал(а): дальше что там, розетку ставить надо
Ну грубо. Подрозетник за батареей, в него розетку для телефонного провода (как она там называется, где не 8 контактов, а 4), например, датчик на кусочек провода и воткнуть в розетку.
Если отнестись к витой паре не как к мифической паре, а как к 8 проводам, которые можно перекусить и спаять, то концепт мира изменится
Re: Умный Дом по Ethernet
Внутри этой коробки витая пара припаянная у датчику расстояния ультрасоник. Направление для мысли, так сказать.
-
- Сообщения: 75
- Зарегистрирован: 03 май 2012, 22:45
Re: Умный Дом по Ethernet
Спасибо за ответы! Обмозгую и представлю вариант
Re: Умный Дом по Ethernet
Прошил Arduino UNO все замечательно работает, замечательная реализация, сейчас обзавелся Arduino Mega хочется ее заиспользовать на полную, никто не подскажет где копать в коде
1. чтобы увеличить количество обрабатываемых портов штук до 40?
2. на нескольких кнопках реализовать обработку долгого нажатия средствами самого устройства?
1. чтобы увеличить количество обрабатываемых портов штук до 40?
2. на нескольких кнопках реализовать обработку долгого нажатия средствами самого устройства?
Re: Умный Дом по Ethernet
извольтеникто не подскажет где копать в коде
char *aio[IO_SIZE] = {"C5", "D0", "C4", "D1", "C3", "C2", "D3", "B1", "D7", "D6", "D5", "C0", "D4", "C1"};отредактируйте тот массив в соответствии с вашими запросами
т к наверняка появятся дополнительные порты
вот сдесь
for ( i = 0; i < IO_SIZE; i++ )
{
port_letter = aio[0];
port_num = atoi(&aio[1]);
srv_timeout = 0;
srv_timeout_act = 0;
if (_port_type == 1 )
{
if ( port_letter == 'D' )
{
DDRD |= (1<<port_num);
if (_port_d == 1 )
PORTD|= (1<<port_num);
else
PORTD &= ~(1<<port_num);
// Выключаем ШИМ
if ( port_num == 6 )
TCCR0A &= ~(1 << COM0A1);
else if ( port_num == 5 )
TCCR0A &= ~(1 << COM0B1);
else if ( port_num == 3 )
TCCR2A &= ~(1 << COM2B1);
}
else if ( port_letter == 'C' )
{
DDRC |= (1<<port_num);
if (_port_d == 1 )
PORTC|= (1<<port_num);
else
PORTC &= ~(1<<port_num);
}
else if ( port_letter == 'B' )
{
DDRB |= (1<<port_num);
if (_port_d == 1 )
PORTB|= (1<<port_num);
else
PORTB &= ~(1<<port_num);
}
// Включаем ШИМ
if ( _port_m == 1 )
{
if ( port_letter == 'D' )
{
if ( port_num == 6 )
{
OCR0A = 0;
TCCR0A |= (1 << COM0A1);
// set fast PWM Mode
TCCR0A |= (1 << WGM01) | (1 << WGM00);
TCCR0B |= (1 << CS01);
}
if ( port_num == 5 )
{
OCR0B = 0;
TCCR0A |= (1 << COM0B1);
// set fast PWM Mode
TCCR0A |= (1 << WGM01) | (1 << WGM00);
TCCR0B |= (1 << CS01);
}
if ( port_num == 3 )
{
OCR2B = 0;
TCCR2A |= (1 << COM2B1);
// set fast PWM Mode
TCCR2A |= (1 << WGM21) | (1 << WGM20);
TCCR2B |= (1 << CS21);
}
}
}
}
else
{
if ( port_letter == 'D' )
DDRD &= ~(1<<port_num);
if ( port_letter == 'C' )
DDRC &= ~(1<<port_num);
if ( port_letter == 'B' )
DDRB &= ~(1<<port_num);
}
}
вероятно сдесь
if ( srv_cmd == '1' )
{
if ( port_letter == 'D' )
PORTD|= (1<<port_num);
else if ( port_letter == 'C' )
PORTC|= (1<<port_num);
else if ( port_letter == 'B' )
PORTB|= (1<<port_num);
}
// OFF
else if ( srv_cmd[i] == '0' )
{
if ( port_letter == 'D' )
PORTD &= ~(1<<port_num);
else if ( port_letter == 'C' )
PORTC &= ~(1<<port_num);
else if ( port_letter == 'B' )
PORTB &= ~(1<<port_num);
}
// Toggle
else if ( srv_cmd[i] == '2' )
{
if ( port_letter == 'D' )
PORTD ^= (1<<port_num);
else if ( port_letter == 'C' )
PORTC ^= (1<<port_num);
else if ( port_letter == 'B' )
PORTB ^= (1<<port_num);
}
сдесь
if ( port_letter == 'D' )
{
avr_port = DDRD;
avr_port_port = PORTD;
avr_port_pin = PIND;
}
else if ( port_letter == 'C' )
{
avr_port = DDRC;
avr_port_port = PORTC;
avr_port_pin = PINC;
}
else if ( port_letter == 'B' )
{
avr_port = DDRB;
avr_port_port = PORTB;
avr_port_pin = PINB;
}
может быть еще в паре мест , будете испытывать найдете
// Обработка нажатия кнопки.
char my_mask;
char my_mask2;
if (port_letter == 'D')
{
my_mask = get_key_press(1 << port_num);
my_mask2 = get_key_release(1 << port_num);
}
else
{
my_mask = get_key_press2(1 << port_num);
my_mask2 = get_key_release2(1 << port_num);
}
данная прошивка не приспособлена для обработки длительного нажатия
вам необходимо организовать таймер завести его при нажатии кнопки и через требуемый интервал опросить ее снова, если кнопка до сих пор нажата сделать вывод, таймер должен быть организован не с применением задержек типа Delay вот в принципе и все
Удачи
Re: Умный Дом по Ethernet
alexsis_76 Спасибо будем пробовать!
Re: Умный Дом по Ethernet
Всем доброго времени.
Собрал я схему, все прошилось и заработало даже с первого раза.
Неудобство пожалуй только в том, что хочется таки приделать wifi.
Пока получилось разместить плату прямо в wifi роутер, таким образом можно управлять и с планшета.
Может есть у кого мысли, как доработать по spi радиомодуль ?
Собрал я схему, все прошилось и заработало даже с первого раза.
Неудобство пожалуй только в том, что хочется таки приделать wifi.
Пока получилось разместить плату прямо в wifi роутер, таким образом можно управлять и с планшета.
Может есть у кого мысли, как доработать по spi радиомодуль ?
Re: Умный Дом по Ethernet
Как защитить входы atmega от помех? Провода от кнопок до мегадевайса 20 м.
Re: Умный Дом по Ethernet
как минимум включить в меге подтягивающие резисторы. в этой теме есть сообщение как это сделать.nevson писал(а):Как защитить входы atmega от помех? Провода от кнопок до мегадевайса 20 м.
другой вариант - припаять эти самые подтягивающие резисторы. 5-10 ком должно быть Ок.
в крайнем случае делать токовую петлю с оптронной развязкой.
Re: Умный Дом по Ethernet
Можно подробнее?dimonix писал(а): в крайнем случае делать токовую петлю с оптронной развязкой.
Re: Умный Дом по Ethernet
проще и дешевле сделать из роутера мегадевайс. да и возможностей у такого мода будет гораздо больше как в аппаратном плане (1wire, i2c, UART, wifi, ...), так и программном (owfs, ser2net, webmin/luci, php, ...).asteroid писал(а):Всем доброго времени.
Собрал я схему, все прошилось и заработало даже с первого раза.
Неудобство пожалуй только в том, что хочется таки приделать wifi.
Пока получилось разместить плату прямо в wifi роутер, таким образом можно управлять и с планшета.
Может есть у кого мысли, как доработать по spi радиомодуль ?
видимо пора создавать отдельную тему по этому поводу - что-типа "применение RoC (router on-chip) в домашней автоматизации". цены на подобные модули на основе RoC упали уже ниже 10 баксов ...
Re: Умный Дом по Ethernet
попробуйте для начала подтягивающие резисторы. мне этого вполне хватило для борьбы с ложными срабатываниями.nevson писал(а):Можно подробнее?dimonix писал(а): в крайнем случае делать токовую петлю с оптронной развязкой.
готовой схемы токовой петли у меня нет. проще всего спросить здесь, в разделе "картинки"
Re: Умный Дом по Ethernet
вот токовая петля http://easyelectronics.ru/tokovaya-petlya.html только в цепь правого оптрона со стороны диода ставите кнопку, обычная оптронная развязка
по входам на которые повешены кнопки, такие резисторы включенны в самом контроллере(без них не работает), но их сопротивление велико (порядка сотен килоом)поэтому на длинных линиях помехоустойчивость низкая при утечках на землю или действиях помех на высокоомном резисторе подтяжки происходит большое падение напряжения (закон Ома),он контроллер (тупая железяка, что с него взять)воспринимает эти ложые сигналы как нажатия кнопок , выход припаять внешние резисторы подтяжки на 10ком , (посмотрите на вывод RESET контроллера там сделано именно так)
мысль хорошаяпопробуйте для начала подтягивающие резисторы
по входам на которые повешены кнопки, такие резисторы включенны в самом контроллере(без них не работает), но их сопротивление велико (порядка сотен килоом)поэтому на длинных линиях помехоустойчивость низкая при утечках на землю или действиях помех на высокоомном резисторе подтяжки происходит большое падение напряжения (закон Ома),он контроллер (тупая железяка, что с него взять)воспринимает эти ложые сигналы как нажатия кнопок , выход припаять внешние резисторы подтяжки на 10ком , (посмотрите на вывод RESET контроллера там сделано именно так)
Re: Умный Дом по Ethernet
Да, возможно и проще. Сейчас цена на роутер и правда обойдется кабы не столько же как и все ИМС для обсуждаемого тут девайса.dimonix писал(а):проще и дешевле сделать из роутера мегадевайс. да и возможностей у такого мода будет гораздо больше как в аппаратном плане (1wire, i2c, UART, wifi, ...), так и программном (owfs, ser2net, webmin/luci, php, ...).
...
Но, как для меня, паять могу. А вот программировать, - только переделать готовую под свои нужды могу.
С нуля написать, не, у меня не выйдет.
По этому я очень даже "ЗА" создание темы переделки роутера под мегадевайс для дома.
Re: Умный Дом по Ethernet
Добавил в прошивку Мегадевайса поддержку цифрового датчика влажности и температуры DHT11.
На фотографии готовый интерфейсный модуль с отсоединенным от исполнительного модуля шлейфом. Датчик влажности можно подсоединять к любому из 14 доступных портов (но не к доп. АЦП портам ADC6/ADC7, которые появились в 4 релизе!) Ну и (для неподготовленных пользователей) к готовому исполнительному модулю MegaD-7I7O этот датчик цеплять не нужно - ничего не выйдет.
Тип порта DSen (что означает Digital Sensor)
Внимание! Прошивка тестовая!
Поддержка DHT22 тоже будет. В коде она уже есть, но во-первых, у меня нет DHT22, чтобы проверить, а во-вторых, надо как-то объединить код, так как DHT22 возвращает float, а DHT11 int, а тупо дублировать на 80% повторяющийся код как-то не хочется. В то же время, к одному Мегадевайсу могут быть подключены и те и другие датчики.
Температуру DHT11 показывает более-менее сносно, а влажность - по-моему врет по-черному. Ну, точнее, датчик вполне сгодится для определения резких скачков влажности, например, в ванной.
http://ab-log.ru/files/File/ip_manager3 ... _beta1.zip
http://ab-log.ru/files/File/ip_manager3 ... a1_hex.zip
На фотографии готовый интерфейсный модуль с отсоединенным от исполнительного модуля шлейфом. Датчик влажности можно подсоединять к любому из 14 доступных портов (но не к доп. АЦП портам ADC6/ADC7, которые появились в 4 релизе!) Ну и (для неподготовленных пользователей) к готовому исполнительному модулю MegaD-7I7O этот датчик цеплять не нужно - ничего не выйдет.
Тип порта DSen (что означает Digital Sensor)
Внимание! Прошивка тестовая!
Поддержка DHT22 тоже будет. В коде она уже есть, но во-первых, у меня нет DHT22, чтобы проверить, а во-вторых, надо как-то объединить код, так как DHT22 возвращает float, а DHT11 int, а тупо дублировать на 80% повторяющийся код как-то не хочется. В то же время, к одному Мегадевайсу могут быть подключены и те и другие датчики.
Температуру DHT11 показывает более-менее сносно, а влажность - по-моему врет по-черному. Ну, точнее, датчик вполне сгодится для определения резких скачков влажности, например, в ванной.
http://ab-log.ru/files/File/ip_manager3 ... _beta1.zip
http://ab-log.ru/files/File/ip_manager3 ... a1_hex.zip
-
- Сообщения: 177
- Зарегистрирован: 07 ноя 2011, 23:04
- Откуда: Россия, Самара
- Контактная информация:
Re: Умный Дом по Ethernet
Вот за это большое спасибо Andrey_B. Давно ждал когда добавите поддержку температуры. У меня правда есть и тот и тот датчик, так что сегодня попробую залить прошивку и протестировать DHT11.Andrey_B писал(а):Добавил в прошивку Мегадевайса поддержку цифрового датчика влажности и температуры DHT11.
-
- Сообщения: 177
- Зарегистрирован: 07 ноя 2011, 23:04
- Откуда: Россия, Самара
- Контактная информация:
Re: Умный Дом по Ethernet
Andrey_B прошил я контроллер готовым hex. И почему то не заработал датчик. Описываю что делал , один датчик DHT11 и одно устройство Mega. У DHT11 1 нога-VCC (слева направо) , 2 нога-data, 4 нога -gnd. Сделал одну из ног в тип DSen. А показатели остались нулевые, попробовал на разных выводах, но результат везде отсутствовал.andvas писал(а):Вот за это большое спасибо Andrey_B. Давно ждал когда добавите поддержку температуры. У меня правда есть и тот и тот датчик, так что сегодня попробую залить прошивку и протестировать DHT11.
И еще заметил в прошивке одну ошибку скорее всего, для меня по крайней мере. В свежем прошитом контроллере все ноги в состоянии NC. Беру любой вывод делаю его OUT. Появляются ссылки на ON, OFF, Type, Default state. Вывод прекрасно отключается и включается. Потом этот вывод делаю в type DSen, данных так и нет с датчика. Потом возвращаю вывод в состояние Out, при этом пропадают ссылки ON, OFF и появляется PWM(0-255). И никаким образом ссылки ON и OFF не появляются, если только не перепрошить atmega.
Re: Умный Дом по Ethernet
andvas, во-первых, следует проверить корректность подключения датчика (наличие подтягивающего резистора, см Datasheet). Во-вторых, код работы с датчиком сильно чувствителен к величине задержек, от которых зависит корректность работы протокола. Прошивка адаптирована к "фабричной" версии Мегадевайса, когда тактирование (F_CPU) идет от ENC28J60 и МК работает на частоте 12,5Мгц. При любом другом варианте работать не будет и нужно модифицировать прошивку.
Насчет описанной вами ситуации с конфигурацией посмотрю, спасибо.
Насчет описанной вами ситуации с конфигурацией посмотрю, спасибо.