esp32cam远程监控(局域网的组成)

ESP32-CAM实现局域网/远程视频传输手上这个ESP32-CAM买回来已经放了一个学期了,最近才开始玩,试了试用它来实现视频传输。局域网的视频传输比较简单,基本能正确把例程烧进去就可以了,这篇文章主要记录一下远程视频传输的实现。ESP32-CAM实现局域网/远程视频传输ESP32-CAM实现局域网/远程视频传输方法一:PlatfromIO例程+路由器内网穿透条件1.直接使用Platfr…

大家好,又见面了,我是你们的朋友全栈君。

手上这个ESP32-CAM买回来已经放了一个学期了,最近才开始玩,试了试用它来实现视频传输。局域网的视频传输比较简单,基本能正确把例程烧进去就可以了,这篇文章主要记录一下远程视频传输的实现。

方法一:Platfrom IO例程+路由器内网穿透

条件

  • 安装了Platform IO的VS Code
  • 刷了OpenWrt的路由器
  • 云服务器(可选)

1. 直接使用Platfrom IO创建工程

在这里插入图片描述

简单修改工程

  • 修改wifi名称和密码
    在这里插入图片描述
  • 修改宏定义
    在这里插入图片描述
  • 修改paltformio.ini,添加如下代码board_build.flash_mode = dout

注意事项

  • 模块要用5V供电,接板子上面的5V接口,接VCC不能正常工作
  • 要修改platfromio的flash mode为dout,不然模块会不停重启

2. 编译烧写

烧写完成后,重启模块,用串口工具看输出信息,连接上wifi后,浏览器输入http://192.168.x.x就可以看到操作界面了。(注意在同一个局域网)
在这里插入图片描述
东西还是有点多的,可以玩一下,就是感觉发热有点厉害。

3. 配置路由器实现内网穿透

路由器穿透的插件有很多,我主要试了frp和ddnsto。

frp

可以参考文档
简单来说就是在服务器上运行一个frps程序,然后在路由器上配置相应的信息,启用frp。
我的配置信息:
服务器端:

  [common]
  bind_port = 7252
  token = 马赛克
  dashboard_addr = 0.0.0.0
  dashboard_port = 7500
  dashboard_user = xxxx
  dashboard_pwd = xxxx

路由器端:

[common]
server_addr = 马赛克
server_port = 7252
token = 马赛克
[esp32cam]
type = tcp
local_ip = esp32cam的ip地址
local_port = 80
remote_port = 7001

路由器截图:
在这里插入图片描述

ddnsto

这个方法设置很简单,也可以不用自己的服务器,参考帖子
访问时可能会报错Header fields are too long for server to interpret,可以尝试更换浏览器(我换成edge就好了),或者试着修改代码:
在这里插入图片描述

使用体验

这两种内网穿透方法的速度都很快,跟局域网差别不大,只是发现只能传图像,不能传视频(应该是代码的问题,还没搞明白?)。

方法二:ESP-IDF +Nabto

官方项目和教程

这个是github上的一个项目,也有比较详细的教程。?

注意事项

虽然根据官方的教程和代码,虽然有修改为AI Thinker的接线方式,可是还是会报错:

E (1582) ledc: requested frequency and duty resolution can not be achieved, try reducing freq_hz or duty_resolution. div_param=3
E (1592) camera_xclk: ledc_timer_config failed, rc=ffffffff
I (1602) sccb: pin_sda 26 pin_scl 27

I (1602) gpio: GPIO[32]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
E (1662) camera: Detected camera not supported.
E (1662) camera: Camera probe failed with error 0x20004
E (1662) app_camera: Camera init failed with error 0x20004

解决方法参考这里,在xclk.c添加一行代码timer_conf.clk_cfg = LEDC_USE_APB_CLK;

        ledc_timer_config_t timer_conf;
        timer_conf.duty_resolution = 2;
        timer_conf.freq_hz = config->xclk_freq_hz;
		timer_conf.speed_mode = LEDC_HIGH_SPEED_MODE;
		timer_conf.timer_num = config->ledc_timer;
		timer_conf.clk_cfg = LEDC_USE_APB_CLK;
		esp_err_t err = ledc_timer_config(&timer_conf);
		if (err != ESP_OK) { 
   
			ESP_LOGE(TAG, "ledc_timer_config failed, rc=%x", err);
			return err;
		}

实现效果

串口输出
在这里插入图片描述
app显示
在这里插入图片描述

软件下载

这里要用到一个app,上Google Play不方便的话,可以从这里下载(我明明设置了免积分的!!),或者百度云,提取码 qe8q。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/128898.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 博客日记

    博客日记博客日记 一直想搭建好自己的网站,可是都没有坚持下去。可能对于自己时没有压力的创作,或者是说在自己觉得不好创作的时候直接一把删除是很放松的,这也导致了我从2019年开始弄到现在一个网站也没有坚持下来,就是因为自己的感受到的*删库*的成本太低了,哈哈没有办法,现在重新开始买了服务器买了域名,去备案,结果确实自己的备案被驳回来了,原因就是我的备案信息不正确。。。腾讯的客服回电话说的是比对没有任何问题,但是就是信息比对不正确,我也很迷。现在要重新备案,惨淡的八九天又要来了,不知道粤局

  • encode和decode的用法_postal

    encode和decode的用法_postaldecode和encode的区别和介绍by.decode(encoding=’UTF-8′,errors=’strict’)str.encode(encoding=’UTF-8′,errors=’strict’)显而易见decode是解码,encode是编码 解码代表bytes类型转成str类型 编码代表str类型转成bytes类型 而bytes类型的数据一般在写入文件时需要用到1#!/usr/bin/envpython2#-*-coding:utf-8-…

  • string转JSONObject遍历多层找到key的value

    string转JSONObject遍历多层找到key的value先上代码packagecom.zhph;/***@Description:*@Author:xuhaibo*@Date:${Date}*@ModifiedBy:*/importnet.sf.json.JSONArray;importnet.sf.json.JSONObject;importjava.util.Iterator;/****@compa

  • 开发一个属于自己的app

    开发一个属于自己的app

  • 如何关闭开启硬件加速[通俗易懂]

    如何关闭开启硬件加速       硬件加速是windwos一个图像显示优化功能。它会使计算机图像显示更快速,但在某些游戏、软件里面如果开启硬件加速,会导致黑屏或影像无法正常显示问题,这个时候就应该关闭这个功能了。Windows7方法/步骤  首先是开启电脑,并返回到桌面(CTRL+D)  在桌面空白处点击击鼠标右键→选择属性→点击设置选项卡→在点击高级命令按钮→在单…

  • 贴片铝电容识别及型号_2.贴片电容和贴片铝电解的封装材质型号大全

    贴片铝电容识别及型号_2.贴片电容和贴片铝电解的封装材质型号大全1.贴片电容的封装及容值表示多层片式陶瓷电容器(MLCC)贴片电容封装贴片电容由于制造时受“高温烧结”工艺限制,所以本体上不能标注其容量,一般都是在贴片生产的整盘上有标注。容量识别:104=10×10^4PF=100000PF=100NF=0.1UF471=47×10^1PF=470PF原则1:以PF为基本单位,1法拉(F)=1000毫法(mF)=1000000微法(μF)1微法(μF)=…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号