01-ESP8266的STA模式学习
从今天开始记录自己学习ESP8266的过程
主要是借助Arduino平台,使用VScode环境
主要的学习思路还是围绕ESP8266的特点功能进行
文章目录
- 01-ESP8266的STA模式学习:
- Station(简称STA)模式
- 1.建立连接
- 2.管理连接
- 3.网络信息
- 4.保护和智能配网
- 一般的配置流程:
- 例程:
01-ESP8266的STA模式学习:
Station(简称STA)模式
ESP8266处于STA模式简介状态图如下所示,主要的作用是作为一个(STA)站点去连接一个(AP)热点
相关头文件:#include <ESP8266WiFiSTA.h>
里面对于STA库的描述可以拆分为四个部分:
1.建立连接
wl_status_t begin(const char* ssid, const char *passphrase = NULL, int32_t channel = 0, const uint8_t* bssid = NULL, bool connect = true);wl_status_t begin(char* ssid, char *passphrase = NULL, int32_t channel = 0, const uint8_t* bssid = NULL, bool connect = true);wl_status_t begin(const String& ssid, const String& passphrase = emptyString, int32_t channel = 0, const uint8_t* bssid = NULL, bool connect = true);wl_status_t begin();//The argument order for ESP is not the same as for Arduino. However, there is compatibility code under the hood//to detect Arduino arg order, and handle it correctly. Be aware that the Arduino default value handling doesn't//work here (see Arduino docs for gway/subnet defaults). In other words: at least 3 args must always be given.bool config(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dns1 = (uint32_t)0x00000000, IPAddress dns2 = (uint32_t)0x00000000);
2.管理连接
bool reconnect();bool disconnect(bool wifioff = false);bool isConnected();bool setAutoConnect(bool autoConnect);bool getAutoConnect();bool setAutoReconnect(bool autoReconnect);bool getAutoReconnect();int8_t waitForConnectResult(unsigned long timeoutLength = 60000);
3.网络信息
// STA network infoIPAddress localIP();uint8_t * macAddress(uint8_t* mac);String macAddress();IPAddress subnetMask();IPAddress gatewayIP();IPAddress dnsIP(uint8_t dns_no = 0);IPAddress broadcastIP();// STA WiFi infowl_status_t status();String SSID() const;String psk() const;uint8_t * BSSID();String BSSIDstr();int8_t RSSI();
4.保护和智能配网
bool beginWPSConfig(void);//WPS:Wi-Fi Protected Setupbool beginSmartConfig();bool stopSmartConfig();bool smartConfigDone();
一般的配置流程:
- 设置为STA模式
- 配置WiFI信息(IP地址,密码)
- 获取连接WIFi信息
例程:
/*
内容:这个例程是学习ESP8266的STA模式
时间:2022.4.42
作者:bobo'
*///头文件
#include <ESP8266WiFi.h> IPAddress StaticIP(192,168,209,220);
IPAddress Gateway(192,168,209,10);
IPAddress SubnetMask(255,255,255,0);
//参数定义
//SSID of your network
char ssid[] = "redmi";
//password of your WPA Network
char pass[] = "88888888";//启动函数
void setup()
{//设置串口调试Serial.begin(9600);delay(200);Serial.println("Start STA_Mode");//设置为STA模式WiFi.mode(WIFI_STA);//STA配置状态打印if( WiFi.begin(ssid,pass) == WL_CONNECT_FAILED ){Serial.println("STA_Mode config failed");}else{Serial.println("STA_Mode is config successful");}//Wifi连接状态打印Serial.println(String(ssid)+" is Connecting");//配置IP地址,网关。子掩码WiFi.config(StaticIP,Gateway,SubnetMask);while(WiFi.status() != WL_CONNECTED){if(WiFi.status() == WL_DISCONNECTED ){Serial.print(".");delay(200);}}Serial.println("/");//换行Serial.println("WiFi is connect");//WiFi信息打印Serial.println(WiFi.localIP());Serial.println(WiFi.macAddress());Serial.println(WiFi.subnetMask());Serial.println(WiFi.gatewayIP());Serial.println(WiFi.SSID());Serial.println(WiFi.psk());
}//死循环函数
void loop()
{}
串口调试效果:
Start STA_Mode
STA_Mode is config successful
redmi is Connecting
…/
WiFi is connect
192.168.209.220
A4:E5:7C:BC:9A:87
255.255.255.0
192.168.209.10
redmi
88888888
01-ESP8266的STA模式学习相关推荐
- Finger.01 - ESP8266模块STA模式调试
前言: 前段时间从网上看到了一个很有意思的视频,作者做了一个方方正正的模块,这个模块能够连接网络,并能够通过手机app控制这个模块,这个小模块可以拓展出机械杠杆或者旋转的齿轮,通过这拓展出来的机械结构 ...
- 小明分享|ESP8266设置STA模式ping包测试
硬件准备 PC机.USB数据线.ESP8266开发板,路由器 软件准备 串口调试助手(如:XCOM) 固件(可以使用的是开发板自带的固件) Flash Download 烧录工具: https://w ...
- ESP8266的STA模式AP模式配置
STA模式: 要求服务器和客户端连接到同一个WiFi ESP8266做服务器 设置ESP8266的工作模式 AT+CWMODE=1 复位重启启用STA模式 AT+RST 查询附近可连接WiFi AT+ ...
- ESP8266(基于arduino平台)每篇一个知识点—1.wifi STA模式连接指定wifi
ESP8266(基于arduino平台)每篇一个知识点--1.wifi STA模式连接指定wifi 一.ESP8266(基于arduino平台)每篇一个知识点--1.wifi STA模式连接指定wif ...
- ESP8266的AP模式与STA模式简单测试
系列文章: ESP8266的AP模式与STA模式简单测试 简单的Java服务器和客户端的通信 STM32 ESP8266和Java服务器透传模式下的双向通信 jsp向servlet传输数据 Servl ...
- esp8266设置sta失败_ESP8266的AP模式与STA模式简单测试
一.三种工作模式STA模式(Station):工作在STA模式下的8266就像是一个接收机一样,它可以接收来自无线路由器发出的信号,实现了8266通过接收路由器的信号而能够连接互联网,如果把8266安 ...
- busybox文件系统与简单驱动学习(4)-RT3070无线网卡STA模式配置
需要的源码与版本: DPO_RT3070_LinuxSTA_V2.3.0.2_20100412 libnl-1.1.4 openssl-1.0.1d wpa_supplicant-0.7.3 进入DP ...
- esp8266设置sta失败_ESP8266使用教程之初识
一.ESP8266介绍 这里将会使用正点原子的 ATK-ESP8266 为例,来说明 ESP8266 的使用. 该模块上面板载了安可信的公司的 ESP8266 模块,ATK-ESP8266 采 ...
- [ESP8266]--开启服务器模式和客户端模式
[ESP8266]--开启服务器模式和客户端模式 版权声明:本文为博主原创文章,欢迎转载,转载请注明出处. https://blog.csdn.net/wangyijieonline/article/ ...
最新文章
- 四大指标超现有模型!少样本的无监督图像翻译效果逆天| 技术头条
- 设计模式学习笔记(八:迭代器模式)
- pandas 绘图 机器学习看特征相关性
- 手机h5可以用ifreme_安卓手机可以流畅用几年?至少三年不卡
- ESP32 flash容量配置
- compress后的bytearray再decode变大_笔记本电脑风扇噪音变大的原因及其解决办法
- simulink怎么生成vxworks的执行程序_从EPB模型谈谈Simulink代码生成
- 使用2to3.py 转换 python2.x 代码 到python3
- 艾伟_转载:使用LINQ to SQL更新数据库(中):几种解决方案
- codevs1521 华丽的吊灯
- relu函数为分段线性函数,为什么会增加非线性元素
- amend用法 git 信息_Git 高级用法,你用过哪些了
- ARMv8体系结构基础03:加载和存储指令
- CMD发现一个得到字符串长度的方法
- MFC动态菜单全攻略
- 登陆Binance DEX!TOP携手币安,7天交易瓜分双重奖励!
- SQL Server 、SQLiteSpy、Access对应数据库后缀名分别是什么?
- 基于matlab的微分例题,基于MATLAB的rlc电路模型仿真例题.doc
- 电动汽车如何为电网供电
- Linux运行jar包报错:Error:Invalid or corrupt jarfile xxx.jar
热门文章
- Exchange邮件筛选技术
- Java SE 8 新特性之旅 : Java开发世界的大变动
- 怎样配置外汇ea服务器运行,外汇EA如何在MT4上运行?以及如何挂到服务器?
- C语言——自定义类型(结构体,枚举,联合体,位段)
- 缺陷管理:说一说bug的状态和解决方案
- matlab矩阵指定行最大值,求Matlab程序:在2行矩阵中,如何求第1行最大值和第2行相应的最大,请问,如何在MATLAB中编写程序实现求两矩阵A*B,A.*...
- 系列之2-神经网络中反向传播与梯度下降的基本概念
- Python3 模拟手机登录熊猫直播(panda.tv)
- 领域驱动设计--业务架构映射为应用架构(五)
- 什么是zkSNARKs:谜一般的“月亮数学”加密,Part-2