腾讯建设网站首页,wordpress英文升级为中文版,dw如何做网站界面,合肥知名网站制作公司目录
一、所需器件工具
二、客户端与服务器进行UDP通信
1、客户端代码
2、服务器端代码
3、效果展示 三、客户端拍照#xff0c;通过UDP传输到服务器进行显示
1、客户端获取图像并UDP传输
2、电脑端服务器显示图像
3、效果展示
四、代码链接 一、所需器件工具 1.ESP3…目录
一、所需器件工具
二、客户端与服务器进行UDP通信
1、客户端代码
2、服务器端代码
3、效果展示 三、客户端拍照通过UDP传输到服务器进行显示
1、客户端获取图像并UDP传输
2、电脑端服务器显示图像
3、效果展示
四、代码链接 一、所需器件工具 1.ESP32开发板开发板购买链接 二、客户端与服务器进行UDP通信 UDPUser Datagram Protocol是一种无连接的、不可靠的传输层协议它用于在计算机网络上通过数据包传输信息。 UDP通信适用于那些对数据传输延迟要求较低、可以容忍少量数据丢失的应用场景例如音频和视频流传输、实时游戏、DNS查询等。然而由于UDP不提供可靠性如果数据包在传输过程中丢失或到达顺序被打乱应用程序需要自行处理这些问题。因此在选择UDP作为通信协议时需要仔细考虑应用的需求和可能的数据丢失风险。
1、客户端代码 import socket
import network#连接wifi
wlan network.WLAN(network.STA_IF)
wlan.active(True)
if not wlan.isconnected():wlan.connect(wifi名称, wifi密码)while not wlan.isconnected():pass
print(客户端的网络参数:, wlan.ifconfig())ip (192.168.0.105,9090) #填写服务器IP地址和端口
# 创建一个UDP套接字并绑定到指定的IP地址和端口
s socket.socket(socket.AF_INET,socket.SOCK_DGRAM,0) # 创建UDP套接字#先发送后接收
s.sendto(我是ESP32-CAM客户端.encode(),ip) #向服务器发送数据,这个数据必须是 Byte类型的data,IP s.recvfrom(1024) #接收服务器的消息
print(data.decode())2、服务器端代码 import socket# 创建一个UDP套接字并绑定到指定的IP地址和端口
s socket.socket(socket.AF_INET,socket.SOCK_DGRAM,0) # 创建UDP套接字s.bind((192.168.0.105,9090)) # 绑定IP地址和端口(填入自身IP地址)while True:#先接收后发送data,IP s.recvfrom(1024) #接收客户端发来的消息print(data.decode(),IP)s.sendto(我是服务器.encode(),IP) #服务器向客户端发送消息 3、效果展示
三、客户端拍照通过UDP传输到服务器进行显示 ESP32-CAM是一款基于ESP32芯片的摄像头模块搭载了OV2640传感器支持高达2百万像素的图像分辨率。它能够拍摄静态图像和简单的视频并支持JPEG编码和解码具备microSD卡存储能力。该模块适用于监控、物联网、教育和娱乐等多个应用领域。 OpenCV是计算机视觉中经典的专用库其支持多语言、跨平台功能强大。OpenCV-Python为OpenCV提供了Python接口使得使用者在Python中能够调用C/C在保证易读性和运行效率的前提下实现所需的功能。 参考链接
1、客户端获取图像并UDP传输 通过ESP32-CAM获取JPEG的图像数据流具体代码实现方法ESP32图像数据获取:http://t.csdn.cn/zdLhi。然后通过UDP通信把数据传输到服务器端服务器获取到数据后对数据进行处理。 import socket
import network
import time
import cam#连接wifi
wlan network.WLAN(network.STA_IF)
wlan.active(True)if not wlan.isconnected():wlan.connect(HUAWEI APL, APL84365170) #输入用户名和密码while not wlan.isconnected():passprint(客户端的网络参数:, wlan.ifconfig())ip (192.168.3.111,9090) #服务器IP地址和端口
# 创建一个UDP套接字并绑定到指定的IP地址和端口
s socket.socket(socket.AF_INET,socket.SOCK_DGRAM,0) # 创建UDP套接字while True:buf cam.camera.capture() #获取图像数据流s.sendto(buf,ip) #向服务器发送图像数据流time.sleep(0.1) #延时0.1秒2、电脑端服务器显示图像 这段Python程序是一个基于UDP协议的图像接收和显示应用。它通过创建一个UDP socket绑定到本地IP地址和端口实时接收从指定IP地址发送过来的图像数据然后将数据解码为图像并在窗口中显示。用户可以通过按下键盘上的q键来退出程序。 # 导入必要的模块
import socket # 用于网络通信
import cv2 # 计算机视觉库用于图像处理
import io # 用于处理流数据
from PIL import Image # 用于处理图像数据
import numpy as np # 用于进行数值计算 # 创建一个UDP套接字并绑定到指定的IP地址和端口
s socket.socket(socket.AF_INET, socket.SOCK_DGRAM, 0) # 创建UDP套接字
s.bind((192.168.3.111, 9090)) # 绑定IP地址和端口(填入自身IP地址)# 进入主循环等待接收数据
while True:data, IP s.recvfrom(100000) # 从套接字接收数据最多接收100000字节的数据 bytes_stream io.BytesIO(data) # 将接收到的二进制数据转换为字节流 image Image.open(bytes_stream) # 从字节流中打开图像 img np.asarray(image) # 将图像转换为NumPy数组 # 将颜色通道从BGR转换为RGB因为OpenCV读取图像为BGR格式而我们通常使用的为RGB格式 img_rgb cv2.cvtColor(img, cv2.COLOR_BGR2RGB) cv2.imshow(12, img_rgb) # 显示图像窗口名称为12 # 如果按下q键则退出循环 if cv2.waitKey(1) ord(q):cv2.destroyAllWindows() # 关闭所有打开的窗口break 3、效果展示 四、代码链接
代码下载链接https://download.csdn.net/download/qq_26043945/88368391