百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

使用Arduino IDE开发ESP8266

liuian 2024-12-08 16:25 21 浏览

ESP8266对于大部分电子爱好者来说并不陌生。大部分都是从这个WIFI串口透传模块ESP01S开始接触ESP8266的。这个模块支持AT指令集,单片机通过串口发送AT指令就可以让单片机通过串口实现无线网络连接。这个模块的核心芯片为ESP8266EX。ESP8266EX可以理解为是一款带有WIFI功能的单片机。


特点:

802.11 b/g/n

内置 Tensilica L106 超低功耗 32 位微型 MCU,主频支持 80 MHz 和 160 MHz,支持 RTOS

内置 10bit 高精度 ADC

内置 TCP/IP 协议栈

内置 TR开关、balun、LNA、功率放大器 和 匹配网络

内置PLL、稳压器和电源管理组件,802.11b 模式下 +20dBm 的输出功率

A-MPDU 、A-MSDU 的聚合和 0.4s 的保护间隔

WiFi @ 2.4GHz,支持 WPA/WPA2 安全模式

支持 AT远程升级 及云端 OTA升级

支持 STA/AP/STA+AP 工作模式

支持 Smart Config 功能(包括 Android 和 iOS 设备)

HSPI 、UART、I2C、I2S、IR Remote Control、PWM、GPIO

深度睡眠保持电流为 10uA,关断电流小于 5uA

2ms 之内唤醒、连接并传递数据包

待机状态消耗功率小于 1.0mW (DTIM3)

工作温度范围:-40℃- 125℃

ESP8266EX 集成了 32 位 Tensilica 处理器、标准数字外设接口、天线开关、射频 balun、功率放大器、低噪放大器、过滤器和电源管理模块等,仅需很少的外围电路,可将所占 PCB 空间降低。ESP8266EX 内置超低功耗 Tensilica L106 32 位 RISC 处理器,CPU 时钟速度最高可达 160 MHz,支持实时操作系统 (RTOS) 和 Wi-Fi 协议栈,可将高达 80% 的处理能力留给应用编程和开发。作为款高性能32位处理器,其片上外设也是十分丰富,像是GPIO、UART、SPI、I2C、I2S等常用的外设,ESP8266EX上也是都有的。

上图所示是在使用ESP8266EX时需要设计的电路图,主要包括时钟电路、FLASH存储器及部分电阻、电容、电感。对于其电路这里只是做简单的介绍,因为在实际应用中购买ESP8266模组是大多数人的选择。因为这些模组只需要对其进行供电和一些简单的配置,就可以进行使用,省去了电路设计及测试的环节,而且模组的性价比较高。比如文章开头提到的ESP8266串口透传模块就是一个可以直接使用的模组。

这些模组在出厂时都烧有特定的固件,比如ESP01S模块内部烧写的是AT指令固件。我们在使用时也可以找一些其他的硬件进行烧写,有时候一些固件并不能满足我们的需求,这个时候就需要根据需要编写相应的程序。在进行程序的开发时一般都是以使用官方的SDK为主,官方的SDK使用起来较为复杂,而使用Arduino IDE也可以对ESP8266进行开发,所以本次主要介绍一下如何使用Arduino对ESP8266进行程序开发。

Arduino IDE在之前的文章中就已经介绍过了,这里就不在叙述了。由于Arduino IDE是进行Arduino 开发板的程序开发的,所以在软件内部并没有ESP8266开发板可供选择。所以使用Arduino IDE进行ESP8266开发时,需要在Arduino中安装相应的开发板。

首先,选择文件->首选项。

在页面的附加开发板管理器网址上填写如下链接:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

填好后,确认、关闭即可。

接下来,选择工具->开发板->开发板管理器。

在搜索栏中搜索ESP8266就可以查找到相应的开发板信息,点击安装即可。

安装完成以后,就可以看到相应许多关于ESP8266的开发板信息。在使用的时候根据实际情况进行选择就可以。

接下来烧录一个配网的程序。打开自动配网示例程序。

自动配网程序库的获取方式可以看文章末尾。这个自动配网示例程序的主要功能是,模块上电以后会从芯片内部存储器中读取出WIFI信息,然后进行连接,如果WIFI信息不正确,模块会自动进入配网模式,在配网模式中,模块会生成一个指定的WIFI,用户通过手机连接对应的WIFI进入配网界面。

配置好开发板及串口等信息。

对模块ESP01进行烧录时的接线。作者这里对ESP01串口调试模块进行了改造,如下图所示,在进行烧录操作时,通过条线和跳冒进行短接即可。

一起准备工作就绪以后,点击编译和上传。

当程序编译完成以后,就开始进行上传。上传完成以后重新插拔一下USB接口即可。

重新上电以后打开手机无线功能,可以看到名称为“AutoConnectAP”的WIFI,是无密码形式的,直接连接即可,连接成功后会跳转到配网菜单界面,点击配置WIFI按钮。就可以对无线网进行配置。

根据实际情况填写无线名称和密码点击保存即可。如果配置的无线信息正确,“AutoConnectAP”这个无线就会消失,模块连接到对应的无线网上。

自动配网库下载地址:

https://github.com/tzapu/WiFiManager

具体的使用方法感兴趣的小伙伴自行研究。有问题也可以和作者交流。

相关推荐

GCI: Another key public good for international community

MembersofadelegationofhighschoolstudentsfromtheU.S.stateofWashingtonposeforaphotoa...

kube on kube 实现思路分享(kube-scheduler)

这里的kubeonkube,是指建立K8s元集群,纳管其他业务K8s集群,通过声明式API管理集群的创建、增删节点等。参考https://github.com/kubean-i...

China and India hold the key to a more inclusive global future

ByMayaMajueranLead:AsChinaandIndiamark75yearsofdiplomaticties,theircooperationcouldse...

日本真子公主的婚礼又要提上日程了吗?未婚夫:债务问题已解决

日本明仁天皇将于今年3月31日退位,德仁皇太子即将成为新一任的天皇。在平成时代最后的倒计时中,明仁天皇的孙女真子公主的婚事却又一次进入了人们的视野。(viaTheTelegraph)关注日本皇室的...

kratos源码分析系列(1)(kvm源码解析与应用 pdf)

https://github.com/go-kratos/kratos是b站开源的一个微服务框架,整体来看它结合grpc生态中的grpc-gateway,以及wire依赖注入和众多常用的trace,m...

【2.C#基础】6.循环语句(c#循环语句例子)

6.循环语句当需要多次执行同一个处理时,就需要用到循环语句。一般情况下,循环的流程图如下:6.1while循环C#中的while循环语句在给定的条件为真的情况下会重复执行目标语句。格式如下:...

使用 Google Wire 在 Go 中进行依赖注入

关注点分离、松耦合系统和依赖反转原则等概念在软件工程中是众所周知的,并且在创建良好的计算机程序过程中至关重要。在本文中,我们将讨论一个同时应用了这三个原则的技术,称为依赖注入。我们将尽可能地实践,更加...

用 Golang封装你的API(golang封装dll)
用 Golang封装你的API(golang封装dll)

每日分享最新,最流行的软件开发知识与最新行业趋势,希望大家能够一键三连,多多支持,跪求关注,点赞,留言。@头条创作挑战赛本文探讨了在用Golang封装你的API的过程以及几个不同的编程步骤。我做了一个非常有限的时间来证明如何为客户正在开...

2025-05-09 20:03 liuian

Terraform 实战 | 万字长文(terrify是什么意思中文)

Terraform是什么Terraform(https://www.terraform.io/)是HashiCorp旗下的一款开源(Go语言开发)的DevOps基础架构资源管理运维工具,可...

Go 语言入门:环境安装(go语言安装 window)

一、前言这里不同于其他人的Go语言入门,环境安装我向来注重配置,比如依赖包、缓存的默认目录。因为前期不弄好,后面要整理又影响这影响那的,所以就干脆写成文章,方便后期捡起。二、安装1.安装包htt...

Go语言进阶之Go语言高性能Web框架Iris项目实战-项目结构优化EP05

前文再续,上一回我们完成了用户管理模块的CURD(增删改查)功能,功能层面,无甚大观,但有一个结构性的缺陷显而易见,那就是项目结构过度耦合,项目的耦合性(Coupling),也叫耦合度,进而言之,模块...

如何将Go项目与Docker结合实现高效部署

在现代软件开发中,使用Docker部署应用程序已经成为一种标准实践。本文将深入探讨如何将Go项目与Docker结合,实现高效、可靠的部署过程。通过详细的步骤和丰富的示例,你将能够迅速掌握这一流程。准备...

五分钟轻松熟悉一个k8s Operator应用制作

简介:operator是一种kubernetes的扩展形式,可以帮助用户以Kubernetes的声明式API风格自定义来管理应用及服务,operator已经成为分布式应用在k8s集群部...

程序员的副业秘籍!一款可以快速搭建各类系统的后台管理系统

系统简介这是一个基于Gin+Vue+ElementUI(或ArcoDesign、AntDesign)的系统快速开发平台,采用了前后端分离,旨在帮助用户快速完成各类系统的基础功能搭建。平...

使用 Go 语言开发区块链钱包的项目目录结构设计

在开发区块链钱包时,项目的目录结构应该清晰、模块化,确保代码的可维护性和扩展性。基于Go的惯例,结合区块链钱包的功能需求,以下是一个较为合理的目录结构示例:1.目录结构blockchain-wa...