Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > Открытый проект умного дома

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.11.2012, 05:18   #1
stD
Senior Member
 
Аватар для stD
 
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1312
stD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant future
По умолчанию

Я хочу чтоб мастер отправлял данные ведомым, слушал от них ответ и общался с сервером.
stD вне форума   Ответить с цитированием
Старый 26.11.2012, 17:37   #2
andr128
Senior Member
 
Аватар для andr128
 
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1605
andr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от mebitek Посмотреть сообщение
Я хочу чтоб мастер отправлял данные ведомым, слушал от них ответ и общался с сервером.
Здесь я не чего не понял. Кто, куда и что?
Цитата:
мастер отправлял данные ведомым
от кого?
Цитата:
слушал от них ответ
услышал ответ, а далее что?
Цитата:
и общался с сервером
С каким сервером? с Web?
Вы же понимаете что это лишнее звено.
На ардуино нужно будет задействовать уже 2-а сериальных порта.
Ваш сервер каким-то образом (посредством некой программы cgi, php?) через 2-й сериальный порт будет связываться с ардуиной-мастером, причем по отношению к серверу эта ардуина будет ведомой (т.е. инициатором соединения будет выступать сервер). По какому-то известному лишь вам протоколу.

Ну чтож попробуйте.
andr128 вне форума   Ответить с цитированием
Старый 30.11.2012, 19:05   #3
stD
Senior Member
 
Аватар для stD
 
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1312
stD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant future
По умолчанию

То что я хочу сделать, я попытался описать вот здесь: http://cyber-place.ru/showpost.php?p=2311&postcount=5

Как же без сервера, без него никак нельзя! )))))
stD вне форума   Ответить с цитированием
Старый 30.11.2012, 23:39   #4
andr128
Senior Member
 
Аватар для andr128
 
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1605
andr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от mebitek Посмотреть сообщение
То что я хочу сделать, я попытался описать вот здесь: http://cyber-place.ru/showpost.php?p=2311&postcount=5
это я уже читал

Цитата:
Как же без сервера, без него никак нельзя! )))))
Я имел ввиду лишнее звено ардуино-мастер! а не web сервер.

Просто когда вы пишите "хотелки" вы должны четко представлять, последовательность обмена информацией.

В модбас инициатором соединения всегда выступает МАСТЕР для протокола modbus RTU (или КЛИЕНТ для протокола modbus TCP/IP). В данном случае мы рассматриваем протокол modbus rtu из чего следует:
все ардуины в сети будут помощниками (slave) которые, слушают, ожидают соединения от мастера. Они (slave) отвечают только в том случае если идет обращение непосредственно к ним (к нему) т.е. когда ID запроса от мастера соответствует ID slave. После этого происходит обмен информацией между мастером и помощником, либо чтение регистров (пременных), либо запись в зависимости от функции протокола модбас.

Я еще раз обращаю ваше внимание на то, что для понимания процесса обмена нужно прочитать хотя бы основы протокола modbus rtu. Можно не вникать в дебри самого протокола, но основное вы должны понять.

Почему я вам задаю вопрос зачем нужна ардуина-мастер, да потому что я не вижу и не понимаю её сущность.

Вот на мой взгляд приблизительный алгоритм работы:

У вас в сети modbus-rtu подключено (соединено) несколько ардуин-slave (2x проводная линия, витая пара с эл. интерфесом RS-485). Допустим их 3шт с ID=1, ID=2, ID=3.
Каждая из ардуин в цикле слушает и отвечает только на свой ID.
Причем в выше приведенном примере (пост №4) используются:
1. 10 регистров (переменных)
2. работают только функции 3 и 10 (что вполне хватает для нужд умного дома)

Каждая из этих ардуин-slave может выполнять различные функции, например:
- анализируя аналоговые входа измерять температуру и записывать эти значения в какой либо регистр модбас, который в последствии будет считываться мастером.
- изменять цифровые входа (для вкл. реле или тиристоров) считывая значения др. регистров, которые в свою очередь будут изменяться опять же мастером.
и т.д. (все зависит от назначения конкретной ардуины)

Мастером в этой сети служит роутер (mr3020)
- на роутере установлен WEB сервер.
- на роутере установлена программа modbus-мастер (бинарный файл).

В этом звене нужно обеспечить обмен между запросами от клиента (браузера) web-сервера и модбас-мастером.

Здесь я предполагаю несколько путей:
1. modbus-мастер может работать как CGI приложение.
Клиент-браузер периодически (через функции POST, GET) прередает CGI программе запрашиваемые или изменяемые параметры (переменные регистры) в свою очередь CGI приложение modbus-master связывается с соответствующим modbus-slave и получает или изменяет соответствующие регистры и возвращает результаты WEB клиенту.

2. modbus-мастер работает как демон (в фоне).
Он в цикле с определенной периодичностью опрашивает помщников (slave) и записывает состояние их регистров в файл данных, затем считывеет этот же файл и записывает снова в регистры slave.

При обращении к Web серверу вызывается программа (php скрипт) которая считывает этот файл данных интерпретирует и передает эти данные на web страницу клиента. При изменении каких то параметров происходит обратный процесс, php программа перезаписывает файл данных.

Ну как то так
andr128 вне форума   Ответить с цитированием
Старый 01.12.2012, 17:48   #5
stD
Senior Member
 
Аватар для stD
 
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1312
stD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant future
По умолчанию

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

Последний раз редактировалось stD; 01.12.2012 в 17:56.
stD вне форума   Ответить с цитированием
Старый 02.12.2012, 08:58   #6
andr128
Senior Member
 
Аватар для andr128
 
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1605
andr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от mebitek Посмотреть сообщение
Всё верно, просто я хочу поставить мегаардуину на случай выхода из строя сервера (завис например) , тогда "умный дом" всё равно будет работоспособен
Как это? Управлять же вы им уже не сможете.
Вся система будет оторвана от внешнего мира.
Цитата:
, в меге будут хранится те же данные что и на сервере.
А где вы хотите хранить эти данные? Если в ОЗУ тогда при сбое питания они тоже исчезнут.
Цитата:
На сервере я планирую всё помещать в БД. В свою очередь, если зависнет мега, то после ресета она возьмёт данные из БД на сервере. Мега и сервер как бы дублируют друг друга.
У них совершенно разные возможности. Они в принципе не могут дублировать друг-друга.

Я понимаю в этой роли роутер, но никак ни мегу. На роутер можно повесить кучу нужных приложений. Например тоже оповещение по СМС в случае каких-то аварийных ситуаций. А что может мега?

Да все может сбоить, виснуть и прочее.. Но мы же не военную технику делаем, где требуется 100-300% резервирование.
andr128 вне форума   Ответить с цитированием
Старый 02.12.2012, 13:33   #7
stD
Senior Member
 
Аватар для stD
 
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1312
stD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant future
По умолчанию

Цитата:
По поводу питания я не понял, а зачем 5в. В ардуино уже есть свой стабилизатор.
У меня слейв-устройства самодельные. Готовые ардуины дорого получится, по 700р. , а самоделка 130р.


Цитата:
Как это? Управлять же вы им уже не сможете.
Вся система будет оторвана от внешнего мира.
От внешнего да, но сам "умный дом" будет работать и не погрузится во мрак. Ведь свет то через него работает! Опять же можно сделать так, чтоб Мега посылала запрос на сервер с какой-то периодичностью, и в случае неполучения нужного ответа от сервера, перегружала его (релюшку на ресет приладить). В свою очередь сервер не получив запроса от Меги поймёт что она зависла и её нужно перегрузить (здесь всё просто, достаточно разорвать и востановить usb-соединение, Мега перезагрузится).

Цитата:
А где вы хотите хранить эти данные? Если в ОЗУ тогда при сбое питания они тоже исчезнут.
Можно в EEPROM сохранять через каждые 20 минут (к примеру) хватит примерно на четыре года. Это будет хоть что-то на случай если и мега зависнет и сервер навернётся.

Цитата:
У них совершенно разные возможности. Они в принципе не могут дублировать друг-друга.
Достаточно на сервере в обычном текстовом файле хранить значения переменных.

Цитата:
Я понимаю в этой роли роутер, но никак ни мегу. На роутер можно повесить кучу нужных приложений. Например тоже оповещение по СМС в случае каких-то аварийных ситуаций. А что может мега?
Если повиснет роутер, то никакие приложения и оповещения по СМС уже не помогут. В этом случае (как я уже писал) нужно отдельное GSM-устройство, которое сможет обресетить роутер по команде с сотового телефона.

Что касается роутера, то боюсь тяжеловато ему будет всё на себе тащить, ведь ещё будут: Сам по себе интернет на три компа, Apache, ещё какие-то приложения, веб-камеры и у меня ещё в загашнике валяется видео-камера и плата захвата.
И как я уже писал, хочу чтоб в прихожей был стационарный монитор с тачем.
........................................ ........................................ .....................................
Я не спорю, в какой-то степени Мега лишнее звено, но это только на первый взгляд.
С точки зрения техники, каждое лишнее звено снижает надёжность, но я рассматриваю её как дублирующие устройство.
И потом, мы же здесь придумываем как сделать, так сказать делимся идеями

Последний раз редактировалось stD; 02.12.2012 в 13:37.
stD вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 5 (пользователей: 0 , гостей: 5)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 03:52. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика