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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.04.2013, 23:04   #101
pma
Junior Member
 
Регистрация: 04.02.2013
Сообщений: 19
Вес репутации: 0
pma has much to be proud ofpma has much to be proud ofpma has much to be proud ofpma has much to be proud ofpma has much to be proud ofpma has much to be proud ofpma has much to be proud ofpma has much to be proud ofpma has much to be proud of
По умолчанию

Смотрю появилась активность, присоединяюсь.
Цитата:
Сообщение от dmitry123 Посмотреть сообщение
Вся система с роутером завязана на протоколе ModBus, где роутер мастер.
Можно конечно написать скрипт, чтобы роутер опрашивал выключатели и если есть тег "проходной", то оправлял команду другому выключателю ... ну как то так ... только вот не дело это все ... надо чтобы они общались минуя роутер ... создать еще одну сеть RS485 между ними не проблема, повесив на другие пины RX и TX и изменив библиотеку modbus ...
Кто что посоветует ????
Долго думаю как и что, правда не нашел понравившегося варианта...
Чтобы все общались друг с другом было бы оч хорошо, но как реализовать ???
мой полуфабрикат работает с 1 мастером, а управляет всем, что подключено к 1 контроллеру по месту (сам консроллер без мастера) если ныдо делать манипуляции с несколькими девайсами на линии, рассылка идет от сервака, а команда серваку по радиоканалу (это плохой вариант дает много ограничений и лишний канал, хотя, радиоканал имхо нужен). не лучший вариант но пока выкрутился так. если каждый девайс сможет слать в линию это даст огромные возможности, но проблема коллизий на 485 не решена на аппаратном уровне. на днях накидал код програмной борьбы и разруливания всей гадости, что может случиться, но проверить нет времени да и будет жрать МНОГО ресурсов. (надо было брать жирную стмку)
на другом ресурсе поставили по езернет шилду на каждый девайс и общаются удобными запросами на порт устройства. мне сильно не нравится кабель, разъем, жирные библиотеки и питание вторым кабелем.
Smart-Bus считаю наиболее удачным выриантом, по 1 кабелю 2х2 идет и линия связи и питание и все могут кидать пакеты + пропускная способность хорошая. у них чтото похожее на 485. протокол хоть и открыт, но дается по оф запросу на фирму. нашел расшифровку команд и упрощенную схему обмена. если не обманули там идет запрос тайм слота на обмен данными все затыкаются и ждут, если запрос побился через случайную паузу повторяется (алгоритм понятен и давно известен, но реализовывать надо на железе, а не програмно)
Вопрос к andr128 как к главному знатаку ModBus`а: мастер может быть только 1 или предусмотрены варианты многомастерности и как разрешаются связанные с этим проблемы? (в википедии и во многих источниках сказано мастер один, хотя по форумам попадается что можно несколько, но никто не дал пример или либу или хоть чтото)
как будет время попробую заставить 485 работать с несколькими мастерами. есть несколько идей, надо проверить по ресурсам, простоте и стабильности. если не выйдет забью и оставлю как есть. может кто знает другие протоколы, удовлетворяющие нашим запросам. CAN ? Ethernet? Wire? еще варианты...
pma вне форума   Ответить с цитированием
Старый 01.04.2013, 23:16   #102
dmitry123
Member
 
Регистрация: 03.12.2012
Адрес: Ярославль
Сообщений: 53
Вес репутации: 0
dmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant future
По умолчанию

Iron, 3.3v
dmitry123 вне форума   Ответить с цитированием
Старый 02.04.2013, 09:47   #103
andr128
Senior Member
 
Аватар для andr128
 
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604
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
По умолчанию

Цитата:
Сообщение от dmitry123 Посмотреть сообщение
Возник вопрос. А как сделать, точнее какой протокол выбрать/использовать в выключятелях проходного типа ???
Вся система с роутером завязана на протоколе ModBus, где роутер мастер.
Можно конечно написать скрипт, чтобы роутер опрашивал выключатели и если есть тег "проходной", то оправлял команду другому выключателю ... ну как то так ... только вот не дело это все ... надо чтобы они общались минуя роутер ... создать еще одну сеть RS485 между ними не проблема, повесив на другие пины RX и TX и изменив библиотеку modbus ...
Кто что посоветует ????
Сама концепция модбас тогда рушиться. Мастер должен опрашивать, а затем на основе принимаемых данных принимать решение что с ними делать, либо это будет передача команды др. ардуине либо еще что-то. Приблизительно так как вы написали вначале.

Конечно можно сделать связь между 2-мя ардуинами на другом UART канале не зависимо от роутера, но это как раз вносит некоторую сложность и в понимании и в реализации + доп. линии связи.
Опять же если использовать для этой связи модбас нужно делать одну из ардуин мастером.
andr128 вне форума   Ответить с цитированием
Старый 02.04.2013, 10:00   #104
andr128
Senior Member
 
Аватар для andr128
 
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604
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
По умолчанию

Цитата:
Сообщение от pma Посмотреть сообщение
Вопрос к andr128 как к главному знатаку ModBus`а: мастер может быть только 1 или предусмотрены варианты многомастерности и как разрешаются связанные с этим проблемы?
Да только один в одной подсети.
имеет ID=0

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

Цитата:
может кто знает другие протоколы, удовлетворяющие нашим запросам. CAN ? Ethernet? Wire? еще варианты...
CAN bus - хороший протокол именно для реализации системы реального времени (в автомобильной автоматизации он рулит) , но к сожалению я с ним плохо знаком.
andr128 вне форума   Ответить с цитированием
Старый 02.04.2013, 15:11   #105
dmitry123
Member
 
Регистрация: 03.12.2012
Адрес: Ярославль
Сообщений: 53
Вес репутации: 0
dmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant futuredmitry123 has a brilliant future
По умолчанию

Согласен, что "Опять же если использовать для этой связи модбас нужно делать одну из ардуин мастером." не дело ... придем к тому от чего оттолкнулись ...
Конечно можно просто решить подачей какого либо сигнала на ногу МК, при условии общего питания ... но опять же не наш метод Делаю выключатели с БП внутри ...
Или отказаться от идеи проходного выключателя ???? Сначала видел смысл, а теперь не особо ... Растояния же не в 50 метров ....
С другой стороны, что хочется как то сделать задел на будущее ....
К тому же опять же делаем этот проект открытым .. может кому нить и пригодиться ...
Если использовать 1-Wire, то силовую чать можно вынести, а управление оставить в выключателях ...
dmitry123 вне форума   Ответить с цитированием
Старый 02.04.2013, 17:52   #106
andr128
Senior Member
 
Аватар для andr128
 
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604
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
По умолчанию

Дмитрий на производстве все так и строится. Есть объект центральным мозгом которого является микроконтроллер (МК). Причем МК может и не обладать достаточным количеством входов/выходов как аналоговых так и цифровых (или не иметь вообще). Так вот для расшерения или сопряжения с датчиками и прочими вх./вых. сигналами применяют т.н. УСО - Устройство Сопряжения с Объектом. Одна из старейших и распространенных фирм выпускающих УСО является Advantech. В последнее время все чаще стали появляться устройства (датчики давления, температуры и т.д.) не требующие УСО, а сразу же позволяющие подключиться к ним по RS485 (ModBus RTU).

В рамках нашего проекта я думаю сделать нечто подобное и как вы уже догадались в качестве УСО хочу использовать ардуино. А ЦП МК наш любимый роутер.

Ардуино имеет множество вх/вых, как аналоговых так и цифровых.
К тому же есть множество расширений или шилдов для нее, что позволяет решать нетривиальные задачи. Легко стыкуется по RS485 или даже возможен вариант по радиоканалу.

Роутер обладает весьма не плохими характеристиками и легко справится с задачами анализа, Web сервера и др. К тому же к нему легко можно подцепить модем и управлять удаленно объектом там где нет проводного интернета.

по поводу RS485 без управления вот нижняя схема вроде должна быть работоспособной. Пока еще не собирал все недоходят руки

Последний раз редактировалось andr128; 02.04.2013 в 18:14.
andr128 вне форума   Ответить с цитированием
Старый 02.04.2013, 18:47   #107
pma
Junior Member
 
Регистрация: 04.02.2013
Сообщений: 19
Вес репутации: 0
pma has much to be proud ofpma has much to be proud ofpma has much to be proud ofpma has much to be proud ofpma has much to be proud ofpma has much to be proud ofpma has much to be proud ofpma has much to be proud ofpma has much to be proud of
По умолчанию

Цитата:
Сообщение от andr128 Посмотреть сообщение
вот нижняя схема вроде должна быть работоспособной. Пока еще не собирал все недоходят руки
тут больше проблем не в схеме, а в скорости переключения микросхемы 485 (надо искать в документации бывают шустрые 2нс а бывают сильно тугие как MAX485) я столкнулся с этой проблемой на скорости 57600 не успевал переключаться на передачу и бился 1 байт сделал включение и задержку 100нс в прошивке контроллера, с роутером нужна шустрая микруха и соответствующая скорость, а схемы многие подойдут... но надежнее включать отдельной ногой.
pma вне форума   Ответить с цитированием
Старый 08.04.2013, 23:38   #108
Iron
Junior Member
 
Регистрация: 28.01.2013
Сообщений: 23
Вес репутации: 0
Iron is an unknown quantity at this point
По умолчанию

andr128 закинул библиотеку из www.rar перед этим поставил modbusgw.rar
запустил вот так
modbusgw -port /dev/ttyUSB0

вот что получил от скрипта

Fatal error: Call to undefined function socket_create() in /www/Phpmodbus/ModbusMaster.php on line 84

Подскажите пожалуйста может надо было сначала доустановить еще какие то пакеты?
Iron вне форума   Ответить с цитированием
Старый 09.04.2013, 17:43   #109
andr128
Senior Member
 
Аватар для andr128
 
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604
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
По умолчанию

А сам шлюз проверял?
andr128 вне форума   Ответить с цитированием
Старый 09.04.2013, 22:44   #110
Iron
Junior Member
 
Регистрация: 28.01.2013
Сообщений: 23
Вес репутации: 0
Iron is an unknown quantity at this point
По умолчанию

Честно говоря что-то я не могу сообразить как проверить сам шлюз.

После ввода команды:modbusgw -port /dev/ttyUSB0
должно опять появиться приглашение или процесс висит в памяти и ввод не доступен?

Последний раз редактировалось Iron; 09.04.2013 в 23:34.
Iron вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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


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


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