Ультрабюджетные проводные датчики/исполнительные устройства
Модератор: immortal
-
- Сообщения: 51
- Зарегистрирован: Пн дек 10, 2012 12:17 am
- Благодарил (а): 2 раза
- Поблагодарили: 4 раза
Re: Ультрабюджетные проводные датчики/исполнительные устройс
Программатор в составе STM8SVLDiscovery. Обошелся в 10USD тогда, сейчас есть отдельный полноценные на алиэкспресс и по 7USD.
- Рейтинг: 1.16%
-
- Сообщения: 135
- Зарегистрирован: Ср дек 19, 2012 10:35 am
- Откуда: Ukraine/Kiev
- Благодарил (а): 7 раз
- Поблагодарили: 14 раз
Re: Ультрабюджетные проводные датчики/исполнительные устройс
А можно про арбитраж коллизий подробнее? Сам подумываю на RS-485 переходить. По роду деятельности часто имею дело с DMX а это и есть RS-485, но только работает в одну сторону.
CubieBoard A10 - основной сервер Majordomo
Raspberry Pi - цифровая мини АТС ASTERISK
Arduino - блок управления реле, электросчетчик, счетчики воды, управление вентиляционной системой, СКУД.
Raspberry Pi - цифровая мини АТС ASTERISK
Arduino - блок управления реле, электросчетчик, счетчики воды, управление вентиляционной системой, СКУД.
-
- Сообщения: 51
- Зарегистрирован: Пн дек 10, 2012 12:17 am
- Благодарил (а): 2 раза
- Поблагодарили: 4 раза
Re: Ультрабюджетные проводные датчики/исполнительные устройс
Идея очень примитивная, в общем.
Есть уровень на шине доминантный(для моего случая это прижатие к земле линии) и рецессивный (никто не трогает). Собственно, обычный открытый коллектор с подтяжкой к питанию.
Рецессивный считаю нулем, низшим приоритетом.
Предположим, две сразу станции начинают передачу. Пока у них одинаковые биты - никакой коллизии нет, все нормально будет считано другими. Но как только у одной очередной бит станет единицей(доминантой) - вторая передающая при проверке линии после начала передачи бита(линия должна встать в ожидаемый уровень) увидит, что состояние не соответствует ожидаемому - коллизия. Для станции это однозначно прекращение передачи и переход в состояние ожидания простоя канала.
Вторая, у которой приоритет передачи выше (именно для этого в начале пакета ставлю адрес, 0x00 - минимальный приоритет получателя, 0xFF максимальный) - продолжит работу.
В чем фокус такого подхода - пакет, передача которого уже начата - дойдет до конца без искажения и необходимости перепосылки.
Есть уровень на шине доминантный(для моего случая это прижатие к земле линии) и рецессивный (никто не трогает). Собственно, обычный открытый коллектор с подтяжкой к питанию.
Рецессивный считаю нулем, низшим приоритетом.
Предположим, две сразу станции начинают передачу. Пока у них одинаковые биты - никакой коллизии нет, все нормально будет считано другими. Но как только у одной очередной бит станет единицей(доминантой) - вторая передающая при проверке линии после начала передачи бита(линия должна встать в ожидаемый уровень) увидит, что состояние не соответствует ожидаемому - коллизия. Для станции это однозначно прекращение передачи и переход в состояние ожидания простоя канала.
Вторая, у которой приоритет передачи выше (именно для этого в начале пакета ставлю адрес, 0x00 - минимальный приоритет получателя, 0xFF максимальный) - продолжит работу.
В чем фокус такого подхода - пакет, передача которого уже начата - дойдет до конца без искажения и необходимости перепосылки.
-
- Сообщения: 135
- Зарегистрирован: Ср дек 19, 2012 10:35 am
- Откуда: Ukraine/Kiev
- Благодарил (а): 7 раз
- Поблагодарили: 14 раз
Re: Ультрабюджетные проводные датчики/исполнительные устройс
Идея понятна, но в RS-485 ее к сожалению не реализовать. Там микросхемка формирователь уровней интерфейса RS-485 управляется внешним сигналом прием/передача, поэтому в режиме передачи бита информации, что бы прочитать состояние линии нужно перевести микросхемку в состояние приема. Плюс для обмена удобно в микроконтроллерах использовать аппаратный UART, а он не умеет обращать внимание на линию при передаче каждого бита. Можно конечно программно реализовать передачу, но это отъест хороший кусок ресурсов микроконтроллера.artko писал(а):Идея очень примитивная, в общем.
Есть уровень на шине доминантный(для моего случая это прижатие к земле линии) и рецессивный (никто не трогает). Собственно, обычный открытый коллектор с подтяжкой к питанию.
Рецессивный считаю нулем, низшим приоритетом.
Предположим, две сразу станции начинают передачу. Пока у них одинаковые биты - никакой коллизии нет, все нормально будет считано другими. Но как только у одной очередной бит станет единицей(доминантой) - вторая передающая при проверке линии после начала передачи бита(линия должна встать в ожидаемый уровень) увидит, что состояние не соответствует ожидаемому - коллизия. Для станции это однозначно прекращение передачи и переход в состояние ожидания простоя канала.
Вторая, у которой приоритет передачи выше (именно для этого в начале пакета ставлю адрес, 0x00 - минимальный приоритет получателя, 0xFF максимальный) - продолжит работу.
В чем фокус такого подхода - пакет, передача которого уже начата - дойдет до конца без искажения и необходимости перепосылки.
CubieBoard A10 - основной сервер Majordomo
Raspberry Pi - цифровая мини АТС ASTERISK
Arduino - блок управления реле, электросчетчик, счетчики воды, управление вентиляционной системой, СКУД.
Raspberry Pi - цифровая мини АТС ASTERISK
Arduino - блок управления реле, электросчетчик, счетчики воды, управление вентиляционной системой, СКУД.
-
- Сообщения: 1473
- Зарегистрирован: Сб окт 12, 2013 11:03 pm
- Благодарил (а): 49 раз
- Поблагодарили: 327 раз
Re: Ультрабюджетные проводные датчики/исполнительные устройс
artko поделитесь пожалуйста разводками и кодом
Также было бы очень интересно посмотреть на фото готовые устройства
P.S. Обожаю CAN, но не стал применять дома, т.к. устройство получается не дешевое (чип+драйвер). Иначе бы думать не стал и использовал его везде. Плюсы: однопроводный кан, возможность будить чип на уровне протокола, большая адресация. Минусы: топология шина (Но думаю тут можно намудрить как в 1-Wire, хотя поставить GateWay - лучший вариант)
Также было бы очень интересно посмотреть на фото готовые устройства
P.S. Обожаю CAN, но не стал применять дома, т.к. устройство получается не дешевое (чип+драйвер). Иначе бы думать не стал и использовал его везде. Плюсы: однопроводный кан, возможность будить чип на уровне протокола, большая адресация. Минусы: топология шина (Но думаю тут можно намудрить как в 1-Wire, хотя поставить GateWay - лучший вариант)
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
-
- Сообщения: 51
- Зарегистрирован: Пн дек 10, 2012 12:17 am
- Благодарил (а): 2 раза
- Поблагодарили: 4 раза
Re: Ультрабюджетные проводные датчики/исполнительные устройс
Не особо и много, хотя аппаратным модулем, безусловно, удобнее. ну и rs-485 имхо использовать не особо удобно - формирователи нужны, отдельный провод. Я подумываю уже у себя перевести на ethernet/wi-fi + шлюзы. Реально железки подешевели еще, возиться со специфическим своим творением оправдано (лично мне) только для буквально однокнопочных решений, где просто жаба не позволяет полноценный интерфейс ставить (выключатели света, датчики движения и т.п.).ksgroup писал(а):Идея понятна, но в RS-485 ее к сожалению не реализовать. Там микросхемка формирователь уровней интерфейса RS-485 управляется внешним сигналом прием/передача, поэтому в режиме передачи бита информации, что бы прочитать состояние линии нужно перевести микросхемку в состояние приема. Плюс для обмена удобно в микроконтроллерах использовать аппаратный UART, а он не умеет обращать внимание на линию при передаче каждого бита. Можно конечно программно реализовать передачу, но это отъест хороший кусок ресурсов микроконтроллера.
Ivan писал(а):оделитесь пожалуйста разводками и кодом
Также было бы очень интересно посмотреть на фото готовые устройства
P.S. Обожаю CAN, но не стал применять дома, т.к. устройство получается не дешевое (чип+драйвер). Иначе бы думать не стал и использовал его везде. Плюсы: однопроводный кан, возможность будить чип на уровне протокола, большая адресация. Минусы: топология шина (Но думаю тут можно намудрить как в 1-Wire, хотя поставить GateWay - лучший вариант)
Но у меня НЕ CAN, отмечу. Оттуда только идеология коллизий/приоритета.
Фото - фактически делал только две разновидности плат, адаптер для десктопа
и универсальный блок, контроллер с обвязкой шины + GPIO.
на них уже цеплял датчики, дисплеи и прочее.
Во вложении код протокола и варианты применения. (STM8S003, IAR)
-
- Сообщения: 1473
- Зарегистрирован: Сб окт 12, 2013 11:03 pm
- Благодарил (а): 49 раз
- Поблагодарили: 327 раз
Re: Ультрабюджетные проводные датчики/исполнительные устройс
Респект. Много работы проделано.
Но я для себя понял что нужно уходить от проводов. Буду использовать mySensors
Хорошо бы уйти ещё от ардуины. Но пока не готов (времени мало)
Если бы вы представили свою работу когда я начинал. Я бы сделал выбор в вашу сторону, а не 1Wire
Но я для себя понял что нужно уходить от проводов. Буду использовать mySensors
Хорошо бы уйти ещё от ардуины. Но пока не готов (времени мало)
Если бы вы представили свою работу когда я начинал. Я бы сделал выбор в вашу сторону, а не 1Wire
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
-
- Сообщения: 51
- Зарегистрирован: Пн дек 10, 2012 12:17 am
- Благодарил (а): 2 раза
- Поблагодарили: 4 раза
Re: Ультрабюджетные проводные датчики/исполнительные устройс
Я сейчас жду модули на ESP8266, чтобы интегрировать сразу в домовую сеть без дополнительных прослоек....
кстати, с вашей страницы на коннекте
кстати, с вашей страницы на коннекте
применил классическое решение в виде фототранзистора и синей изоленты - дешево и надежно (если солнце не светит )RS428 - Считывание счётчика (тест работает)
- Рейтинг: 1.16%
-
- Сообщения: 1473
- Зарегистрирован: Сб окт 12, 2013 11:03 pm
- Благодарил (а): 49 раз
- Поблагодарили: 327 раз
Re: Ультрабюджетные проводные датчики/исполнительные устройс
Счётчик так и не запустил. В винде читается в линуксе нет.
Там проблема с настройками 9600 Even 7bit
Уже всё перепробовал не отвечает.
Если есть опыт работы с serrial в Linux - помоги пожалуйста
Там проблема с настройками 9600 Even 7bit
Уже всё перепробовал не отвечает.
Если есть опыт работы с serrial в Linux - помоги пожалуйста
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
-
- Сообщения: 51
- Зарегистрирован: Пн дек 10, 2012 12:17 am
- Благодарил (а): 2 раза
- Поблагодарили: 4 раза
Re: Ультрабюджетные проводные датчики/исполнительные устройс
нет, я здесь пас. как по мне проще какой-то железный транслятор сделать, для приведения к более стандартным настройкам.Ivan писал(а):Счётчик так и не запустил. В винде читается в линуксе нет.
Там проблема с настройками 9600 Even 7bit
Уже всё перепробовал не отвечает.
Если есть опыт работы с serrial в Linux - помоги пожалуйста