![]() |
|
![]() |
#1 |
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1312 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Я хочу чтоб мастер отправлял данные ведомым, слушал от них ответ и общался с сервером.
|
![]() |
![]() |
![]() |
#2 | ||||
Senior Member
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1605 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
Цитата:
Цитата:
Цитата:
Вы же понимаете что это лишнее звено. На ардуино нужно будет задействовать уже 2-а сериальных порта. Ваш сервер каким-то образом (посредством некой программы cgi, php?) через 2-й сериальный порт будет связываться с ардуиной-мастером, причем по отношению к серверу эта ардуина будет ведомой (т.е. инициатором соединения будет выступать сервер). По какому-то известному лишь вам протоколу. Ну чтож попробуйте. |
||||
![]() |
![]() |
![]() |
#3 |
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1312 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
То что я хочу сделать, я попытался описать вот здесь: http://cyber-place.ru/showpost.php?p=2311&postcount=5
Как же без сервера, без него никак нельзя! ))))) |
![]() |
![]() |
![]() |
#4 | ||
Senior Member
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1605 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
![]() Цитата:
Просто когда вы пишите "хотелки" вы должны четко представлять, последовательность обмена информацией. В модбас инициатором соединения всегда выступает МАСТЕР для протокола 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 программа перезаписывает файл данных. Ну как то так ![]() |
||
![]() |
![]() |
![]() |
#5 |
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1312 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Всё верно, просто я хочу поставить мегаардуину на случай выхода из строя сервера (завис например) , тогда "умный дом" всё равно будет работоспособен, в меге будут хранится те же данные что и на сервере. На сервере я планирую всё помещать в БД. В свою очередь, если зависнет мега, то после ресета она возьмёт данные из БД на сервере. Мега и сервер как бы дублируют друг друга.
Последний раз редактировалось stD; 01.12.2012 в 17:56. |
![]() |
![]() |
![]() |
#6 | |||
Senior Member
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1605 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
Вся система будет оторвана от внешнего мира. Цитата:
Цитата:
Я понимаю в этой роли роутер, но никак ни мегу. На роутер можно повесить кучу нужных приложений. Например тоже оповещение по СМС в случае каких-то аварийных ситуаций. А что может мега? Да все может сбоить, виснуть и прочее.. Но мы же не военную технику делаем, где требуется 100-300% резервирование. |
|||
![]() |
![]() |
![]() |
#7 | |||||
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1312 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
Цитата:
![]() Цитата:
![]() Цитата:
Цитата:
Что касается роутера, то боюсь тяжеловато ему будет всё на себе тащить, ведь ещё будут: Сам по себе интернет на три компа, Apache, ещё какие-то приложения, веб-камеры и у меня ещё в загашнике валяется видео-камера и плата захвата. И как я уже писал, хочу чтоб в прихожей был стационарный монитор с тачем. ........................................ ........................................ ..................................... Я не спорю, в какой-то степени Мега лишнее звено, но это только на первый взгляд. С точки зрения техники, каждое лишнее звено снижает надёжность, но я рассматриваю её как дублирующие устройство. И потом, мы же здесь придумываем как сделать, так сказать делимся идеями ![]() Последний раз редактировалось stD; 02.12.2012 в 13:37. |
|||||
![]() |
![]() |
![]() |
Здесь присутствуют: 5 (пользователей: 0 , гостей: 5) | |
|
|