OpenEdv-开源电子网
标题: 使用esp32搭建无线图传(二) [打印本页]
作者: 天耀中华 时间: 2023-6-29 19:50
标题: 使用esp32搭建无线图传(二)
1.1、首先通过thonny软件下载mircopython的固件
thonny软件下载链接:https://thonny.org/
esp32的驱动下载链接:
https://doc.itprojects.cn/0006.zhishi.esp32/01.download/esp32usbDriver.zip
具体操作流程如下
1.1.1、首先找到 运行-->配置解释器
1.1.2、选定Micropython(ESP32)和端口
1.1.3、选择micropython的固件,进行安装,此时esp32cam的IO0端口短接到GND,esp32-cam此时进入下载模式
1.4、将esp32cam的IO0和GND的短接线去掉,点击thonny软件视图-->文件,然后点击Stop,出现如下界面说明固件安装成功
二、无线图传软件开发首先将IO0端口与地线断开(不连接),使得esp32进入调试模式
2.2、Esp32部分的代码
import camera
import network
import socket
import time
#连接wifi
wlan=network.WLAN(network.STA_IF)
wlan.active(True)
if not wlan.isconnected():
print('connected tonetwork......')
wlan.connect('WIFI名字','WIFI密码')
while not wlan.isconnected():
pass
print("网络配置:",wlan.ifconfig())
#摄像头初始化
try:
camera.init(0,format=camera.JPEG)
print("初始化成功")
except Exception as e:
print("初始化失败")
camera.deinit()
camera.init(0,format=camera.JPEG)
#图像设置
# 上翻下翻
camera.flip(1)
#左/右
camera.mirror(1)
#分辨率
# 选项如下:
# FRAME_96X96FRAME_QQVGA FRAME_QCIF FRAME_HQVGA FRAME_240X240
#FRAME_QVGA480*640 FRAME_CIF FRAME_HVGA 320*480 FRAME_VGA 240*320 FRAME_SVGA
# FRAME_XGAFRAME_HD FRAME_SXGA FRAME_UXGA FRAME_FHD
# FRAME_P_HDFRAME_P_3MP FRAME_QXGA FRAME_QHD FRAME_WQXGA
# FRAME_P_FHDFRAME_QSXGA
camera.framesize(camera.FRAME_HVGA)
#特效
#选项如下:
# 效果\无(默认)效果\负效果\ BW效果\红色效果\绿色效果\蓝色效果\复古效果
# EFFECT_NONE(default) EFFECT_NEG \EFFECT_BW\ EFFECT_RED\ EFFECT_GREEN\ EFFECT_BLUE\EFFECT_RETR
camera.speffect(camera.EFFECT_NONE)
#白平衡,选项如下
# WB_NONE(default) WB_SUNNY WB_CLOUDY WB_OFFICE WB_HOME
camera.whitebalance(camera.WB_NONE)
#饱和度 -2,2(默认为0)
camera.saturation(0)
#亮度 -2,2(默认为0)
camera.brightness(0)
#对比度 -2,2(默认为0)
camera.contrast(0)
#质量 10-63 数字越小,质量越好
camera.quality(10)
#socket UDP的创建
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM,0)
#s.bind((wlan.ifconfig()[0],9090)) #连接Wifi后将获取的IP地址进行绑定
#data,IP=s.recvfrom(1024)#接收客服端的消息和IP地址
try:
while True:
buf=camera.capture()#获取图像数据
s.sendto(buf,("IP ",9090)) #向服务器发送数据,这是的地址是电脑的IP地址
time.sleep(0.1)
except:
pass
finally:
camera.deinit()
s.sendto(buf,("IP ",9090))该处IP地址的获取
2.3、PC端的代码
import cv2
import io
from PIL import Image
import numpy as np
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM,0)
s.bind(("0.0.0.0",9090)) 绑定你电脑上的所有IP地址,如果电脑有多个IP地址,数据都接收
while True:
data,IP=s.recvfrom(100000)
bytes_stream=io.BytesIO(data)
image=Image.open(bytes_stream)
img=np.asarray(image)
img=cv2.cvtColor(img,cv2.COLOR_RGB2BGR)
cv2.imshow("esp_video",img)
if cv2.waitKey(1)==ord("q"):
break
点击运行时,会出现如下报错
当点击运行的时候,会出现OSErrror:Camera Init Failed;这是需要按一下esp32_cam的复位。
2.4、代码固化
Esp32上电执行boot.py代码
作者: 天耀中华 时间: 2024-1-14 23:13
有的时候,esp32-cam即使刷新了固件,依然会出现“Device is busy or does not respond”,这个时候,可以将IDO与GND拆开,然后,重新插入USB口。此外,厂家配套的串口下载芯片可能不是CH340,这时候可以使用手头的USB转TTL进行程序下载
作者: 天耀中华 时间: 2024-1-14 23:15
当固件刷新后,仍然无法下载的时候,参考链接:https://blog.csdn.net/original14/article/details/132111281
作者: 天耀中华 时间: 2024-1-14 23:49
https://blog.csdn.net/m0_50614038/article/details/129330560
作者: 天耀中华 时间: 2024-1-15 10:48
有的时候,手机热点怎么都无法链接成功,这个时候考虑,将手机的热点频段,切换为2.4G就可以了。esp32_cam配置网络的连接:https://blog.csdn.net/weixin_45020839/article/details/106385604
| 欢迎光临 OpenEdv-开源电子网 (http://47.111.11.73/) |
Powered by Discuz! X3.4 |