-
01.12.2010, 12:08 #151
- Регистрация
- 10.08.2010
- Адрес
- Москва
- Возраст
- 45
- Сообщений
- 572
- Поблагодарили
- 174
- Поблагодарил
- 18
Меня тоже заинтересовала эта тема, потому как самое интересное прохождение имеет место быть в то время, когда я уже или еще на работе.
Поскольку основная рабочая машинка - Мак, описываемые тут решения подходят не совсем или совсем не подходят.
Скайп для передачи телефона подходит в полне, а вот со всем остальным не очень удобно. Например, VNC на Маке работает только фул-скрином и без компрессии, съедает много поропускной полосы.
В общем моя идея звучит так: Skype + SSH.
В принципе, имея CocoaPTT и MacLoggerDX все решаемо. Обе программки поддерживают интерфейс AppleScript и позволяют рулить трансивером через него.
Пока имеем следующий шел-скрипт:
PHP код:#/bin/bash -i
trap "/usr/bin/osascript -e 'tell application \"cocoaPTT\"' -e 'set keyState to 0' -e 'end tell'" SIGINT SIGTERM
/usr/bin/osascript -e 'tell application "cocoaPTT"' -e 'set keyState to 1' -e 'end tell'
read -p "Press ENTER to stop transmission: " -s -t 600
echo
/usr/bin/osascript -e 'tell application "cocoaPTT"' -e 'set keyState to 0' -e 'end tell'
Далее, мысль моя идет следующим направлением: реализовать CLI с коммандами для просмотра режима, частоты, установки режима и частоты, журналирования QSO.
Тут есть маководы и на сколько это интересно?Артём R3ABM / DL5ABM (ex. UB3ABM)
-
01.12.2010, 12:12 #152EY8MMГость
-
01.12.2010, 12:44 #153
- Регистрация
- 12.07.2010
- Адрес
- Балашиха, Московская обл.
- Сообщений
- 856
- Поблагодарили
- 429
- Поблагодарил
- 320
Если управляется по com порту то попробуйте использовать разработки
http://www.digi.com
Добавлено через 28 минут
Любительские радиостанции должны эксплуатироваться с учетом требований техники безопасности
Нужно еще удаленное управление огнетушителемПоследний раз редактировалось RN3DLL; 01.12.2010 в 12:44. Причина: Добавлено сообщение
-
04.12.2010, 15:49 #154
- Регистрация
- 10.08.2010
- Адрес
- Москва
- Возраст
- 45
- Сообщений
- 572
- Поблагодарили
- 174
- Поблагодарил
- 18
Продолжу про Mac.
Для реализации функции удаленного управления CAT потребуется MacPorts, под которым необходимо установить пакет socat.
PHP код:sudo /opt/local/bin/port install socat
PHP код:#!/bin/bash
REDIRECTOR=/opt/local/bin/socat
# Checking serial port names for RigExpert
SERIAL_CAT=`ls /dev/cu.usbserial-???2????A`
SERIAL_PTT=`ls /dev/cu.usbserial-???2????B`
# I am not sure about FSK and WINKEY
SERIAL_KEY=`ls /dev/cu.usbserial-???3????A`
SERIAL_FSK=`ls /dev/cu.usbserial-???3????B`
${REDIRECTOR} OPEN:${SERIAL_CAT},ispeed=9600,ospeed=9600,crtscts=0,echo=0,raw TCP-LISTEN:7001 &
PHP код:com2tcp --ignore-dsr --baud 9600 ||.|CNCB0 localhost 7001
Настраиваем на созданный нами с помощью com0com порт Ham Radio Deluxe. Программа сама умеет включать и выключать трансиверы Kenwood.
Про настройку Skype, как мне кажется, писать нечего. Про управление PTT я уже писал в этом топике.
Надеюсь, кому-нибудь пригодится.Последний раз редактировалось R3ABM; 04.12.2010 в 15:54.
Артём R3ABM / DL5ABM (ex. UB3ABM)
-
05.12.2010, 18:39 #155
- Регистрация
- 29.12.2003
- Адрес
- SR-17 (RDA)
- Возраст
- 61
- Сообщений
- 270
- Поблагодарили
- 6
- Поблагодарил
- 6
Опишу как я сейчас работаю через инет.
Для соединения сервер-клиент использую WIZ VSP , скачал отсюда
http://www.wiznet.co.kr/Sub_Modules/...SF_KeyWord=vsp
Программа бесплатная. Использует сервис от Eltima, а от ВизНет похоже только интерфейс причем слегонца глючный .
На удаленом компе создаю сервер ком-порта с передачей в сеть.
На своем компе клиент с созданием виртуального порта.
На обоих сторонах протокол выбран Telnet.
Со стороны клиента еще установлен VSPE от фирмы Eterlogic , скачал от сюда - http://www.eterlogic.com/Downloads.html
32-х битная версия бесплатно.
При помощи VSPE создаю сплиттер (использую типа виртуального нульмодемного кабеля) с порта созданого WIZVSP на еще один виртуальный порт созданый уже VSPE.
И уже к этому порту подключаю прг использующую ком-порт. У меня это MixW или HRD.
PTT и CW у меня использутся через RTS и DTR соответственно.
ВАЖНО!! При первом подключении к удаленому компу трансивер сразу переходит в режим передачи. Поэтому надо быстро подключить MixW и нажать сначал кнопку передачи затем прием. Дальше все работает как положено.
Бывает WIZ VSP глючит - приходится заходить в администрирование\службы(это в Виндовс) и перезапускать сервис эльтима.
VPN-тунель от KWF. Звук передаю через тимспик. Ну это чисто моя специфика - и это не важно.
Работаю пока в ПСК иже с ним и ТЛГ.
Лог UR5EQF с подключением к логу на удаленом компе - есть там такая возможность. MixW запускаю из лога - тогда связи пишуться сразу в основной лог, в том числе и на удаленый комп.
Если нужно просто послушать эфир или сделать какието изменения в настройках трансивера, то отключаю MixW и подлючаю к этому порту HRD. Там все очень удобно и понятно.
Почему я не использую просто VSPE ? Он к сожалению в режиме сервера или клиента очень некоректно управляет RTS и DTR. А мне это важно т.к. PTT и CW идут через них.
Удаленый рабочий стол вобщемто нужен только для того , чтоб запустить на той стороне сервер лога UR5EQF и настроить звук.
Далее его можно отключить.
WIZVSP настраивается один раз, а потом он автоматом запускается как сервис. VSPE надо запускать при каждом включении компа, поэтому настройки сохранены в файл.
Вот намалевал блок-схему - извиняюсь за качество.Последний раз редактировалось RA4HTH; 05.12.2010 в 19:02.
-
11.12.2010, 12:00 #156
- Регистрация
- 16.04.2005
- Адрес
- Moscow_Лось
- Возраст
- 72
- Сообщений
- 2,321
- Поблагодарили
- 334
- Поблагодарил
- 217
...КОЛЛЕГИ ЗДР!
Кто подскажет, если в HRD , кроме стандартных ограничений (reset, no_tx, no_macros) еще какие-либо ?73! Евгений
-
14.12.2010, 19:43 #157
- Регистрация
- 16.04.2005
- Адрес
- Moscow_Лось
- Возраст
- 72
- Сообщений
- 2,321
- Поблагодарили
- 334
- Поблагодарил
- 217
Коллеги здр!
В сервисе удаленного управления трансивером, для организации трансляции звука через Skype выделен специальный адрес - теперь, для этой цели вместо адреса ua3asr, в Skype надо набрать адрес - ua3asr3. На моем сайте это продубрировано во вкладке "новости". У кого нет этого адреса дайте запрос в Skype для коннекта.
И еще по причине того, что не так давно мой виндос рухнул, возможно потерял некоторые пароли для коннекта в HRD. Если проблемы с коннектом, то прошу повторить свои логин и пароль мне в письме на ящик - ua3asr@mail.ru.
К сожалению не могу всех оповестить сразу, так что решить хоть тут "квакнуть".
Теперь , в следствии того , что под энто дело выделен отдельный трансивер и компьютер WEB-TRX будет работать гораздо активнее...
Добавлено через 10 минут
...такое было при подключении через HRD. Лечится просто - во вкладке "Option " - "Com port TX Configuration" поставить точку в окошке RTS, а во вкладке "Connect" в окошке RTS (Flow control/ Interface power) галочку не ставить...Последний раз редактировалось UA5AA; 14.12.2010 в 19:43. Причина: Добавлено сообщение
73! Евгений
-
03.01.2011, 12:50 #158
- Регистрация
- 16.04.2005
- Адрес
- Moscow_Лось
- Возраст
- 72
- Сообщений
- 2,321
- Поблагодарили
- 334
- Поблагодарил
- 217
...тестовый вариант удаленного управления трансивером выделил и некоторые негативные нюансы, которые вначале и не предполагались даже (что это вообще возможно).
В сервисе доступа имеется опция доступа любому пользователю к управлению удаленным трансивером в режиме rx, для чего при коннекте надо все лишь набрать имя и логин, а именно user/user соответственно. Однако тут и возникли проблемы. Подходят некоторые товарисчи, которые не читая Help начинают изголятся - каждый по своему, ну например:
- начинает очень долго искать что-то на диапазоне 7 мгц в режиме USB, не удосужившись перейти в режим LSB, установленный правилами для работы на этом диапазоне;
- при коннекте подходят с включенныи RTS (hELP надо читать! ), В результате чего коннект присходит в режиме TX, - и пользователь долго и упорно пытается понять почему нет звука, хотя соединение призошло нормально, - кстати а вы что-нибудь слышите, когда ваш трансивер в режиме передачи?;
- еще вариант, когда пользователь подключившись к серверу в Скайпе конференцией подключает еще 2..4 пользователя, тем самым явно подсаживая канао связи, в результате чего звук рвется и не фига толком не слышно, а весь негатив выливается на мой сервис - мол фигня все это, но господа ! у меня всего 1 мбит\с и я не могу обслужить весь 5 район сразу
- некоторые просто включают сервис и , видимо просто забывают о этом, потому как на включенной чпстоте вообще никого нет, а скайп к тому же занят, - а другие пользователи ждут когда же освободится сервис ..
- и т.д и т.п.
..в этом случае, при свободном подключении любого к серверу (по user\user) я не могу отследить кто "хулиганит" и не могу заблокировать такого пользователя.
Поэтому мне пришлось отказаться от свободного доступа к сервису по user\user ) и принять решение подключаться только через регистрацию по e-mail (на сайте вся инфа есть).Как и прежде пользователям РФ будет разрешен доступ к rx\tx, а остаоьным только RX....73! Евгений
-
10.01.2011, 01:43 #159
Решил ради эксперимента испытать управление без использования удаленного доступа и прочих программ. Прикрутил простенькую схемку на микросхеме DTMF-декодера. Если кому интересно, может попробовать. Краткое руководство:
Для передачи сигналов управления нужно иметь скайп. Находим там пользователя rn3au_qrp . Звоним туда (машина сейчас отвечает всем и не просит авторизации).
Так же заходим на страничку http://www.rn3au.ru/web.html где наблюдаем текущую частоту настройки радиостанции. У вас есть только три функции - перестройка по частоте вверх/вниз и остановка.
Чтобы звук со скайпа и с трансляции не накладывался, лучше один из источников отключить (например в скайпе).
Далее открываем в окне разговора с rn3au_qrp цифровую клавиатуру для набора и с помощью мышки, а лучше клавиатуры нажимаем 1 - для перестройки вниз по частоте, 2 - для остановки, 3 - для перестройки вверх по частоте. Надо учитывать, что есть заметная задержка и попасть на нужную частоту будет не всегда просто. Для точной подстройки можно быстро нажать 1 и сразу 2 - тогда произойдет перестройка в пределах одного шага. Для SSB это 20 герц.
Учитывая, что прямого ввода частоты нет, прошу останавливать (кнопкой 2) перед разъединением приемник на какой-нибудь частоте в пределах любительского диапазона.
Так же надо учитывать, что одновременно может управлять только один человек. Если скайп не отвечает, то или кто-то на связи с ним или что-то подвисло (сейчас не стоит UPS и бывают некоторые накладки...)73! de Alexej /RN3AU/
RCWC#12 RU-QRP#152
-
10.01.2011, 09:49 #160
Прикольная штука :-)
особенно слушать в сравнении со стоящим на столе трансивером.
Управлять пока не пробовал.
Вопрос - а каким софтом осуществляется упаковка и трансляция звука и картинки дисплея трансивера ?
ps. про дисплей понял - камера! :-)Последний раз редактировалось RM9WY; 10.01.2011 в 09:55.
-
10.01.2011, 22:56 #161
Все на базе бесплатных ресурсов, доступных в инете. Трансляция через сайт подобный смотри.ком. Есть наверняка куча других возможностей...
73! de Alexej /RN3AU/
RCWC#12 RU-QRP#152
-
10.01.2011, 23:31 #162
-
10.01.2011, 23:37 #163
-
20.01.2011, 15:17 #164
Привет!
Наконец-то доделал полное управление приемником. Теперь можно циклически переключать диапазоны (кнопка 9), менять вид модуляции (кнопка 0). Смена частоты 1 - вниз/ 3 - вверх. 2 - смена шага перестройки - для SSB и CW - 20 или 200 герц.
Сканирование по частоте - кнопки 4 и 6 ( для остановки сканирования нажать 1 или 3)
Можно попробовать управление http://www.rn3au.ru/web.html73! de Alexej /RN3AU/
RCWC#12 RU-QRP#152
-
20.02.2011, 00:44 #165
- Регистрация
- 10.08.2010
- Адрес
- Москва
- Возраст
- 45
- Сообщений
- 572
- Поблагодарили
- 174
- Поблагодарил
- 18
Продолжаем извращаться с удаленным управлением радиостанцией под Mac OS X.
Недавно я сменил компьютерный интерфейс, теперь это microHAM.
microHAM-овские интерфесы используют свой протокол для передачи данных в компьютер, который инкапсулирует CAT, PTT и т.д. То есть без специальной программки не обойтись.
Под Mac это uH Router. Одно из приимуществ решения - оно мультиклиентное, т.е. позволяет свободно работать с интерфейсом и станцией сразу нескольким программам. Естественно, в нативной среде требует поддержки API uH Router-а со стороны программ.
Нашей задачей, как обычно, является форвард CAT-интерфейса станции по TCP, чобы на другой стороне можно было воспользоваться Windows и горяче любимым Ham Radio Deluxe (к примеру).
Честно скажу, реализовать API uH Router-а на шеле я не осилил. Ну а поскольку в Mac OS X есть PHP, пишем скрипт на PHP. Я не стал изобретать велосипеда, непосредственным форвардом занимается, как и в прошлый раз, socat.
PHP код:#!/usr/bin/php -q
<?php
// Constants form RouterCommands.h
define("ROUTERFUNCTION", 0x80);
define("KEYERFUNCTION", 0x40);
define("CLOSEFUNCTION", 0x20);
define("FUNCTIONMASK", 0x1f);
define("WRITEONLY", 0x80);
// Commands sent to the master port
define("OPENMICROKEYER", ROUTERFUNCTION + 0x01); // get a port to the microKEYER router
define("OPENCWKEYER", ROUTERFUNCTION + 0x02); // get a port to the CW KEYER router
define("OPENDIGIKEYER", ROUTERFUNCTION + 0x03); // get a port to the DIGI KEYER router
define("OPENKEYER", ROUTERFUNCTION + 0x08); // get a port to keyer from following keyerID (char*)
define("KEYERID", ROUTERFUNCTION + 0x09); // get Keyer ID (null terminated string) of the nth keyer (next byte after command)
define("QUITIFNOKEYER", ROUTERFUNCTION + 0x1f); // quit if there are no keyers
define("QUITIFNOTINUSE", ROUTERFUNCTION + 0x1e); // quit if not connected
define("QUITALWAYS", ROUTERFUNCTION + 0x1d); // quit
define("ROUTERVERSION", ROUTERFUNCTION + 0x1c); // router version <1><80> = v1.80
define("WATCHDOG", 0x08); // keep UDP port alive
// Commands sent to the router ports (numbers are within FUNCTIONMASK)
define("ROUTERPORT", KEYERFUNCTION + 0x01); // (reserved for router internal use)
define("OPENRADIO", KEYERFUNCTION + 0x02); // get a RADIO port
define("OPENCONTROL", KEYERFUNCTION + 0x03); // get a CONTROL port
define("OPENPTT", KEYERFUNCTION + 0x04); // get a port to the PTT flag bit
define("OPENCW", KEYERFUNCTION + 0x05); // get a port to the serial CW flag bit
define("OPENRTS", KEYERFUNCTION + 0x06); // get a port to the RTS flag bit
define("OPENFSK", KEYERFUNCTION + 0x07); // get an FSK port
define("OPENWINKEY", KEYERFUNCTION + 0x08); // get the WinKey port
define("OPENFLAGS", KEYERFUNCTION + 0x09); // get the FLAGS port
define("OPENEMULATOR", KEYERFUNCTION + 0x0a); // get the WinKey Emulator port (only in µH Router; not in microHAM keyers
define("WINDOWSIZE", KEYERFUNCTION + 0x0b); // used by UDP to change window size
define("CLOSERADIO", CLOSEFUNCTION + OPENRADIO); // close a RADIO port
define("CLOSECONTROL", CLOSEFUNCTION + OPENCONTROL); // close a CONTROL port
define("CLOSEPTT", CLOSEFUNCTION + OPENPTT); // close a port to the PTT flag bit
define("CLOSECW", CLOSEFUNCTION + OPENCW); // close a port to the serial CW flag bit
define("CLOSERTS", CLOSEFUNCTION + OPENRTS); // close a port to the RTS flag bit
define("CLOSEFSK", CLOSEFUNCTION + OPENFSK); // close an FSK port
define("CLOSEWINKEY", CLOSEFUNCTION + OPENWINKEY); // close the WinKey port
define("CLOSEFLAGS", CLOSEFUNCTION + OPENFLAGS); // close the FLAGS port
define("CLOSEEMULATOR", CLOSEFUNCTION + OPENEMULATOR); // close the WinKey Emulator port
define("CLOSEKEYER", KEYERFUNCTION + FUNCTIONMASK);
//
define("LAUNCH_ROUTER", "osascript -e 'tell application \"µH Router\"' -e 'tell microKEYER' -e 'retain' -e 'end tell' -e 'end tell'");
define("KILL_ROUTER", "osascript -e 'tell application \"µH Router\"' -e 'tell microKEYER' -e 'release' -e 'end tell' -e 'quitIfNotInUse' -e 'end tell'");
define("ROUTER_PIPES", "/tmp/microHamRouter");
class uHRouterConnection
{
private $input;
private $output;
public function __construct($name = ROUTER_PIPES)
{
$this->input = @fopen($name."Read", "r");
$this->output = @fopen($name."Write", "w");
}
public function __destruct()
{
@fclose($this->input);
@fclose($this->output);
}
public function Connected()
{
return (($this->input !== FALSE) && ($this->output !== FALSE));
}
public function Execute($command, $read = TRUE)
{
if (is_numeric($command))
$command = chr($command);
@fwrite($this->output, $command);
if ($read)
{
stream_set_timeout($this->input, 10);
$value = @fread($this->input, 20);
return trim($value);
}
}
}
//
function Stop()
{
global $router, $keyer;
if (isset($keyer) && $keyer->Connected())
$keyer->Execute(CLOSEKEYER, FALSE);
unset($keyer);
unset($router);
exec(KILL_ROUTER);
exit();
}
// set_time_limit(0);
print("Starting uH Router...\n");
exec(LAUNCH_ROUTER);
print("Openning uH Router connecion...\n");
$router = new uHRouterConnection();
if (!$router->Connected())
{
print("Can not open uH Router connection.\n");
Stop();
}
print("Requesting Keyer conection...\n");
$name = $router->Execute(OPENMICROKEYER);
if (($name == FALSE) || (strlen($name) == 0))
{
print("Requested keyer not found.\n");
Stop();
}
print("Openning Keyer conection ($name)...\n");
$keyer = new uHRouterConnection($name);
if (!$keyer->Connected())
{
print("Can not open connection for Keyer.\n");
Stop();
}
print("Requesting radio connection...\n");
$name = $keyer->Execute(OPENRADIO);
if (($name !== FALSE) || (strlen($name) == 0))
{
print("Forwarding connection for radio ($name)...\n");
print("Press Ctrl+C to stop forwarding.\n");
$redirector = "sh -i -c 'socat -d TCP-LISTEN:7001,rcvbuf=1,sndbuf=1 PIPE:${name}Read!!PIPE:${name}Write'";
system($redirector);
print("\n");
print("Stopping...\n");
}
Stop();
?>Артём R3ABM / DL5ABM (ex. UB3ABM)
Социальные закладки