【ESP32S3】ESP32S3小车通过小米R4A路由器做内网穿透,公网控制小车
【ESP32S3】ESP32S3小车通过小米R4A路由器做内网穿透公网控制小车文章背景小米R4A千兆V1刷入Padavan具体版本识别参考链接准备工作具体步骤设置内网穿透文章背景控制家里的手搓的小车不想一直开着电脑所以想使用路由器做内网穿透。家里正好有一台不用的路由器型号是小米R4A千兆V1刷入Padavan然后开启FRPC做内网穿透。小米R4A千兆V1刷入Padavan具体版本识别固件版本为2.28.XXX的就是v1固件版本为2.30.XXX的就是v2参考链接https://www.right.com.cn/forum/thread-4007071-1-1.htmlhttps://www.right.com.cn/forum/thread-3856313-1-1.htmlhttps://www.right.com.cn/forum/thread-4003205-1-1.htmlhttps://gofrp.org/zh-cn/准备工作windows电脑我的是win10系统一个文件上传的工具如 WINSCP(自己下载也可以文末会有工具包连接)一个小米4A千兆版路由器我的是稳定版2.28.58需要Python环境参考安装链接https://www.runoob.com/python/python-install.htmlpython安装完成后,执行如下命令安装包pip install pycryptodome pip install pycryptowindows需要开启telnet管理员打开CMD执行如下命令开启dism /online /enable-feature /featurename:TelnetClient /all /norestart笔记本网卡通过网线插入到路由器的LAN口下载OpenWRTInvasion包https://github.com/acecilia/OpenWRTInvasion/releases下载不死鸟:https://breed.hackpascal.net/breed-mt7621-pbr-m1.bin下载老毛子https://opt.cn2qq.com/padavan/MT7621_7603_7612_128M_3.4.3.9-099.trx具体步骤登录小米路由器后台后随便打开一个链接记住地址栏上面的stok值。解压WRTInvasion文件进入到文件夹里面执行如下命令python remote_command_execution_vulnerability.py执行后会提示输入IP这时输入192.168.31.1回车后会提示输入stok输入1得到的stok然后回车回车后会执行命令直到出现如果telnet 192.168.***.***就成功了.打开WINSCP登录名为 刚刚的IP192.168..一般默认为192.168.31.1端口为21用户名为root密码为空或者填写none需要填密码的时候直接确定。请拖动文件名为前面叫你下载的文件breed-mt7621-pbr-m1.bin 的文件到右边/tmp文件夹打开命令行 输入 telnet 192.168..你的IP,然后执行 下面代码mtd-r write/tmp/breed-mt7621-pbr-m1.binBootloader执行完成后就浏览器访问192.168.1.1就可以出现breed的界面了。点击“固件备份”备份EEPROM、编程器固件。点击MAC地址截图所有MAC地址以防万一。点击固件更新添加备份的EEPEOM添加固件添加前面下载的trx固件最后点击确认刷成功后访问如下地址就可以看到老毛子固件访问的地址是192.168.123.1刷机相关的文件打包见链接https://download.csdn.net/download/m0_60688978/92883263设置内网穿透点击老毛子界面内存穿透打开frp客户端和启用frp内网穿透将如下配置粘贴到配置文件里保存。主要实现的功能是通过frpc通过7000端口和frps通信当前有ip为192.168.1.94的esp32设备和ip为192.168.1.57的esp32_stream两个设备需要穿透到公网它们本地应用端口都是80。#!/bin/bashexportPATH/etc/storage/bin:/tmp/script:/etc/storage/script:/opt/usr/sbin:/opt/usr/bin:/opt/sbin:/opt/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/binexportLD_LIBRARY_PATH/lib:/opt/libkillallfrpcrm-f/dev/null;mknod/dev/null c13;chmod666/dev/null;mkdir-p/tmp/frpcat/tmp/frp/myfrpc.toml-\EOF serverAddr234.234.343.24serverPort7000auth.token4521loginFailExitfalse[[proxies]]nameesp32typetcplocalIP192.168.1.94localPort80remotePort1111[[proxies]]nameesp32_streamtypetcplocalIP192.168.1.57localPort80remotePort1112EOFfrpc_enablenvram get frpc_enablefrpc_enable${frpc_enable:-1}if[$frpc_enable1];thenfrpc-c/tmp/frp/myfrpc.toml21fi公有云服务器下载frps包地址是https://github.com/fatedier/frp/releases根据自己实际情况下载我这里下载的是frp_0.68.1_freebsd_amd64.tar.gz解压frp_0.68.1_freebsd_amd64.tar.gz,修改的内容如下和上面的frpc对应:bindPort7000bindPort7000vhostHTTPPort8080auth.token4521进入到解压目录后启动frps服务./frps-c./frps.toml访问公网如下公网地址即可访问内部80应用http://234.234.343.24:1111,访问的是esp32设备 http://234.234.343.24:1112,访问的是esp32_stream设备