ESP32-Cam网络开发(2)------简单使用(micropython)

目录

一.连接网络

二. 摄像头使用

 三. Socket UDP的使用

四:Socket TCP使用


​​​​​​​

一.连接网络

import network

wlan = network.WLAN(network.STA_IF)
wlan.active(True)
if not wlan.isconnected():
    wlan.connect('familya', 'family102308')  #输入用户名和密码
    while not wlan.isconnected():
         pass
print('网络配置:', wlan.ifconfig())

1.出现IP地址或其他信息即代表成功

2.出现IP地址和其他信息即连接成功 , 如果密码或用户名错误则会一直尝试连接,不会有任何信息.

二. 摄像头使用

摄像头使用详细链接 https://github.com/lemariva/micropython-camera-driver

import camera


try:
    camera.init(0, format=camera.JPEG)
except Exception as e:
    camera.deinit()
    camera.init(0, format=camera.JPEG)

## Other settings:
# flip up side down
camera.flip(1)
# left / right
camera.mirror(1)

# framesize
camera.framesize(camera.FRAME_240X240)
# The options are the following:
# FRAME_96X96 FRAME_QQVGA FRAME_QCIF FRAME_HQVGA FRAME_240X240
# FRAME_QVGA FRAME_CIF FRAME_HVGA FRAME_VGA FRAME_SVGA
# FRAME_XGA FRAME_HD FRAME_SXGA FRAME_UXGA FRAME_FHD
# FRAME_P_HD FRAME_P_3MP FRAME_QXGA FRAME_QHD FRAME_WQXGA
# FRAME_P_FHD FRAME_QSXGA
# Check this link for more information: https://bit.ly/2YOzizz

# special effects
camera.speffect(camera.EFFECT_NONE)
# The options are the following:
# EFFECT_NONE (default) EFFECT_NEG EFFECT_BW EFFECT_RED EFFECT_GREEN EFFECT_BLUE EFFECT_RETRO

# white balance
camera.whitebalance(camera.WB_NONE)
# The options are the following:
# WB_NONE (default) WB_SUNNY WB_CLOUDY WB_OFFICE WB_HOME

# saturation
camera.saturation(0)
# -2,2 (default 0). -2 grayscale 

# brightness
camera.brightness(0)
# -2,2 (default 0). 2 brightness

# contrast
camera.contrast(0)
#-2,2 (default 0). 2 highcontrast

# quality
camera.quality(10)
# 10-63 lower number means higher quality

buf = camera.capture() #图像数据
print("图像数据长度为:",len(buf))

 三. Socket UDP的使用

1.ESP32客户端代码------(UDP)


import socket
import network

#连接wifi
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
if not wlan.isconnected():
    wlan.connect('familya', 'family102308')  #输入用户名和密码
    while not wlan.isconnected():
         pass
print('网络配置:', wlan.ifconfig())


ip = ("192.168.0.105",9090) #服务器IP地址和端口 
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM,0) #UDP的定义

#先发送后接收
s.sendto("我是ESP32客户端".encode(),ip) #向服务器发送数据,这个数据必须是 Byte类型的

data,IP = s.recvfrom(1024) #接收服务器的消息
print(data.decode())

2.服务器端查看自身IP地址

3.服务端代码------(UDP)

import socket
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM,0)
s.bind(("192.168.0.105",9090)) # 绑定IP地址和端口 填入自身IP地址
while True:
    #先接收后发送
    data,IP = s.recvfrom(1024) #接收客户端消息
    print(data.decode(),IP)
    s.sendto("您好,我是服务器".encode(),IP) #向客户端发送消息

 效果:

 

四:Socket TCP使用

esp32 TCP客户端代码

import socket
import network

#连接wifi
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
if not wlan.isconnected():
    print('connecting to network...')
    wlan.connect('family', 'family102308')
    
    while not wlan.isconnected():
        pass
print('网络配置:', wlan.ifconfig())


s = socket.socket(socket.AF_INET, socket.SOCK_STREAM,0) #TCP配置
s.connect(('192.168.0.105', 9090)) #连接到服务器IP和端口

s.send("我是ESP32客户端".encode()) #发送消息给服务器
data = s.recv(1024) #接收服务器的消息 , 接收1024个byte
print(data.decode())
s.close() #关闭socket 连接

TCP服务端代码

import socket
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM,0) #TCP配置
s.bind(("192.168.0.105",9090)) #绑定自身IP和端口
s.listen(1) #允许多少个设备接入 , 最大允许128
client_socket, clientAddr = s.accept() #获取连接的客户端

data,_ = client_socket.recvfrom(1024) #接收客户端的消息 , 接收1024个 byte
client_socket.send("您好,我是服务端".encode()) #向客户端发送消息

print(data.decode())
client_socket.close() #关闭某个socket的连接
s.close() #关闭整个Socet

 效果:

ESP32

 服务端

  • 5
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值