# openwrt-pass-through **Repository Path**: chenbb12345/openwrt-pass-through ## Basic Information - **Project Name**: openwrt-pass-through - **Description**: 这是之前的工程esp32_network123,移植到openwrt / mt7688上的版本,功能为:一个简单的透传模块小demo。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-02-19 - **Last Updated**: 2023-03-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 这是<[基于ESP32实现一个WIFI透传模块demo](https://blog.csdn.net/chenbb8/article/details/128134389)>的openwrt移植版本,仅用于复习openwrt操作,作为一个demo级别的项目,它对于一些AT指令参数的判断并不严格。 # 环境 编程系统:ubuntu 16.04
虚拟机:VMare Workstation 16
IDE:vscode 1.73.1
board:BOJINGnet_MT7688A开发板
板子openwrt版本:官方openwrt 19.07中的Target Porfile:MediaTek LinkIt Smart 7688分支编译
# 硬件连接 console uart:使用普通usb type-c数据线连接电脑和开发板
at/data uart:使用usb rs232数据线连接电脑和开发板 # 准备 - 使用开发板虚拟机的,直接跳过。(厂家22年10月提供的固件,有串口读取丢包的bug) - 通过git下载openwrt,并切换分支到版本19.07,使用Target Porfile:MediaTek LinkIt Smart 7688编译固件。
需要修改LINKIT7688.dts中的默认console为ttyS0,否则无法使用板子的usb type-c作为串口console。 #### 编译 **以下命令假定终端已经定位到openwrt目录中** - 将本项目的工程拷贝到”./package“中,把文件夹改名为upass - 执行命令"make menuconfig" - 勾选"Utilities"->"upass",退出并保存设置 - 执行命令"make -j1 V=sc ./package/upass/compile" - 编译好的固件路径为“/bin/packages/mipsel_24kc/base/upass_1.0_mipsel_24kc.ipk” #### 安装 拷贝安装包到目标板中,在目标板的终端里执行命令"opkg install ./mipsel_24kc/base/upass_1.0_mipsel_24kc.ipk" # 指令说名
参考一下某透传模块的指令,提取出以下几条(**每条指令后应该加上换行符,比如"\n"、“\r\n”,否则将不识别**)
**以下命令是通过at/data uart接口执行** - 扫描AP 指令 | ATWS ---|--- 响应| 成功
AP : <num>,<ssid>,<chl>,<sec>,<rssi>,<bssid>
.....
[ATWS] OK
失败
[ATWS] ERROR: error_code | 1: 系统忙
2: 无scan结果为空 - 连接到 AP 指令 | ATPN=<ssid>,<pwd> ---|--- 响应 | 成功
[ATPN] OK
失败
[ATPN] ERROR: error_code | 1: 命令格式错误
2: 参数错误
3: 连接 AP失败
4: dhcp 超时
5:无ap信息 - 建立socket 指令 | ATPC=<mode>,<Remote Addr>,<Remote Port> ---|--- 响应 | 成功
[ATPC] OK
失败
[ATPC] ERROR: 参数 | mode:
 0:TCP error_code | 1: 命令格式错误
2: 参数错误
3: 连接 server失败
4: 尚未连接AP 注意|连接成功后直接进入透传模式