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代码
|