Вопрос? с ардуино я уже попробовал вывести на комп коды посылок с пульта. вроде работает. теперь нужно бы принять на 433.92 мгц коды шлагбаума. какой принцип использовать не знаю. замерять длительности бит? сложненько немного для моего уровня
после детектора(демодулятора) модулируюшую посылку надо писать на носитель востановив(сохранив) постояную состовляющую
_________________ ZМудрость(Опыт и выдержка) приходит с годами. Все Ваши беды и проблемы, от недостатка знаний. Умный и у дурака научится, а дураку и .. Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Скорость передачи у ик пультов, радиобрелков, дешёвой китайской аппаратуры радиоуправления и т.д. примерно одинаковая ~1кГц.
Принцип работы заводский шифраторов/дешифраторов ик пультов, радиобрелков, дешёвой китайской аппаратуры радиоуправления тоже одинаковый.. )) Отличия только в способе кодирования (протоколах передачи).
Любая команда представляет собой набор единиц и нулей. Они все кодируются длительностями импульсов и скажностью. А значит надо просто измерять длительность и скважность. И как два пальца это всё дело дешифровать. А далее имея нули и единицы можно сгенерировать нужный сигнал. Для авр использовать захват таймера. Для стм использовать таймер в режиме измерения ШИМ. Т.е. записывать ничего не надо. Надо дешифровывать! Это и просто и не требует много памяти.
_________________ Глупый не задает вопросы. Глупый и так все знает.
Точность там плюс минус километр. Ресурсов и авр и тем более стм хватит за глаза. Измеряешь параметры сигналов, переводишь их в цифры. Далее из цифр генеришь. Если нужно только эмуляция одного брелка. То можно написать програмку, снять параметры и передать их в терминал компьютера. Проанализировать своим мозгом. Создать последовательность цифр. А далее написать прошивку, которая из этих цифр сделает уже готовый сигнал на выход. Но задача простая и можно всё сделать на мк.
_________________ Глупый не задает вопросы. Глупый и так все знает.
я то в курсе. переварить никак не могу. не могу понять с чего мне начать. за что зацепится. вот думаю замерять длину первого импульса с помощью захвата таймера
силно сомневаюсь что перекодирование на ходу у вас сразу выйдет это при услови если в флеше лежат полные таблицы шифрования на оба входной и выходной код ресурсы будут неслабо подгружены но опыт ряда людей(судя по нету) говорит что это возможно на 328меге на лету о реалтайме
_________________ ZМудрость(Опыт и выдержка) приходит с годами. Все Ваши беды и проблемы, от недостатка знаний. Умный и у дурака научится, а дураку и .. Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Поставить ИК приёмник, который демодулятор с несущей 36/38кГц. Смотря какой пульт. С него получать импульсы и заводить на модуль захвата. И начать принимать их, отмеряя длительность как 1 так и 0. Если длительность станет больше некоторой, значит таймаут и команда окончилась. Значит можно приступить к декодированию. Если длительность входит в некий предел(а он регламентирован в стандарте), значит понимаем его или как 0 или как 1. Сама команда состоит из нескольких частей. "Старт бит, адрес команда", определяем старт бит по длительностям. Адрес и команду считаем по количеству 0 и 1.
Мусор, какое шифрование? Какие ресурсы? Команда пришла, команда ушла. Нет там никакого шифрования. нет никаких ключей. Там всё просто как рц5 или нек. А для брелка шлангбаума и вовсе могут быть тональности.
_________________ Глупый не задает вопросы. Глупый и так все знает.
Цитата: "Все протоколы можно условно разделить на две категории - использующих бифазное кодирование ("Манчестерский" код) и использующие временной код... "
UART (и куча других протоколов) не кодирует длительностями импульсов и скажностью.)) Кстати есть пример как декодировать с помощью того же UART..))
Согласен.. использовать для декодирования UART - извращение полное)) Но просто для интереса можно))
AndTer писал(а):
Для авр использовать захват таймера.
Ни один заводской дешифратор не использует захват таймера. Это кустарное творчество.. для любителей экзотики))
mixon46 писал(а):
надо довольно точно знать длину лог 1 и лог 0.
Ни один заводской дешифратор не знаеть точно длину лог 1 и лог 0. Только примерно)) +/- ))
mixon46 писал(а):
думаю замерять длину первого импульса с помощью захвата таймера
Поймаете помеху .. и получите ошибку на выходе таймера... Например если фронт импульса на входе таймера будет не достаточно крутым. Но дело ваше... Будете потом отлавливать ошибки таймера программно))
musor писал(а):
перекодирование на ходу
Что вы имеете ввиду ? Любой (даже самый дешёвый AVR) может перекодировать посылку на ходу... Причем МК даже не обязательно принимать всю посылку целиком. Для МК достаточно принять первую часть посылки, определить "Старт бит и адрес команды" (по старт биту - преамбуле - МК уже знает какой протокол) и тут же МК выдаст на выходе уже перекодированный сигнал. Т.е. любой МК может перекодировать любой ИК протокол "на ходу" (т.е. с минимальной задержкой). И т.д. и т.п.))
Глупости)) Не все кодируются длительностями импульсов и скажностью.
Зачем же писать такие глупости и даже местами чушь? Конечно не все, но ИК протоколы разбирать надо именно по ним. Понятно что 1 и 0, но разобрать на 1 и 0 можно только используя вычисления длительности. Ибо надо отделить один протокол от другого, исключить ошибки и сбои.
При чём здесь уарт? Чукча не читатель чукча писатель? Зачем тут теория то? ТС чётко написал что ему нужно.
roman.com писал(а):
Ни один заводской дешифратор не использует захват таймера. Это кустарное творчество.. для любителей экзотики))
Что за бред? Не надо писать чушь про заводской дефиратор. В МК нет аппаратного декодера, поэтому только через длительности импульсов. Да и аппаратные декодеры я не встречал уже как с середины 90х годов. И в заводском дефираторе так же используются длительности импульсов, пусть и аппаратно. Хотя опять же, сейчас уже давно всё дешифруется микроконтроллерами.
roman.com писал(а):
Только примерно)) +/- ))
Что за капитан очевидность?
roman.com писал(а):
Поймаете помеху .. и получите ошибку на выходе таймера...
Что за бред? Для ИК есть приёмники-демодуляторы которые помехи почти все убирают. Остальное да, программно. Две строки кода, на проверку длительности и таймаута. Есть другие варианты?
_________________ Глупый не задает вопросы. Глупый и так все знает.
Зачем тут теория то? ТС чётко написал что ему нужно.
Вот именно! mixon46 написал конкретно что ему нужно:
mixon46 писал(а):
за что зацепится. вот думаю замерять длину первого импульса с помощью захвата таймера
Вот с этого места по поподробней..))
AndTer писал(а):
получать импульсы и заводить на модуль захвата. И начать принимать их, отмеряя длительность как 1 так и 0.
По вашему можно произвести вычисления длительности - с помощью захвата таймера...
Цитата из даташита МК типа AVR:
"Таймер-счетчик содержит блок захвата, который запоминает состояние счетчика при возникновении внешнего события, тем самым определяя время его возникновения. В качестве события/событий выступает внешний сигнал, подключенный к выводу ICP1. Результат захвата состояния таймера может использоваться для вычисления частоты, скважности импульсов и других параметров импульсных сигналов."
Вот и расскажите mixon46 к чему приводит (к каким ошибкам) использование блока захвата таймера-счетчика... А всякую ерунду тут писать не надо))
я вот думал замерять длительности по изменению сигнала на входе. например вот на ик если нет сигнала то на выходе лог 1. когда поступает сигнал то лог 0. по изменению сигнала. сбрасывать счетный регистр и включать таймер. по следующему перепаду сигнала на входе остановить таймер. записывать в ячейку массива длительность которую насчитал таймер. обнулить счетный регистр и заново запустить таймер. закончить запись если длительность последнего сигнала будет больше определенной величины. тут понадобиться сделать большой массив. было бы вообще здорово прикрепить какую нибудь флешку и писать туда длительности. а далее разбирать информацию. опять же как и чем? и навыков работы с флеш у меня совсем нет. даже не знаю как это делается
я вот думал замерять длительности по изменению сигнала на входе. например вот на ик если нет сигнала то на выходе лог 1. когда поступает сигнал то лог 0. по изменению сигнала. сбрасывать счетный регистр и включать таймер. по следующему перепаду сигнала на входе остановить таймер. записывать в ячейку массива длительность которую насчитал таймер. обнулить счетный регистр и заново запустить таймер. закончить запись если длительность последнего сигнала будет больше определенной величины. тут понадобиться сделать большой массив. было бы вообще здорово прикрепить какую нибудь флешку и писать туда длительности. а далее разбирать информацию. опять же как и чем? и навыков работы с флеш у меня совсем нет. даже не знаю как это делается
что то на уровне фантастики
Останавливать не надо. Надо считать длительность и 1 и 0. Какая флеш? Тот же NEC или RC5 протокол потребует массива не более 64 байт. Хватит памяти любого микроконтроллера. Это для записи. А если дешифровать полностью, то 2 байта)
А если хочешь анализировать информацию, шли полученные значения по usart на компьютер в терминал. С разделитеями можно, а его уже открыть экселем для наглядности. Отладишь, разберёшься и уже будешь всё делать в пределах внутренностей мк.
_________________ Глупый не задает вопросы. Глупый и так все знает.
а для того что бы считать длительность нужно счетчик останавливать и сбрасывать перед замером следующего бита. если мы знаем длину бита то можно было бы просто через равные промежутки времени после появления первого старт бита проверять вывод микроконтроллера на лог 1 и 0. но для этого нужно замерить длину бита. хотя бы первого. а если первые два бита 0? нужно узнать какой длинны один бит
Хрень какая то... даже не поняли вообще о чём идёт речь.. ну и ладно..))
mixon46 писал(а):
...
Откройте даташит стандартного заводского дешифратора. Внимательно изучите его работу. Используйте стандартный алгоритм работы заводского дешифратора. Выкиньте из головы всякие бредни, которые писали выше))
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения