Форум по разработке и ремонту электронной техники Киевский форум радиолюбителей и электронщиков. Форумы по разработке и ремонту электронной техники
    Схемы электрические принципиальныеГлавная    ФорумФорум    ПоискПоиск по форуму    Личные сообщенияФайлообменник    Личные сообщенияРадиотехнический каталог   

Фотогалерея   <b>Профиль</b>Ваш профиль    Личные сообщенияЛичные сообщения    ГруппыГруппы   

FAQFAQ    РегистрацияРегистрация    ВходВход

Уважаемые посетители! Это старая версия форума. Новая версия находится по адресу: http://www.remexpert.com
"Умный дом" Структура центрального блока.
На страницу Пред.  1, 2, 3, 4, 5  След.
 
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Форум по разработке и ремонту электронной техники -> Микроконтроллеры, процессоры, ПЛИС...
 
Автор Сообщение
AndryG
Модератор


Зарегистрирован: 24.07.2006
Сообщения: 411
Откуда: Helios-3

СообщениеДобавлено: 01 Дек 2006, 14:22    Заголовок сообщения: Ответить с цитатой

Cам думал-думал, строил-строил мысли ... а потом нашел http://www.ydom.ru/articles.html?page=article2 (я указывал в ранних постах) ... вот такое я и пытался придумать.
Вот яркий пример использования:
http://www.ydom.ru/articles.html?page=article7
Почему так, почему скриптовый язык, а не С и т.д. уже обсуждали выше ... над компилятором думаю/читаю/занимаюсь ...

_________________
AndryG
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
lexand
Знатный посетитель (>20)
Знатный посетитель (>20)


Зарегистрирован: 30.11.2006
Сообщения: 24
Откуда: Украина, г. Белая Церковь

СообщениеДобавлено: 01 Дек 2006, 22:44    Заголовок сообщения: Ответить с цитатой

Alexx
Кажись вы не правильно представляете себе коллизии.
Разные адреса не спасают. Коллизия это когда одновремено начинают говорить несколько устройств. ИМХО по проводам решать коллизии проще.

Вообще все таки советую почитать о CAN. У меня на сайте гдето в избранном куча ссылок по шине вкл. русскоязычные ресурсы.

Честное слово многие вопросы сами отпадут.

Представлю свои соображения (основываясь на работе шины CAN):
1. Сам CAN-контроллер следит за коллизиями.
2. Адресация устройств такая что замучаетесь дом устройствами обвешивать.
3. максимальная скорость передачи 1 МБит/с мне кажется более чем достаточно.
4. На самом деле опрашивать состояние ВСЕХ датчиков случай очень редкий. В шине CAN (далее просто шине) предусматривается отправка сообщений ВСЕМ, а воспринимает данное сообщение только тот кто его ожидает/может обработать. Для данного случая я ввел (уже на логическом уровне) подписку на сообщения (event message). К примеру ВЫКЛЮЧАТЕЛЬ подписывается у ТАЙМЕРА на событие достижение времени 22:00 и у датчика уличной освещенности, скажем 0,4. При достижение заданного времени и освещенности каждое из устройств отправит сообщение. Все их проигнорируют и только ВЫКЛЮЧАТЕЛЬ зажжет уличный фонарь после 22:00 при освещенности меньше 0,4.
5. За ошибками шины следит сам шинный контроллер.
6. Естественно более круты ошибки ложатся на плечи программера.

Еще пример
Есть регулятор мощности "A1","A2","A3" (далее регулятор). Чего он регулирует и какую мощность роли пока не играет.
Он может принимать команды:
1. Выключить
2. Установить мощность x% за время t
3. Понизить/повысить мощность на x%
4. Запрос статуса
Отсылает
1. Установленный уровень мощности

Есть выключатель "B1", "B2", "B3"
Принимает
1. Запрос статуса
Отсылает
1. Выключить
2. Установить мощность x% за время t
3. Понизить/повысить мощность на x%
4. Текущий статус

Панель сцен освещения "С1", "С2"
Принимает
1. Запрос статуса
2. Выбор сцены
3. Установку сцены
4. Программирование сцены
Отсылает
1. Выключить
2. Установить мощность x% за время t
3. Понизить/повысить мощность на x%
5. Запрос статуса

Теперь как это все работает:
регулятор А1 слушает только выключатель B1 и панель С1.
регулятор А2 слушает только выключатель B2 и панель С1.
регулятор А3 слушает только выключатель B3 и панель С2.

Если я подам команду из B1 включить свет в холле то откликнется только регулятор холла основного освещение

Если я подам команду из B2 включить подсветку полу, то соответственно...

Если я на С1 выберу сцену приглушенный общий свет с подсветкой пола на 40%. То послушаются только A1 и A2.

В шине нет ведущих и ведомых устройств. Если возникает коллизия то решается она достаточно просто стандартным для этого методом - передача сообщения через случайный таймаут. В принципе можно поставить ЛОГИЧЕСКИ ведущее устройство которое сможет опрашивать/настраивать устройства по расписанию - супервизор. Опрос многих устройств определяется либо личным запросом, либо широковещательным broadcast status message (читай на два предложение выше). Сообщение разбиваются по приоритетам из которых высший уровень могут получить критические ошибки (critical errors) или важные события (prior event).

Собственно события отправляют только те кто может это себе позволить:
1. Таймер/часы (по запросу и/или через интервалы)
2. Датчик движение/присутствия (всегда при изменении статуса)
3. термометр/барометр/.... или weathe control station
(по запросу и/или через интервалы)
4. Гипервизор
....


Программирование устройств осуществляется при проэктировании сети. В данном случае только создаются только списки групп соответствия КТО-КОГО-СЛУШАЕТ. Все равно из выключателя вы термометра не сделаете. MICROCHIP с ее простой ICSP очень для этого подходит.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Krik99
Знатный посетитель (>20)
Знатный посетитель (>20)


Зарегистрирован: 15.12.2006
Сообщения: 26
Откуда: Одеская обл. г.Котовск

СообщениеДобавлено: 20 Дек 2006, 17:16    Заголовок сообщения: Ответить с цитатой

Давайте придумаем схему возмём за основу ATmega8.Напишем все вместе програму на Си.Какуюта простенькую програму напишем(хотябы без ЖКИ). Восклицание Восклицание Восклицание
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
AndryG
Модератор


Зарегистрирован: 24.07.2006
Сообщения: 411
Откуда: Helios-3

СообщениеДобавлено: 20 Дек 2006, 17:38    Заголовок сообщения: Ответить с цитатой

lexand
продолжите, пжлст, описание работы для таких сцен...
утром время вставать. включается телек и плавненько громкость поднимаем до опред. уровня ... если нет света или телек накрылся (нет звука от него), то включить мелодию будильника ... можно и не будильник, а звонок дверной.
Вот только не хочу я чтобы вместе с телеком и звонок верещать начинал.

Простой пример, но он, как мне кажется, показывает минус распределенной системы -- нет разделения во времени и доп. событиям.

Krik99
Никто не против .. давайте! Вот только для начала нужно определится с типом и стандартом работы сети, а это задача не из простых. Если будет протокол, то разрабатывать устройства сможет каждый Улыбка

_________________
AndryG
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
lexand
Знатный посетитель (>20)
Знатный посетитель (>20)


Зарегистрирован: 30.11.2006
Сообщения: 24
Откуда: Украина, г. Белая Церковь

СообщениеДобавлено: 20 Дек 2006, 22:37    Заголовок сообщения: Ответить с цитатой

AndryG
Добавляете модуль который взаимодействует с ТВ по ИК, а далее все как и описал...

Если нет света Вопрос Можно я отвечать не буду?

А в остальном...
Каждое событие есть тригер которое переключает состояние опр. устройства.
Исходя из указаныых требований/событий, одно из них как минимум должно быть переключающим.
Мол если произошло событие A - вкл. телик, если непроизошло - вкл. будильник.


Тоесть события которые разрешают включиться ТВ и будильнику
A1. есть электричество
A2. настало нужное время (сюда все, в т.ч. и проверка по дням недели, выходные празнднечные,...)
Переключающее событие
B1. ТВ исправен (только как вы будете это проверять)

В логике
TV=A1&A2&B1
RING=A1&A2&(!B1)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
AndryG
Модератор


Зарегистрирован: 24.07.2006
Сообщения: 411
Откуда: Helios-3

СообщениеДобавлено: 21 Дек 2006, 11:27    Заголовок сообщения: Ответить с цитатой

lexand
Цитата:

В логике
TV=A1&A2&B1
RING=A1&A2&(!B1)

Получается, что конечные устройства должны обладать неким "разумом", дабы понимать подобные штуки... не проще снабдить немного более продвинутым разумом одно устройство, а остальные пусть остаются "туповатыми" - только принимают примитивные команды и исполняют их.
Я уже остановился в выборе - будет один умный блок, который будет управлять остальными. Работать он должен на основе своего сриптового языка. Сейчас задача стоит описать простой и достаточный язык для управления системой.


Krik99
А как вы можете определится с испольняющими устройствами? Откуда мы знаем что коу нужно? Дабы система была гибкая и расширяемая она должна представлять собой конструктор...
представьте себе плоский стол - это основа. На эту основу мы можем ставить различные предметы ... они могут быть разной формы и назначения .. одно условие - одна грань должна быть плоской, дабы не упасть. Так и у нас ... главное определится с формой нашего "стола-фундамента" - сетевым протоколом, дабы потом любое устройство, которое поддерживает этот протокол могло нормально работать в компании с остальными.

_________________
AndryG
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Krik99
Знатный посетитель (>20)
Знатный посетитель (>20)


Зарегистрирован: 15.12.2006
Сообщения: 26
Откуда: Одеская обл. г.Котовск

СообщениеДобавлено: 21 Дек 2006, 19:02    Заголовок сообщения: Ответить с цитатой

А почему надо самим придумывать интерфейс,почему не взять готовый.Например I2C, RS232.Конечно если вас устраевает, то я могу попробывать написать програму для связи по 4 проводам.
1.data out
2.data in
3.test
4.gnd Ммм...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
lexand
Знатный посетитель (>20)
Знатный посетитель (>20)


Зарегистрирован: 30.11.2006
Сообщения: 24
Откуда: Украина, г. Белая Церковь

СообщениеДобавлено: 21 Дек 2006, 22:43    Заголовок сообщения: Ответить с цитатой

AndryG
Это не разум а обыкновенная логика - элементарная.
Тем более если в оконечном устройстве будет все равно стоять MCU, то почему бы не возложить на него и эту часть задачи.

Вы судя по всему не читали о CAN. Зря! Физический уровень и сам CAN контроллер уже делают львиную долю работы.

БОЛЬШОЙ плюс распределенной системы в том, что если кирдык будет вашему центральному модулю....

Я не говорю что в моей системе его нет, но функции его смещены в сторону лишь настройки и контроля, в последнюю очередь - управления (как универсальный пульт). Управление/реакция возлагается на отдельные модули (такая модель в большей степени конструктор чем ваша). Целостность системы в конечном итоге зависит разве что от ПРОВОДОВ (в крайнем случае вы получите не связанные между собой, но абсолютно работоспособные сети, к примеру только в кухне и остальном доме).

А без логики Вам все равно ни куда не дется.

И с вашей системой говорить о гибкости. Возьмите даже самый тупой X10/S10. Тот же принцип - только возможности похуже.

Я не отговариваю вас от своего - каждый считает что, то что он выдумал, реализовать проще всего.

В конце концов даже если вы не хотите использовать CAN, вы можете хотябы в целях повышения своего уровня почитать о ней. Тем более что CAN это не только автомобильная шина. Ей еще комплектуются котлы для связи с датчиками температуры (это еще одна из причин моего выбора в пользу этой шины). Мосты CAN-DALI - тоже аргумент.

Хотя может вы выбрали просто простую Улыбка систему и не хотите гемороя на этапе проектирования, не будет ли ЕГО потом в процессе эксплуатации?
[/b]
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Krik99
Знатный посетитель (>20)
Знатный посетитель (>20)


Зарегистрирован: 15.12.2006
Сообщения: 26
Откуда: Одеская обл. г.Котовск

СообщениеДобавлено: 22 Дек 2006, 16:26    Заголовок сообщения: Ответить с цитатой

Посмотрите вот на этой странице, различные исходники для разных интерфейсов и для rs232,и другие. http://pinokio3000.narod.ru/sourches/sourches.htm
Но я предлагаю так:
1.По проводу TEST определяеться название устройства.
2.По проводу DATA IN приходят данные в микроконтроллёр с датчиков (бывает 1 или 0)
3.По проводу DATA OUT приходят данные с микроконтроллёра в датчик.
4.Земля.
Возмём на пример.ИК датчик(0x10) и детектор движения(0x20).Сперва если надо передать контроллеру (ктото вошол в дверь), линия работает так передаёться имя устройства(например 0x10) по проводу TEST.После этого по проводу DATA IN приходит лог.0 задержка и через 200мс лог.1.
Через некоторое время срабатывает детектор движения(0x20).Начинаеться передача имени устройства (например 0x20) по проводу TEST. После этого по проводу DATA IN приходит лог.0 задержка и через 200мс лог.1.Аналогично и с силовыми устройствами, только немного иначе.Идёт передача имени устройства только на этот рас передаёт сам главный блок.И данные передаёт по проводу DATA OUT и устанавливаеться лог.0 (или лог.1). Плохая идея Хитрый
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
lexand
Знатный посетитель (>20)
Знатный посетитель (>20)


Зарегистрирован: 30.11.2006
Сообщения: 24
Откуда: Украина, г. Белая Церковь

СообщениеДобавлено: 22 Дек 2006, 22:59    Заголовок сообщения: Ответить с цитатой

Продолжим...
FireWire (iLink) CAN, USB, Ethernet, LONWorks, EIB, PCI-Express, SATA,....

Знаете что общего между этими шинами?

Они все дифференциальные.

Krik99
К чему такое вступление?
А каким образом вы будете устранять помехи на своей шине. При сравнительно большой длине проводников?

На счет цены...
один MCU в пределах до 50 грн - как для меня это не дорого, учитывая то что я получу в замен (рассматриваю MCU Microchip), Больше то на плате практически ничего не быдет, а в процентном соотношении все остальное - НОЛЬ.

Язык - можно взять BASIC - он легче интерпретируется. В сети думаю можно нарыть кучу инфы по интерпретаторам (сам посматривал в эту в сторону). У меня есть книга по С где четко описывается теория интерпретаторов.
Можно обратить внимание на BASICStamp (помоему так называется - на сайте http://www.parallax.com/index.asp)

Кстати я еще в начале сказал о самопрограммировании (и ICSP в версии Microchip).

P.S.
Я не меньший любитель чем ВЫ, просто надоело делать то что тебе рано или поздно начнет раздражать - лучше сразу делать хорошо или не браться за это вообще...
P.P.S.
ИМХО
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Форум по разработке и ремонту электронной техники -> Микроконтроллеры, процессоры, ПЛИС... Часовой пояс: GMT + 2
На страницу Пред.  1, 2, 3, 4, 5  След.
Страница 4 из 5

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете добавлять вложения в этом форуме
Вы можете просматривать вложения в этом форуме


Rambler's Top100 PageRank Яндекс цитирования
Сайты наших друзей: Гири, все о гирях, Автоматизация магазинов, супермаркетов, ресторанов, кинотеатров,
Весы электронные, Сканеры штрих-кода, Принтеры штрих-кода

Powered by phpBB © 2001, 2005 phpBB Group

Время генерации страницы: 0.6503s (PHP: 89% - SQL: 11%) - SQL запросов: 12 - GZIP enabled - Debug on