一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器
一个基于ESP32使用ESP-IDF架构开发的摩尔斯电码练习器,使用LVGL制作图形界面。可以实现摩尔斯电码的本地练习以及通过网络与其他使用此项目的HAM进行模拟通联。 目前项目正处于开发测试阶段,不保证所有的功能都能正常使用,仅供有兴趣的朋友抢先体验。
一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器
项目计划及进度 基础功能
配网
模拟通联
- WebSocket方式模拟通联
- MQTT方式模拟通联
设置
训练
网络对讲 SDR
物料清单鉴于目前为测试阶段,此物料清单不作为最终版本使用。所列内容可能随时有改变。 [td]名称 | 数量 | 说明 | ESP32开发板 | 1 |
| 杜邦线 | 若干 |
| 扬声器 | 1 |
| 旋转编码器 | 1 |
| 彩色显示屏 | 1 | 显示控制芯片ILI9341
分辨率240×320
触摸控制芯片XPT2046 | 3.5毫米音频母座 | 1 | 用于连接电键 | 3.5毫米音频线 | 1 | 公对公,用于连接电键。 | 电键 | 1 | 手动或自动均可,或者也可以使用开关代替 | 功放 |
| 目前项目中并没有使用功放,后续会添加 | 使用方法接线DISP:
- DISP: 显示屏
- TOUCH: 触摸控制引脚(可以不接,使用旋转编码器可进行所有操作)
- KEY: 电键
- ROT: 旋转编码器
- SPK: 扬声器
复制代码
所有模块的GND均接入开发板的GND引脚,下表中不再重复说明。 设备 | ESP32 | 说明 | DISP - MOSI | GPIO13 | 或标为SDI | DISP - CLK | GPIO14 | 或标为SCK | DISP - CS | GPIO15 |
| DISP - DC | GPIO2 |
| DISP - RESET | GPIO4 |
| DISP - VCC | VIN |
| DISP - LED | 3V3 |
| TOUCH - IRQ | GPIO27 |
| TOUCH - CS | GPIO5 |
| TOUCH - CLK | GPIO18 | 或标为SCK | TOUCH - MOSI | GPIO23 | 或标为DIN | TOUCH - MISO | GPIO19 | 或标为DO | ROT - CLK | GPIO33 |
| ROT - DT | GPIO32 |
| ROT - SW | GPIO12 |
| KEY - A | GPIO34 | 默认手动键使用该引脚 | KEY - B | GPIO35 |
| SPK | GPIO25 | 暂时没有使用功放,后续接线方法可能会发生改变 |
如需更改引脚,可在在coffee_lib目录下的config.h文件中进行配置。 固件上传固件上传可以使用以下三种方式 - 使用乐鑫的Flash download tool工具上传。(仅限Windows操作系统)
- 使用IDF工具上传。(Windows、Linux及MacOS)
- 使用VSCode插件编译上传。(Windows、Linux及MacOS)
以下分别介绍这三种方式的操作方法。 固件下载的方式安装此方式目前仅支持Windows操作系统
一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器
一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器
一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器
使用IDF工具上传使用VSCode插件编译上传
使用VSCode中编译使用的是乐鑫的vscode-esp-idf-extension扩展插件(附件中下载)。为什么不用PlatformIO呢?因为PlatformIO所使用依赖库大部分都是放在境外的服务器上,由于不便详细阐述的原因,很多小伙伴没有办法正常安装和使用。但是习惯使用PlatformIO的小伙伴也不用担心,项目源码在PlatfromIO上也可以正常跑通,IDF版本使用4.4.x和5都可以,但是由于IDF 5的特性,使用的时候需要手动添加一些库,例如esp_websocket_client。具体详情请参考乐鑫官方文档关于从 ESP-IDF 中移出或弃用的组件中的内容。
一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器
一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器
一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器
一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器
一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器
一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器
进入配置页面后,在”Select download server“中尽量选择乐鑫服务器(Espressif)而不是Github。至于原因...这里不便展开说明,会被屏蔽。
一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器
IDF的版本选择4.4.X。如果选项中没有,可以勾选”Show all ESP-IDF tags“,之后就可以列出全部可下载版本。 一切就绪后点击”Install“。 接下来就是耐心等待下载完成
一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器
温馨提示:如果不出意外的话,这一步骤需要极大的耐心 接下来是下载"ESP-IDF Tools", 同样需要耐心等待。
一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器
不过好在以上两个步骤的这个过程只需要一次即可。 打开下载的项目文件夹,连接好ESP32开发板,选择正确的端口,编译并上传。
功能介绍进入设置页面在主页面按下编码器按钮即可进入设置页面。 Web页面设置在主页长按编码器按钮即可弹出一个二维码,当练习器与手机连接在同一个WiFi下时,扫描二维码即可进入设置页面。 传输内容格式约定目前网络通信部分使用WebSocket方式,后续会添加MQTT方式可供选择。两种方式所传输的数据均使用同一种格式约定。具体约定内容如下: 发送时间|呼号|发送内容 其中,发送时间的格式为 小时:分钟:秒钟,每个时间使用2位数字表示,例如:22:45:32。
每一部分内容之间使用”|“分割。完整示例如下: 22:45:32|BG7YXY|-.-. --.- 传输内容中不可包含电码翻译内容,电码翻译工作在练习器中实现。 如下内容为错误传输内容 22:45:32|BG7YXY|-.-.C --.-Q 尽管以上的传输内容可以正常工作,但是不建议这样使用。原因如下: 自建服务器用户可以自行搭建服务器使用,只需要实现如下功能即可。 - 电码内容通过文本格式传输,练习器发送的内容不包含发送时间信息,需要由服务器添加。练习器发送的内容示例如下:BG7YXY|-.-. --.- 。服务器需要将接收到的内容前插入时间信息,时间格式符合上一节”传输内容格式约定“中的要求。
- 将整理好的数据发送到在线的其他用户客户端中。最好能够带有群组功能。
PS:附件中包括源码 tool工具 vscode-esp-idf-extension扩展插件
游客,本帖隐藏的内容需要积分高于 2 才可浏览,您当前积分为 0
提取码下载:
|