第16篇ESP32 platformio_arduino框架 wifi联网_连接WiFi热点并连接tcp server收发数据进行通讯

第1篇:Arduino与ESP32开发板的安装方法

第2篇:ESP32 helloword第一个程序示范点亮板载LED

第3篇:vscode搭建esp32 arduino开发环境

第4篇:vscode+platformio搭建esp32 arduino开发环境

​​​​​​第5篇:doit_esp32_devkit_v1使用pmw呼吸灯实验

第6篇:ESP32连接无源喇叭播放音乐《涛声依旧》

第7篇:ESP32连接按钮点亮LED无源喇叭播放声音

​​​​​​第8篇:ESP32连接超声波HC-SR04测距点亮LED无源喇叭播放声音

第9篇:ESP32超声波HC-SR04Arduino类库编写

第10篇:ESP32外部中断功能的使用

第11篇:ESP32vscode_platformio_idf框架helloworld点亮LED

第12篇:ESP32模拟SPI驱动12864LCD_ST7920显示屏

第13篇:ESP32 idf wifi联网使用SNTP同步网络时间LCD ST7920液晶屏显示
第14篇ESP32 idf wifi联网_WiFi STA 模式(连接到WIFI)LCD ST7920液晶屏显示
第15篇ESP32 idf框架 wifi联网_WiFi AP模式_手机连接到esp32开发板

 

一、WiFi的三种工作模式

ESP32有三种工作模式:AP模式、STA模式以及AP+STA模式。

AP模式就是ESP32产生一个WiFi信号,让电脑来连接;

STA模式就是ESP32去连接一个已有的WiFi(注意,ESP32和电脑要处于同一局域网下,连接同一个热点);

AP+STA模式就是既产生WiFi又连接WiFi。

二、配置WiFi模式
1.STA模式

#include <Arduino.h>
#include <WiFi.h>
//STA版
void connect_wifi_STA()
{Serial.begin(115200);WiFi.begin(wifi_ssid_STA, wifi_password_STA);         //连接WIFISerial.print("Connected");//循环,直到连接成功while(WiFi.status() != WL_CONNECTED){Serial.println(".");delay(500);}IPAddress local_IP = WiFi.localIP();Serial.print("WIFI is connected,The local IP address is: "); //连接成功的提示Serial.println(local_IP); 
}

连接WiFi热点并连接tcp server收发数据

打开网络调试助手:

连接WIFI:

WiFi.mode(WIFI_STA);

  WiFi.begin(ssid,password);

连接tcp server:

client.connect(host, tcpPort)

host:tcp server的IP,这里测试本机电脑的IP

tcpPort:这里设置1234

需要修改为需要连接的WIFI热点:

const char* ssid = "xxx";//WiFi名称

const char* password = "xxx";//WiFi密码

const char* host = "192.168.10.100";//连接 server 的IP地址,网络调试助手进行配置,这里IP需要修改与调试助手一直,设置本机电脑IP

完成示范代码:

#include <Arduino.h>// put function declarations here:#include <WiFi.h>
//#include <WiFiClient.h>const char* ssid = "xxx";//WiFi名称
const char* password = "xxx@";//WiFi密码
const char* host = "192.168.10.100";//连接 server 的IP地址,网络调试助手进行配置WiFiServer server(1234);  //服务器端口号,范围  0-65535
const int tcpPort = 1234;
//WiFiClient client = server.available();void setup() {// put your setup code here, to run once:int j = 0 ;Serial.begin(115200);//初始化波特率delay(1000);WiFi.mode(WIFI_STA);WiFi.begin(ssid,password);Serial.print("\r\nConnecting to ");//serial:串口函数,serial.print:经由串口的打印函数Serial.print(ssid);Serial.println("...");while(WiFi.status()!= WL_CONNECTED){//返回值由WiFi连接状态决定delay(1000);//while循环每一秒检查一次Serial.print("Waiting for ");Serial.print(j++);Serial.println("sss...");}//delay(1000);Serial.println("Mode:STA");Serial.println("WIFI connected *_*");Serial.println("IP adress:");Serial.println(WiFi.localIP());}
int ind=0;
char data[100];
String lint="";void loop() {// put your main code here, to run repeatedly:WiFiClient client = server.available();//创建客户端对象while (!client.connected())//若未连接到服务端,则客户端进行连接。{if (!client.connect(host, tcpPort))//实际上这一步就在连接服务端,如果连接上,该函数返回true{Serial.println("connection....");//串口输出delay(2000);}}if (client.connected()){Serial.println("Connected to server *_* ");while (client.connected()){while (client.available()>0) {data[ind++] = client.read();//Serial.write(client.read());// client.print(data); //回复收到的数据//Serial.print(data);}ind =0;if(data[ind]>0){lint = data;client.print(lint);//WiFi打印Serial.print(lint);data[ind]=0;Serial.println();}// client.stop();}}     
}

 platformio.ini配置:

upload_port COM修改为ESP连接电脑的USB COM口

; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter
;   Upload options: custom upload port, speed and extra flags
;   Library options: dependencies, extra library storages
;   Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
upload_speed = 921600
upload_port = COM8
monitor_port = 115200

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

许可分析 license分析 第十一章

许可分析是指对软件许可证进行详细的分析和评估&#xff0c;以了解组织内部对软件许可的需求和使用情况。通过许可分析&#xff0c;可以帮助组织更好地管理和优化软件许可证的使用。以下是一些可能的许可分析方法和步骤&#xff1a; 软件许可证监管合规性&#xff1a;严格遵守软…

Linux 文件创建、查看

touch、cat、more命令 ①touch命令——创建文件 ②cat命令——查看文件内容全部显示 这是txt.txt文件内容 使用cat命令查看 ③more命令——查看文件内容支持翻页 在查看的过程中&#xff0c;通过空格翻页&#xff0c;通过q退出查看

MySql(随记)

一条MySql执行过程 首先Mysql的架构分为两层&#xff0c;Server层和存储引擎层。 Server层&#xff1a;MySql大多数核心功能&#xff0c;主要包括&#xff0c;连接器&#xff0c;查询缓存&#xff0c;解释器&#xff0c;预处理器&#xff0c;优化器&#xff0c;执行器等 存储引…

C语言练习题解析(2)

&#x1f493;博客主页&#xff1a;江池俊的博客⏩收录专栏&#xff1a;C语言刷题专栏&#x1f449;专栏推荐&#xff1a;✅C语言初阶之路 ✅C语言进阶之路&#x1f4bb;代码仓库&#xff1a;江池俊的代码仓库&#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐ 文…

Anaconda bug

报错如下&#xff1a; DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): repo.anaconda.com:443 DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): repo.anaconda.com:443 DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1):…

蓝桥杯2023年第十四届省赛真题-更小的数--题解

目录 蓝桥杯2023年第十四届省赛真题-更小的数 题目描述 输入格式 输出格式 样例输入 样例输出 提示 【思路解析】 【代码实现】 蓝桥杯2023年第十四届省赛真题-更小的数 时间限制: 3s 内存限制: 320MB 提交: 895 解决: 303 题目描述 小蓝有一个长度均为 n 且仅由数字…

C2基础设施威胁情报对抗策略

威胁情报是指在信息安全和安全防御领域&#xff0c;收集、分析和解释与潜在威胁相关的信息&#xff0c;以便预先发现并评估可能对组织资产造成损害的潜在威胁&#xff0c;是一种多维度、综合性的方法&#xff0c;其通过信息的收集、分析和研判&#xff0c;帮助组织了解可能对其…

准备篇(二)Python 教程

Part 1 Python 基础语法区分输入与输出注释文本列表if 语句for 语句range() 函数走向编程的第一个例子Part 2 函数 和 数据结构函数数据结构del 语句列表详解元组集合字典循环的技巧Part 3 输入与输出读写文件打开文件 open()读文件写文件

C++---继承

继承 前言继承的概念及定义继承的概念继承定义继承关系和访问限定符 基类和派生类对象赋值转换继承中的作用域派生类的默认成员函数继承与友元继承与静态成员**多重继承**多继承下的类作用域菱形继承虚继承使用虚基类 支持向基类的常规类型转换 前言 在需要写Father类和Mother…

征战开发板从无到有(三)

接上一篇&#xff0c;翘首已盼的PCB板子做好了&#xff0c;管脚约束信息都在PCB板上体现出来了&#xff0c;很满意&#xff0c;会不会成为爆款呢&#xff0c;嘿嘿&#xff0c;来&#xff0c;先看看PCB裸板美图 由于征战开发板电路功能兼容小梅哥ACX720&#xff0c;大家可以直…

【MySQL】 MySQL数据库基础

文章目录 &#x1f431;‍&#x1f453;数据库的操作&#x1f4cc;显示当前的数据库&#x1f4cc;创建数据库&#x1f388;语法&#xff1a;&#x1f388;语法说明&#x1f388;示例&#xff1a; &#x1f334;使用数据库&#x1f38b;删除数据库&#x1f431;‍&#x1f3cd;语…

Stable DIffusion 炫酷应用 | AI嵌入艺术字+光影光效

目录 1 生成AI艺术字基本流程 1.1 生成黑白图 1.2 启用ControlNet 参数设置 1.3 选择大模型 写提示词 2 不同效果组合 2.1 更改提示词 2.2 更改ControlNet 2.2.1 更改模型或者预处理器 2.2.2 更改参数 3. 其他应用 3.1 AI光影字 本节需要用到ControlNet&#xff0c;可…

Web 3.0 发展到什么水平了?

最初&#xff0c;有互联网&#xff1a;电线和服务器的物理基础设施&#xff0c;让计算机和它们前面的人相互交谈。美国政府的阿帕网在1969年发出了第一条消息&#xff0c;但我们今天所知道的网络直到1991年才出现&#xff0c;当时HTML和URL使用户可以在静态页面之间导航。将此视…

SpringBoot 使用异步方法

SpringBoot 使用异步方法 在pom文件引入相关依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframe…

flutter聊天界面-TextField输入框buildTextSpan实现@功能展示高亮功能

flutter聊天界面-TextField输入框buildTextSpan实现功能展示高亮功能 最近有位朋友讨论的时候&#xff0c;提到了输入框的高亮展示。在flutter TextField中需要插入特殊样式的标签&#xff0c;比如&#xff1a;“请 张三 回答一下”&#xff0c;这一串字符在TextField中输入&a…

【PowerQuery】Excel的PowerQuery按需刷新

将数据通过PowerQuery 导入进来后,这里将进行数据分组运算,最终的数据计算结果将保存在Excel 表格中,图为销售统计结果。 在Excel中,如果我们希望进行销售统计的手动更新可以使用几种不同的方法来进行刷新: 刷新单一数据连接如果仅仅需要刷新单一数据连接的话我们可以通过…

DETR:End-to-End Object Detection with Transformers

代码&#xff1a;https://github.com/HuKai97/detr-annotations 论文&#xff1a;https://arxiv.org/pdf/2005.12872.pdf 参考视频&#xff1a;DETR 论文精读【论文精读】_哔哩哔哩_bilibili 团队&#xff1a;Meta AI 摘要 DETR 做目标检测任务既不需要proposal&#xff0…

每日一题~中序后序遍历构造二叉树

原题链接&#xff1a;106. 从中序与后序遍历序列构造二叉树 - 力扣&#xff08;LeetCode&#xff09; 题目描述&#xff1a; 思路分析&#xff1a; 后序遍历分析图 中序遍历分析图 不难看出后序遍历的结果中的最后一个元素就是根节点&#xff0c;倒数第二个元素则是根节点的…

VUE build:gulp打包:测试、正式环境

目录 项目结构 Gulp VUE使用Gulp Vue安装Gulp Vue定义Gulp.js package.json build文件夹 config文件夹 static-config文件夹 项目结构 Gulp Gulp是一个自动化构建工具&#xff0c;可以帮助前端开发者通过自动化任务来管理工作流程。Gulp使用Node.js的代码编写&#xff…

物联网:用python调入机器学习分析物联网数据入侵检测模块

要使用Python调用机器学习分析物联网数据入侵检测模块&#xff0c;您需要以下步骤&#xff1a; 安装Python和相关的机器学习库&#xff0c;如scikit-learn、pandas、numpy等。您可以使用pip命令来安装这些库。 准备输入数据。这些数据可以是来自物联网设备的原始数据&#xff…