zoukankan      html  css  js  c++  java
  • 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指令参考手册

  • 相关阅读:
    JS LeetCode 1423. 可获得的最大点数简单题解
    SpringBoot 学集 (第六章) Docker
    Linux 学记 (第三章)
    Linux 学记 (第二章)
    Linux 学记 (第一章)
    SpringBoot 学集 (第五章) Web开发续
    SpringBoot 学集 (第四章)Web开发
    SpringBoot 学集 (第三章) 日志框架
    SpringBoot 学集 (第二章) 配置文件
    SpringBoot 学集 (第一章)
  • 原文地址:https://www.cnblogs.com/k1two2/p/4931144.html
Copyright © 2011-2022 走看看