物联网开发笔记(19)- 使用Micropython开发ESP32开发板之连接WIFI热点

news/2024/5/16 11:59:51/文章来源:https://blog.csdn.net/zhusongziye/article/details/126920058

        我们的ESP32开发板是拥有WIFI和蓝牙功能的。这里我们先告诉大家如何将ESP32开发板连接到我们家里的无线路由器上,并和连接到家里无线路由器的一台电脑进行通讯。

一、环境

        ESP32开发板+Thonny IDE+Win10+网络调试助手工具

        后面设备联网的基本信息:开发板IP: 192.168.104, 电脑IP: 192.168.0.101, 无线路由器为TP-Link(其他任意品牌也可)

二、整体通讯架构

        

 三、ESP32开发板无线模式

        分位两种模式:

Access Point(AP) 无线接入点 模式,相当于手机开启了WIFI热点,其他的设备可以连接到这个WIFI上。或者说家里的无线路由器也是AP。

Station(STA) 无线终端 模式, 相当于我们的手机连接到我们家里的无线路由器。

四、连接WIFI

大家可以参考官方文档,进行学习。记住,官方文档一定要看。

 我们参考以上编写我们的代码,连接到家里的WIFI:

import network# 为开发板创建网络,模式为STA模式
wlan = network.WLAN(network.STA_IF) # create station interface
# 激活STA
wlan.active(True)       # activate the interface
# ESP32开发板扫描网络
wlan.scan()             # scan for access points
# 判断是否连接。没连接上返回false
wlan.isconnected()      # check if the station is connected to an AP
# 连接网络,ssid指WIFI名字,key指密码
wlan.connect('ssid', 'key') # connect to an AP
# 连接后,获取ESP32开发板的MAC地址
wlan.config('mac')      # get the interface's MAC address
# 获取开发板的IP地址,子网掩码,网关,DNS
wlan.ifconfig()         # get the interface's IP/netmask/gw/DNS addresses

打开Thonny编辑器,输入以上代码,添加一些打印信息,方便知道是否连接成功,并获得一些信息。接着保存运行。

 

 五、测试

        我们应该怎么去测试开发板通过WIFI给我们的电脑,相互传数据呢?

下面我们使用一个工具: 网络调试助手,来实现。

下载链接:NetAssist网络调试助手 V5.0.3-软件工具-野人家园 (cmsoft.cn)icon-default.png?t=M85Bhttp://www.cmsoft.cn/resource/102.html        1, 开发板给电脑发送数据

打开后如下设置即可:

 点击open后,放在桌面上

下面准备进行测试,使用Thonny,从开发板给电脑发送数据

from socket import *# 创建udp套接字
udp_socket = socket(AF_INET, SOCK_DGRAM)# 准备接收方的地址,即家里电脑的IP地址
dest_addr = ('192.168.31.56', 8080)# 从键盘获取数据
send_data = "hello world"# 发送数据到指定的电脑上
udp_socket.sendto(send_data.encode('utf-8'), dest_addr)# 5. 关闭套接字
udp_socket.close()

 这个时候我们看到返回了一个“12”(你也许是其他数字),即代表我们发送成功,然后在网络调试助手上就可以看到我们发送的数据:

         2,电脑给开发板发送数据

那么我们可以通过电脑给开发板发送数据不?答案当然是可以的。

我们现在Thonny上,把开发板设为接收数据状态, 然后打开网络调试助手,输入我们想要发送的信息:

在网络助手上输入数据,然后发送:

 发送后Thonny交互模式会发生变化

 然后我们打印出接收到的数据:

 到这里我们就可以实现开发板和电脑进行通讯,开发板拥有了网络功能就可以写很复杂的应用。是不是很有趣啊。

最后实验完成关闭我们的udp套接字:

 

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

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

相关文章

网课答案查题方法详细步骤

网课答案查题方法详细步骤 本平台优点: 多题库查题、独立后台、响应速度快、全网平台可查、功能最全! 1.想要给自己的公众号获得查题接口,只需要两步! 2.题库: 题库:题库后台(点击跳转&#…

Dobbo微服务项目实战(详细介绍+案例源码) - 1.项目介绍及环境配置

系列文章目录 项目介绍及环境配置 文章目录系列文章目录一、项目介绍1. 功能2. 技术选型3. 页面预览⑴. 登录⑵. 交友(主页)⑶. 探花⑷. 搜附件⑸. 桃花传音⑹. 测灵魂⑺. 圈子⑻. 消息⑼. 小视频⑽. 我的二、开发工具1. YAPI2. Android模拟器3. 调试工…

ElasticSearch 命令总结

目录0,ES 与关系型数据库类比1,查看集群信息2,查看索引信息3,创建索引1,创建索引2,重建索引4,文档相关操作1,查看文档2,写入文档3,更新文档4,删除…

上海亚商投顾:A股持续调整 券商成做空主力

上海亚商投顾前言:无惧大盘大跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪三大指数今日低开低走,午后均跌超2%,证券、房地产、煤炭等板块跌幅居前。券商股全线下挫&am…

centos8升级宝塔导致的openssl系列问题

故事的发生是这样的,从前有座山 这个问题很古怪,起先是我把宝塔面板从7.9.3升级到7.9.4,结果升级后宝塔弹出 libk5crypto.so.3: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b 再后来就是重启的话,连ssh都进不去&…

第137篇 荷兰拍卖

介绍荷兰拍卖,并通过简化版Azuki荷兰拍卖代码,讲解如何通过荷兰拍卖发售 ERC721标准的NFT。 1.荷兰拍卖 荷兰拍卖(Dutch Auction)是一种特殊的拍卖形式。 亦称“减价拍卖”,它是指拍卖标的的竞价由高到低依次递减直到第一个竞买人应价(达到或超过底价)时击槌成交的一种…

05-Java面向对象

文章目录初识面向对象面向过程&面向对象回顾方法及加深对象的创建分析创建与初始化对象构造器详解构造器-无参(默认)构造器-有参创建对象内存分析(简易)面向对象的三大特征封装封装的作用封装演示继承继承示例SuperSuper注意点super VS this方法重写…

Linux 虚拟地址空间

目录 1、一段代码引出一个问题 运行结果: 讨论: 2、Linux下进程虚拟地址空间分布 3、什么是虚拟地址空间? 4、虚拟地址出现之前:进程直接访问物理内存 5、再述虚拟地址空间 虚拟地址空间结构体是如何进行区域划分的呢&…

HTTP1.x协议详解和HTTP2.0笔记

http协议的作用就是指定两个web应用,之间的一种规则,各种特点,管道化,io多路复用,缓存,状态码,都是基于协议之间的字段,和io之间的调度来实现 HTTP的诞生 1989 年 3 月 CERN&#x…

Linux运维笔记[2]-宝塔面板

宝塔面板 宝塔Linux面板是提升运维效率的服务器管理软件,支持一键LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA等100多项服务器管理功能。 有30个人的专业团队研发及维护,经过200多个版本的迭代,功能全,少出错且足够安全,已获得全球百万用户认可安装。 openEuler安装宝塔面板…

ElasticSearch(九)【SpringBoot整合】

九、SpringBoot整合Elasticsearch 9.1 基本环境配置 创建一个springboot工程springboot-elasticsearch在pom.xml导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifac…

Kafka3.1简介及Kafka3.1部署、原理和API开发使用介绍

Kafka3.1简介及Kafka3.1部署、原理和API开发使用介绍第1章-kafka简介 1-1.消息队列简介 什么是消息队列 “消息队列”是在消息的传输过程中保存消息的容器。“消息”是在两台计算机间传送的数据单位。 英文名&#xff1a;Message Queue&#xff0c;经常缩写为MQ 可以简单理…

ElasticSearch之Kibana安装及使用

文章目录1. 安装1.11.2 上传安装包并解压1.3 生成证书1.3 修改配置1.4 修改目录拥有者1.5 启动软件1.6 使用Kibana官方介绍&#xff1a;Kibana 是一个免费且开放的用户界面&#xff0c;能够让您对 Elasticsearch 数据进行可视化&#xff0c;并让您在 Elastic Stack 中进行导航。…

[极客大挑战 2020]

[极客大挑战 2020]Roamphp1-Welcome 已进入页面&#xff0c;以为是这道题的环境不对&#xff0c;可是查看f12竟然有东西&#xff0c;然后查一下405 请求方式有误&#xff0c;比如应该用GET请求方式的资源&#xff0c;用了POST 改为post请求方式&#xff0c;出现源码&#xff…

django的settings配置详解

1.介绍 BASE_DIR 默认值&#xff1a;os.path.dirname(os.path.dirname(os.path.abspath(__file__)))。 这个是Django项目文件夹所在目录得绝对路径DEBUG DEBUG 默认值是True。 在本地开发测试环境下设置DEBUGTrue可以显示bug信息&#xff0c;便于开发者找出代码错误所在。 当…

微服务介绍以及远程调用

简介 什么是微服务 微服务是对传统单体服务进行业务拆分&#xff0c;拆分成多个独立的服务。微服务包括服务集群、服务网关、注册中心、配置中心、消息队列、分布式日志服务、系统监控和链路追踪、分布式缓存、分布式搜索、数据库、 Jenkins持续集成服务器以及Docker web自动打…

ECCV2022细粒度图像检索SEMICON代码学习记录

代码链接&#xff1a;GitHub - aassxun/SEMICON 环境配置 # 创建&激活虚拟环境 conda create -n semicon python3.8.5 conda activate semicon# 安装相关依赖包 (该 pytorch 为无 gpu 版本) conda install pytorch1.10.0 torchvision0.11.1 torchaudio0.10.0 cpuonly -c …

你还不会判定表和因果图法的概念及运用?一篇文章教会你

文章末尾给大家准备了大量福利 前言 等价类边界值分析法大家应该都比较熟悉&#xff0c;这两种方法主要针对单个输入类条件的测试&#xff0c;对于输入条件存在关联组合的情况则无法覆盖。如果需要对输入条件进行组合测试&#xff0c;那么就得好好来了解下判定表和因果图法了…

SouthMap平台版省去了安装CAD的诸多麻烦,集成在国产ZWCAD2022平台解决了此瓶颈!!!

SouthMap for ZWCAD2022OEM授权&#xff0c;提取码&#xff1a;6666https://pan.baidu.com/s/1HL-KeGg06Yu7mMFq39QS_A 我们在安装一些行业软件的时候&#xff0c;包括安装和使用过SouthMap时&#xff0c;遇到的第一个拦路虎就是安装AutoCAD&#xff01;虽然AutoCAD功能强大&a…

yolov5 create_dataloader原码及解析

创建数据集的调用关系 create_dataloader&#xff08;…&#xff09;----->LoadImagesAndLabels&#xff08;…&#xff09; create_dataloader part 1 : 参数 def create_dataloader(path,imgsz,batch_size,stride,single_clsFalse,hypNone,augmentFalse,cacheFalse,pad…