智能无障碍轮椅——ESP8266总体介绍及ESP-01S入门调试

news2025/2/4 20:42:22

文章目录

  • ESP8266 介绍
  • ESP8266的多种型号
    • 1. DT-06
    • 2. ESP-01和ESP-01S【左边ESP-01S,右边ESP-01】
    • 3. ESP-12F
  • 两种开发方式
    • 1. AT指令开发方式
    • 2. SDK开发方式
  • 固件烧录方法
    • 1. 硬件烧录工具
    • 2. 软件烧录工具
  • WiFi模块工作模式:
    • 1. AP模式
    • 2. STA模式
    • 3. STA+AP共存
  • ESP-01S模块的入门调试
  • 参考博文:

ESP8266 介绍

  • ESP8266 是一个带完整 WiFi 功能、 同时带一个 32bit MCU 的 SoC,可以取代原 Arduino 核心板 + WiFi 扩展板完成的大部分应用。 【NodeMCU(支持 esp8266 的 Arduino )】
  • 模块核心处理器 ESP8266 在较小尺寸封装中集成了业界领先的 Tensilica L106 超低功耗 32 位微型 MCU,带有 16 位精简模式,主频支持 80 MHz 和 160 MHz,支持 RTOS,集成 Wi-Fi MAC/ BB/RF/PA/LNA,板载天线。支持标准的 IEEE802.11 b/g/n 协议,完整的 TCP/IP 协议栈。用户可以使用该模块为现有的设备添加联网功能,也可以构建独立的网络控制器。

ESP8266的多种型号

1. DT-06

在这里插入图片描述

  • DT-06一般只使用AT指令开发,而且这个模块可以用电脑连接WiFi产生的热点之后在浏览器中直接配置WiFi模块,省去了麻烦的AT指令,更加便捷。

2. ESP-01和ESP-01S【左边ESP-01S,右边ESP-01】

在这里插入图片描述

  • ESP-01S和ESP-01两种型号基本一样,其中ESP-01S表面只有一个LED灯,ESP-01表面有两个LED灯,ESP8266-01S背面有引脚说明,ESP8266-01背面有没有引脚说明。且ESP-01S优化了内部电阻。

3. ESP-12F

在这里插入图片描述

  • 详细介绍:【嵌入式模块】ESP8266完整教程
  • 可用SDK开发方式开发

两种开发方式

1. AT指令开发方式

  • 即厂家出厂时预先在ESP8266芯片烧入好固件,封装好WiFi的协议栈,内部已经实现透传,而用户只需要使用一个USB转TTL的模块或者单片机的串口就能实现与WiFi模块的通信,发送AT指令来对WiFi模块进行控制。(和蓝牙透传模块类似)
  • 烧入AT固件之后,接下来就是使用AT指令来控制WiFi模块了,这里的所有AT指令都需要加上回车换行。另外就是,由于AT指令依赖于烧入的AT固件,因此建议找到对应型号的WiFi模块的说明书,参考上面列出的AT指令

2. SDK开发方式

  • 因为ESP8266本身即是可编程的芯片,可以把它视为一个带有无线通信的单片机,而用户需要在专门的IDE中编写对应的程序,然后通过烧写固件的方式将程序写入到芯片中,因此,此时想要实现WiFi通信,需要自定义WiFi协议栈,因此对用户掌握的相关知识要求更高。
  • 所以,如果发现一个ESP8266模块对AT指令没有反应,那很有可能是内部的程序不是既定的AT固件,而是被烧入了其他程序。
  • 一般来说,说到SDK开发,大都是使用ESP-12F,因为它所有引脚都引出了,这样可自定义程度更高。

固件烧录方法

所谓固件,是指ESP-8266芯片内部的程序

1. 硬件烧录工具

根据不同的wifi型号选择合适的烧录器,较为普遍的是USB转TTL模块,也可以去买一个专门的下载器

下面主要讲解ESP-01S的烧录

方法一:采用专门的下载器

在这里插入图片描述

  • 相比于使用杜邦线连接USB转TTL模块更加简便,而且这个下载器也兼具USB转TTL的功能,在下载完程序之后按一下上面的按键即可与WiFi进行串口通信。一物两用

方法二:使用一般的USB转TTL模块

  • 最好使用外部电源,如AMS1117产生的3.3V或两节1.5V电池,因为据说USB转TTL的电源不够稳定,而ESP-8266就需要非常稳定的电源。

  • 接线方式

USB-TTLESP8266
RXTX
TXRX
3.3VVCC
3.3VEN
3.3VGPIO2
GNDGND
GNDGPIO0(低电平模式下启动会进入刷机模式,否则正常运行)
  • 刷机的时候断开ESP8266的VCC,上位机烧录开始之后接入VCC
  • 运行时只需要将GPIO0和GPIO2两个针脚断开

2. 软件烧录工具

对于软件,比较常用的有两个:FLASH_DOWNLOAD_TOOLS 和 Arduino IDE。

具体操作可以看博文:【嵌入式模块】ESP8266完整教程

WiFi模块工作模式:

ESP8266为一个WiFi透传模块,和蓝牙透传模块具有主从两种工作模式一样,也具有两种工作模式:STA模式(Station)和AP模式(Access Point),一般WiFi模块还会有一个STA+AP模式,即可以在两种模式下切换的状态。

透传,又称透明传输,具体来说就是“输入即输出(如从WiFi模块串口输入的字符会透传到服务器端)”,数据不改变,不同协议之间的转换(如串口到WiFi、蓝牙等)由模块完成。使用者无需关心内部具体实现,因此模块对于使用者是“透明的”、似乎不存在的(因为可无视中间的实现原理)。一个高度封装的模块,应该隐藏内部实现细节,仅对外提供使用接口。

1. AP模式

  • 路由模式,比如我们手机作为热点给别人连接
  • 一般的无线路由/网桥工作在该模式下
  • 该模式对应TCP传输协议中的服务端(TCP Server)

2. STA模式

  • 作为无线接入点,比如我们手机去连接WIFI
  • WiFi模块为连接到无线网络的终端(站点),可以连接到AP,一般无线网卡工作在STA模式下
  • 该模式对应TCP传输协议中的客户端(TCP Client)。

3. STA+AP共存

ESP-01S模块的入门调试

接线:

USB-TTLESP8266
RXTX
TXRX
3.3VVCC
3.3VEN
GNDGND

这个时候模块供电成功,模块开始发射WiFi,我们在电脑上搜索一下附近的WiFi将会搜索到ESP***或者AI-THINKER***字样的WiFi。

使用AT指令开发模式:打开串口调试助手,发送AT,若数据接收窗口会返回OK则表明连接成功

查看模块现在的工作模式的指令 AT+CWMODE?,出厂设置为AP+STA模式
设置模块工作模式为1/2/3的指令为 AT+CWMODE=1/2/3
设置WiFi模块的名字和密码(AP模式下)
AT+CWSAP=”ESP8266”,”1234567890”,5,3回车
查看版本的指令 AT+GMR

以下为 ESP8266 作为 softAP ,建立 TCP 服务器的举例:
设置 WiFi 模式 :
AT+CWMODE=3回车 // softAP+station mode

设置为允许多连接:
AT+CIPMUX=1回车

建立 TCP server:
AT+CIPSERVER=1回车 // 默认端口default port = 333

PC 连入 ESP8266 softAP,PC 作 TCP client 连接设备。打开网络调试助手

安信可固件汇总

参考博文:

ESP8266
B站视频——OTA技术简介及ESP8266的FOTA实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/103370.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

宏、条件编译(#ifdef)、#include(头文件包含)、#error和 #pragma的区别、#和##的含义和应用

1、在C语言预处理阶段,编译器首先对代码的处理时:先去注释,再宏替换。 2、在源文件的任何地方,宏都是可以定义的,与是否在函数内外无关。 3、宏的作用范围是:从定义处开始,往后的直到程序结束…

C++(老百科)

学了这么久的c,你们有没有想过一个问题:什么是c?(这还用问么,不大街上随便抓一个陌生人都知道)(那你现在给我抓个看看) C简介 C是一种计算机高级程序设计语言,由C语言扩展升级而产生 ,最早于1979年由本贾尼斯特劳斯特卢普在AT&T贝尔工作室研发。––…

easyexcel读取excel将数据存到mysql【一个简单的例子】

读取excel 1 xml里面增加maven <!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel --> <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.1.1</version> </depen…

项目管理软件适用于初创公司吗

我注意到关于小型团队的一件事是&#xff0c;在这种热情的背后隐藏着一家需要帮助的公司。他们通常缺乏职责结构&#xff0c;但这可能不是他们的主要需求。太多的结构会扼杀那些在较小的初创型公司中经营节目的企业家精神的努力&#xff0c;但他们几乎总是需要更有效的流程和一…

分布式理论之CAP定理

CAP定理介绍 CAP定理&#xff08;CAP theorem&#xff09;&#xff0c;又被称作布鲁尔定理&#xff08;Brewers theorem&#xff09;&#xff0c;它指出对于一个分布式计算系统来说&#xff0c;不可能同时满足以下三点 选项具体意义一致性&#xff08;Consistency&#xff09…

linux TxBytes RxBytes 探究

测试平台 &#xff1a;NXP LS1043A ARM64 内核版本&#xff1a; 两台设备通过网口eth2 对接。设备1发包&#xff0c;设备2收包&#xff0c;观察两设备 TX RX 包数、字节数。 1、准备数据包 流量仪设置包长1024, 抓取从流量仪发包&#xff0c;wireshark显示length 1020字…

即时通讯音视频开发之音频编解码技术的学习

总是有人问我研究音频编解码要看什么书&#xff0c;其实这是一个很难回答的问题&#xff0c;原因有很多&#xff1a; 做工程首先一个问题就是和课本学习不同&#xff0c;不是看书能解决的。 音频编解码技术在国内研究的人很少&#xff0c;包括总体的音频技术国外也研究不多…

攻防世界ics-06

攻防世界ics-06 题目描述&#xff1a;云平台报表中心收集了设备管理基础服务的数据&#xff0c;但是数据被删除了&#xff0c;只有一处留下了入侵者的痕迹。 打开场景&#xff0c;查看页面。 但凡有超链接的都点一遍&#xff0c;发现只有“报表中心可以打开”。 选择日期范围&a…

go 库 viper 配置解析神器

文章目录1. 简介2. 安装3. 建立默认值4. 读取配置文件5. 获取 key/value 方法5.1 Get() 方法5.2 IsSet()、GetStringMap()、GetStringMap() 方法6. 命令行选项7. 访问嵌套的键8. 写入配置文件9. 监控并重新读取配置文件10. 从io.Reader中读取11. Unmarshal12. 环境变量13. 远程…

【Three.js入门】图形用户界面GUI、BufferGeometry创建矩形、随机生成多个随机颜色的三角形

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;也会涉及到服务端 &#x1f4c3;个人状态&#xff1a; 在校大学生一枚&#xff0c;已拿多个前端 offer&#xff08;秋招&#xff09; &#x1f680;未…

第四章操作系统测试

一. 单选题&#xff08;共24 题&#xff0c;72.0分&#xff09; (单选题,3.0分)用户编写的程序中所使用的地址是&#xff08; C &#xff09;。 A. 内存地址 B. 物理地址 C. 逻辑地址 D. 绝对地址 解释&#xff1a;逻辑地址&#xff1a;用户空间中使用的一种地址又称相对地址 …

一行 Python 代码能实现什么丧心病狂的功能?

手头有 109 张头部 CT 的断层扫描图片&#xff0c;我打算用这些图片尝试头部的三维重建。基础工作之一&#xff0c;就是要把这些图片数据读出来&#xff0c;组织成一个三维的数据结构&#xff08;实际上是四维的&#xff0c;因为每个像素有 RGBA 四个通道&#xff09;。这个数据…

gitLab

GitLab 是一个用于仓库管理系统的开源项目&#xff0c;使用Git作为代码管理工具&#xff0c;并在此基础上搭建起来的web服务。下面是使用步骤 1. 注册 进入注册页面&#xff08;需要公司的人提供地址&#xff09;例如&#xff1a; http://xx.xxx.xx.xx:18000/users/sign_in …

大漠插件最新版7.2248

工具名称:大漠插件最新版7.2248 工具简介:/ v7.2242更新时间2022年11月16日:/ v7.2248 1. 优化某些模式,在绑定时,有小概率会卡死在绑定函数里的问题. 2. 解决Assemble DisAssemble和GetRemoteApiAddress的COM版本的DLL&#xff0c;在E语言下用类库封装后调用时,对64位地址解析…

4.http模块

http模块是Node.js官方提供创建web服务器的模块&#xff0c;在使用http模块前首先导入http模块 目录 1 一些概念 1.1 IP 1.2 域名 1.3 端口 2 创建一个基本的web服务器 3 req请求对象 4 res响应对象 5 不同地址获取不同响应 6 在服务中加载html文件 6.1 基…

vsomeip 快速入门

vsomeip 快速入门 文章目录vsomeip 快速入门1. 下载仓库2. 编译2.1 安装相关依赖2.2 编译vsomeip2.3 编译hello_world example3. 运行1. 下载仓库 git clone https://github.com/COVESA/vsomeip.git2. 编译 2.1 安装相关依赖 我的ubuntu 版本是20.04&#xff0c;所以以ubunt…

Python幂分布

文章目录幂分布帕累托分布Zipf分布power(a)p(x)axa−1p(x)ax^{a-1}p(x)axa−1幂分布pareto(a)p(x)amaxa1p(x)\frac{am^a}{x^{a1}}p(x)xa1ama​帕累托分布zipf(a)p(k)k−aζ(a)p(k)\frac{k^{-a}}{\zeta(a)}p(k)ζ(a)k−a​齐普夫分布 幂分布 幂分布的形式是非常简单的&#xff…

计算机毕设Python+Vue学习管理系统(程序+LW+部署)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

大脑皮层的分割方法

大脑皮层分割的意义 神经元之间的相互联系构成了大脑内信息传递的主要手段&#xff0c;这些连接构成了一个复杂的网络。可以通过现代医学成像技术&#xff0c;如磁共振成像MRI在宏观尺度上进行估计 网络节点的定义是构建大脑连接网络的关键步骤之一。使用体素水平的网络具有高…

vue之动态组件

切换组件案例 点击一个tab-bar&#xff0c;切换不同的组件显示&#xff1a; 这个可以通过两种不同的思路来实现&#xff1a; 方式一&#xff1a;通过v-if来判断&#xff0c;显示不同的组件。方式二&#xff1a;动态组件的方式。 &#xff08;1&#xff09;通过v-if来判断显示不…