ESP32学习(3)——连接WIFI

1.简介

Wi-Fi是基于IEEE 802.11标准的无线网络技术 让联网设备以无线电波的形式,加入采用TCP/IP通信协议的网络. Wi-Fi设备有两种模式:

1.Access Point(AP) 模式,此为无线接入点,家里的光猫就是结合WiFi和internet路由功能的AP。

2.Station(STA)模式,此为 无线终端,连接到AP的装置,手机,电脑等需要联网的设备都是工作在STA模式。

2.官方文档

官方文档的地址:

Quick reference for the ESP32 — MicroPython latest documentationicon-default.png?t=N7T8http://docs.micropython.org/en/latest/esp32/quickref.html#networking打开后,翻到网络一节,可见如下:

要使用网络,首先要导入network包。

wlan = network.WLAN(network.STA_IF) %创建一个网络对象,并将其设置在STA模式wlan.active(True)       %激活wlan
wlan.scan()            %扫描周围环境中的可用WIFI
wlan.isconnected()      %判断WIFI是否连接
wlan.connect('ssid', 'key') %进行连接 ssid是WIFI名称  key是WIFI密码
wlan.config('mac')     %获取mac地址
wlan.ifconfig()         %获取IP地址等一些网络信息

官网给出的一个实用的WIFI连接例程如下:

 当ESP32连接到WIFI后,就与服务器建立了联系。我们如何测试呢?此时要使用电脑上的网络调试助手。

ESP32给服务器发送消息,服务器再转发给网络调试助手。如果能顺利在网络调试助手上接收到消息,那么说明网络通信正常!

 

3.实战操作

代码如下:

import network
import time
from socket import *
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
if not wlan.isconnected():print('connecting to network...')wlan.connect('lig', '15601')            //这里写你自己的WIFI名称  密码while not wlan.isconnected():pass
print('network config:', wlan.ifconfig())
udp_socket=socket(AF_INET,SOCK_DGRAM)
dest_addr=('192.168.8.116',8080)            //这里写你自己网络调试助手上显示的IP地址和端口
send_data='hello_world'
udp_socket.sendto(send_data.encode('utf-8'),dest_addr)

使用的网络调试助手下载链接:

【免费】好用的野人网络调试助手资源-CSDN文库icon-default.png?t=N7T8https://download.csdn.net/download/guangali/88837250?spm=1001.2014.3001.5501截图如下

打开端口,运行上面的程序 ,如果能在网络调试助手上面观察到发送的字符

则说明通信ok!本节试验成功! 

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

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

相关文章

【Java程序员面试专栏 分布式中间件】Redis 核心面试指引

关于Redis部分的核心知识进行一网打尽,包括Redis的基本概念,基本架构,工作流程,存储机制等,通过一篇文章串联面试重点,并且帮助加强日常基础知识的理解,全局思维导图如下所示 基础概念 明确redis的特性、应用场景和数据结构 什么是Redis,Redis有哪些应用场景 Redi…

【十九】【C++】 priority_queue简单使用和仿函数

priority_queue文档介绍翻译 优先队列是一种容器适配器,专门设计成其中的第一个元素始终是根据某种严格的弱排序准则最大的元素。 这种上下文类似于堆,其中元素可以在任何时刻插入,而只能检索最大堆元素(在优先队列中顶部的元素&a…

Stable Diffusion系列(五):原理剖析——从文字到图片的神奇魔法(扩散篇)

文章目录 DDPM论文整体原理前向扩散过程反向扩散过程模型训练过程模型生成过程概率分布视角参数模型设置论文结果分析 要想完成SD中从文字到图片的操作,必须要做到两步,第一步是理解文字输入包含的语义,第二步是利用语义引导图片的生成。下面…

【Java基础题型】力扣88、合并两个有序数组

给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 (要合并到的目标数组)中,使合并后的数组同样按 非递减顺序 排列。 注意:最终&a…

使用redis实现手机短信验证码和lua完成重置功能

文章目录 前言一、介绍二、代码1.LoginController2.reset.lua 总结 前言 2024了,各种各样的门户网站和APP都需要登录,登录方式也各种各样,由于都要绑定用户手机号码,所以大部分都支持了手机验证码登录的方式,接下来我们使用redis来完成验证码的功能。 一、介绍 方法名描述get…

深度学习入门-第2章-感知机

感知机(perceptron) 严格地讲,本章中所说的感知机应该称为“人工神经元”或“朴素感知机”,但是因为很多基本的处理都是共通的,所以这里就简单地称为“感知机”。2.1 感知机是什么 感知机接收多个输入信号&#xff0c…

Uipath 实现Excel 文件合并

场景描述 某文件夹下有多个相同结构(标题列相同)的Excel 文件,需实现汇总到一个Excel文件。 常见场景有销售明细汇总,订单汇总等。 解决方案 对于非IT 人员则可使用Uipath 新式Excel活动,通过拖拉实现。也可以通过内存表或使用VB脚本&…

解锁机器学习多类分类之门:Softmax函数的全面指南

1. 引言 Softmax函数的定义和基本概念 Softmax函数,也称为归一化指数函数,是一个将向量映射到另一个向量的函数,其中输出向量的元素值代表了一个概率分布。在机器学习中,特别是在处理多类分类问题时,Softmax函数扮演…

寒假学习记录17:包管理器(包管理工具)

概念 包(package) 包含元数据的库,这些元数据包括:名称,描述,git主页,许可证协议,作者,依赖..... 库(library,简称lib) 以一个或多个模…

第11讲投票创建后端实现

投票创建页面实现 文件选择上传组件 uni-file-picker 扩展组件 安装 https://ext.dcloud.net.cn/plugin?nameuni-file-picker 日期选择器uni-datetime-picker组件 安装 https://ext.dcloud.net.cn/plugin?nameuni-datetime-picker iconfont小图标 https://www.iconfont…

【教3妹学编程-算法题】子集中元素的最大数量

2哥 : 3妹,今年过年收到压岁钱了没呢。 3妹:切,我都多大了啊,肯定没收了啊 2哥 : 俺也一样,不仅没收到,小侄子小外甥都得给,还倒贴好几千 3妹:哈哈哈哈,2叔叔&#xff0c…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Navigation组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Navigation组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Navigation组件 鸿蒙(HarmonyOS)项目方舟框架&#…

Java:性能优化细节01-10

Java:性能优化细节01-10 在Java程序开发过程中,性能优化是一个重要的考虑因素。常见的误解是将性能问题归咎于Java语言本身,然而实际上,性能瓶颈更多地源于程序设计和代码实现方式的不当。因此,培养良好的编码习惯不仅…

(力扣记录)235. 二叉搜索树的最近公共祖先

数据结构&#xff1a;树&#x1f332; 时间复杂度&#xff1a;O(n) 空间复杂度&#xff1a;O(1) 代码实现&#xff1a; class Solution:def lowestCommonAncestor(self, root: TreeNode, p: TreeNode, q: TreeNode) -> TreeNode:while True:if p.val < root.val <…

数据的艺术与保障:深入探索OSI模型的表示层

引言 在现代计算机网络中&#xff0c;数据的传输和交换是至关重要的。为了促进不同计算机系统之间的有效通信&#xff0c;国际标准化组织&#xff08;ISO&#xff09;提出了开放系统互连&#xff08;OSI&#xff09;参考模型。该模型定义了网络通信的七个层次&#xff0c;每一…

Python中多种生成随机密码超实用实例

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站零基础入门的AI学习网站~。 前言 密码是信息安全的基石&#xff0c;它用于保护我们的账户、数据和隐私。为了确保密码足够强大&#xff0c;…

我的大数据之路 - 基于HANA构建实时方案的历程

产品内部前期有一个共识&#xff0c;依据业务要求的时效性来选择技术平台&#xff0c;即&#xff1a; 实时类业务&#xff0c;时效性小于2小时&#xff0c;则使用HANA构建。离线类业务&#xff0c;时效性大于2小时&#xff0c;则使用大数据平台构建。 经过五月、六月两月的努…

今日JAVA小练习之复制数组

题目描述 将两个有序数组按照大小顺序复制成一个数组 实现思路 创建新的数组&#xff0c;长度为要复制的两个数组长度之和定义3个初始变量i,p1,p2在循环中依次比较两个数组中元素大小&#xff0c;小的放入新数组若p1小于ns1的长度&#xff0c;则说明在上面while循环中ns1的元…

Redis 的 SETNX

Redis 的 SETNX 命令是一个用于设置键的值的原子性操作。SETNX 表示 "SET if Not eXists"&#xff0c;即当键不存在时才进行设置。该命令可以实现一种简单的分布式锁和限流策略。 SETNX 命令的语法如下&#xff1a; 复制代码 SETNX key value key&#xff1a;要设…

clang前端

Clang可以处理C、C和Objective-C源代码 Clang简介 Clang可能指三种不同的实体&#xff1a; 前端&#xff08;在Clang库中实现&#xff09;编译驱动程序&#xff08;在clang命令和Clang驱动程序库中实现&#xff09;实际的编译器&#xff08;在clang-ccl命令中实现&#xff0…