Автор |
Сообщение |
|
Дата: 15 Авг 2013 19:24:25
#
logif
я использую Debian на ядре 3.6
|
|
Дата: 15 Авг 2013 19:31:08 · Поправил: logif (15 Авг 2013 19:41:26)
#
Прошу прощения за назойливость:
у Debian 7 немного кривой hwclock.sh, пришлось его подпиливать (три строчки закомментировал)
какие именно строки, подскажите?
|
Реклама Google
|
|
|
Дата: 15 Авг 2013 22:08:56
#
logif
там где проверка /run/udev идет - три строчки закоментировать
|
|
Дата: 29 Ноя 2014 20:13:31
#
небольшой апдейт по софту для записи
сделал API для Uniden (удобно например заливать или сливать конфигурации с приемника) - https://github.com/ramelito/uniden-api
а так же переписал опять же на питоне утилиту для записи эфира - https://github.com/ramelito/radcore
отличие от предыдущей версии
- все операции в реальном времени без постобработки
- пользовательские шаблоны для названия папок и файлов
- конфигурации в формате YAML (есть пример)
в остальном полный паритет с предыдущей версией, за исключение поддержи AOR, это чуть позже
это все естественно под linux, для тех, кто пишет и вещает 24 часа 7 дней в неделю
в принципе наверное реально изготовить виртуальную машинку, которую можно запустить в Windows |
|
Дата: 29 Ноя 2014 22:47:56
#
которую можно запустить в Windows
В виндовс проще запустить хакнутый проскан.
|
|
Дата: 29 Ноя 2014 22:51:46
#
В виндовс проще запустить хакнутый проскан.
проскан начал поддерживать N параллельных приемников?
а так да если 146-ая не беспокоит, то можно и хакнутый
|
|
Дата: 29 Ноя 2014 22:56:30 · Поправил: Loran (29 Ноя 2014 22:59:06)
#
он всегда поддерживал неограниченное кол-во сканнеров, можно запустить несколько просканов.
|
|
Дата: 29 Ноя 2014 23:41:07
#
софт в первую очередь ориентирован на арм-платы (малинка, одроид, бигльбон), которые кушают по 5 ватт
предложение про Windows было скажем так для тех, кто хотел бы попробовать, но боялся спросить как
|
|
Дата: 30 Ноя 2014 03:32:42
#
сделал API для Uniden
зачетный api. спасибо
ps. существуют еще недокументированные команды: cdb, JPM, rdb, TST, SQ1, SQ2, SQ3, SQ4, SQ5, ESN, SSC, rbt, cdc, esn.
Не на всех моделях работают, поэтому не знаю, есть ли необходимость добавлять их в api. |
|
Дата: 30 Ноя 2014 10:18:13
#
Не на всех моделях работают, поэтому не знаю, есть ли необходимость добавлять их в api.
кстати про модели, забыл добавить, в начальном коммите есть легкий крен в сторону 396-ой модели, так что возможны некоторые ошибки при работе со сканерами типа bc15x, но это дело поправимое, скоро поправлю
по поводу недокументированных команд - если будет необходимость, включить не проблема. опять же тут я некоторые методы, типа SAME, WX, Tone-out, я не стал трогать - это все чисто американская мулька, которая тут в России не работает. Команды poweroff и clear тоже нет, от греха подальше)))
|
|
Дата: 22 Мар 2015 12:21:33 · Поправил: logif (22 Мар 2015 12:54:39)
#
ramelito
Весь необходимый софт установил, в том числе Uniden api. Через alsamixer активировал аудиовходы(правый и левый каналы).
В файле настроек расположенном: /opt/etc/radcore.yml -указал в качестве аудио источника 'card 0'(согласно выводу aplay -l)
Как сконфигурировать Radcore для работы с неуправляемыми приемниками?
Можете привести пример настроек для платы beagleboard xm?
Radcore работает самостоятельно или ему необходимо установка scanner-recorder?
|
|
Дата: 15 Май 2015 02:17:28
#
ramelito
Антон, огромное вам спасибо за проделанный труд. radcore отлично работает. Но есть пара вопросов.
1. Мы купили к Uniden'у USB-шнур. И при втыкании Uniden'a не создаётся симлинк в /dev/scanners. Можете что-нибудь посоветовать? Я не понимаю принципа, по которому выбирается числовой номер сканнера.
2. Насколько я понял, с помощью uniden-api можно выгрузить из сканера конфигурацию (в том числе по частотам и каналам) и загрузить обратно. Я понял правильно, или ошибаюсь? Если правильно, то не подскажите как это сделать?
В идеале, конечно же, интересует выгрузка-редактирование с помощью чего-нибудь и загрузка опять в сканнер.
|
|
Дата: 15 Май 2015 07:49:58
#
1. Мы купили к Uniden'у USB-шнур. И при втыкании Uniden'a не создаётся симлинк в /dev/scanners. Можете что-нибудь посоветовать? Я не понимаю принципа, по которому выбирается числовой номер сканнера.
возможно производитель конвертора usb не Prolific, достаточно добавить сточку в конфигурацию /etc/udev/rules.d/99-usb-serial.rules
по аналогии с pl2303
2. Насколько я понял, с помощью uniden-api можно выгрузить из сканера конфигурацию (в том числе по частотам и каналам) и загрузить обратно. Я понял правильно, или ошибаюсь? Если правильно, то не подскажите как это сделать?
например так
#!/usr/bin/python
from scanner.uniden import *
s=UnidenScanner(port='/dev/scanners/3110', speed='9600')
s.get_scan_settings()
print s.dump_scan_settings()
s.push_key('press','scan')
|
|
Дата: 15 Май 2015 09:03:32 · Поправил: Andrew_Shtein (15 Май 2015 09:40:42)
#
достаточно добавить сточку в конфигурацию /etc/udev/rules.d/99-usb-serial.rules
по аналогии с pl2303
Ага, спасибо, получилось:
KERNELS=="ttyUSB[0-9]", DRIVERS=="cp210x", ACTION=="add", PROGRAM="/opt/bin/usb_port_no.sh %E{DEVPATH}", SYMLINK+="scanners/%c"
|
|
Дата: 21 Май 2015 07:53:24
#
#!/usr/bin/python
from scanner.uniden import *
s=UnidenScanner(port='/dev/scanners/3110', speed='9600')
s.get_scan_settings()
print s.dump_scan_settings()
s.push_key('press','scan')
Это выгрузка информации по каналам, насколько я понял.
Если честно, я полный ноль в Питоне. В папке examples к uniden-api есть файл bulk_load.py - насколько я понял, он полностью весь конфиг может залить на сканер. А не могли бы вы написать bulk_save.py с обратным эффектом?
Сложно разобраться во всем этом с нуля.
|
|
Дата: 28 Май 2015 04:45:39
#
К API сильно не хватет какого-то понятного способа редактирования конфигурации. Или, как вариант, возможности загрузки конфигурации сохранённой из FreeScan.
Если кто-нибудь взялся написать, можно было бы даже финансово поучаствовать.
|
|
Дата: 28 Май 2015 07:17:12
#
Andrew_Shtein
А не могли бы вы написать bulk_save.py с обратным эффектом?
я выше привел пример кода, который в консоль выдаст форматированный в YAML список систем-групп-каналов
rawiss
К API сильно не хватет какого-то понятного способа редактирования конфигурации.
скажем так, задача API - обертка вызовов в определенном языке программирования, на основе API можно строить сложные приложения, которые будут пользоваться готовыми вызовами. Лично я редактирую в текстовом файле, а так да, для удобства нужно писать инструмент-приложение с графическим интерфейсом, микробазой и прочее, в моем случае к сожалению, у меня просто нет на это времени.
|
|
Дата: 28 Май 2015 07:28:57 · Поправил: rawiss (28 Май 2015 07:30:18)
#
ramelito, Вы и так проделали большую и очень нужную работу, за которую Вам вечное радиолюбительское спасибо :-)
.
Жаль не видно других заинтерсованных пользователей разбирающихся во всей этой абракадабре...
|
|
Дата: 28 Май 2015 10:08:47 · Поправил: Andrew_Shtein (28 Май 2015 10:10:23)
#
я выше привел пример кода, который в консоль выдаст форматированный в YAML список систем-групп-каналов
Да, это я сделал. Но загрузить этот конфиг у меня не получается.
Пытаюсь так:
#!/usr/bin/python
from scanner.uniden import *
s=UnidenScanner(port='/dev/scanners/2110', speed='115200')
s.load_scan_settings('2110.yml')
s.set_scan_settings()
s.exit_program_mode()
s.push_key('press','scan')
Получаю:
Traceback (most recent call last):
File "./2110.py", line 5, in <module>
s.load_scan_settings('2110.yml')
File "/usr/local/lib/python2.7/dist-packages/scanner/uniden.py", line 789, in load_scan_settings
i=self.create_system(sys_type,protected)
File "/usr/local/lib/python2.7/dist-packages/scanner/uniden.py", line 800, in create_system
res = self.raw(cmd)
File "/usr/local/lib/python2.7/dist-packages/scanner/uniden.py", line 122, in raw
res = (self.serial.readall()).strip('
')
File "/usr/lib/python2.7/dist-packages/serial/serialposix.py", line 456, in read
raise SerialException('device reports readiness to read but returned no data (device disconnected?)')
serial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected?)
А иногда и вовсе No handlers could be found for logger "uniden_api.UnidenScanner"
В bulk_load.py необходим какой-то system_index - что это? Что-то вроде номера ячейки в памяти? Пробовал закоментированное значение (15817), пробовал наугад - эффект одинаков:
Traceback (most recent call last):
File "./bulk_load.py", line 23, in <module>
sd=s.systems[args.sys_index].dump() #dump data to temp var
KeyError: '15817'
И, насколько я понял, в файле bulk_load.py в строке s=scanner.UnidenScanner(args.dev,args.speed) scanner не нужно. При его наличии вылезает ошибка Traceback (most recent call last):
File "./bulk_load.py", line 21, in <module>
s=scanner.UnidenScanner(args.dev,args.speed)
NameError: name 'scanner' is not defined
Большое вам человеческое спасибо за проделанную работу. Не судите строго за тупость )
|
|
Дата: 28 Май 2015 10:32:37
#
Andrew_Shtein
device disconnected?
похоже, что проблема с подключением к приемнику (проверяйте порт, скорость)
необходим какой-то system_index
в динамической памяти приемника сквозная нумерация ячеек, соответственно для загрузки системы нужен индекс ее ячейки
bulk_load работает для одной системы, при условии, что она уже создана (это пример для тех, кто желает разобраться как работает API)
|
|
Дата: 01 Июн 2015 09:07:13
#
похоже, что проблема с подключением к приемнику (проверяйте порт, скорость)
Почему-то не работает после запуска компьютера - сканнер определяется, в /dev/scanners он есть, но не работет с api. После перетыкивания usb - работает.
в динамической памяти приемника сквозная нумерация ячеек, соответственно для загрузки системы нужен индекс ее ячейки
bulk_load работает для одной системы, при условии, что она уже создана (это пример для тех, кто желает разобраться как работает API)
Ага, ок, теперь понял. Не подскажите ещё пару моментов?
Я пытаюсь загрузить новый конфиг так:
#!/usr/bin/python
from scanner.uniden import *
s=UnidenScanner(port='/dev/scanners/2110', speed='115200')
s.load_scan_settings('2110.yml')
s.set_scan_settings()
s.exit_program_mode()
s.push_key('press','scan')
Но при этом, как я понимаю, не происходит удаления старых систем. В api есть команда удаления системы по индексу. Я так понимаю, что надо пройтись в цикле и удалять все? Как это правильно сделать на Питоне?
|
|
Дата: 01 Июн 2015 09:14:52
#
Andrew_Shtein
Я так понимаю, что надо пройтись в цикле и удалять все?
вообще в сканере есть опция очистить память
|
|
Дата: 01 Июн 2015 09:45:24
#
вообще в сканере есть опция очистить память
Через API это можно сделать?
Потому что физического доступа к сканнеру у меня не будет, а менять конфигурацию будет нужно
|
|
Дата: 01 Июн 2015 10:25:14
#
Andrew_Shtein
можно
метод raw, класса UnidenScanner, команда CLR (вот только не помню в каком режиме она вводится, помоему в режиме программирования)
в коде это будет вот так:
s=scanner.UnidenScanner('/dev/ttyUSB0',115200)
s.enter_program_mode()
s.raw('CLR')
|
|
Дата: 10 Июл 2015 13:28:56
#
ramelito, добрый день.
Перешли на использование radcore. Всё работает, спасибо.
Один нюанс: раньше, если в конце файла была тишина, то она обрезалась (как я понимаю, при перекодировании).
Можно ли сейчас такое же сделать каким-то образом?
|
|
Дата: 11 Июл 2015 21:34:22
#
Andrew_Shtein
раньше - это когда?
|
|
Дата: 12 Июл 2015 08:44:32
#
раньше - это когда?
Раньше - это на старой версии вашего софта, которая на баше была написана.
В конце файлов есть тишина, "хвосты", как я понимаю они равны delay time, то бишь времени, которое сканер ждёт после окончания сигнала до возобновления сканирования.
В старой версии эти "хвосты" удалялись. Можно их как-то в новой удалять?
|
|
Дата: 12 Июл 2015 19:43:52
#
Andrew_Shtein
в версии на баше был принципиально другой подход, постобработка целого куска файла
я могу поставить этот запрос в TODO лист, но объективно, пока нет времени этим заниматься.
|
|
Дата: 02 Авг 2016 09:48:23
#
Антон - ramelito,
решился перейти на ubuntu в компьютере рекордере (на винде сидел по сих пор - Proscan люблю) и разбираю твой radcore
Просто поражает объем работы, что ты сделал
чего только стоит uniden API!!!!
У меня он две страницы текста занимает :)
спасибо тебе за работу!!!!!
буду думать как сделать к нему интерфейс для Proscan для удаленного управления - т.е. хочу добавить интерфейс к Proscan.
но скорее придется приделать к твоему radcore свой uniden API
|
|
Дата: 02 Авг 2016 11:09:39
#
vova_sam
буду думать как сделать к нему интерфейс для Proscan для удаленного управления - т.е. хочу добавить интерфейс к Proscan.
я бы транслировал команды через сеть и потом через socat пихал в порт управления)
|
Реклама Google |
|