当前位置: 首页 > web >正文

MicroPython+ESP32 连接接WIFI

在使用ESP32连接热点前,需要先使用手机或者电脑打开一个热点,并设置为2.4频段G的,如下图所示。

ESP32连接wifi热点官方示例

import networkwlan = network.WLAN()       # create station interface (the default, see below for an access point interface)
wlan.active(True)           # activate the interface
wlan.scan()                 # scan for access points
wlan.isconnected()          # check if the station is connected to an AP
wlan.connect('ssid', 'key') # connect to an AP
wlan.config('mac')          # get the interface's MAC address
wlan.ipconfig('addr4')      # get the interface's IPv4 addressesap = network.WLAN(network.WLAN.IF_AP) # create access-point interface
ap.config(ssid='ESP-AP')              # set the SSID of the access point
ap.config(max_clients=10)             # set how many clients can connect to the network
ap.active(True)                       # activate the interface

官方文档地址:https://docs.micropython.org/en/latest/esp32/quickref.html#networking

编写MicroPython 代码测试连接wifi并发送一个消息 

import socket
import network
import time# 连接到Wi-Fi网络
def connect_wifi(ssid, password):wlan = network.WLAN(network.STA_IF)wlan.active(True)if not wlan.isconnected():wlan.connect(ssid, password)while not wlan.isconnected():time.sleep(1)  # 等待连接print("Wi-Fi连接成功")# 发送UDP消息
def send_udp_message(udp_socket, dest_ip, dest_port, message):udp_socket.sendto(message.encode('utf-8'), (dest_ip, dest_port))print(f"消息 '{message}' 已发送到 {dest_ip}:{dest_port}")# 主程序
if __name__ == "__main__":# 配置Wi-Fi和目标地址connect_wifi('pi', '12345678')  # 替换Wi-Fi名称和密码dest_ip = '192.168.2.86'dest_port = 8080# 创建UDP套接字udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)send_data = "hello world"send_udp_message(udp_socket, dest_ip, dest_port, send_data)time.sleep(1)  # 控制发送间隔# 5. 关闭套接字udp_socket.close()

 运行效果图

注意事项:dest_ip 需要替换成自己的手机或者电脑ip地址

http://www.xdnf.cn/news/10961.html

相关文章:

  • 【散刷】二叉树基础OJ题(二)
  • 基于VLC的Unity视频播放器(四)
  • 如何写一条高效分页 SQL?
  • RK3568驱动指南|第十二篇 GPIO子系统-第130章 GPIO的调试方法
  • 数据安全管理进阶:81页 2024数据安全典型场景案例集【附全文阅读】
  • MyBatis常用注解全解析:从基础CRUD到高级映射
  • Shell脚本编程入门与实战指南
  • Qwen2.5-VL 视觉编码器的SwiGLU
  • IT运维工具的选择标准有哪些?
  • [蓝桥杯]求解台阶问题
  • PCI DSS培训记录
  • 便携式雷达信号模拟器,定义复杂电磁环境模拟新标准
  • Docker 容器化:核心技术原理与实践
  • 微软PowerBI考试 PL300-Power BI 入门
  • Vue2 父子组件数据传递与同步详解
  • 访谈 | 吴恩达全景解读 AI Agents 发展现状:多智能体、工具生态、评估体系、语音栈、Vibe Coding 及创业建议一文尽览
  • vue实现点击单选或者多选模式
  • 简单爬虫框架实现
  • JavaScript 字符串的常用方法有哪些?
  • SpringCloud 分布式锁Redisson锁的重入性与看门狗机制 高并发 可重入
  • ALLEN BRADLEY特价型号1715-OB8DE 模块
  • 屈原精神的深度剖析:阶级局限与时代启示
  • 涨薪技术|0到1学会性能测试第94课-全链路脚本开发
  • 【iOS安全】Macbook更换brew源
  • 2025 年人脸识别技术应用备案政策已落地
  • 基于SpringBoot的“嗨玩旅游”网站设计与实现(源码+定制+开发)嗨玩旅游平台开发:景点展示与个性化推荐系统(SpringBoot)
  • Foundation Models for Generalist Geospatial Artificial Intelligence(NASA发布Prithvi)论文阅读
  • 定时线程池失效问题引发的思考
  • 远程桌面端口如何设置?你知道本地计算机怎么让外网电脑远程桌面连接访问吗?
  • nginx去掉暴漏外边的版本号