专栏中心

EEPW首页 > 专栏 > 基于MicroPython结合ESP8266模块实现TCP通信(AT指令版)

基于MicroPython结合ESP8266模块实现TCP通信(AT指令版)

发布人:bodasister 时间:2019-06-04 来源:工程师 发布文章

转载请注明文章来源,更多教程可自助参考docs.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇

 实验目的

- 学习ESP8266模块(ESP-01)的使用。
- 进一步学习TPYBoardv10x中UART模块的使用。
- 结合ESP-01模块完成局域网内的TCP通信实验。

所需元器件

- ESP-01 WIFI模块 1个
- TPYBoard v102板子 1块
- USB转TTL 1个
- micro USB数据线 1条
- 杜邦线 若干

本实验采用TPYBoardv102串口AT指令的方式,去连接控制ESP8266模块(型号ESP-01)。

第一步:烧写AT指令的固件

下载AT指令相应固件

这里我下载了一个AiCloud 2.0 AT (512+512map)版本的,版本号:v0.0.0.6。
http://wiki.ai-thinker.com/_media/aicloud/sdk/ai-thinker_esp8266_dout_aicloud_v0.0.0.6_20170517.7z

安信可科技关于ESP8266相关模组的资料地址。http://wiki.ai-thinker.com/esp8266

AT指令固件其他版本下载。http://wiki.ai-thinker.com/esp8266/sdk

下载烧写工具ESPFlashDownloadTool

http://wiki.ai-thinker.com/_media/esp8266/flash_download_tools_v3.6.4.rar

硬件连接

ESP-01模块的引脚图:

 

烧写固件还需用到USB转TTL,ESP-01模最好使用其他外部器件进行供电。这里,我用的TPYBoardv102开发板。但是,别忘记了开发板与TTL之间需要共地。

接线图:

ESP-01模块TPYBoard v102
|VCC3V3
GNDGND          
CH_PD       3V3          
GPIO 0悬空  
GPIO 2  悬空 
TXDX2(UART 4 ) 
RXDX1(UART 4 ) 

 

 

 

 

 

 

 

 

 

 

开始烧写

USB转TTL插上电脑,设备管理器查看端口号。

 

打开ESPFlashDownloadTool工具,选择【ESP8266 DownloadTool】。

我这里下载的是合成的固件,所以地址直接设置为0x00000,其他设置参考如下:

 

选择好端口,点击【START】开始烧写。

 

出现等待上电同步,这时给ESP-01模块上电,或者复位一下,等待下载成功。

第二步:测试AT指令

烧写固件完成之后,将GPIO 0 连接的线拔掉,使其悬空,ESP-01模块会进入正常模式。
打开串口助手工具 http://old.tpyboard.com/download/tool/198.html,默认波特率115200。
ESP-01模块启动时,会输出一堆乱码。(其实不是乱码,是一些内部信息)如下:

出现乱码的原因,如下:

输出的内部信息,我们可以忽略掉,只要输出ready,就说明模块一切正常。

进入AT指令模式

AT指令说明文档、AT固件、烧写工具。http://old.tpyboard.com/download/tool/ESP-01.rar

发送指令:AT

(注意:后面需跟一个回车换行,选择在工具中勾选加回车换行)
模块返回AT\\r\\nOK,说明模块已经成功进入AT指令模式。

查询固件版本

发送指令:AT+GMR

第三步:局域网TCP通信测试

1、首先,让ESP-01接入我们的路由器。

 

AT指令功能
AT+CWMODE_CUR?

查询当前WIFI模式
1 : station 模式
2 : softAP 模式
3 : softAP+station 模式

AT+CWMODE_CUR=1 设置WIFI为station 模式
AT+CWJAP_CUR="essid","password" 连接AP 

 

.

 

 

 

 

 

 

2、接下来,我们做一个局域网内TCP通信的测试。本地用网络调试助手建立一个TCP Server如下:

ESP-01作为TCP Client连接Server。发送指令AT+CIPSTART="TCP","192.168.101.116",80

TCP链接建立,开始发送数据。单路链接时发送指令为AT+CIPSEND=x,x为发送的字节数。出现符号">"后就可以发送数据了。

模块会把收到的数据自动通过串口透传过来。

以上,我们都是结合USB转TTL实现的AT指令转发。接下来,我们通过TPYBoardv102开发板实现上面的功能。

接线图:

ESP-01模块TPYBoard v102
VCC  3V3
GND GND 
CH_PD 3V3 
GPIO 0 悬空 
GPIO 2悬空 
TXD X2(UART 4 )
RXD X1(UART 4 )

 

 

 

 

 

 

 

 

 

注意:ESP-01模块上电启动时电流比较大,会导致板子的REPL无反应。关闭putty等工具,按板子的RST复位一下,再连接就好。最好方式采用外部电源给ESP-01模块供电,注意要与板子共地。

综上,TCP的测试实验完毕。本实验只是做了一些简单的示例,大家可根据自己的想法结合文档开发出更有意思的作品,比如智能控制开关、智能WIFI小车等。

下载源码: https://github.com/TPYBoard/TPYBoard-v102

 


专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

TDK的全新高性能IMU加速光学防抖(OIS)技术推广应用

英特尔生态创新,引领AI PC应用新突破

嵌入式系统第八讲:嵌入式项目开发过程

2010全球电子峰会:National Semiconductor

视频 2010-05-14

尼得科传动技术首次参展自动化・机器人展会“TAIROS 2025”

利用凌华科技PXI产品构建高性能军用测试系统平台

视频 2010-05-17

三星加速布局美国市场,投资或达500亿美元

EDA/PCB 2025-08-12

嵌入式系统第三讲:软硬件协同设计技术

特朗普与英特尔CEO会面

EDA/PCB 2025-08-12

「免关税苹果」下一步? Mac供应链两大方向应对

国防电子测试的最新发展及安捷伦解决方案

R&S微波信号源分析与计量技术

特朗普:或允许英伟达向中国出口降级版Blackwell芯片

南芯科技推出国内首颗全国产供应链垂直集成工艺高边开关

Ceva在最新IPnest报告中蝉联无线连接IP榜首

EDA/PCB 2025-08-11

嵌入式无线模块选型指南

英特尔应该被一分为二吗?

EDA/PCB 2025-08-12

嵌入式系统第二讲:基于FPGA的嵌入式系统设计

现金鼓励原创

Gao 2003-03-11

2010全球电子峰会:Mentor Graphics

视频 2010-05-14

嵌入式系统第七讲:VxWorks实时操作系统RTOS

更多 培训课堂
更多 焦点
更多 视频

技术专区