|
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 137
|
|
Идеологическая организация сети06.08.2016, 12:19. Показов 3446. Ответов 11
Метки нет (Все метки)
Доброго времени суток. Делаю простой умный дом, с элементами охранной системы (или наоборот, не суть важно). Чтобы не тянуть кучу охранных шлейфов, решил организовать кучу умных датчиков (ATtiny13A) на базе RS-485, поэтому связь полудуплексная, формат обмена: запрос мастера - ответ слейва. Протокол обмена придумываю свой (хочеться лучше понять это дело). Но сейчас ломаю голову над более высоким уровнем абстракции, а именно как идеологически организовать сеть. Варианты:
1. Центральный блок должен иметь битовое поле, по выставленным битам которого поставленные под охрану датчики опрашиваются. Не поставленные датчики (биты в битовом поле не выставлены) не опрашиваются, либо опрашиваются, просто, чтобы знать что они в сети (исправны), но их показания не принимаются к сведению. То есть контроль состояния сети на стороне мастера. 2. Центральный блок просто раздает команды нужным датчикам перейти в охранный режим, и в дальнейшем опрашивает все датчики. Те датчики, которые по команде мастера включили охранный режим передают свое состояние (норма/тревога), те что не включили просто сообщают о своем наличии. То есть контроль состояния сети передан на откуп каждому датчику (каждый отвечает сам за себя). Второй момент. В каком виде лучше организовать передачу инфы мастеру. Датчики передают просто сырые данные (показания АЦП), а мастер уже решает, норма это, или нет. Или датчик внутри себя решает, норма или тревога, и формирует сообщение для мастера согласно протокола. Третий момент. Датчик самостоятельно себя мониторит (при нахождении в режиме охраны запоминает факт тревоги) и при обращении мастера выдает этот факт, или мастер просто достаточно часто (раз в полсекунды-секунду) опрашивает всех, и делает вывод о состоянии сети. И четвертый момент. В протоколе модбас на широковещательные сообщения не отвечают. А у меня возникла такая идея. Мастер дает широковещательный запрос и начинает ждать. У каждого слейва (датчика) есть адрес. Он берет этот адрес, принимает его за задержку в мс, и отвечает через это время. То есть, каждому датчику выделено окно для ответа согласно его адреса. Коллизии вроде исключаются. Мастер знает, что в сети есть N датчиков (в еепром есть карта приписанных датчиков), поэтому он лишнего не ждет, как только последний ответил, ожидание прекращается. Стоящая идея или фуфло ? Перед этим читал много тем по организации сети на этом форуме, но именно эти вопросы все равно остались после прочтения.
0
|
|
| 06.08.2016, 12:19 | |
|
Ответы с готовыми решениями:
11
Организация Mesh (ячеистой) сети Организация локальной сети (разрешить\открыть доступ по сети) Организация сети |
|
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,752
|
|
| 06.08.2016, 13:54 | |
|
Придумывая свое вы учИтесь, за это плюс. Но сразу делаете свое оборудование несовместимым, это минус.
Лучше бы использовать чужие наработки, как в смысле железа, так и библиотек... Например: <Изображение удалено> Это только пример, и он явно не для самодельщика, но как пример того на что ориентироваться... P.S. Есть три вида протокола ModBus, это RTU, ASCII, и TCP. Они очень разные, просто все называются ModBus. Вы какой имели в виду?
0
|
|
|
0 / 0 / 0
Регистрация: 28.10.2010
Сообщений: 892
|
|
| 06.08.2016, 14:18 | |
|
Если кто-то делает свое, даже несовместимое, то пройдя весь путь он будет готов понять и освоить любой стандарт получше, чем тот, кто незадумываясь скопировал чужое.
Кроме этого в "своем" можно обрезать кучу ненужного балласта, содержащегося в любом стандарте или добавить нечто нужное, чего там нет. Часто привязывание стандартного решения к своим специфическим требованиям занимает больше времени, чем создание с чистого листа. А вообще разговор про сеть нужно начинать с количества точек, расстояния и скорости обмена.
0
|
|
|
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 137
|
|
| 06.08.2016, 14:56 | |
|
Про модель OSI уже читал, но свою сеть могу представить в ней не до конца. Я четко вижу физический уровень (RS-485) и протокольную часть (буду писать сам). А вот по поводу более высоких уровней и возникли эти вопросы.
Про модбас я упомянул просто для примера. Там нет ответа на широковещательные сообщения, и я вот думаю, а надо ли мне такое. По поводу количества точек, расстояния и скорости обмена: 1. На данный момент в моей простейшей реализации протокола количество слейвов - до 15, в будущем планирую расширить. До скольки - пока сказать не готов, будет видно по обстоятельствам. 2. Расстояние - планирую обкатывать на частном доме с отдельным гаражом, всего до 100 м. 3. Скорость обмена - стандартный UART на 9600 б/с.
0
|
|
|
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,752
|
|
| 06.08.2016, 15:06 | |
|
Для "умного дома" ModBus RTU поверх RS-485, по мне очень здравая мысль.
Можно самому подумать, подучиться, можно воспользоваться промышленными/любительскими схемными решениями/библиотеками...
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,864
|
||
| 06.08.2016, 15:16 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 28.10.2010
Сообщений: 892
|
|
| 06.08.2016, 15:37 | |
|
Как интересно это совпадает с охранной системой, про которую тут уже писал в подобных темах )). Кроме физического уровня - ну ничего хорошего не давал (RS-485) по сравнению с однопроводной линией и самопальным протоколом.
Не ясно сколько вы собираетесь байт в пакете передавать, но если взять два байта запроса и два на ответ, то получится более 15-ти сеансов в секунду с каждой точкой, что явно достаточно для простого циклического опроса. Вот и весь верхний уровень. (У меня пульт отсылал запрос в виде байта с адресом в младшей тетраде и нулями в старшей, соответствующий объект присылал назад тот же байт с четырьмя битами состояния датчика охраны - звук, движение, дверь, концевик вскрытия самого датчика. Н незарегистрированные адреса запрос не посылался, отсутствие ответа в течении миллисекунды вызывало трехкратный повторный запрос, после чего индицировалось отсутствие связи.)
0
|
|
|
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 137
|
||
| 06.08.2016, 18:18 | ||
Вы не поверите, но у меня сейчас почти так же организовано, пакет состоит из 1 байта: младшая тетрада - адрес, старшая - команда. Отсутствие контрольной суммы компенсируется квитированием - ответ должен придти с того же адреса, на который отправлен запрос, код возвращаемой команды должен быть идентичен отсылаемому коду команды. Я просто думаю, что это очень по-дилетантски)) Потому что например пересылка сырых данных (у меня это старшая тетрада показаний АЦП, младшую я упраздняю) подвергаются потенциальной порче. Думаю перейти на фиксированный 4-х байтный пакет: адрес, команда, данные, и 1 байт контрольной суммы 3 предыдущих байт. Но тут на горизонте уже начинает маячить Модбас))
0
|
||
|
0 / 0 / 0
Регистрация: 28.10.2010
Сообщений: 892
|
|
| 06.08.2016, 19:12 | |
|
Нет, не по дилетантски, а нормально, от простого - к сложному. На каком-то этапе понимаешь, что достигнута необходиния достаточность и ничего лишнего.
Кстати, в другом использовании, с пакетом побольше, у меня похожая на вашу планируемую организация обмена. В этом нет ничего удивительного, все велосипеды тоже похожи. Удобство УАРТ для отладки существенно, мне пришлось сделать простейший переходник со своего интерфейса на СОМ, но не для отладки сети, а наблюдения и настройки самих устройств. Связь отлаживалась тестовыми программками.
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 322
|
|
| 07.08.2016, 05:52 | |
|
Я как то разбирался с древней импортной охранной системой, там в ответ на широковещательный запрос (в той или иной форме), каждое устройство, у которого произошло событие, выставляло на шину бит, соответствующий своему адресу. Далее мастер опрашивал в первую очередь устройства с событиями, а потом все остальные.
Мне этот вариант очень понравился тогда.
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 322
|
||
| 07.08.2016, 05:55 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 137
|
||
| 07.08.2016, 09:23 | ||
0
|
||
| 07.08.2016, 09:23 | |
|
Помогаю со студенческими работами здесь
12
Организация сети Организация сети Организация сети на 30 ПК Организация Wi-Fi сети Организация сети Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|