《如何制作一个智能无线电应答平台》

                                            作者:BG7EJL

  • 项目背景

目前市面上基于U/V频段的无线电应答应用,大多数将对讲机终端与APP或PC相结合,实现无线电网络与互联网的互联互通,如常见的“微喇”或其他PC端软件,其本质上解决了无线电网络的延伸问题。

那么,如何在此基础上更进一步发展,实现无线电网络在互联网的支撑下,借助人工智能语音识别功能与各行各业进行业务融合,是这个平台解决的主要问题。

下面我以U/V段对讲机进行实时天气、路况查询为应用,介绍这个平台的制作过程,并将最终作品的代码与原理图开源给所有爱好者。

  • 系统功能框图

  • 平台处理流程
  1. 用户通过普通对讲机进行道路态势请求呼叫。
  2. 平台客户端接受呼叫请求,并将音频数据发送至服务端。
  3. 服务端通过语音识别ASR功能将语音转换成文字,同时发送至高德路况查询服务器。
  4. 高德路况查询服务器根据请求内容返回实时路况信息给平台服务端。
  5. 平台服务端将路况信息通过TTS功能转换成语音数据,通过互联网发送至平台客户端。
  6. 平台客户端接受实时路况语音数据,通过U/V段无线电广播至用户对讲机。
  • 制作细节(硬件部分)
  1. 主要硬件材料准备

1个SR-FRS-2WU模块;它基于数字信号处理技术的调频解调技术;频率范围:400M~480MHZ;频率步进可选择:5K/6.25K/12.5K/25K;RF 输出功率: 高功率1W,低功率0.5W;语音加密(扰频)功能;短信息 SMS 收发功能。

1个ESP32-A1S 模组;它是一款超小体积,功能强大的模组,主芯片采用低功耗双核 32 位 CPU,主频高达240MHz,运算能力高达 600 DMIPS,内置 AC101 Codec音频解码芯片,可以支持播放音乐和录音,内置 520 KB SRAM,外置 4MPSRAM,支持 UART/SPI/I2C/I2S/PWM/ADC/DAC 等。

1个ams1117-3.3模块;AMS1117-3.3是一种输出电压为3.3V的正向低压降稳压器。

3个轻触开关,6*6*8侧按开关;

1个拨动开关;

电容电阻二极管若干。

  1. 电路制作步骤:
  1. 将射频收发模块与微处理器连接。如图:

将PPT脚与IO12脚连接,实现射频发射可控;将SQ脚与IO5脚连接,实现射频接受可控;将AF-OUT脚与LINEIN脚连接,用于接受语音数据;将MIC-IN脚与HPOUT脚连接,用于发射语音数据;RXD\TXD分别连接IO4,IO5,实现处理器通过串口协议进行前期射频参数设置,如收发频率、发射功率、哑音、休眠模式等。

在这里我们设置射频收发频率为:450.0500,通过查询射频收发模块的操作手册,控制命令如下:AT+DMOSETGROUP=0,450.0500,450.2500,1,2,1,0(回车)

参数依次为:

0:窄带

450.0500:发射频率( MHZ)

450.2500:接收频率 ( MHZ)

1:接收亚音频:

2:SQ 静噪

1:发射亚音频

0:发射功率 1W, 压扩 OFF,繁忙禁发 OFF

  1. 通过AMS1117稳压电路,对整个平台提供稳压电源。如图:

  1. 在微控制器拉出2个引脚,分别实现对ESP32模块的复位和网络设置功能。如图:

其中,网络设置通过终端管理APP来实现,步骤如下:

  • 下载并安装终端管理APP版,地址如下:

https://www.espressif.com/zh-hans/support/download/apps

  • 设置当前WIFI网络的SSID,以及PASSWORD,点击CONFIRM。如图:

  • 按下平台客户端的网络设置按键(长按3秒)
  • 平台客户端将通过UDP协议自动获取APP设置的WIFI信息进行联网。
  1. RXD、TXD程序烧录接口。如图:

其中,烧录功能通过FLASH_DOWNLOAD_TOOLS_V3.6.2.2工具进行。下载地址如下:

https://www.espressif.com/zh-hans/support/download/other-tools

配置方式如图:

  1. 制作完成后的PCB图如下:

  • 制作细节(软件部分)
  1. 平台服务端采用WEB架构,JAVA语言开发。功能框图如下:

  1. 软件处理流程如下:
  • 平台客户端将接收到的语音数据封装成HTTP流格式,实时上送到平台服务端;
  • 服务端监听模块将HTTP包解封后,将语音数据传送至语音ASR识别服务模块。
  • ASR服务奖语音识别成文字后,开始调用业务处理模块。
  • 业务处理模块将用户请求内容通过高德路况服务API接口,传送至高德服务器;并获取服务器返回的路况信息。
  • 将路况信息结果进行语音TTS转换。
  • 最后通过发送模块将语音封装成HTTP流格式,实时下发给平台客户端。
  • 实时路况查询

通过以上步骤,将平台客户端WIFI网络、IP地址以及平台服务端配置好后,打开对讲机,将频率调至450.0500,开始与平台进行交互。

  1. 用户呼叫:北二环交通情况怎么样?
  2. 平台客户端应答:北二环目前道路畅通。
  3. 用户呼叫:芙蓉北路现在是否堵车?
  4. 平台客户端应答:芙蓉北路由南往北行驶缓慢。
  5. 用户呼叫:今天长沙天气如何?
  6. 平台客户端应答:今天长沙天气晴朗,气温25度,南风,适合出行。
  7. 。。。。。。。

视频地址:

http://list.youku.com/albumlist/show/id_52169195.html

  • 各种业务场景应用

平台可通过提供的第3方二次开发接口,实现各种业务功能融合,如:自动定时语音播报,定时播放MP3,WAV文件;对U/V段通信的语音通话监控、过滤、记录、查询等;天气播报;路况查询、快递查询等。利用平台智能对答场景,实现用户各种业务处理,搭建安全、高效、易于管理的单位内部语音通信系统,适用于执勤、消防、物流、港口、医院等所有需要统一管理调度的场景。

最后感谢BG7XP对项目的支持和帮助。

HAVE FUN!

附:

代码、原理图、PCB电路图下载地址:https://github.com/tandan0731

邮箱:dodouegg@qq.com

55节开源巨献,教你制作一个智能无线电应答平台相关推荐

  1. PWA入门:手把手教你制作一个PWA应用

    摘要: PWA图文教程 原文:PWA入门:手把手教你制作一个PWA应用 作者:MudOnTire Fundebug经授权转载,版权归原作者所有. 简介 Web前端的同学是否想过学习app开发,以弥补自 ...

  2. 手把手教你制作一个简单的聊天机器人(图灵api)

    前言:在无聊的时候打打游戏.听听歌还不如来找个人来陪你聊天,今天来教大家制作一个聊天机器人,这样就不会无聊了,在线聊天机器人地址借愁哥哥机器人(可能有点丑,大家将就一下 (

  3. 手把手教你制作一个带特效的全景图片

    一个好的产品才会令人印象深刻,全景图也是这样.这篇文章教你制作一个带特效的全景图片,让你的全景图片"靓"起来. 第一步.准备一张2:1的全景图片.如果不知道全景图是怎么制作的话,可 ...

  4. 物联网全栈教程--手把手教你开发一个智能浇花器

    下面来说一下课程的安排,本教程可以分为三大章节,30个小章节,在1-10章节,手把手讲解了如何实现一个定时/实时控制的浇花器,可以对浇花器电量进行显示,可以进行定时设置,以及实时控制,低功耗模式等等, ...

  5. 使用LED灯和Arduino开发板制作一个智能马克杯

    在本篇文章中,我们将使用RGB全彩LED灯.环境光传感器和Arduino Nano开发板,使用彩色光发送信息或发出警报.在本篇文章结束时,您可以学到: ● 通过Arduino开发板读取DS18B20传 ...

  6. 32位mips运算器logisim_大神教你制作一个简单的16位CPU

    如何制作一个简单的16位CPU,首先我们要明确CPU是做什么的,想必各位都比我清楚,百度的资料也很全..... 如果想要制作一个CPU,首先得明白下计算机的组成结构(或者计算机的替代品,因为并不是只有 ...

  7. npm收录了哪些包_手把手教你制作一个小而美丽的 npm 包并发布

    第1步:npm账户 你需要一个 npm 账户,如果米有,注册地址是:npmjs.com/signup 第2步:登录 进入你自己电脑的终端(cmd)并输入: npm adduser 也可以使用以下命令: ...

  8. 手把手教你制作一个文件加密工具

    目录 一.前言 二.思路 (1)加密算法的实现 (二)GUI等的实现 三.代码实现 一.前言 现在,互联网上的安全问题越来越严重.我们的文件虽然有杀毒软件保护,但光使用杀毒软件也不是完全安全的.于是, ...

  9. 自定义view学习-手把手教你制作一个可扩展日历控件

    来看看效果图先,手把手教你实现一个简易,但高扩展度的日历控件,可自由扩展成签到,单选,多选日期. 首先我们来分析实现思路.对于上图的效果,很明显是一个6x7的表格. 我们可以两个for循环控制绘制每个 ...

最新文章

  1. html资源文件记载进度条,用进度条显示文件读取进度《 HTML5:文件 API 》
  2. 使用wsdl2java命令生成webservice本地调用代码
  3. 微课竞赛系统的设计与实现所需工作条件_工作室文化建设展示(3)
  4. Docker aufs存储驱动layer、diff、mnt目录的区别
  5. 20211028 调节和跟踪
  6. oracle控制文件的损坏或完全丢失的恢复办法
  7. 排序算法杂谈(三) —— 归并排序的非递归实现
  8. rsa算法c语言实现_数据结构与算法之线性表-顺序表实现(C语言版本)
  9. html页脚显示不出来,CSS实例:让页脚保持在未满屏页面的底部
  10. 构建自己的PHP框架(MVC)
  11. Python 函数也是一种对象
  12. Sql Server trace flags
  13. js高级学习笔记(b站尚硅谷)-4-函数
  14. 高新计算机考试培训 ppt,全国计算机高新技术考试.ppt
  15. vue 强制清理浏览器缓存
  16. Fluentd (td-agent) 日志处理
  17. C# dotnet 获取某个字符所在 Unicode 字符平面映射
  18. java cpu 占用率高_java实战CPU占用过高问题的排查及解决
  19. 斯坦福大学-自然语言处理入门 笔记 第十四课 CGSs和PCFGs
  20. 快速学会使用association和collection

热门文章

  1. greenlet基础了解
  2. 亿发软件:江西五金机械行业ERP生产制造系统解决方案
  3. 菏泽话务员机器人方案_电话机器人真能抵得上五个电销话务员?
  4. 无线AP配服务器,胖AP结合远程radius服务器做802.1X认证的典型配置
  5. 百度副总裁沈抖:百度APP全面升级 打造新内容消费服务平台
  6. 公务员考试各地公安面试题汇总
  7. 怎么将计算机的数据都备份到网络设置,如何备份电脑所有数据?三大方法教你搞定电脑数据备份...
  8. Java 上传图片MultipartFile
  9. java基本语法和数据类型
  10. 什么是敏捷项目管理,为什么要使用敏捷管理?