首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

ESP8266入门教程

  • 25-04-24 19:41
  • 3235
  • 12287
blog.csdn.net

前言:

在嵌入式开发中,无线通信的方式有很多,其中 WIFI 是绕不开的话题。说到 WIFI 通信,就不得不提 ESP8266了。

ESP8266 是一款高性能的 WIFI 串口模块,实现透明传输。只要有一定的串口知识,不需要知道 WIFI 原理就可以上手,在业内应用广泛。

一、ESP8266介绍

ESP8266 是一个非常强大的 WIFI 模块,可以利用串口与单片机进行通讯,从而编程实现控制 ESP8266。利用 ESP8266 可以访问一些 API,获取天气信息或者完成网络授时,也可以连接云平台进行开发。不过因为是串口传输,速度较慢,不能用来传输图像、视频这些大容量的数据,但是传些传感器数据还是绰绰有余的。

我们常说的 ESP8266 是指 ESP8266 WIFI 模块,它是物联网和嵌入式开发常用的模块,其中 ESP8266 是 WIFI 模块的芯片型号。

ESP8266 有 ESP-01/01S/07/07S/12E/12F/12S 等规格,还有正点原子自研的 ATK-ESP8266 (修改了固件及模组引脚)。

本文用到的是 ESP-01S,长下面这样。这种模组非常便宜,某宝几块钱一个,建议可以买几个囤着。

1.1、ESP8266工作模式

ESP8266 支持 STA、AP、AP+STA 三种工作模式。

STA 模式(Station)
一般用于远距离传输。ESP8266 通过路由器连接互联网,终端设备通过互联网实现对设备的远程控制。简单来说,此时的 ESP8266 可以当作是一个客户端,可以向服务端进行数据的下载与传输。这就类似于,手机/平板/笔记本(客户端)可以通过 WIFI 连接到路由器进行上网。

AP 模式(Access Point)
一般用于近距离传输。ESP8266 作为热点,提供无线接入服务、数据访问,一般的无线路由/网桥工作在 AP 模式下,最多支持 4 台设备接入。简单来说,此时的 ESP8266 可以当作是一个服务端。这就类似于,ESP8266 变身为一个路由器,然后手机/平板/笔记本可以通过 WIFI 连接到 ESP8266 进行上网。

AP+STA 模式
两种模式的共存模式,可以通过互联网控制可实现无缝切换,方便操作。简单来说,此时的 ESP8266 可以当作是一个路由器既可以做服务端接收也可以当客户端连接路由器,进行联网传输和控制。

二、AT指令

2.1、什么时AT指令?

AT 指令(AT Commands)最早是由发明拨号调制解调器的贺氏公司为了控制拨号调制解调器而发明的控制协议。后来随着网络带宽的升级,速度很低的拨号调制解调器基本退出市场,但是 AT 指令被保留了下来。

在嵌入式开发中,经常是使用 AT 命令去控制各种通讯模块,比如 ESP8266 模块、4G 模块、GPRS 模块等等。一般就是主芯片通过硬件接口(比如串口、SPI)发送 AT 指令给通讯模块,模块接收到数据之后回应响应的数据。

2.2、常用AT指令介绍

AT 指令分为四种类型:

2.3、基础AT指令

2.3.1、AT—测试 AT 启动

2.3.2、AT+RST—重启模块

2.3.3、AT+GMR—查询版本信息

2.3.4、ATE—开关回显功能

是否开启回显区别:

开启:

不开启:

2.3.5、AT+RESTORE—恢复出⼚设置

2.3.6、更多其它指令

还有很多很多的基础指令,上面只列出了常用的!

2.4、基础 Wi-Fi 功能 AT 指令

2.5、单连接 TCP Client

2.5.1、配置 WiFi 模式

(没后缀的指令和有DEF后缀的指令作用一样,保存到 Flash)

AT+CWMODE=3 // softAP+station mode

响应 :

OK

2.5.2、连接路由器

 

AT+CWJAP="SSID","password" // SSID and password of router
响应 :
OK

2.5.3、查询 ESP8266 设备的 IP 地址

 

AT+CIFSR
响应 :
+CIFSR:APIP,"192.168.4.1"
+CIFSR:APMAC,"1a:fe:34:a5:8d:c6"
+CIFSR:STAIP,"192.168.3.133"
+CIFSR:STAMAC,"18:fe:34:a5:8d:c6"
OK

2.5.4、建⽴⼀个 TCP 服务器

打开

最后点击侦听

2.5.5、ESP8266 设备作为 TCP client 连接到上述服务器

AT+CIPSTART="TCP","192.168.1.11",8081    //protocol, server IP and port
响应 :
OK

2.5.6、ESP8266 设备向服务器发送数据

 

AT+CIPSEND=4        // set date length which will be sent, such as 4 bytes
发送完后会出现一个小箭头
>
然后就可以在>后面发送自己的信息即可
如果发送多余的字节信息,就会只发送前面的信息,后面的则会省略掉

2.5.7、修改显示服务端发送的数据格式

AT+CIPDINFO=1:
AT+CIPDINFO=0:
 

 

注:本文转载自blog.csdn.net的一只波本的文章"https://blog.csdn.net/2302_80169672/article/details/145078368"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top