ESP8266学习记录一


前言

从这周开始我开始学习ESP8266WIFI模块,并将我的学习经历记录下来供和我一样的初学者学习讨论。


一、ESP8266

ESP8266与HC-05蓝牙模块类似,都是一种串口转其他通信的模块,也就是说用这个模块我们不需要了解许多网络协议,仅仅靠串口通信就可以将我们的主控芯片连接到网络进行数据传输。
市面上有两种ESP8266模块,都是使用的同样的ESP8266芯片,只不过正点原子只引出了6个引脚,官方模块引出了8个引脚,如果我们不使用已经刷好的固件库(也就是不打算利用ESP8266芯片做一些控制)那么这两个模块没有太大使用区别。

市面上最主流的有两种版本,下面我会做简单的介绍。

正电原子模块

我是用正点原子开始学习的ESP8266,本来是想正点原子会有一些源代码和对应视频,但是找了半天只找到源代码和一个长达数十页的pdf,后来根据学长给的一个视频学习进度才有所进展。

这是我存在百度网盘的视频:配置正点原子ESP8266
提取码:ljt1

下面就是正点原子模块的实拍
在这里插入图片描述

在这里插入图片描述
从图片中我们不难看出,正点原子模块共有六个引脚

引脚功能
VCC3.3V或者5V
GND接地
TXD发送数据引脚
RXD接收数据引脚
IO_0复位(低电平有效)
RST用于进入固件烧写模式,低电平是烧写模式,高电平运行

这次使用中我并没有直接用单片机进行数据的传输,而是直接连接到电脑先大致了解一下该模块的工作方式,所以我采用的是USB-TTL芯片和它相连然后连接电脑。
具体连接方式为

正点原子模块USB-TTL
VCC5V
GNDGND
TXDRXD
RXDTXD

这里网上建议该模块连接5V作为电源,因为有博主在3.3V使用的时候偶尔会有丢失数据的情况,所以我们就直接使用5V供电。

官方模块

下面的图片就是官方模块的实拍
在这里插入图片描述
在这里插入图片描述
从图片中我们可以清楚的看到有8个引脚伸出

引脚功能
VCC3.3V或者5V
REST复位
CH_PD高电平工作,低电平模块供电关闭
UTXD发送数据(也可作为GPIO1)
URXD接收数据
GPIO0默认为WIFI状态STA
GPIO2没找到具体用处
GND接地

由于我们不对ESP8266的固件库进行修改,所以我们的连接方式和正点原子模块是差不多的,唯一的区别就是CH_PD引脚也需要接电源,原因可以从我上面给出的表格看到。

二、配置过程

首先给出需要用到的两个软件
XCOM串口调试助手 提取码:s2g7
网络调试助手 提取码:lp3g
下载安装好我们的软件后就进行我们硬件的连接
硬件连接依照第一部分的表格,将模块与USB-TTL进行连接,并将我们的USB连接到电脑。

1.初次问候

硬件连接之后我们就可以打开XCOM串口调试助手,串口波特率调整为115200,在对话框中输入AT并发送,如果我们的模块正常则会返回一个OK。
此时就代表我们和模块取得了第一次联系
这里如果返回的是十六进制数字,则需要我们将右列的16进制显示关闭。
在这里插入图片描述

2.连接WIFI

之后我们就需要将模块连接上WIFI,具体操作为
在对话框中发送:AT+CWJAP=“无线网名称”,"无线网密码"
例如我的手机热点名称为:我是彭于晏 密码为12345678
则发送 AT+CWJAP=“我是彭于晏”,"12345678"
给它一段反应的时间,他就会返回 WIFI CONNECTED

如果模块正常返回OK但是在连接WIFI时出现错误,可能是AT指令发送的有问题,仔细检查是否语句中使用的为英文符号,账户密码是否正确。

3.开启我们的简单服务器

现在我们先暂且疏远我们的ESP8266,把串口助手晾在一旁,打开另一个我上传的软件,网络调试助手。

这里电脑要和模块连接到同一个路由器

在这里插入图片描述
这里需要设置
协议类型为TCP Server

本地主机地址一般都是默认值不需要我们更改

本地主机端口为8080

之后点击打开。理想情况下会直接打开成功,但是我在使用的过程中就遇到了问题,总是显示bind()failed,后来查询后才明白是对应端口被占用,下面是我的解决方法。

开启网络调试助手方法一

首先按win+R打开运行
在这里插入图片描述
在对话框中输入cmd点击确定

之后在黑框中输入 netstat -ano
注意netstat后面是有一个空格的!

在这里插入图片描述

按回车就可以查询到我们的电脑各个端口的运行情况,找到8080端口,查看是什么程序在占用8080端口,例如下图我的8080端口就被 PID8584占用。
在这里插入图片描述
打开任务管理器,在详细信息中将该程序关闭。
在这里插入图片描述
关闭之后就可以开启8080端口了。
这里关闭的程序(Application Web Server)是上学期电路实验考试时附带的,现在咱也不敢删。

开启网络调试助手方法二

既然我们的8080端口被占用了,那我们就直接换一个端口进行使用,例如8082,8083等等等等,电脑端口数量很多,试一个不行还会有很多个,总会有没被使用的端口可以使用。
在这里插入图片描述
个人觉得第二个方法好,但是了解一下为什么打不开8080也是挺好的。

4.模块连接服务器

这里发送AT指令:AT+CIPSTART=“TCP”,“IP地址”,端口号
例如我的IP地址为192.168.1.110,端口使用的是8082,那我就发送
AT+CIPSTART=“TCP”,“192.168.1.110”,8082
在这里插入图片描述
图片上我第一次发送这个指令就失败了,因为用了中文符号,大家也应注意。
此时模块就连接上了我们电脑上开启的简单服务器。

5.开始通过WIFI与服务器通信

模块连接好服务器后,我们再发送一个AT指令将模块设置为透传模式

AT+CIPMODE=1 透传模式

之后发送开启透传
AT+CIPSEND 开启透传
在这里插入图片描述
当窗口返回>后,我们所发送的任何消息都会被认作为数据,现在就可以通过电脑的串口通信给模块数据,然后模块通过WIFI将数据发送给我们的简单服务器。

下面是我的自问自答
在这里插入图片描述
发送出去的消息在各自软件中是看不到的,只能看到接收到的消息

注意:这不是聊天软件,不要像我一样玩的停不下来

最后当我们想要退出数据传输模式时,我们需要在串口助手中发送三个加号,并取消勾选发送新行
在这里插入图片描述

总结

这篇文章主要描述该模块在STA模式下的工作流程,熟悉了工作方式后我们就可以尝试用单片机替代电脑进行串口数据传输,发送数据与接收数据。
下面是流程图
在这里插入图片描述
将来的串口通信将由单片机完成。

写在最后


本人小白一枚,这些仅仅是我个人的经验与认知,也许含有多处错误,希望读者给我指正。
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 您好!关于ESP8266 RTOS SDK编程的问题,我可以提供一些基本的信息和建议。 ESP8266 RTOS SDK是一种针对ESP8266芯片的实时操作系统(RTOS)软件开发工具包(SDK),它提供了一系列API和工具,可以帮助开发者进行ESP8266的嵌入式软件开发。下面是一些入门级别的建议和指导: 1. 学习ESP8266基础知识:在开始使用ESP8266 RTOS SDK之前,您需要了解ESP8266芯片的基本架构和功能。了解ESP8266的GPIO引脚、WiFi连接、内存分配等基本概念是非常有帮助的。 2. 下载和安装ESP8266 RTOS SDK:您可以从ESP8266官网上下载ESP8266 RTOS SDK的安装包,然后按照说明进行安装。安装完成后,您可以在IDE中进行编程。 3. 编写ESP8266 RTOS SDK程序:在ESP8266 RTOS SDK中,您可以使用C语言编写程序。您可以使用提供的API来访问GPIO、WiFi、内存等功能,并使用RTOS提供的任务管理、信号量、消息队列等功能来进行多任务开发。 4. 调试ESP8266 RTOS SDK程序:ESP8266 RTOS SDK提供了一些调试工具,例如调试输出和日志记录。您可以使用这些工具来定位和修复程序中的错误。 总之,ESP8266 RTOS SDK是一种非常强大的嵌入式软件开发工具,它可以帮助您开发出高效、稳定的ESP8266应用程序。如果您有具体的问题,可以随时向我提问,我会尽力帮助您。 ### 回答2: ESP8266 RTOS SDK是一种为ESP8266芯片开发的软件开发套件(SDK),它基于实时操作系统(RTOS)系统架构,提供了一种又快又容易的方法,将ESP8266用于各种应用程序的开发。它包括用于WIFI/网络通信的多个API、自动化任务管理、内存管理、调试和硬件控制等功能,是一种非常强大的SDK。 使用ESP8266 RTOS SDK编程,可以利用SDK提供的功能,开发出一些高效、稳定、可靠、功能强大的应用程序。同时,ESP8266 RTOS SDK编程还需要具备良好的C编程技巧,熟悉ESP8266芯片的基本架构与特性,并了解实时操作系统的基本概念,这对于开发高质量的应用程序是至关重要的。 在ESP8266 RTOS SDK编程中,常常需要处理网络通信等复杂的任务,利用RTOS系统架构可以方便地实现异步式编程。同时,ESP8266 RTOS SDK还提供了一个灵活的事件处理机制,允许开发者处理各种异步事件,从而使得应用程序能够更加高效地响应各种请求。 最后,ESP8266 RTOS SDK编程虽然复杂,但也是一类具有很高价值的技巧。可以帮助开发者实现一些非常有用且实用的应用程序,从而为社会和企业的发展带来更多的收益。 ### 回答3: ESP8266 RTOS SDK是一种基于FreeRTOS的编程框架,用于开发ESP8266芯片的应用程序。它提供了完整的工具链和库,使开发人员可以轻松地创建稳健的、高效的应用程序。 ESP8266 RTOS SDK开发过程需要熟悉C/C++语言和嵌入式设备的基本概念。其核心思想是将应用程序分为多个任务,每个任务负责完成不同的功能,并使用FreeRTOS的调度器实现任务之间的协作与资源共享。 在ESP8266 RTOS SDK中,程序的入口点为user_init函数,该函数通常用于初始化应用程序的任务、队列、控制块等基本结构。在任务的创建过程中,需要指定任务名、任务的优先级、任务处理函数等参数,以及为任务分配堆栈和堆空间等资源。 对于网络应用程序的开发,ESP8266 RTOS SDK提供了WiFi和TCP/IP协议栈API,可用于连接网络、实现数据传输。在应用程序的消息处理过程中,开发人员可以使用FreeRTOS的队列机制实现进程间通信,从而实现数据共享和处理。 ESP8266 RTOS SDK还提供了多种调试和故障排除工具,便于开发人员在应用程序运行过程中进行调试。同时,ESP8266 RTOS SDK还提供了易用的在线OTA(Over-The-Air)功能,开发人员可以远程更新设备的固件,提高开发效率和设备可靠性。 综上所述,ESP8266 RTOS SDK是一种强大的开发工具,为嵌入式设备的应用程序开发和部署提供了全面的支持和保障,使得开发人员可以专注于业务逻辑的实现,提高了开发效率和设备可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值