首页 > 其他分享 >ESP32 Arduino开发 网络连接

ESP32 Arduino开发 网络连接

时间:2024-01-16 11:27:05浏览次数:27  
标签:begin wifi Arduino ESP32 WiFi 网络连接 Serial 连接

ESP32 Arduino开发 网络连接

目录

1. 编写相关程序

1.1. 引入头文件

WiFi.h并不是第三方的库,所以不需要先加载库

#include <WiFi.h>

1.2. 调用WiFi连接函数

WiFi连接函数需要2个参数:网络名称以及网络密码,在setup()函数之外先对参数进行定义,然后直接调用WiFi.begin()函数就可以进行STA模式配网。

1.3. 检测网络连接状态

通过WiFi.status()函数获取当前设备的网络连接状态,如果网络未连接,则继续等待,如果网络连接成功,则打印相关信息。综合1.2、1.3,我们可以写出如下的代码。

#include <WiFi.h>

const char* ssid="要连接wifi名字";   //定义两个字符串指针常量
const char* pass="wifi密码";

void setup() {
    Serial.begin(115200);
    WiFi.begin(ssid, pass);

    while(WiFi.status()!=WL_CONNECTED){
        delay(500);
        Serial.println("正在连接...");
    }
    Serial.println("连接成功!");
}

void loop() {

}

1.4. 连接超时处理

按照我们1.3中所编写的代码,如果我们输入的WiFi信息是错误的情况下,它依旧会一直尝试连接该网络。但是我们都知道,现实中的设备并不会这样处理,在一定时间内连接不上的情况下,会提示超时错误。
最简单的方法就是添加一个变量,每次判断网络是否连接时候使其计数+1,当达到阈值之后,串口打印连接超时。也可以直接用一个循环次数固定的for循环来实现。

#include <WiFi.h>

#define MAX_RETRIES 10
const char* ssid="要连接wifi名字";   //定义两个字符串指针常量
const char* pass="wifi密码";

void setup() {
    Serial.begin(115200);
    WiFi.begin(ssid, pass);
    int counter = 0;

    while(WiFi.status()!=WL_CONNECTED){
        delay(500);
        counter++;
        if(counter > MAX_RETRIES){
            Serial.println("连接超时");
            break;
        }
        Serial.println("正在连接...");
    }
    if(counter <= MAX_RETRIES){
        Serial.println("连接成功!");
    }
}

void loop() {

}   
#include <WiFi.h>

#define MAX_RETRIES 10
const char* ssid="要连接wifi名字";   //定义两个字符串指针常量
const char* pass="wifi密码";

void setup() {
    Serial.begin(115200);
    WiFi.begin(ssid, pass);
    int counter = 0;

    for(int i=0; i<MAX_RETRIES; i++)
    {
        delay(500);
        if(WiFi.status()!=WL_CONNECTED){
            Serial.println("正在连接...");
        } else{
            Serial.println("连接成功!");
            break;
        }
    }
    if(WiFi.status()!=WL_CONNECTED){
         Serial.println("连接超时");
    }
}

void loop() {

}   

2. STA模式与AP模式

参考:CSDN博客

STA: station模式,wifi工作在无线终端模式,可通过连接热点连接到网络,基本上现实我们使用的设备都可以工作在此模式,像我们的电脑、手机,工作在这种模式称为从模式。

AP: access point,也就是无线接入点,wifi工作在热点模式,其他sta设备可以连接到此热点,AP工作在主模式,一般所使用的无限路由器就是一个AP。

标签:begin,wifi,Arduino,ESP32,WiFi,网络连接,Serial,连接
From: https://www.cnblogs.com/HoNorthNorth/p/17967224

相关文章

  • Arduino部分C语言含义之--“::”
    "::“在C++中表示作用域,和所属关系。”::"是运算符中等级最高的。有三种作用。1.作用域符号例如:A,B表示两个类,在A,B中都有成员member。那么:A::member就表示类A中的成员member。B::member就表示类B中的成员member。2.全局作用域符号charzhou;//全局变量voids......
  • Arduino或其他微控制器来控制TB67S109A
    TB67S109A是一款步进电机驱动器,它没有特定的代码。但是,您可以使用Arduino或其他微控制器来控制TB67S109A。以下是一个简单的示例代码,用于控制TB67S109A的步进电机:#include<Stepper.h>//定义步进电机的引脚constintstepPin=8;constintdirPin=9;//创建步进电机对象......
  • esp32-idf开发记录(二)
    上一篇文章配置了基本环境,下面开始记录一些基本的外设驱动1、GPIO使用GPIO基本使用#include"led_driver.h"voidled_init(gpio_num_tgpio_num){gpio_config_tcfg={.pin_bit_mask=(1ull<<gpio_num),.mode=GPIO_MODE_OUTPUT,.pull......
  • esp32-idf开发记录(一)
    esp32最近比较火,也整了几块来玩一下,这里记录一下开发过程,现在用esp32用的比较多的是arduino的框架,这里用一下idf的框架,主要参考下面这个视频做的,感谢这位uphttps://www.bilibili.com/video/BV1kp4y1o7yx/?spm_id_from=333.999.0.0&vd_source=f5fd730321bc0e9ca497d98869046942安......
  • 荣耀笔记本锐龙版 网络连接不上怎么办?
    我的电脑型号:荣耀MagicBookPro2020锐龙版R5集显16GB+512GB(HYLR-WFQ9)背景:我的电脑是荣耀锐龙版的,本来是买了个网线的转接口连接有线的,但是一直连接不上。于是想下载一个鲁大师来更新下驱动,怀疑是驱动问题。升级的时候,不小心把wifi的网线升级了。升级的过程中,赶时......
  • 机械蛛形机器人的ESP32解决方案及代码
    机械蛛形机器人的ESP32解决方案主要包括以下几个方面:硬件设计:使用ESP32作为控制器,通过电机驱动电路控制蜘蛛的移动。同时,需要连接传感器(如陀螺仪、加速度计等)来获取机器人的姿态信息。软件设计:编写程序来实现以下功能:读取传感器数据,计算机器人的姿态和速度;根据姿态和速度调整电机输......
  • 《基于树莓派和Arduino入门机器人学:使用Python和OpenCV》-第二版
    书籍:BeginningRoboticswithRaspberryPiandArduino:UsingPythonandOpenCV,2nd作者:JeffCicolani出版:Apress本文内容转载自公众号【一点人工一点智能】关注51CTO@一点人工一点智能,了解更多移动机器人&人工智能信息01 书籍介绍学习如何使用树莓派与Arduino结合来构建具有先......
  • 自动寻声的伺服马达-利用声源定位模组制作的声控舵机(附arduino开发板程序)
     效果演示arduino入门-声源定位模组进行SG90伺服马达方向控 利用声源定制追踪制作的一个小玩意.使用arduino开发板做的.程序很简单.没有难度.主要是声源定位模组使用的是全硬件搭建.不需要去做调试和研究算法.声源定位核心板和麦克风阵列板 声源定位核心板和测试底座我使用......
  • 【ESP32 项目】使用 gitee 镜像在 unbuntu 搭建esp-idf 环境
    推荐先看文章:《ESP32,使用gitee搭建ESP-IDF开发框架》链接:https://blog.csdn.net/weiqifa0/article/details/119066253?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170359954116800185837038%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%......
  • 仿照Arduino的SoftI2C库写一个适合STM32的软件I2C库
    仿照Arduino的SoftI2C库写一个适合STM32的软件I2C库Arduino的SoftI2C库的相关链接:github链接同时我写了一篇关于IIC通信原理的博客,链接:IIC通信的相关知识当使用了Arduino的SoftI2C库后,发现这个库非常好用,用来软件模拟IIC通信。也想要在STM32上使用这个库,所以就有了移植SoftI2C......