论坛风格切换切换到宽版
  • 9631阅读
  • 31回复

求助让JRC-145连接wintest N1MM的办法 [复制链接]

上一主题 下一主题
离线ba6iv
 
发帖
1285
只看楼主 倒序阅读 0楼 发表于: 2011-11-15
因条件所限,买不起756 7600之类的机器,一直还在使用n年前的jrc-145dx,不过经过改造,用的也很顺手,一直是参加比赛的主打机器。不过由于机器比较冷门,所以有些主流的contest的软件不支持比如wintest、n1mm等,只能使用和谐的writelog,因此求助万 能 的 坛,看有没有办法让这台老机器和wintest、n1mm连上姻。

              best 73 !
离线ba6iv
发帖
1285
只看该作者 1楼 发表于: 2011-11-16
到现在没有一个回帖,自顶一下!

网上看了一些国外的论坛,有人联系n1mm的开发团队,开发团队回信说不打算增加对jrc电台的支持,晕倒,源头堵住了。

于是我这两天在想用单片机做一个电台协议转换器如何,将jrc的通信协议转换成n1mm,wintest软件支持的设备的协议,比如yaesu的、icom的,其实竞赛时不需要太复杂的控制,转换几条常用的频率、模式显示设置的就行了,不知道可行否?使用中会不会有什么问题?延时是肯定的了,收到一条协议命令,需要翻译一下,会有控制时延的。
离线BD4SP
发帖
601
只看该作者 2楼 发表于: 2011-11-17
安装omnirig软件,然后在wt设置中的电台选择处选择omnirig即可。记得事先在omnirig软件中选好你的电台。


以上仅代表本人的认知水平,难免有误,勿拍板砖。
离线ba6iv
发帖
1285
只看该作者 3楼 发表于: 2011-11-17
非常感谢!
onmirig软件已经安装,可是没有试验成功,用的n1mm软件配合实验的。
能不能讲一讲详细的用法和设置。
离线ahhui
发帖
7425
只看该作者 4楼 发表于: 2011-11-17
做个协议转换器真是个天才想法。yaesu的协议是公开的,不知道jrc的有无资料,否则可以试试。
离线ba6iv
发帖
1285
只看该作者 5楼 发表于: 2011-11-18
'
做个协议转换器真是个天才想法。yaesu的协议是公开的,不知道jrc的有无资料,否则可以试试。
'
搞了一晚上的端口虚拟,也没弄成omni-rig控制145,理论上这是软件协议转换的方式,可是我没弄好。
单片机来搞协议转换是硬转换方式,达到的目的是一样的,但是软件的简单,有现成的,设置好就行了,关键我不会设,一直没调通。

yaesu和jrc145的通信协议我这里都有,实在软件设不好了就做一个硬件的协议转换电路,不过问题也不少,用一个双串口的单片机比较方便,可是我没有,单串口的mcu就要考虑串口的分时复用问题,还有时延问题,都挺棘手。
离线BD4SP
发帖
601
只看该作者 6楼 发表于: 2011-11-18
我说的办法是wintest下的。n1mm没用过,不知道解决之道,帮顶。
离线ahhui
发帖
7425
只看该作者 7楼 发表于: 2011-11-18
用arduino如何?自带4个串口。
离线ba6iv
发帖
1285
只看该作者 8楼 发表于: 2011-11-18
'
我说的办法是wintest下的。n1mm没用过,不知道解决之道,帮顶。
'
多谢,晚上用wintest试一下。
但是用omni-rig设置com1连接电台没问题,用软件再设置com1提示端口已被占用。
不知道软件的电台端口应该设置到com几?
离线ba6iv
发帖
1285
只看该作者 9楼 发表于: 2011-11-18
'
用arduino如何?自带4个串口。
'
嗯,模块化的组件,听说过,没接触过。
一直用的avr系列的mcu,stm最近挺热,没时间学。
公司的设备里有一个串口共享的芯片,通过硬件转换成多串口,工业级的,很稳定,内置指令系统用,通过单片机控制工作,有空我研究一下,pdf手册有,是国内一个公司研制生产的。
离线BA4EG
发帖
2885
只看该作者 10楼 发表于: 2011-11-18
前几天在这边看到有外置单片机控制817的,改一下程序,应该可以满足你的要求。
离线ba6iv
发帖
1285
只看该作者 11楼 发表于: 2011-11-18
'
前几天在这边看到有外置单片机控制817的,改一下程序,应该可以满足你的要求。
'
多谢小蜜蜂,那个控制817的帖子我看了,现在mcu编程序实现控制不是问题,需要实现的是硬件方式的协议转换,牵扯到串口共享、控制时延等问题。jrc机器的控制协议也有,如果真心搞的话我认为成功的机会很大,这样一些偏门的电台都可以使用主流软件了,mcu可以刷不同的固件来匹配不同的设备。
但是如果omni-rig能够设置好的话是最好,毕竟软件转换省事。
离线ba6iv
发帖
1285
只看该作者 12楼 发表于: 2011-11-20
'
我说的办法是wintest下的。n1mm没用过,不知道解决之道,帮顶。
'
我用wintest测试了,软件电台类型选择omni-rig vi 和vii,omni-rig的客户端打开,用虚拟端口虚拟了一个端口指向物理端口com1,不管使用那种设置,均未成功,由于发送的数据反而把jrc 145的显示给冲乱了,显示乱码,经总复位才恢复正常。
omni-rig还是未能实验成功。
离线BD4SP
发帖
601
只看该作者 13楼 发表于: 2011-11-20
老大,你确认你选择的是omnirig么?

这个omnirig后面没有什么vii和vi的

怎么还出动了虚拟端口了,简单事情搞复杂了
离线ba6iv
发帖
1285
只看该作者 14楼 发表于: 2011-11-21
谢谢bd4sp,这两天国外网站看到了,脑袋看木了,确实没注意omnirig这项,因为n1mm里面没有这一项,所以老是围着omni vi 和vii在转圈,现在wintest可以用了,什么串口也不选,就在设备里面选择ominirig就可以用了,总算wintest能用145了,在这里多谢bd4sp了,best and vy73!
离线ba6iv
发帖
1285
只看该作者 15楼 发表于: 2011-11-21
设置好后试了试wintest的各项功能,发现在呼号栏里输入频率不能改变发射机的频率,点击波段表内的呼号也不能控制电台qsy的那个频率,也就是电台频率的信息能正常回传到wintest,wintest的控制信息也能传到电台(看见145屏幕上的红色的远程数据等闪动了),但是控制不了,再研究一下,总算进了一大步了。
离线ba6iv
发帖
1285
只看该作者 16楼 发表于: 2011-12-31
omni-rig控制jrc145dx只能实现程序中显示频率,设置频率不正常,但是比赛中经常需要点击spot或者在呼号栏里直接输入设置电台频率的操作,所以omni-rig的路又走不通了,没办法,只好重新拾起制作硬件协议解码器的思路往下走。
现在硬件协议转换器已经在开发板上调试成功了,使用的是avr的单片机,用c编程实现的,一头连接电脑串口,一头连接jrc145dx电台,通过协议转换器欺骗电脑,让电脑认为控制的是一台ft857,这样就能在n1mm软件里使用jrc145了。n1mm软件的80%功能都实现了,部分不常用的功能,如so2v等功能还没顾得上设计程序模块,不过仅涉及切换vfo等操作,也很容易实现。目前开发板连了一堆线,比较乱,正在设计电路板,等打个样我的jrc145就可以用了。
离线zsh
发帖
1360
只看该作者 17楼 发表于: 2011-12-31
这个 问题所难也不难 说简单也简单 如果了解win应用程序编程 就根本不用动老铁
我的方法如下:
1假设pc上物理串口为com1
2win下安装虚拟串口软件软件虚拟两个串口com2和com3并将其串联(这部分也可以通过两个物理串口交叉传来连接解决并且如果你的编程水平足够还可通过接下来编程解决)推荐用虚拟串口
3编写一个win程序 假设这个程序虚拟接收和发送icom-ic-r75的遥控指令 程序流程是:
      开始
      绘制界面
        设置串口1连接com1
            设置串口2连接com2
            隐藏系统托盘中显示小图标
      弄两个串口控件        
            串口控件2连接com2接收来至n1mm软件经com3发送过来发的r75遥控指令
            把收到的遥控指令拷贝=赋值if判断运算等方法转换为jrc145dx电台的遥控指令
              在将jrc145dx电台的遥控指令通过串口控件1连接com1发送至jrc145dx电台
          jrc145dx电台接收到遥控指令做相应动作
          jrc145dx电台相应动作后经com1返回状态数据
          串口控件1接收由com1发送来的jrc145dx电台状态数据
            把收到的状态数据拷贝=赋值if判断运算等方转换为r75遥控指令返回数据
            再把r75遥控指令返回数据通过串口控件2经com2和com3发送给n1mm软件end
整个过程就是这样的啦。。。。。。。。。。
离线BG4FQD
发帖
3406
只看该作者 18楼 发表于: 2011-12-31
'
omni-rig控制jrc145dx只能实现程序中显示频率,设置频率不正常,但是比赛中经常需要点击spot或者在呼号栏里直接输入设置电台频率的操作,所以omni-rig的路又走不通了,没办法,只好重新拾起制作硬件协议解码器的思路往下走。
现在硬件协议转换器已经在开发板上调试成功了,使用的是avr的单片机,用c编程实现的,一头连接电脑串口,一头连接jrc145dx电台,通过协议转换器欺骗电脑,让电脑认为控制的是一台ft857,这样就能在n1mm软件里使用jrc145了。n1mm软件的80%功能都实现了,部分不常用的功能,如so2v等功能还没顾得上设计程序模块,不过仅涉及切换vfo等操作,也很容易实现。目前开发板连了一堆线,比较乱,正在设计电路板,等打个样我的jrc145就可以用了。
'


我用c#写过 q10 转 ft817协议转换,用下来速度不是问题。hrd 能顺利连接上 q10。
网上有817的协议文档,但应该不是官方出来的,因为里面还有很多unknow。

hrd 操作 817的指令用了大量的eeprom 读写指令,eeprom这部分没有全部公开。所以后来我放弃了817的cat,转用了 k2的cat。

n1mm这些日志软件用cat的命令很少,通常只有几条。你做转换板的办法一定行。
离线ba6iv
发帖
1285
只看该作者 19楼 发表于: 2011-12-31
'
[表情] [表情]
我用c#写过 q10 转 ft817协议转换,用下来速度不是问题。hrd 能顺利连接上 q10。
网上有817的协议文档,但应该不是官方出来的,因为里面还有很多unknow。
hrd 操作 817的指令用了大量的eeprom 读写指令,eeprom这部分没有全部公开。所以后来我放弃了817的cat,转用了 k2的cat。
n1mm这些日志软件用cat的命令很少,通常只有几条。你做转换板的办法一定行。
'
是的,确实有一些读写eeprom的指令,n1mm也用到了一条,只是读取008d地址的数据,0xbb指令是读eeprom,0xbc指令是写eeprom,运用好了功能很强大,不过确实如你所说,比赛软件只是使用了很基本的cat命令,所以我做的协议转换器一天就把程序调通了,现在已经能使用了,就是在开发板上搞得,比较乱,需要做个印刷线路板,这样就美观一些。
18楼提出的解决办法也是很好的,而且比较省事,只是我对windows下的编程实在不行,所以就搞了硬件方式来解决了。