Автор |
Сообщение |
|
Дата: 04 Сен 2008 15:53:58
#
Rulez Reloaded
Недостатки такие:
- Не поддерживается серия PCR;
- Не поддерживается GPS;
- Разработка прекращена.
Добавлю так же
- невозможность интеграции в тут систему, что Вам требуется
- отсутствие исходников.
|
|
Дата: 04 Сен 2008 15:59:30 · Поправил: Rulez Reloaded (04 Сен 2008 15:59:52)
#
GenaSPB
невозможность интеграции в тут систему, что Вам требуется
Мммм... да собсно итегрировать никуда не хотели. Или вы про возможность визуализации в GE?
отсутствие исходников.
Это да...
|
Реклама Google
|
|
|
Дата: 04 Сен 2008 16:06:48 · Поправил: Rulez Reloaded (04 Сен 2008 16:08:45)
#
|
|
Дата: 04 Сен 2008 16:23:34
#
Добрый день.
А вот мои настройки для портативного сканнера IC-R20 - работает на ура. Может быть, поможет. Чуть ниже даю настройки для PCR-1000 - посмотрел на уже готовые программы.
Оформил структурой на С.
const struct icr20_caps = {
.model_name = "IC-R20",
.serial_rate_min = 300,
.serial_rate_max = 9200,
.serial_data_bits = 8,
.serial_stop_bits = 1,
.serial_parity = PARITY_NONE,
.serial_handshake = HANDSHAKE_NONE,
.write_delay = 0,
.post_write_delay = 0,
.timeout = 200,
.retry = 3,
};
Для PCR-1000 есть утилита командной строки для Линукс, там так инициализация проводится (приблизительно даю отрывок):
void set_serial( int fd,
struct termios *options,
struct termios *way_it_was ) {
/* Get the current options for the port... */
tcgetattr( fd, options );
/* save a copy of this for when we exit the program,
/* so that we can restore the port */
tcgetattr( fd, way_it_was );
/* Set the baud rates to 9600... */
cfsetispeed( options, B9600 );
cfsetospeed( options, B9600 );
/* Enable the receiver and set local mode... */
options->c_cflag |= ( CLOCAL | CREAD );
/* Set ICANON mode for line by lint input */
options->c_lflag |= ( ICANON );
/* Don't echo */
options->c_lflag &= ~( ECHO | ECHOE );
/* Raw output mode */
options->c_oflag &= ~OPOST;
/* 8N1 Settings */
options->c_cflag &= ~PARENB;
options->c_cflag &= ~CSTOPB;
options->c_cflag &= ~CSIZE;
options->c_cflag |= CS8;
/* Don't reset the state of DTR on port close */
options->c_cflag &= ~HUPCL;
/* Set the new options for the port... */
tcsetattr( fd, TCSANOW, options );
}
Думаю, надо аналогично настраивать порт в Виндоуз))
Полностью смотреть ЗДЕСЬ:
http://www.mv.net/ipusers/cdwalker/pcrd.html |
|
Дата: 04 Сен 2008 17:08:43
#
А вот интересно, тестировавший мою программу человек поставил скорость-то?
Думаю, надо аналогично настраивать порт в Виндоуз))
Не совсем так, как Вы написали, но естественно - настраивается.
Уж что там может у меня не работать - не понятно... выдаю строку, читаю строку (до символа 0x0a)...
|
|
Дата: 04 Сен 2008 17:13:15
#
GenaSPB,добрый день.
Знаете, вот такой вариант: я думаю, надо все-таки писать под переносной сканнер - что-то типа R-20. Ибо значительно проще написать, кроме того, все-таки планируется "ездить" со сканнером по местности, отсюда - должна быть некоторая портативность + антенны.
Почему PCR-1000 был выбран то как образец?
|
|
Дата: 04 Сен 2008 17:34:40
#
renice
Почему PCR-1000 был выбран то как образец?
Он есть физически у 2 "инвесторов" и у него весьма быстрый S-метр.
|
|
Дата: 04 Сен 2008 18:56:18
#
Пошёл домой. логи можо слать в ящик mgs2001 на сервере pochtamt ru
|
|
Дата: 04 Сен 2008 19:30:13 · Поправил: geka (04 Сен 2008 19:35:32)
#
GenaSPB
Скорость порта выставлена 9600.
Немного не понятен принцип введения частоты. Так как ввести значение частоты в основное поле индикации не удаётся ни под каким образом.
Нужно ли для программы производить какие то дополнительные настройки ком порта?
Ибо значительно проще написать, кроме того, все-таки планируется "ездить" со сканнером по местности, отсюда - должна быть некоторая портативность + антенны.
Почему PCR-1000 был выбран то как образец?
Ну не на велосипеде же ездить с приёмником и ноутбуком.
Планируется использовать автомобиль, где нет проблем ни с питанием, ни с антеннами в любое время года.
|
|
Дата: 04 Сен 2008 20:44:02 · Поправил: geka (04 Сен 2008 20:45:05)
#
http://www.radioscanner.ru/uploader/2008/rs232_log_pcr1000.zip
Собственно лог.
Контрольные точки в файле device_pcr1000.xls:
Первая строка включение приёмника.
заканчивается на 3384. соответствует строке Запрос:04.09.2008 20:25:40.58664 (+0.0313 seconds) в файле запросы_pcr1000.htm
Максимальное показание С-метра
Заканчивается на 3496. соответствует строке Ответ:04.09.2008 20:26:50.18064 (+69.5156 seconds)
При продолжающихся максимальных покозаниях с-метра добавляется ещё блок данных
в 7898, Ответ:04.09.2008 20:26:50.18064 (+69.5156 seconds)
При нулевых показаниях с-метра прописывается
8078 Ответ:04.09.2008 20:26:50.18064 (+69.5156 seconds)
как то вот так. |
|
Дата: 04 Сен 2008 21:49:19
#
ничего в моей программе не надо вводить...
Да, забыл сказать - ПУСК надо нажать
|
|
Дата: 04 Сен 2008 21:55:34
#
При нажатии "пуск" блокируются "полоса", "диапазон", "рестарт". И всё. больше каких либо действий не удаётся произвести.
Скорости при тесте и в программе и настройках порта выставлялись 9600.
|
|
Дата: 04 Сен 2008 22:08:13
#
Итак, сразу даю ссылку:
http://sourceforge.net/projects/pcr1000
Все, что нужно для счастья программисту pcr-1000
без шуток, кстати:
"...A portable library to control the ICOM PCR-1000 computer controlled general purpose radio receiver and gui front ends for X, Aqua, and windows32..."
Если не врут, задачу управления приемником можно считать решенной))
"...To separate the functions so that multiple user interfaces may be used to access the radio, we require a small number of external functions be provided to handle character-at-a-time I/O to the rs232 port that the radio is attached to. With those functions available, we implement a collection of command functions that are callable from C. On top of that we provide a command interpretter using the gnu readline library..."
9: smeter reading (in hex)
00 0 b0 s9 + 20db
30 3 d0 s9 + 40db
50 5 f0 s9 + 60db
70 7
90 9
Кстати, вот стандартная процедура проверки
работы программ с серийными портами
http://bugtraq.ru/library/programming/rs232.html
1. Залезть в BIOS и посмотреть значения для портов на компьютере (там цифрами выставляются)
Соот-но, цифры типа 0x03F8 и т.д.
2. Подключить к порту любое устройство и проверить работу через любую терминальную программу, смотреть также настройки в ОС и работу самого порта.
Для этого дела я, когда, например, программирую Моторолы, использую такой небольшой девайс со светодиодами - показывает все биты и их состояния - купил по случаю за 50 руб на радиорынке. В Тайване, кажется, делают.
Дополнительное удобство для изготовления самодельных программаторов на микросхемах, кстати...
Еще кое-что по настройкам...
http://james.ahlstrom.name/pcr1000/index.html
На Питоне - можно посмотреть, что они там наваяли в настройках...
http://qsy.to/pcr/
Некоторые проги |
|
Дата: 04 Сен 2008 22:57:54
#
Скорости при тесте и в программе и настройках порта выставлялись 9600.
Системные настройки порта не влияют.
После нажатия "пуск" остановка просцесса считывания - повторным нажятием "пуск".
Поля ввода в программе остались от старой задачи - сейчас не обращайте внимания.
Посмотрел лог читаемых данных. Символов возврата каретки и перевода строки, упомянутых в инструкции, напрочь нет. Символов возврата каретки в логе передаваемых запросов я что-то тоже не нашёл.
Программа portmon - она даёт возможность в одном логе получить одновременно информацию об оюеих потоках данных в обеих направлениях. Это под Windows XP программа такая.
В личку пока никто не написал предложения о том, можно ли придти - с реальным железом потестироваться (ноутбук у меня есть, компорт присутствует. Надо мне всего не более часа).
Выложу визуалсишный проект - есть кому отладиться?
|
|
Дата: 05 Сен 2008 08:28:30
#
Rulez Reloaded
Этой весной тоже была такая задачка: покататься по степи и измерить зону покрытия базовой станции МРТ-1327. По причине бедности в качестве измерилова использовался сканер WiNRADiO-1550e и GPS антеннка, подключаемая прямо к USB разъёму. Соответственно нашим программером был написан plug-in (кажись на С++) к приёмнику. Сейчас на скриншоте приёмник в демо-режиме и без антеннки (нужно всё собирать), но идея понятна. Вот что получилось:
Увеличить
Данные измерений через каждые 100 метров (координаты- уровень дБм) помещаются в файлы с расширением *.mif, *.mid для дальнейшей обработки в MapInfo. Если это примерно то что Вам нужно можем пообщаться подробнее... |
|
Дата: 05 Сен 2008 10:27:55
#
ValdemarG
Это и есть то что нам нужно. Только с поддержкой других типов приёмников.
|
|
Дата: 05 Сен 2008 10:29:41
#
GenaSPB
После нажатия "пуск" остановка просцесса считывания - повторным нажятием "пуск".
Поля ввода в программе остались от старой задачи - сейчас не обращайте внимания
Визуально ничего не происходит. Приёмник даже не включает НЧ тракт.
|
|
Дата: 05 Сен 2008 11:16:53
#
Визуально ничего не происходит. Приёмник даже не включает НЧ тракт.
Я не делал управления приёмником. Я делал считывание показания S-метра (в цикле).
А можно - запрограммировать его на приём в другой программе - а потом запустить мою?
|
|
Дата: 05 Сен 2008 12:23:47 · Поправил: geka (05 Сен 2008 12:26:40)
#
GenaSPB
Если приёмник выключен то он и не выдаёт никаких данных естественно.
Попробую вечером одновременно запустить Ваш софт и Айкомовский одновременно, но боюсь что он будет ругаться что порт уже открыт другим процессом (Айкомовским софтом). Поэтому и делался упор на написание софта который одновременно и управляет приёмником, считывает показания с-метра и одновременно пишет GPS координаты.
Как вариант можно вместо управления приёмником использовать функцию сниффинга. То есть при работе с родным софтом, тупо тырить данные с-метра :)
|
|
Дата: 05 Сен 2008 12:36:51 · Поправил: GenaSPB (05 Сен 2008 12:37:12)
#
Попробую вечером одновременно запустить Ваш софт и Айкомовский одновременно, но боюсь что он будет ругаться что порт уже открыт другим процессом (Айкомовским софтом).
Естественно, при одновременном запуске так и будет.
А можно - запрограммировать его на приём в другой программе - а потом запустить мою?
Или, при штатном завершении управляющей программы приёмник выключается? Тогда - через task manager - End Process (не End Task) - и запустить мою.
Сниффинг - это не функция, а довольно неслабый кусок работы. Так что делать придётся всё управление целиком.
Но без приёмника это всё растянется на неопределённый срок...
Предложений подёргать программой реальное железо так и не поступало.
Да, GPS модулей у меня в столе не лежит не одного. И автономных устройств тоже.
|
|
Дата: 05 Сен 2008 13:37:59
#
Добрый день.
Исходя из опыта ValdemarG сразу возникает след решение:
1. Найти программу под pcr-1000, которая пишет логи.
В журнале должны быть а) время приема б) частота и показания S-метра. Думаю, подобные программы существуют.
2. Найти программу для работы с GPS, тоже запись в логах (время и координаты, разумеется).
3. Написать небольшую программу, способную обработать
файлы логов GPS & pcr-1000. На выходе должен быть текстовой файл, пригодный для привязки (выше было написано, как это предполагается делать).
Программный фильтр легко написать, кроме того, все сложности с "удаленным" программированием исчезают.
|
|
Дата: 05 Сен 2008 13:58:13 · Поправил: GenaSPB (05 Сен 2008 13:59:15)
#
Программный фильтр легко написать, кроме того, все сложности с "удаленным" программированием исчезают.
Не, ну так бы сразу и сказали, что всё уже оказывается есть...
Короче, всю бодягу с написанием интегрированной программы для логирования данных с устройств (или двух программ, пишущих в одну базу), завязываю.
Исходники того скелета на visual C, что я делал, выкладываю на ту же страничку, где лежит тестовая версия программы (http://mgs2001.pochtamt.ru/pcr-1000/lll.html).
Набор процедур для доступа к базе (wrappers над ADODB) выложу в виде тестовой программы (исходные тексты, разумеется), если кому надо.
|
|
Дата: 05 Сен 2008 14:01:50
#
Возвращаясь к Linux (параллельная задача)...
Если у кого то есть интерес - можно было бы что-то подобное делать и для нашей системы. Тем более, все необходимое у меня есть - и утсройства и программы)) Надо бы потестировать в реальных условиях...
Вот список поддерживаемых устройств (сканнеры, трансиверы, приемники):
FT-847, FT-1000D, MARK-V FT-1000MP, FT-747GX, FT-757GX, FT-757GXII, FT-767GX, FT-736R, FT-900, FT-920, FT-890, FT-990, FRG-100, FRG-9600, FRG-8800, FT-817, FT-100, FT-857, FT-897, FT-1000MP, MARK-V Field FT-1000MP, VR-5000, FT-450, TS-50S, TS-440, TS-450S, TS-570D, TS-690S, TS-711, TS-790, TS-811, TS-850, TS-870S, TS-940S, TS-950SDX, TS-2000, R-5000, TS-570S, TH-D7A, TH-F7E, K2, TS-930, TH-G71, TS-680S, TS-140S, TM-D700, TM-V7, TS-480, IC-271, IC-275, IC-471, IC-475, IC-706, IC-706MkII, IC-706MkIIG, IC-707, IC-718, IC-725, IC-726, IC-728, IC-735, IC-736, IC-737, IC-746, IC-751, IC-756, IC-756PRO, IC-761, IC-765, IC-775, IC-781, IC-820H, IC-821H, IC-970, IC-R10, IC-R71, IC-R72, IC-R75, IC-R7000, IC-R7100, ICR-8500, IC-R9000, IC-910, IC-78, IC-746PRO, IC-756PROII, Omni VI Plus, IC ID-1, IC-703, IC-7800, IC-756PROIII, IC-R20, IC-7000, IC-PCR1000, IC-PCR100, AR8200, AR8000, AR7030, AR5000, AR3030, AR3000A,
AR2700, AR8600, AR5000A, NRD-535D, NRD-545 DSP, BC245xlt, BC895xlt, R-8A, R-8B, HF-235, RA6790/GM, TRP8000, WR-1000, WR-1500, WR-1550, WR-3100, WR-3150, WR-3500, WR-3700, TT-550, TT-538 Jupiter, RX-320, RX-340, RX-350, TT-516 Argonaut V, TT-565 Orion, DX-77, 505DSP, RPC rig, 4937 DI5 tuner module , 4702 DT5 tuner module , DSP-10, SDR-1000, EKD-500, Elektor 3/04, DDS-60, Elektor SDR-USB, miniVNA, SW/FM radio
Это скриншот предполагаемого интерфейса (потом сделаю скриншот GPS)
http://linux.softpedia.com/screenshots/Grig_1.png |
|
Дата: 05 Сен 2008 15:38:18 · Поправил: Rulez Reloaded (05 Сен 2008 15:48:03)
#
renice
Я не думаю, что эта идея удачна.
Первые прикидки показывают, что есть ряд "мелочей", которые выливаются в непреодолимые сложности и портят всю теоретическую "малину".
|
|
Дата: 05 Сен 2008 15:40:56
#
GenaSPB
Короче, всю бодягу с написанием интегрированной программы для логирования данных с устройств (или двух программ, пишущих в одну базу), завязываю.
Жаль. Но спасибо, что хоть как-то оживили тему...
|
|
Дата: 05 Сен 2008 16:25:14
#
Жаль. Но спасибо, что хоть как-то оживили тему...
Если железо появится, оживлю ещё раз. Там возни действительно на неделю вообще. Железо нужно на один день.
С удалённым программированием просто сплошная пробуксовка получается.
|
|
Дата: 05 Сен 2008 17:33:17
#
Rulez Reloaded, добрый день.
А что за мелочи? Конечно, не хочется писать программу, которая будет с глюками. Сейчас вроде все работает..
Если можно, подробнее обожидаемых трудностях.
|
|
Дата: 05 Сен 2008 17:47:23
#
GenaSPB
Если железо появится, оживлю ещё раз. Там возни действительно на неделю вообще. Железо нужно на один день.
С удалённым программированием просто сплошная пробуксовка получается.
Будем надеяться, что в Питере может кто-нибудь "проснется".
Если можно, подробнее обожидаемых трудностях.
Мне видится трудностей даже априори. Логгеров как таковых нет. То, что есть, пропиетарное и почти не настраиваемое. Приемников два типа - нужны два разных логгера. Под них потребуются два разных парсера (и это если удастся распарсить оба формата). Потребуется синхронизация между двумя логами (GPS данные и S-данные).
Про удобство работы с такой связкой я уже молчу...
|
|
Дата: 05 Сен 2008 18:01:20
#
>>Мне видится трудностей даже априори. Логгеров как таковых нет.
В Линуксе логгеров очень много. Соб-но,
я и сам способен переписать код)) Логгер, с точки зрения программиста, есть простейшая функция
а) Запросить уровень S-метра и координаты GPS
б) Открыть файл
с) Записать данные и закрыть файл.
Т.е. если есть библиотечные процедуры (а они уже написаны и проверены), все программа сводится к детской функции
===============
>>Приемников два типа - нужны два разных логгера.
В том случае, если используются разные библиотеки.
Используемая мною библиотека унифицирована, след - любой
приемник будет обрабатываться одинаковыми функциями и мы будем иметь единый формат выхода.
===============
>>Под них потребуются два разных парсера (и это если удастся распарсить оба формата).
См. выше
===============
>>Потребуется синхронизация между двумя логами (GPS данные и S-данные).
Нет, никакой синхронизации не нужно. Можно давать команду писать в файл уровень S-метра и одновременно записывать координаты.
===============
>>Про удобство работы с такой связкой я уже молчу...
Не совсем вас понял. В чем же неудобство???
Запускаем одну программу и получаем на выходе один файл.
Заливаем его в программу для работы с картами и все..
Можно еще сделать, чтобы уровень S-метра "показывался" цветовыми точками...
|
|
Дата: 05 Сен 2008 18:13:30
#
renice
Да я про Windows! Про Linux я все сказал выше, для меня эта тема закрыта.
|
Реклама Google |
|