相信今年参加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-三角形  -
---VCC (ESP8266-12E )
---TXD (ESP8266-12E )
---RXD (ESP8266-12E )
---RST (ESP8266-12E )
---GND(ESP8266-12E )
---GPIO (ESP8266-12E )
2和USBTTL RXD相连
3和USBTTL TXD相连
5和USBTTL GND相连
另外一条应该是1或4 连接到USBTTL的VCC或者3.3V 目前还不确定正确地连接姿势

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

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

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

0X03调试指令

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

重启

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

版本号

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

ID号

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

模式设置

输入语句    AT+MODE?
返回 +MODE:<mode>
done
说明 用于查询目前的工作模式
.Station(客户端模式)
.AP(网络节点模式)
.Station+AP(混合模式) 输入语句 AT+MODE=<mode>
返回 done
说明 配置模块工作模式
.Station(客户端模式)
.AP(网络节点模式)
.Station+AP(混合模式) <mode>取值范围为1-
命令执行后必须重启模块方可生效 举例 AT+MODE=

查询wifi热点

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

加入一个wifi网络

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

退出网络

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

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

GeekPwn2015胸卡ESP8266 12E串口调试的更多相关文章

  1. 乐鑫esp8266的串口通讯驱动源文件,nonos和rtos版本

    目录 一.前言: 二.esp8266的串口分布情况: 三.esp8266的串口通讯时候,应该怎么接线: 四.esp8266的NONOS非系统,串口编程: 五.esp8266的RTOS实时系统,串口编程 ...

  2. Modbus通讯协议学习 - 串口调试

    概述 我们在做任何事情之前都需要获取很多 调试步骤: 1:485转换器连接硬件 2:485转换器上的USB接口连接电脑. 3:打开设备管理器 ->查看端口 4:打开串口调试工具,在串口配置的地方 ...

  3. android模拟器使用PC串口调试

    android模拟器使用PC串口调试1.模拟器可以使用PC的串口  启动模拟器并加载PC串口 命令如下:  运行 emulator @模拟器名称 -qemu -serial COM12.查看串口是否被 ...

  4. android 串口调试

    在usb调试过程中,都会选择串口查看log,更希望在串口中输入命令查看相关状态.但是一般情况下串口调试时 进程用户是shell,即使你在adb shell下是root用户. 暴力方法是在 adroid ...

  5. keil中的串口调试:

    keil中串口的虚拟调试信息在通过View-serial windows-#usart1/2/3/4/debug(printf)可以看到.当然也可以通过虚拟串口VSPD+串口调试助手在外部实现,方法如 ...

  6. 自己编写的基于VC++6.0的串口调试软件,并贡献源程序!

    自己编写的基于VC++6.0的串口调试软件源程序! 程序下载链接: 点击打开链接

  7. 基于Modbus的C#串口调试开发

    说明:本文主要研究的是使用C# WinForm开发的串口调试软件(其中包含Modbus协议相关操作).Modbus相关协议可以查阅百度文库等,可参考: <http://wenku.baidu.c ...

  8. 【安富莱专题教程第5期】工程调试利器RTT实时数据传输组件,替代串口调试,速度飞快,可以在中断和多任务中随意调用

    说明:1.串口作为经典的调试方式已经存在好多年了,缺点是需要一个专门的硬件接口.现在有了SEGGER的RTT(已经发布有几年了),无需占用系统额外的硬件资源,而且速度超快,是替代串口调试的绝佳方式.2 ...

  9. 串口调试助手vc源程序及其详细编写过程

    串口调试助手vc源程序及其详细编写过程   目次: 1.建立项目 2.在项目中插入MSComm控件 3.利用ClassWizard定义CMSComm类控制变量 4.在对话框中添加控件 5.添加串口事件 ...

随机推荐

  1. 各大互联网公司2014前端笔试面试题–JavaScript篇

    很多面试题是我自己面试BAT亲身经历碰到的.整理分享出来希望更多的前端er共同进步吧,不仅适用于求职者,对于巩固复习js更是大有裨益. 而更多的题目是我一路以来收集的,也有往年的,答案不确保一定正确, ...

  2. centos7配置mono和jexus5.6.2

    一.通过集成包安装mono: 1.添加Mono的 包库源: 把Mono Project public Jenkins GPG signing  导入系统 wget http://jenkins.mon ...

  3. python中time模块的用法

    import time tick = time.time() # 返回从12:00am, January 1, 1970(epoch) 开始的记录的当前操作系统时间 present = time.lo ...

  4. hdu----(3118)Arbiter(构造二分图)

    Arbiter Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total S ...

  5. Text Justification [LeetCode]

    Problem Description:http://oj.leetcode.com/problems/text-justification/ Note: Just be careful about ...

  6. CommonJS规范(转)

    概述 CommonJS是服务器端模块的规范,Node.js采用了这个规范. 根据CommonJS规范,一个单独的文件就是一个模块.加载模块使用require方法,该方法读取一个文件并执行,最后返回文件 ...

  7. js私有共有成员

      在小项目中对于JavaScript使用,只要写几个function就行了.但在大型项目中,尤其是在开发追求 良好的用户体验的网站中,如SNS,就会 用到大量的JavaScrpt,有时JavaScr ...

  8. 7款适用老旧设备并对初学者非常友好的轻量级Linux发行版

    我们由从 7 到 1 的顺序向大家介绍. 7. Linux Lite 正如其名,Linux Lite 是 Linux 发行版的一个轻量级版本,用户并不需要强大的硬件就可以将它跑起来,而且其使用非常简单 ...

  9. drbd

    1.DRBD安装 1.1.安装依赖包: [java] view plaincopy yum -y install gcc kernel-devel kernel-headers flex 下载安装dr ...

  10. 转载:完全卸载oracle11g步骤

    完全卸载oracle11g步骤: 1. 开始->设置->控制面板->管理工具->服务 停止所有Oracle服务. 2. 开始->程序->Oracle - OraHo ...