Запись и воспроизведение произвольного сигнала 433Mhz

Я тестовый скрипт для питона нашел, а чего-то похожего на демона - нет. Вероятно плохо искал :frowning:

Демона нет, просто тестовый скрипт на питоне достаёт из /dev/lirc0 данные. К демону конечно ещё прикручивать надо.

Вообще когда тестировали, проблема была основная с шумом и границами пакетов, почему-то там параметры сильно скакали, видимо rfm69 какую-нибудь чувствительность на ходу пытался подстраивать и было плохо.

В документации описано, как должен работать динамический RSSI вместе OOK Demodulator’ом. Как это на самом деле работает - нужно пробовать. Засада может быть, например, в неправильном канале. От минимального непопадания в частоту тот же динамический rssi может вытворять все , что угодно.
Постараюсь найти время и заняться. Вроде все для этого есть (кроме времени) :smile:

Есть продвижения по теме?

Я больше не занимался. Времени совсем нет. Постараюсь на праздниках добить.

Есть успехи?

Для меня сейчас это не особо приоритетная тема. Занимаюсь ей по мере возможности.

Вообще, странная история. Пытаюсь сравнивать сигнал снимаемый через lirc устройство с ардуиной+обычный копеечный ресивер на 433мгц и сигнал на арудуине на порядок стабильнее и отлично декодируется стандарными библиотеками. В то же время сигнал на WB все время разный: то помехи какие-то, то начало сигнала пропущено, то огромный хвост после основного сигнала…

У радиомодуля огромное количество настроек и, вероятно, секрет в их правильной комбинации. Либо я тупо что-то не то делаю…

Но, я все больше склоняюсь к отдельному ресиверу на ардуине. Выглядит так, что это простое дешевое решение, которое будет еще и гораздо стабильнее.

Если нужно научить WB принимать сигнал от какого-то конкретного устройства - проще докрутить существующий механизм. За счет квантования сигнала он должен работать гораздо стабильнее, чем /dev/lirc0 без явно включенной дискретизации.

Обычный копеечный ресивер на 433MHz можно завести на разъём расширения WB4 или WB5 и подключить к драйверу lirc_pwm - скорости должно хватать.

Евгений, а есть более свежая инструкция по пересборке device tree для WB5?

В http://contactless.ru/wiki/index.php/Device_Tree довольно старая инструкция. С 2013го года много чего поменялось (например, нужны новые заголовки ядра и т.п.)

А можно загрузить третий lirc_pwm через /etc/modules.conf, если два уже загружены через devtree ?

Новой инструкции нет.
Ну можно просто ядро целиком собрать, это делается несложно.

Ещё мы сейчас делаем хитрую штуку, которая вообще dts собирает на WB. Насколько я понимаю, часть про сборку DTS там уже работает точно, поэтому можете вызов из исходников вытащить, там несложно: https://github.com/contactless/wb-hwconf-manager
Искать по слову tcc.

Нет, эти костыли из драйвера к счастью выпилили.

Ok, спасибо попробую.

Еще бы понять, что с ним делать…
Например, ему нужен jq, которого нет в репозитории дебиана. Собирать из исходников?

Вам кажется только tcc нужен, он есть в репозитории: https://packages.debian.org/wheezy/tcc

Видимо я не понял что нужно делать с wb-hwconf-manager.
Я нашел там только wb-hwconf-helper и ему нужен jq.
jq я собрал, но что делать дальше так и не понял (
команды типа cat wb-hardware.conf.wb52 | wb-hwconf-helper confed-tojson отрабатывают, что дальше делать с полученным json?

Ох. Я предлагал посмотреть как эта штука вызывает tcc + dtc , чтобы компилировать device tree
Где-то в районе https://github.com/contactless/wb-hwconf-manager/blob/master/functions.sh#L55 .

Народ, а как вы тестируете? Я что-то никак даже до получения сырых данных не дойду (. Поставил ядро отсюда И снова Oregon Scientiic, /dev/lirc0 появился. Запускаю https://github.com/contactless/rfm69-linux/blob/feature/rfm69_raw/test_raw.py, выводит

close failed in file object destructor:
IOError: [Errno 16] Device or resource busy
0x6c
0x7a
0xe1

и на этом все.

cat /dev/lirc0 тоже ничего не выводит, когда кнопки на пульте жмешь.

А версия контроллера какая? Драйвер wb-homa-ism-radio опустили?

wb4, wb-homa-ism-radio выключен, само собой.

Уточню, на всякий - вы имеете ввиду остановил ли демон? Если да, то остановил.