依星源码资源网,依星资源网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

【好消息,好消息,好消息】VIP会员可以发表文章赚积分啦 !
查看: 125|回复: 0

一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

[复制链接] 主动推送

1万

主题

1万

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12016
发表于 2024-8-26 10:57:44 | 显示全部楼层 |阅读模式
一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器
一个基于ESP32使用ESP-IDF架构开发的摩尔斯电码练习器,使用LVGL制作图形界面。可以实现摩尔斯电码的本地练习以及通过网络与其他使用此项目的HAM进行模拟通联。
目前项目正处于开发测试阶段,不保证所有的功能都能正常使用,仅供有兴趣的朋友抢先体验。

一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器
项目计划及进度
  • 基础功能

    • 电码录入
    • 电码解译
  • 配网

    • 微信配网
    • ESP-TOUCH配网
  • 模拟通联

    • WebSocket方式模拟通联
    • MQTT方式模拟通联
  • 设置

    • 在练习器上进行设置
    • 在Web页面上进行设置
  • 训练

    • 键入训练
    • 解码训练
    • 训练排行榜
  • 网络对讲
  • SDR

    • 本地SDR
    • 网络SDR

物料清单
鉴于目前为测试阶段,此物料清单不作为最终版本使用。所列内容可能随时有改变。
[td]
名称
数量
说明
ESP32开发板
1

杜邦线
若干

扬声器
1

旋转编码器
1

彩色显示屏
1
显示控制芯片ILI9341
分辨率240×320
触摸控制芯片XPT2046
3.5毫米音频母座
1
用于连接电键
3.5毫米音频线
1
公对公,用于连接电键。
电键
1
手动或自动均可,或者也可以使用开关代替
功放

目前项目中并没有使用功放,后续会添加
使用方法接线DISP:      
  1. DISP:        显示屏  
  2. TOUCH:        触摸控制引脚(可以不接,使用旋转编码器可进行所有操作)
  3. KEY:        电键  
  4. ROT:        旋转编码器  
  5. 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操作系统
  • 在附件中下载Flash下载工具。
  • 根据自己手上的开发板下载对应的USB驱动。目前市面上的ESP32开发板所使用的串口转USB芯片多为CH340或CP2102,确认好自己的开发板的芯片信号下载对应驱动即可。
  • 确定开发板已经被电脑正确识别后,启动Flash下载工具。

一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

  • 启动后将ChipType选择为ESP32,其他内容不变。如下图:

一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

  • 将bin目录中的4个文件分别添加到工具中。记得要将工具中文件名称前面的复选框勾选,并将每个文件对应的地址偏移写到文件名后方。具体填写内容如下表:

    文件名
    地址
    bootloader.bin
    0x1000
    partition-table.bin
    0x8000
    ota_data_initial.bin
    0xd000
    coffee.bin
    0x10000
  • 选择好正确的端口,点击START后等待下载完成即可。完整的设置如下图:
    再次提醒:一定要将文件名称前面的复选框勾选上

一个基于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 中移出或弃用的组件中的内容。

  • Python官网的下载页面下载并安装python3。
    安装时记得把底部的两个复选框都勾选上

一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

  • 下载保存源码文件,git或下载zip文件的方式均可。
  • 官网下载VSCode。

一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

  • 在VSCode中的扩展标签里搜索并安装”ESP-IDF“扩展插件。

一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

  • 插件下载完成后,点击工具栏的”ESP-IDF“图标,等待一会,初始化完成后会出现ESP-IDF安装配置页面。

一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

  • 出现安装配置页面后选择”ADVANCED“选项。

一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

  • 进入配置页面后,在”Select download server“中尽量选择乐鑫服务器(Espressif)而不是Github。至于原因...这里不便展开说明,会被屏蔽。

    一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

    一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

    IDF的版本选择4.4.X。如果选项中没有,可以勾选”Show all ESP-IDF tags“,之后就可以列出全部可下载版本。
    一切就绪后点击”Install“。
  • 接下来就是耐心等待下载完成

    一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

    一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

    温馨提示:如果不出意外的话,这一步骤需要极大的耐心
  • 接下来是下载"ESP-IDF Tools", 同样需要耐心等待。

    一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

    一个基于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

提取码下载:
文件名称:提取码下载.txt 
下载次数:0  文件大小:13 Bytes  售价:69金钱 [记录]
下载权限: 不限 [购买VIP]   [充值]   [在线充值]   【VIP会员5折;永久VIP免费】
安全检测,请放心下载





一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

一个基于ESP32使用ESP-IDF开发的摩尔斯电码练习器

相关帖子

扫码关注微信公众号,及时获取最新资源信息!下载附件优惠VIP会员5折;永久VIP免费
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明:
1、本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与商业和非法行为,请在24小时之内自行删除!
2、本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,请勿任何商业目的与商业用途。
3、若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
4、论坛的所有内容都不保证其准确性,完整性,有效性,由于源码具有复制性,一经售出,概不退换。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
5、用户使用本网站必须遵守适用的法律法规,对于用户违法使用本站非法运营而引起的一切责任,由用户自行承担
6、本站所有资源来自互联网转载,版权归原著所有,用户访问和使用本站的条件是必须接受本站“免责声明”,如果不遵守,请勿访问或使用本网站
7、本站使用者因为违反本声明的规定而触犯中华人民共和国法律的,一切后果自己负责,本站不承担任何责任。
8、凡以任何方式登陆本网站或直接、间接使用本网站资料者,视为自愿接受本网站声明的约束。
9、本站以《2013 中华人民共和国计算机软件保护条例》第二章 “软件著作权” 第十七条为原则:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。若有学员需要商用本站资源,请务必联系版权方购买正版授权!
10、本网站如无意中侵犯了某个企业或个人的知识产权,请来信【站长信箱312337667@qq.com】告之,本站将立即删除。
郑重声明:
本站所有资源仅供用户本地电脑学习源代码的内含设计思想和原理,禁止任何其他用途!
本站所有资源、教程来自互联网转载,仅供学习交流,不得商业运营资源,不确保资源完整性,图片和资源仅供参考,不提供任何技术服务。
本站资源仅供本地编辑研究学习参考,禁止未经资源商正版授权参与任何商业行为,违法行为!如需商业请购买各资源商正版授权
本站仅收集资源,提供用户自学研究使用,本站不存在私自接受协助用户架设游戏或资源,非法运营资源行为。
 
在线客服
点击这里给我发消息 点击这里给我发消息 点击这里给我发消息
售前咨询热线
312337667

微信扫一扫,私享最新原创实用干货

QQ|免责声明|小黑屋|依星资源网 ( 鲁ICP备2021043233号-3 )|网站地图

GMT+8, 2024-11-24 01:40

Powered by Net188.com X3.4

邮箱:312337667@qq.com 客服QQ:312337667(工作时间:9:00~21:00)

快速回复 返回顶部 返回列表