网络摩尔斯码前端
  • JavaScript 82.9%
  • CSS 11.5%
  • HTML 5.6%
Find a file
2026-04-19 17:04:32 +08:00
app.js 上传文件至 / 2026-04-19 17:04:32 +08:00
favicon.ico 上传文件至 / 2026-04-19 17:04:32 +08:00
index.html 上传文件至 / 2026-04-19 17:04:32 +08:00
README.md 上传文件至 / 2026-04-19 17:04:32 +08:00
styles.css 上传文件至 / 2026-04-19 17:04:32 +08:00

网络摩尔斯通联

概述

这是一个基于网络的莫尔斯电码收发器网页前端程序允许用户通过互联网发送和接收莫尔斯电码信号。它具有瀑布图显示以可视化信号、传输和接收信号的音频反馈并支持手动和自动双桨键控模式。该应用程序专为业余无线电爱好者设计支持与不同频段的交互包括一个用于接收时间和国际空间站ISS坐标的时间广播频段。

功能

  • 实时信号传输与接收通过WebSocket连接发送和接收莫尔斯电码信号。
  • 瀑布图显示:可视化所选频段内的信号活动。
  • 手动与自动键控模式
    • 手动模式:用户通过按住按键(鼠标、触摸屏或键盘)直接控制信号的持续时间。
    • 自动模式支持双桨键控iambic keying生成精确的点dot和划dash
  • 音频反馈:为发送和接收的信号提供音调反馈,音调和音量可调。
  • 频率调节:通过旋钮或点击瀑布图调整接收/发送频率。
  • 时间广播解码在特定频段解码时间和ISS坐标的莫尔斯电码广播。
  • 信号搜索:自动扫描频段以寻找活跃信号。
  • 静音功能:支持静音以禁用音频输出。

系统要求

  • 现代网络浏览器如Chrome、Firefox、Safari
  • 支持WebAudio API和WebSocket。
  • 触摸屏设备(如手机或平板)支持触控操作。
  • 稳定的互联网连接以进行实时信号传输。

使用方法

1. 启动应用程序

  1. 打开支持的网络浏览器并加载应用程序。
  2. 页面加载后,应用程序会自动初始化并连接到默认频段(从预定义的频段列表中选择)。

2. 界面元素

  • 频率旋钮:调整当前频率(鼠标拖动或触摸旋转)。
  • 音量旋钮控制输出音量0%至100%)。
  • 音调旋钮调整莫尔斯电码的音调频率400Hz至1200Hz
  • 频段选择下拉菜单:切换不同频段(包括时间广播频段)。
  • 瀑布图:显示当前频段的信号活动,绿色表示远程信号,黄色表示本地信号,橙色表示时间广播信号。
  • 莫尔斯键(手动模式):用于手动发送信号的虚拟按键。
  • 双桨键(自动模式)左右按键分别控制点dot和划dash
  • 模式切换开关:在手动和自动键控模式之间切换。
  • WPM滑块调整自动模式的键控速度以每分钟单词数计WPM
  • 静音按钮:启用/禁用音频输出。
  • 测试音频按钮:播放测试音以验证音频功能。
  • 搜索按钮:启动信号搜索,自动扫描频段寻找活跃信号。
  • 连接状态显示WebSocket连接状态连接中、已连接、断开等
  • 时间广播显示显示解码的时间和ISS坐标如果在时间广播频段

3. 操作指南

3.1 选择频段

  1. 在“频段选择”下拉菜单中选择一个频段如“40m含Time & ISS”
  2. 应用程序将连接到所选频段,瀑布图会更新以显示该频段的信号活动。

3.2 调整频率

  • 使用频率旋钮
    • 鼠标:点击并拖动旋钮旋转,逆时针降低频率,顺时针升高频率。
    • 触摸屏:用手指旋转旋钮。
  • 点击瀑布图
    • 在瀑布图上点击特定位置,将频率调整到该点对应的频率。
  • 键盘快捷键
    • T在时间广播频段快速跳转到时间广播频率默认7.003 MHz

3.3 发送莫尔斯电码

  • 手动模式
    1. 确保模式开关设置为“手动”(开关未选中)。
    2. 使用以下方式发送信号:
      • 鼠标:点击并按住“莫尔斯键”按钮,按住时发送信号,释放时停止。
      • 触摸屏:触摸并按住“莫尔斯键”按钮。
      • 键盘:按住 空格键 发送信号,释放停止。
    3. 瀑布图上将显示黄色的本地信号。
  • 自动模式(双桨键控)
    1. 将模式开关设置为“自动”(开关选中)。
    2. 使用WPM滑块调整键控速度默认20 WPM
    3. 发送点dot和划dash
      • 鼠标
        • 左键(或点击左侧桨)发送点。
        • 右键(或点击右侧桨)发送划。
        • 同时按住左右键交替发送点和划iambic模式
      • 触摸屏
        • 触摸左侧桨发送点,右侧桨发送划。
      • 键盘
        • 逗号 (,)左箭头 发送点。
        • 句号 (.)右箭头 发送划。
    4. 音频反馈将生成精确的点(短音)和划(长音),瀑布图显示黄色信号。

3.4 接收信号

  • 其他用户的信号将显示为瀑布图上的绿色条。
  • 如果接收频率接近当前频率±1%频段宽度),会听到相应的莫尔斯音。
  • 时间广播信号橙色在时间广播频段10.000 MHz附近显示并自动解码为文本时间或ISS坐标

3.5 调整音量和音调

  • 音量旋钮旋转调整音量0%静音100%最大)。
  • 音调旋钮旋转调整音调频率400Hz低音1200Hz高音
  • 调整后的音量和音调实时应用于发送和接收的音频。

3.6 搜索信号

  1. 点击“搜索”按钮启动信号搜索。
  2. 应用程序将逐个扫描频段,寻找活跃信号。
  3. 搜索状态和进度条显示在弹出窗口中。
  4. 找到信号后,应用程序自动切换到该频段和频率;若未找到信号,恢复到初始频段和频率。

3.7 静音和测试音频

  • 静音:点击“静音”按钮(显示音量图标)禁用/启用音频。
  • 测试音频:点击“测试音频”按钮(或按 A播放500ms的1000Hz测试音验证音频功能。

3.8 时间广播解码

  • 在时间广播频段Time & ISS应用程序自动解码接收到的莫尔斯信号。
  • 解码结果显示在“时间广播显示”区域包括时间或ISS坐标以及解码的可信度高/中/低)。
  • T 键快速调谐到时间广播频率。

4. 键盘快捷键

  • 空格键:手动模式下发送信号(按住发送,释放停止)。
  • 逗号 (,)左箭头:自动模式下发送点。
  • 句号 (.)右箭头:自动模式下发送划。
  • T:跳转到时间广播频率(仅在时间广播频段有效)。
  • A:播放测试音。

5. 注意事项

  • 音频延迟:键盘输入可能有轻微延迟(~20ms触摸屏响应最快。
  • 浏览器兼容性:确保使用最新版本的浏览器以获得最佳性能。
  • 网络连接稳定的WebSocket连接对实时信号传输至关重要。
  • 触摸屏设备:多点触控可能导致意外行为,建议单点触控操作。
  • 静音状态:静音开启时无法发送信号。

安装与运行

  1. 本地运行
    • 将代码克隆到本地。
    • 使用本地Web服务器如Node.js的http-server)托管应用程序。
    • 在浏览器中访问http://localhost:port
  2. 部署
    • 将应用程序部署到支持WebSocket的服务器。
    • 确保Constants.SERVER_BASE_URL指向正确的WebSocket服务器地址。
  3. 依赖
    • 无需额外安装库应用程序完全基于浏览器原生APIWebAudio、WebSocket、Canvas

故障排除

  • 无音频输出
    • 检查静音按钮是否开启。
    • 点击“测试音频”按钮验证音频功能。
    • 确保浏览器支持WebAudio API并已授予音频权限。
  • 连接断开
    • 检查网络连接。
    • 查看“连接状态”显示的错误信息。
    • 刷新页面重试。
  • 瀑布图不更新
    • 确保选择了正确的频段。
    • 检查WebSocket连接状态。
  • 信号搜索失败
    • 确保网络稳定。
    • 检查是否有活跃信号(可能需要等待或切换频段)。