【手把手教学】ESP32对讲机教程(二)之跨城对讲^_^MQTT+FRP穿透部署终极指南


视频地址: 💘《工科直男开窍实录:做个情侣对讲机!比写情书管用!!》【ESP32情侣对讲机】(已开源)

鸽王UP主终于来填坑啦!

还记得上个月前我立下的Flag吗?今天我们就来实现那个超酷的跨城语音对讲项目!无需公网IP,小白也能轻松搭建物联网通信系统,文末还准备了懒人配置包哦~

 

 

 

📦 准备工作

  1. 一台能开机的电脑Windows电脑(本人技术有限没体验过Linux
  2. 下载好这些必备文件:
  3. 👉EMQX安装包
  4. 👉FRP工具箱
  5. 👉语音测试工具包
  6. 支付宝备好1¥

文末有懒人下载工具包

 

第一章:MQTT服务器搭建(10分钟速成)

1.1 安装EMQX

Windows用户直接下载压缩包

[EMQX_4.4](https://www.emqx.com/zh/downloads/broker/v4.4.19/emqx-4.4.19-otp24.3.4.6-windows-amd64.zip)

下载完成后解压缩至 C:\EMQX

 

 

打开解压后的文件C:\EMQX\emqx\bin ,然后在空白界面单击鼠标右键盘,选择在终端中打开。输入命令./emqx start

🚨 Win10必看!安装Erlang急救指南

当在Win10系统执行启动命令时出现以下报错:

Crash dump is being written to: erl_crash.dump...done

此时不应有 SET

🔥 问题根源

这是Erlang/OTP环境未安装导致的错误!此时应安装Erlang(https://www.erlang.org/downloads),安装完成后切记关闭PowerShell窗口再重新执行打开终端操作。

如果一切顺利,此时可以打开参照作者:豪哥追求卓越

https://blog.youkuaiyun.com/weixin_41542513/article/details/134328627

的文章继续完成后续部署。

 

 

 

✨第二章:内网穿透实战(FRP魔法)实现远程对讲

🔑1.1 注册与实名认证

1️⃣ 🌐浏览器搜索「樱花FRP」进入官网(非广告!)

 

 

2️⃣ 📮邮箱注册账号并登录

3️⃣ 💳完成实名认证(花费1元必做!) - 管理面板 → 实名认证 → 微信支付

 

 

 

⚙️1.2 创建MQTT穿透隧道

1️⃣ 🛠️进入「隧道列表」→「创建隧道」

 

2️⃣ 🔧关键参数设置:

✅ 节点类型:通用穿透

✅ 协议类型:TCP

✅ 本地端口:1883

✅ 远程端口:(可自选)

 

 

3️⃣ 📝记住生成的隧道域名(HOST)和端口号(后续要用!)

 

🚦2.2 启动穿透服务

完成隧道创建后下载frp客户端。并安装

 

粘贴此命令后点击回车执行安装程序。

 

🔐在启动器粘贴访问密钥登录

安装完成后打开樱花启动器,在网站上的用户信息里复制密钥后粘贴登录

 

此时打开隧道按钮后即配置完成。

 

验证:打开懒人工具包中的audiotest.py,更改以下变量

 

HOST和PORT(端口号)在这查看,右上角在python专用终端运行,查看有无报错

 

 

🔌第三章:开机自启动

打开樱花frp启动器中的开机自启动

 

1️⃣ 打开懒人工具包中的mqtt_start.txt

🔹 检查路径配置是否有效,若无效改为mqtt解压后的bin目录地址

 

2️⃣ 🧪测试脚本:

🔹 更改此文件后缀为.bat,并双击文件运行看是否报错

 

3️⃣ 📁放入启动文件夹:

🔹按下 Win + R,输入 shell:startup→ 拖入bat文件至文件夹。

 

重启电脑,网页打开127.0.0.1:18083判断是否自启动成功。

 

 

💑第四章:情侣对讲机配置

1️⃣ 🔘设备进入配网模式:

👫同时按住左右按键3秒 → 设备重启

2️⃣ 📶手机连接设备WiFi(名称:情侣对讲机)

3️⃣ 🌐浏览器访问192.168.4.1 → 填写服务器地址

 

 

4️⃣ 🔁重复操作配置第二个设备

 

到这里就全部配置完成啦,来体验语音对讲的乐趣吧

 

 

💌教程工具包获取:

在bilibili关注并且私信回复「对讲神器」获取:

🎁EMQX客户端安装包 |OTP客户端| 🔊音频测试脚本 | 懒人一键复制文本

最后的最后,我创建了一个情侣对讲机的交流群,有什么不懂的可以在群里面交流沟通
🐧:478955553

 

 

 

fre内网穿透只能穿透http协议,且页面大小限制在1496B以内(MTU,包含header头部) 包含函数如下: begin(char*,char*,char*,uint16,String,String);//设定参数信息,第一个参数是wifi名称,第个参数是wifi密码,第三个参数是服务器地址,第四个参数是服务器端口,都五个参数是自定义域名密码,第六个参数是域名(多个域名以英文逗号分割) on(String,void);//页面以及回调函数,第一个参数是页面路径,第个参数是回调函数 header(String,String);//设定header头部信息 sendfile();//发送默认的SPIFFS文件 sendfile(String);//发送指定的SPIFFS文件 send(int,string,string);//发送string,第一个参数是响应代码一般是200,第个参数是页面类型,第三个参数是需要发送的文本 send(int,string,uint8_t*,size_t);//发送uint8_t数组文件,第一个参数是响应代码一般是200,第个参数是页面类型,第三个参数是需要发送的uint8_t数组文件,第四个参数是uint8_t数组文件的大小 send(int,string,char*,size_t);//发送char数组文件,第一个参数是响应代码一般是200,第个参数是页面类型,第三个参数是需要发送的char数组文件,第四个参数是char数组文件的大小 Authenticate(String, String);//判断Auth鉴权信息,第一个参数是用户名,第个参数是密码 requestAuthentication();//向页面返回鉴权需求,使页面弹出Auth鉴权登录信息 getheader(String);//返回header指定头部信息参数值 arg(String);//返回GET请求参数值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值