《ESP8266通信指南》8-连接WIFI(Arduino开发)(非常简单)


往期

《ESP8266通信指南》7-Arduino 开发8266的环境配置与示例代码烧录-CSDN博客

《ESP8266通信指南》6-创建TCP服务器(AT指令)-CSDN博客

《ESP8266通信指南》5-TCP通信透传模式(AT指令)-CSDN博客

《ESP8266通信指南》4-以Client进行TCP通信(AT指令)-CSDN博客

《ESP8266通信指南》3-常用AT指令详解-8266连WIFI-CSDN博客

《ESP8266通信指南》2-ESP8266 AT测试-CSDN博客

《ESP8266通信指南》1-ESP8266 简介-CSDN博客

1. 小节目标


  • 使用 Arduino IDE 编程,使 ESP8266 连接 WIFI
  • ESP8266 连接 WIFI,基于 Arduino

2. 书接上回


在上一小节我们介绍了如何配置 Arduino 开发 ESP8266 的环境,如果还没有配置的话就需要去看上一篇文章:《ESP8266通信指南》7-Arduino 开发8266的环境配置与示例代码烧录-CSDN博客

3. 完整代码


3.1. 完整代码

话不多说,直接提供代码

#include <ESP8266WiFi.h>

#ifndef STASSID
#define STASSID "ct-iot"     // 你的 WiFi 热点名称
#define STAPSK "111222333"  // 你的 WiFi 密码
#endif

const char* ssid = STASSID;
const char* password = STAPSK;

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  Serial.begin(115200);

  // 开始连接到 WiFi 网络
  Serial.println();
  Serial.println();
  Serial.print("连接到 ");
  Serial.println(ssid);

  /* 明确将 ESP8266 设置为 WiFi 客户端,否则,默认情况下,
     它会尝试充当客户端和接入点,可能会导致
     WiFi 网络上的其他 WiFi 设备出现网络问题。 */
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("");
  Serial.println("WiFi 连接成功");
  Serial.println("IP 地址: ");
  Serial.println(WiFi.localIP());
}

void loop() {
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
  digitalWrite(LED_BUILTIN, HIGH);
  delay(2000);
}

读者需要做的是将 WIFI 账号密码更改为自己的,就可以连上 WIFI 了哈,然后烧录即可,也就是点击以下的这个按钮。

3.2. 烧录代码

烧录代码分为以下三步:

  1. 选择开发板
  2. 选择串口
  3. 点击下载

(下图是下载的时候的进度图)

3.3. 打开串口查看数据

点击软件右上角的这个按钮就可以打开串口调试组手,打开的时候是没有数据的,我们需要按一下 ESP8266 烧录器上面的复位按钮

  • 可以看到已经能打印出 IP 了

4. 代码讲解


上面我们已经提供了全部的代码,如果你想了解代码的含义,那么可以继续读下去。

#include <ESP8266WiFi.h>
  • 这行代码是包含了ESP8266WiFi库,这样我们就可以在代码中使用ESP8266WiFi模块提供的功能

#ifndef STASSID
#define STASSID "your-ssid"     // 你的 WiFi 热点名称
#define STAPSK "your-password"  // 你的 WiFi 密码
#endif
  • 这部分是用于定义WiFi的名称和密码。STASSID是你的WiFi热点名称,STAPSK是你的WiFi密码。如果在代码中没有提供这些值,将使用这里定义的默认值(your-ssid,your-password)

const char* ssid = STASSID;
const char* password = STAPSK;
  • 这里定义了两个变量ssidpassword,分别用于存储WiFi热点的名称和密码

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  Serial.begin(115200);
  Serial.println();
  Serial.println();
  Serial.print("连接到 ");
  Serial.println(ssid);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi 连接成功");
  Serial.println("IP 地址: ");
  Serial.println(WiFi.localIP());
}

setup()函数是Arduino中的一个特殊函数,它在开发板启动时执行一次。在这个函数中,我们做了以下操作:

  • 设置LED_BUILTIN引脚为输出模式,以便控制LED灯
  • 初始化串行通信,设置波特率为115200,并打印一些提示信息
  • 尝试连接到WiFi网络,并等待连接成功,在等待过程中,我们通过点号的形式在串行监视器中显示连接状态
  • 如果连接成功,打印WiFi连接成功的消息以及分配给开发板的IP地址

void loop() {
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
  digitalWrite(LED_BUILTIN, HIGH);
  delay(2000);
}

loop()函数是Arduino中另一个特殊函数,它会不断循环执行。在这个函数中,我们简单地让LED灯以一定的频率闪烁,以表示 WIFI 连接成功,LED 灯闪烁。

5. 结语


在本小节中介绍了如何使用 Arduino 编写代码,将 ESP8266 连接到 WIFI 上,并对代码进行详细的解读。



柴头物联网出品

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

弹性盒之主轴侧轴对齐方式

弹性盒设置主侧轴对齐方式 1.默认 justify-content: flex-start 2.justify-content: flex-end 3.justify-content: center 4.justify-content: space-between; 两端对齐 5.justify-content: space-around; 距离环绕 调整侧轴上中下 1.默认align-items: flex-start; …

论机器学习(ML)在网络安全中的重要性

机器学习是什么&#xff1f; 机器学习(ML)是人工智能的一个分支&#xff0c;它使用算法来使计算机系统能够自动地从数据和经验中进行学习&#xff0c;并改进其性能&#xff0c;而无需进行明确的编程。机器学习涉及对大量数据的分析&#xff0c;通过识别数据中的模式来做出预测…

在MySQL中isnull()函数不能作为替代null值!

在MySQL中isnull()函数不能作为替代null值&#xff01; 如下&#xff1a; 首先有个名字为business的表&#xff1a; SELECT ISNULL(business_name,no business_name) AS bus_isnull FROM business WHERE id2 直接运行就会报错&#xff1a; 错误代码&#xff1a; 1582 Incor…

5本On Hold,6本预警被踢,学术诚信高风险期刊被踢9本,还剩1本你还敢投吗?

本周投稿推荐 SSCI • 2/4区经管类&#xff0c;2.5-3.0&#xff08;录用率99%&#xff09; SCIE&#xff08;CCF推荐&#xff09; • 计算机类&#xff0c;2.0-3.0&#xff08;最快18天录用&#xff09; SCIE&#xff08;CCF-C类&#xff09; • IEEE旗下&#xff0c;1/2…

禅道项目管理系统身份认证绕过漏洞

禅道项目管理系统身份认证绕过漏洞 1.漏洞描述 禅道项目管理软件是国产的开源项目管理软件&#xff0c;专注研发项目管理&#xff0c;内置需求管理、任务管理、bug管理、缺陷管理、用例管理、计划发布等功能&#xff0c;完整覆盖了研发项目管理的核心流程。 禅道项目管理系统…

如何使用 Internet Download Manager (IDM) 来加速和优化你的下载体验 IDM 6.41下载神器

在当今信息爆炸的时代&#xff0c;下载文件和媒体内容已成为我们日常生活的一部分。无论是工作学习还是娱乐休闲&#xff0c;我们都需要从互联网上下载各种资源。为了提高下载效率和确保文件完整性&#xff0c;选择一款优秀的下载管理软件至关重要。Internet Download Manager …

PotatoPie 4.0 实验教程(21) —— FPGA实现摄像头图像二值化(RGB2Gray2Bin)

PotatoPie 4.0开发板教程目录&#xff08;2024/04/21&#xff09; 为什么要进行图像的二值化&#xff1f; 当我们处理图像时&#xff0c;常常需要将其转换为二值图像。这是因为在很多应用中&#xff0c;我们只对图像中的某些特定部分感兴趣&#xff0c;而不需要考虑所有像素的…

JavaScript 中的IF判断竟然可以这样写,效率更高

当然&#xff0c;它们是创建控制流的一种简单而方便的方式&#xff0c;但你可以写下数十亿行条件性的 JavaScript 代码&#xff0c;而不需要一个 if 语句。 而且有很多情况下&#xff0c;使用不同的结构会更清晰地展示你想要做的事情 —— 只要我们还在为人类编写代码&#xf…

深度学习系列65:数字人openHeygen详解

1. 主流程分析 从inference.py函数进入&#xff0c;主要流程包括&#xff1a; 1&#xff09; 使用cv2获取视频中所有帧的列表&#xff0c;如下&#xff1a; 2&#xff09;定义Croper。核心代码为69行&#xff1a;full_frames_RGB, crop, quad croper.crop(full_frames_RGB)。…

基于springboot+vue+Mysql的乐校园二手书交易管理系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

OPPO手机支持深度测试+免深度测试解锁BL+ROOT权限机型整理-2024年3月更新

绿厂OPPO手机线上线下卖的都很不错&#xff0c;目前市场份额十分巨大&#xff0c;用户自然也非常多&#xff0c;而近期ROM乐园后台受到很多关于OPPO手机的私信&#xff0c;咨询哪些机型支持解锁BL&#xff0c;ROOT刷机&#xff0c;今天ROM乐园正式盘点当前市场上可以解BL刷root…

Android图片压缩、Drawable和Bitmap转换、bitmap和base64转换

1. Android图片压缩、Drawable和Bitmap转换、bitmap和base64转换 1.1. Drawable和Bitmap之间的转化 1.1.1. bitmap和Drawable间的区别 Bitmap - 称作位图&#xff0c;一般位图的文件格式后缀为bmp&#xff0c;当然编码器也有很多如RGB565、RGB888。作为一种逐像素的显示对象执…

【YesPMP】众包平台,最新项目

YesPMP平台专注于软件开发领域&#xff0c;是专业的一站式互联网众包平台&#xff0c;目前平台汇聚了上万个解决方案&#xff0c;覆盖全国&#xff0c;拥有众多专业优质的H5开发服务商&#xff0c;专为企业提供软件H5开发解决方案&#xff0c;提高企业的知名度。优秀的H5能为用…

云仓酒庄北京发布会与《综合品酒师》培训的延伸层次分享

原标题&#xff1a;云仓酒庄北京发布会与《综合品酒师》培训近日&#xff0c;云仓酒庄在北京举办了一场盛大的发布会&#xff0c;并近期举行了首届《综合品酒师》培训活动。这一事件不仅引起了业内的广泛关注&#xff0c;更成为了酒类行业专业化、规范化发展的重要里程碑。大世…

[移动端] “viewport“ content=“width=device-width, initial-scale=1.0“ 什么意思

布局视口, 代码如下 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>Document</title><style>body,html {margin: 0;padding: 0;}.box {width: 200px;height: 200px;background-color: pi…

“无媒体,不活动”,这句话怎么理解?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 “无媒体&#xff0c;不活动”通常指的是在现代社会中&#xff0c;媒体对于各种活动&#xff0c;尤其是公共活动和事件的推广、宣传和影响力是至关重要的。它强调了媒体在塑造公众意识、…

通往AGI路上,DPU将如何构建生成式AI时代的坚实算力基石?

4月19日&#xff0c;在以“重构世界 奔赴未来”为主题的2024中国生成式AI大会上&#xff0c;中科驭数作为DPU新型算力基础设施代表&#xff0c;受邀出席了中国智算中心创新论坛&#xff0c;发表了题为《以网络为中心的AI算力底座构建之路》主题演讲&#xff0c;勾勒出在通往AGI…

Python_AI库 Pandas的数据结构及基本操作

Python_AI库 Pandas的数据结构及基本操作 本文默认读者具备以下技能&#xff1a; 熟悉python基础知识&#xff0c;vscode或其它编辑工具 熟悉表格文件的基本操作 具备自主扩展学习能力 本文篇幅较长&#xff0c;但比较重要&#xff0c;希望读者可以认真看完并实例运行。 Pa…

不可重复读,幻读和脏读

不可重复读一般在读未提交&#xff0c;读已提交这两种隔离级别出现&#xff0c;第一次读和第二次读的数据不一致。 幻读一般在读未提交&#xff0c;读已提交&#xff0c;可重复读出现&#xff0c;原因是第一个事务执行时&#xff0c;第二个事务完成了提交&#xff0c;在第一个…

Xilinx 7系列MMCM/PLL的使用模型

本文展示了MMCM的一些使用模型&#xff08;同样适用于PLL&#xff09;&#xff0c;如时钟网络去偏斜、具有内部反馈的MMCM和零延迟缓冲区等。 1、时钟网络去偏斜&#xff08;Clock Network Deskew&#xff09; MMCM的主要用途之一是用于时钟网络去偏斜。图3-11和图3-12展示了…
最新文章