利用arduino给ESP8266 01S烧录程序

您所在的位置:网站首页 arduino烧录程序是什么意思 利用arduino给ESP8266 01S烧录程序

利用arduino给ESP8266 01S烧录程序

2024-07-05 09:56:26| 来源: 网络整理| 查看: 265

首先感谢参考链接们

参考链接1 参考1提供了可行的arduino与ESP8266之间的接线方式。同时提供了利用arduino UNO 的串口给ESP8266烧录程序的操作流程参考(本文使用的流程稍微有所不同。)。

参考链接2 参考2提供了ESP8266 01S烧录环境的搭建步骤。

参考链接3 感谢参考3为参考1提供了参考

目标: 实现ESP8266的wifi配置功能实现ESP8266自动连接WiFi 环境搭建: 所需硬件 硬件数量arduino UNO1个ESP8266 01S1个面包板1个杜邦线若干

要面包板的主要原因是因为arduino上的3.3V和GND接口不够用,所以要通过面包板并联一下。

所需软件

arduino IDEarduino IDE下的esp8266开发板的相关开发包

软件开发环境搭建步骤

下载arduino IDE。附上官网下载地址安装arduino IDE完毕后安装esp8266开发板的开发包。如图: 在这里插入图片描述 添加开发包的地址,顺便改一个IDE的参数,烧录时能看到烧录信息: 在这里插入图片描述附上地址,拷贝粘贴进去就好。 http://arduino.esp8266.com/stable/package_esp8266com_index.json接着重启arduino IDE。 在这里插入图片描述找到esp8266,安装 在这里插入图片描述安装完成后选择开发板 在这里插入图片描述ok,开发用的软件环境搭建完毕。

硬件接线方式

ESP8266 01Sarduino UNO3.3V3.3VRST不接线EN3.3VTXTXRXRXIO0GNDIO2不接线GNDGND

说明一下:上述搭建的环境是用来编译和烧录ESP8266 01S程序的。写好的程序只会借道arduino的串口线写进ESP8266中去运行,并不会写进arduino。这也就是为什么arduino和8266之间的串口是直接TX接TX,RX接RX的原因。如果没有买8266配套的烧录器的话可以用这种方式烧录。

开始烧录之前先渣渣两句: 现在记录的烧录步骤只是针对ESP8266 01S的,ESP8266系列的其他产品没有买所以也没有尝试。该步骤是我参照参考1文中的方法瞎试验试出来的,所以不提供理论依据,毕竟我也没有仔细把官方文档看完。。。

烧录步骤:

步骤1 按照表格提供的接线方式接通arduino与ESP8266 01S之间的线路。3.3V和GND的接线最好用面包板并联转接一下,方便后续操作。参考下图:红线和黑线分别是3.3V和GND。 在这里插入图片描述

用arduino IDE编译写好的程序。可以是毫无意义的空程序。只要能编译通过就可以,现在只是讲烧录步骤,能烧录成功即可。

拔出ESP8266 01S的3.3V和IO0在面包板上的接线。

点arduino IDE的上传按钮开始烧录。等待IDE提示连接开发板。

提示出现Connecting…______…这样的提示时,先把IO0插回原位(GND),再把3.3V插回原位(3.3V)。

等待I烧录完成,IDE会有烧录进度提示。

烧录完成后再拔出IO0和3.3V。

再将3.3V插回原位(3.3V)。切记不要再插回IO0了。 这么做的大致原因,根据参考文章提供的理论做的纯猜测:IO0接地时启动ESP8266 01S,8266会进入下载模式,即可以接受烧录。IO0不接线时ESP8266 01S会进入正常工作模式,工作模式就不接受烧录。而拔插3.3V相当于重启ESP8266 01S。所以每次刷机都需要先拔出IO0和3.3V,然后先把IO0接地,再接通3.3V的供电。刷机完成后IO0空置,重启ESP8266 01S。

烧录过程中可能遇到的问题: 如果arduino中本来就有串口读写的代码,有可能会导致烧录失败,所以烧录前先给arduino里写入一个没有串口读写的程序。这种刷机方式的成功率不算高,要多尝试几次。基于以上两点原因建议购买专用烧录器。免得烧录烧崩溃。。。 烧录截屏: 在这里插入图片描述 怎么验证烧录成功没有? 好吧,这个可以提供点理论依据: 因为ESP8266 01S在正常工作模式下可以通过串口收发数据。所以可以烧录一段串口定时自动收发数据的小程序在ESP8266 01S和arduino里面。然后将两者的TX接RX,RX接TX。通过arduino IDE的串口查看器查看串口输出就可以验证。IDE自带的案例里就有现成的代码。在loop里稍微改动一下就可以实现。此处不提供代码,提供一个案例参考。 在这里插入图片描述到此基本操作完成。 配网功能实现:

本来以为要写很多代码的。。。结果搜着搜着发现已经有大神实现了,关键还很好用!那就直接放代码吧。所以这其实就是一篇没有烧录器和串口调试器条件下的利用arduino烧录ESP8266 01S的一个教程! 依照惯例感谢参考先。 参考链接 参考链接里有代码,不想跳转过去拷贝的抄这里!要看详细说明的跳转过去看。

#include #include #include #include void setup() { Serial.begin(9600); // 建立WiFiManager对象 WiFiManager wifiManager; // 自动连接WiFi。以下语句的参数是连接ESP8266时的WiFi名称 wifiManager.autoConnect("AutoConnectAP"); // 如果您希望该WiFi添加密码,可以使用以下语句: // wifiManager.autoConnect("AutoConnectAP", "12345678"); // 以上语句中的12345678是连接AutoConnectAP的密码 // WiFi连接成功后将通过串口监视器输出连接成功信息 Serial.println(""); Serial.print("ESP8266 Connected to "); Serial.println(WiFi.SSID()); // WiFi名称 Serial.print("IP address:\t"); Serial.println(WiFi.localIP()); // IP } void loop() {}

为了节约篇幅可耻的去掉了源代码的一些注释。

编译上段代码并烧录进ESP8266 01S中。重启ESP8266 01S,使其进入工作模式。手机扫描WiFi,连接一个SSID叫AutoConnectAP的WIFI热点连接成功后会弹出配网的页面。如果没有自动弹出页面就在浏览器里访问192.168.4.1配置。关于wifimanager库的更多操作请跳转去官方自行查阅。wifimanager需要安装库文件。在arduino Ide的库文件管理里搜索添加就可以。放个截图: 在这里插入图片描述在这里插入图片描述wifimanager相关的库还不少,选图上这个就可以了。

完成!



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭