回帖:写代码是枯燥的,这里省略1000字,直接提供源代码及编译出来的exe文件
脚本是的测试环境是: windows2012和Win7,Python 3.5和Python 3.13
编译后的exe下载: tcpCW.rar
Python源代码下载: tcpCW_Python源代码
正点原子串口工具: ATK_XCOM串口调试助手v3.0.zip
远程音频传输出(网上下的一个基于TCP的VOIP): VoIP_TCP_Audio_Streamer_and_Player.zip
当然VOIP音频软件我最近使用的: SonoBus 感觉还不错,这个可以到官网下载,相当OK.
程序进入到后测试阶段,被客户端侧音问题困扰,这里特别感谢好友BD8ARF,在侧音问题醍醐灌顶,一语贯通.
Readme:
程序运行时,当电台发射模式为CW时,客户端电键压下为CW发射,当电台为其他模式时,客户端压下电键为电台的PTT功能
此程序设计是为远程使用电台时用手键拍发CW,后面也添加了支持自动键发射.
远程电台需要连接一台电脑,启动服务端程序并打开TCP端口,服务端程序:tcpCWserver.exe
客户端电脑程序(tcpCWclient_key.exe):需要使用一个USB转串口硬件,USB转串口硬件能处理一个或多个如CTS,DTR,RTS,DCD,DSR等的信号状态,电键侧音可以电脑播放,也可以购一个带键控输出的CW练习器来听.
客户端电脑程序(tcpCWclient_keyboad.exe):需要使用一个USB-HID的自定义键盘线,USB-HID的自定义键盘线映射为键盘按键或直接使用键盘按键,电键侧音可以电脑播放,也可以购一个带键控输出的CW练习器来听.
此程序只在FT-991A,IC-9700下测试过,其他电台没有测试过
配置文件说明如下
#电台端服务器设置
Port = 5556 #TCP监听端口
Comno = COM24 #电台拍发串口(FT-991A,IC-9700 USB连接都是双串口, 一个用于CAT另一个是拍发串口)
BaudRate = 115200 #电台拍发串口波特率
#电键客户端设置
ServerAddr = 127.0.0.1#远程电台的服务器地址
ServerPort = 5556 #远程电台的服务器TCP监听端口
ComLocal = COM9 #USB串口硬件端口
BaudRate =115200#USB串口硬件端口波特率
LoopTime = 0.01 #轮巡USB串口硬件状态时间,单位是秒,默认0.01秒
Keyer =1# 1:手键模式2:自动键模式 3:使用PC键盘的手键模式 4:使用PC键盘的自动键模式 5:使用PC键盘对应字母按键发射模式
Key = cts #手键模式下读取USB串口状态信号
Dot = cd#自动键模式下读取USB串口状态信号作为点
Dash = dsr#自动键模式下读取USB串口状态信号作为划
DotTime = 0.05#自动键模式下点的时长,单位是秒,默认0.05秒
KeyboardKey = . #使用PC键盘的手键模式按键设定
KeyboardDot = . #使用PC键盘的自动键模式,点按键设定
KeyboardDash = /#使用PC键盘的自动键模式,划按键设定
Volume = 0.5 #CW客户端侧音音量,浮点值(0.0-1.0),默认0.5
Frequency = 350.0 #CW客户端侧音正弦波频率 (Hz)
/************** DE BD8AIS 73 **********************/

