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指令参考手册

  • 相关阅读:
    自写 jQuery 大幅弹窗广告插件(不喜勿拍)
    反省:一个失败的产品
    javascript变量:全局?还是局部?这个得注意!
    前端工作常常会用到的一些经验技巧(三)
    Jquery伪选择器学习笔记
    前端工作常常会用到的一些经验技巧(二)
    (总结)工作中常用的js自定义函数——日期时间类
    js 数组引用 发现的问题
    一位资深程序员大牛给予Java初学者的学习路线建议(转)
    正则表达式
  • 原文地址:https://www.cnblogs.com/k1two2/p/4931144.html
Copyright © 2011-2022 走看看