eps32+micro python+ wifi UDP方式接收和发送数据

参考王铭东 老师的教程

https://www.itprojects.cn/coursecenter-hardware.html

软件+硬件  @  MicroPython+ESP32相关@课件@五、PC远程控制ESP32 LED灯

增加功能: 接收到无效指令,返回提示信息

 

# 整体流程
# 1. 链接wifi
# 2. 启动网络功能(UDP)
# 3. 接收网络数据
# 4. 处理接收的数据import socket
import time
import network
import machinedef do_connect():wlan = network.WLAN(network.STA_IF)wlan.active(True)if not wlan.isconnected():print('connecting to network...')wlan.connect('dongfeiqiu', 'wangmingdong1225')# 输入wifi热点账号和密码i = 1while not wlan.isconnected():print("正在链接...{}".format(i))i += 1time.sleep(1)print('network config:', wlan.ifconfig())def start_udp():# 2. 启动网络功能(UDP)# 2.1. 创建udp套接字udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 2.2. 绑定本地信息udp_socket.bind(("0.0.0.0", 7788))return udp_socketdef main():# 1. 链接wifi
    do_connect()# 2. 创建UDPudp_socket = start_udp()# 3. 接收网络数据while True:recv_data, sender_info = udp_socket.recvfrom(1024)print("{}发送{}".format(sender_info, recv_data))try:# 错误信息处理recv_data_str = recv_data.decode("utf-8")print(recv_data_str)except Exception as ret:print("error:", ret)continue# 4. 处理接收的数据if recv_data_str == "light on":print("这里是要灯亮的代码...")#led.value(1)elif recv_data_str == "light off":print("这里是要灯灭的代码...")#led.value(0)else: #返回错误提示msg ="please input light on or light off"#  输入对方的ip地址dest_ip = sender_info[0]#  输入对方的portdest_port = int(sender_info[1])#  发送数据udp_socket.sendto(msg.encode("utf-8"), (dest_ip, dest_port))if __name__ == "__main__":main()

 

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

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

相关文章

《深入理解Mybatis原理》MyBatis初始化机制详解

主要构件及其相互关系 主要构件:主要的核心部件解释如下:SqlSession: 作为MyBatis工作的主要顶层API,表示和数据库交互的会话,完成必要数据库增删改查功能 Executor:MyBatis执行器,是MyBatis 调度的核心,负责SQL语句的生成和查询缓存的维护 StatementHandler: 封装了J…

Docker安装与配置

由于格式和图片解析问题,为了更好的阅读体验,可以前往 阅读原文为什么出现Docker?传统的开发和部署存在着许多环境和配置的不兼容的问题,docker就是将环境和代码统一打包的来解决这些兼容问题。Docker是一个统一了运行环境和配置问题的虚拟容器技术,是一个内核级虚拟技术。…

读数据保护:工作负载的可恢复性22DR运行手册

DR运行手册1. 购买DR软件 1.1. 自行选购DR软件,意味着你可以把它安装到你自己所管理的服务器上1.1.1. 服务器可能是实体机1.1.2. 能是你所拥有的(或你向云平台购买的)虚拟机1.2. 必须全面负责它们的安保工作1.2.1. 任何一个安保疏失,都是你的责任1.2.2. 必须确保硬件、操作…

使用canvas把图片变成圆角

在前端开发中,你可以使用HTML的<canvas>元素来将图片变成圆角。以下是一个简单的步骤指南:准备HTML结构:<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content=&q…

OpenCL设备端并行执行内核

OpenCL设备端并行执行内核 Vortex存储库的tests/OpenCL目录中有OpenCL测试程序。OpenCL程序分为主机代码[cc|cpp]和设备代码kernel.cl。 OpenCL通过在设备端并行执行内核来加快速度。在tests/opencl/sgemm中的代码作为一个具体的例子。代码经过了轻微修改,使差异更加清晰。 1)…

两本新书《智能汽车传感器:原理设计应用》《AI芯片开发核心技术详解》推荐

两本书推荐《AI芯片开发核心技术详解》、《智能汽车传感器:原理设计应用》由清华大学出版社资深编辑赵佳霓老师策划编辑的新书《AI芯片开发核心技术详解》已经出版,京东、淘宝天猫、当当等网上,相应陆陆续续可以购买。该书强力解析AI芯片的核心技术开发,内容翔实、知识点新…

字符串编码(ASCII, GBK, ANSI, Unicode(‘u‘), UTF-8编码)(转载)

GBK编码 GBK编码专门用来解决中文编码的,是双字节的。不论中英文都是双字节的。 由于ASCII编码不支持中文,因此,当中国人用到计算机时,就需要寻求一种编码方式来支持中文。于是,国人就定义了一套编码规则【版权声明】本篇文章以征得博主同意,再行转载。 出自【hxxjxw】 原…

致我最爱的你

IFC数据解析与渲染,施工进度自动生成与施工方案导出##############################QQ 3087438119

12.26 MapReduce初级编程实践3

(三)对给定的表格进行信息挖掘 下面给出一个child-parent的表格,要求挖掘其中的父子辈关系,给出祖孙辈关系的表格。 输入文件内容如下:child parent Steven Lucy Steven Jack Jone Lucy Jone Jack Lucy Mary Lucy …

12.27 熟悉Hive的基本操作

1.实验目的 (1)理解Hive作为数据仓库在Hadoop体系结构中的角色。 (2)熟练使用常用的HiveQL。 2.实验平台 操作系统:Ubuntu18.04(或Ubuntu16.04)。 Hadoop版本:3.1.3。 Hive版本:3.1.2。 JDK版本:1.8。 3.数据集 由《Hive编程指南》(OReilly系列,人民邮电出版社)提供…

12.23 NoSQL和关系数据库的操作比较

1.实验目的 (1)理解四种数据库(MySQL、HBase、Redis和MongoDB)的概念以及不同点; (2)熟练使用四种数据库操作常用的Shell命令; (3)熟悉四种数据库操作常用的Java API。 2.实验平台 (1)操作系统:Linux(建议Ubuntu16.04或Ubuntu18.04); (2)Hadoop版本:3.1.3; (…