GeekPwn2015胸卡ESP8266 12E串口调试

简介:
GeekPwn2015胸卡ESP8266 12E串口调试

相信今年参加GeekPwn活动的很多同学都获得了一枚GeekPwn的胸牌,为方便大家对胸牌进行一些调试和破解,这里分享一些关于这枚胸牌的一些信息 :)如发现文章之中有错误之处,欢迎大家斧正!

0×00 主芯片

主芯片:ESP8266 WIFI模块

ESP8266模块也有很多版本,经过一段时间的整理发现安天实验室设计的GeeKPwn胸牌采用的是ESP-12E。如下图:

ESP8266-12E是ESP8266-12的增强版,完善外围电路,增强阻抗匹配,在稳定性与抗干扰能力上有所提升,引脚在ESP-12的基础上新增六个IO口、SPI口引出;

0×02 连接USB-TTL

仔细观察胸卡背面线路,发现胸卡的右中侧有六个小孔,显示屏背面的PCB板子上左右侧均有GND、TX、RX、5V的接口。

通过使用万用表对一些接口和ESP-12E的测量,最终得出胸卡右中侧的六个小孔才是连接USB TTL的正确接口。

复制代码
J1-三角形  1-6
1---VCC (ESP8266-12E 82---TXD 0(ESP8266-12E 223---RXD 0(ESP8266-12E 214---RST (ESP8266-12E 15---GND(ESP8266-12E 156---GPIO 0(ESP8266-12E 18
复制代码
2和USBTTL RXD相连
3和USBTTL TXD相连
5和USBTTL GND相连
另外一条应该是1或4 连接到USBTTL的VCC或者3.3V 目前还不确定正确地连接姿势

串口调试波特率设置为9600,

复制代码
[17:34:34.413] OKOK
[17:34:37.016] Usa騏sarUsarUsarUsarUsarUsarUsarUsarUsarUsarUsarUsarUsarUsarUsarUsarUsarUsarUsarUsarUsarUsarUsarUsarUsarUsarUsarUsarUsarUsarUsarUsa騏sa騏sarUsarUsa騏saUsa騏骍sa騏Usa騏Usart-GPU Usart-GPU V4.2 B0802
[17:34:37.533] SN:GPCB5E2702863D  
[17:34:37.533] stdin:1: malformed number near '02863D'
[17:34:40.758] > 
[17:34:41.532] UUUsa騏Usa騏Usa騏Usa騏Usa騏Usa騏UsaUUsa騏Usa騏Usa騏Usa騏UsaUUsa騏Usa騏Usa騏誙sart-GPU Usart-GPU V4.2 B0802
[17:34:41.938] SN:GPCB5E2702863D  
[17:34:41.958] stdin:1: '=' expected near '
[17:34:42.045] > 
[17:34:46.399] 
[17:34:46.399] 
[17:34:46.399] PIC(0,0,3);
[17:34:46.416] 
[17:34:46.416] Usart-GPU Usart-GPU V4.2 B0802
[17:34:46.852] SN:GPCB5E2702863D  
[17:34:46.870] stdin:1: '=' expected near '-'
[17:34:46.934] > OK
[17:34:49.067] 鮑UsaUsa騏sa騏sa騏sa騏sa騏sa騏U誙誙sa騏U照Usart-GPU Usart-GPU V4.2 B0802
[17:34:49.486] SN:GPCB5E2702863D  
[17:34:49.486] stdin:1: '=' expected near ''
[17:34:49.580] > 
[17:34:50.114] UsarUsa騏sa騏sa騏sa騏sa騏sa騏saUsa騏sa騏saUsarUsarUsartUsart鞺sart-Usart鞺sart-GUsart-Usart-Usart-GPU Usart-GPU V4.2 B0802
[17:34:50.333] SN:GPstdin:1: '=' expected near '
[17:34:50.386] > CB5E2702863D  
[17:34:50.453] >> 
[17:34:52.401] 
[17:34:52.401] 
[17:34:52.401] PIC(0,0,1);
[17:34:52.418] 
[17:34:52.418] 
[17:34:55.177] Usart-GPU Usart-GPU V4.2 B0802
[17:34:55.266] SN:GPCB5E2702863D  
[17:34:55.277] stdin:2: '=' expected near 'Usart'
[17:34:55.367] > 
[17:34:58.402] 
[17:34:58.402] 
[17:34:58.402] PIC(0,0,2);
[17:34:58.419] 
[17:34:58.419] 
[17:35:00.135] Usart-GPU Usart-GPU V4.2 B0802
[17:35:00.169] SN:GPCB5E2702863D  
[17:35:00.188] stdin:1: '=' expected near '-'
[17:35:00.251] > OK
[17:35:04.410] 
[17:35:04.410] 
[17:35:04.410] PIC(0,0,3);
[17:35:04.421] 
[17:35:04.421] OKOK
[17:35:09.831] ?)嶠諨岧諨H锑HTC
[17:35:10.448] NodeMCU 0.9.6 build 20150704  powered by Lua 5.1.4
复制代码

在调试的过程中出现一些BUG:输入指令后模块未执行,一直返回ok状态,这里猜测可能是连线不完全正确,也有可能需要通过升级固件来解决。有机友可以解决这一问题可以使用下面的AT指令进行调试。

0X03调试指令

AT指令是串口通讯中常用的一种操作指令。GPS、短信猫等硬件也都是使用AT指令来调试。

重启

输入语句    AT+Reset
返回    done
说明    模块会重新启动,很多设置需要重启后生效

版本号

输入语句    AT+GMR
返回    版本号
说明    返回目前的版本号

ID号

输入语句    AT+ID
返回    返回模块的唯一识别ID
说明    用于识别身份
AP操作指令部分

模式设置

复制代码
输入语句    AT+MODE?
返回    +MODE:<mode>
done
说明    用于查询目前的工作模式
1.Station(客户端模式)
2.AP(网络节点模式)
3.Station+AP(混合模式)

输入语句    AT+MODE=<mode>
返回    done
说明    配置模块工作模式
1.Station(客户端模式)
2.AP(网络节点模式)
3.Station+AP(混合模式)

<mode>取值范围为1-3
命令执行后必须重启模块方可生效

举例    AT+MODE=1
复制代码

查询wifi热点

复制代码
输入语句    AT+ShowAP
返回    <加密类型>,<SSID>,<信号强度>
说明    加密类型范围0-4
0 OPEN
1 WEP
2 WPA_PSK
3 WPA2_PSK
4 WPA_WPA2_PSK
复制代码

加入一个wifi网络

复制代码
输入语句    AT+JoinAP=<SSID>,<PASSWORD>
返回    done or ERROR
说明    加入一个wifi网络
举例    AT+JoinAP=“tp-xxssd”,“12345678”
登陆网络后必须要重启模块
输入语句    AT+JoinAP?
返回    你所在网络的SSID
说明    查看自己所在网络的SSID
复制代码

退出网络

输入语句    AT+ExtAP
返回    done
说明    退出已登录的wifi网络

参考:百度文库 AT指令参考手册

 
本文转自 K1two2 博客园博客,原文链接:http://www.cnblogs.com/k1two2/p/4931144.html   ,如需转载请自行联系原作者
相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
相关文章
|
安全
[UDS] --- WriteDataByIdentifier 0x2E
[UDS] --- WriteDataByIdentifier 0x2E
590 0
|
存储 编解码 vr&ar
用C++实现视频编码器:FFmpeg与SDL技术结合,轻松编写高效编解码器
用C++实现视频编码器:FFmpeg与SDL技术结合,轻松编写高效编解码器
1573 0
|
JavaScript
JS 如何动态获取本地文件夹中的所有图片
JS 如何动态获取本地文件夹中的所有图片
1082 0
|
人工智能 缓存 NoSQL
【深度】企业 AI 落地实践(四):如何构建端到端的 AI 应用观测体系
本文探讨了AI应用在实际落地过程中面临的三大核心问题:如何高效使用AI模型、控制成本以及保障输出质量。文章详细分析了AI应用的典型架构,并提出通过全栈可观测体系实现从用户端到模型推理层的端到端监控与诊断。结合阿里云的实践经验,介绍了基于OpenTelemetry的Trace全链路追踪、关键性能指标(如TTFT、TPOT)采集、模型质量评估与MCP工具调用观测等技术手段,帮助企业在生产环境中实现AI应用的稳定、高效运行。同时,针对Dify等低代码平台的应用部署与优化提供了具体建议,助力企业构建可扩展、可观测的AI应用体系。
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
DeepMesh:3D建模革命!清华团队让AI自动优化拓扑,1秒生成工业级网格
DeepMesh 是由清华大学和南洋理工大学联合开发的 3D 网格生成框架,基于强化学习和自回归变换器,能够生成高质量的 3D 网格,适用于虚拟环境构建、动态内容生成、角色动画等多种场景。
662 4
DeepMesh:3D建模革命!清华团队让AI自动优化拓扑,1秒生成工业级网格
|
8月前
|
人工智能 IDE Java
通义灵码2.0 寻找AI程序员{头号玩家}
通义灵码联合 CHERRY 中国发起“头号玩家”活动,寻找 AI 程序员!体验 AI 智能编码新功能,如图生代码、单元测试、跨语言编程等。完成任意两个任务即可赢取联名定制机械键盘、折扣券及社区积分等奖品。活动截止至4月15日,点击链接参与,探索未来编程乐趣!
143 6
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
FullStack Bench:字节豆包联合M-A-P社区开源的全新代码评估基准
FullStack Bench是由字节跳动豆包大模型团队与M-A-P社区联合推出的全新代码评估基准,专注于全栈编程和多语言编程能力评估。该基准覆盖超过11种真实编程场景,包含3374个问题,涉及16种编程语言,旨在更有效地衡量大模型在现实世界中的代码开发能力。
340 5
FullStack Bench:字节豆包联合M-A-P社区开源的全新代码评估基准
|
11月前
|
JSON 数据可视化 测试技术
python+requests接口自动化框架的实现
通过以上步骤,我们构建了一个基本的Python+Requests接口自动化测试框架。这个框架具有良好的扩展性,可以根据实际需求进行功能扩展和优化。它不仅能提高测试效率,还能保证接口的稳定性和可靠性,为软件质量提供有力保障。
561 7
|
移动开发 前端开发
基于jeecg-boot的flowable流程自定义业务退回撤回或驳回到发起人后的再次流程提交
基于jeecg-boot的flowable流程自定义业务退回撤回或驳回到发起人后的再次流程提交
850 0
|
机器学习/深度学习 并行计算 算法
R语言深度学习不同模型对比分析案例
R语言深度学习不同模型对比分析案例