概要
最近买了一块esp32cam来玩了一下,发现网上现有的结合esp32cam的demo很多都是在局域网内,不能做到远距离监控,所以整合网上开源的部分代码并结合自己的知识体系来做了一个demo。
流程
内网穿透
图片传输的话最简单的就是局域网内进行,将电脑和esp32连接同一个wifi即可。但这样的话不能实现远程监控,弊端非常大。远程传输可以用自己的服务器也能用内网穿透实现,开始做这个的时候我看某些博主使用的是frp来进行内网穿透,当时就感觉挺复杂的,所以这里我就用来自己常用的内网穿透方式,使用cpolar。
cpolar下载地址
打开cpolar.exe,因为mqtt通讯协议的底层是tcp协议,然后mqtt平台默认是占用1883端口,所以我们的命令是然后我们就可以看到内网穿透后的域名和端口。
提示:保存域名和端口一会要用
esp32cam
esp32cam整合mqtt
esp32cam官方库里面是没有mqtt相关依赖的所以我们需要自己下载。
首先是连接wifi
import network
ssid='11'#wifi名
password = 'wjj200323'#密码
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(ssid, password)
然后开始下载依赖
下载成功后可以在lib文件夹看见我们下载好的依赖。
import upip
upip.install('micropython-umqtt.simple')
接下来烧录代码即可
提示:把里面的信息改成本机的,如wifi信息,域名端口填内网穿透后的
import network
from time import sleep
from machine import Pin, SPI
from umqtt