esp32 cam

  • 1、实现配网
    • 1.1、WiFiManager使用
  • 2、视频传输
    • 2.1 、修改代码
    • 2.2 、配网操作
    • 2.3 、查看视频

  实现功能首先默认连接代码里面写入的WiFi信息,如果连接失败,开始进行配网,将配网wifi信息 写入ROM中,下次开机自动连接。需要 源码的,可以留言。
  esp32 cam 强烈建议使用安信可原产,不建议使用非原产。原产与非原产的区别如下图,下图是原产的。并且原产的flash 是8M,非原产只有4M,示例文件自带的视频流传输可能无法编程成功。

esp32 cam Demo:https://randomnerdtutorials.com/esp32-cam-troubleshooting-guide/
Demo2:https://electronicsinnovation.com/category/esp32-projects/
Demo3:https://dronebotworkshop.com/esp32-2/

1、实现配网

  不论是esp8266还是esp32 的配网都可以使用WiFiManager 库实现。可以在管理库并搜索 WiFiManager 安装。

1.1、WiFiManager使用

导入库,实例化对象。

#include <WiFiManager.h>
WiFiManager wifiManager
while( WiFi.status()!= WL_CONNECTED ) {//等待配网if (millis() - lastWiFiCheckTick > 1000) {lastWiFiCheckTick = millis();//获取运行时间}//提示配网Serial.println("开始热点配网....");wifiManager.setConfigPortalTimeout(60);//将到期超时设置为60秒if(wifiManager.autoConnect("AutoConnectAP", "19980208")) //创建的wifi 名称和密码{// WiFi连接成功后将通过串口监视器输出连接成功信息Serial.println("");Serial.print("ESP32 Connected to ");Serial.println(WiFi.SSID());              // WiFi名称Serial.print("IP address:\t");Serial.println(WiFi.localIP());           // IPstartCameraServer();}else{Serial.println(F("Failed to connect. Reset and try again. . ."));delay(1000);//ESP.reset();}}

2、视频传输

  话不多说,使用的还是自带的示例代码,只是稍微修改了一下,加了一个配网的过程而已。

2.1 、修改代码

首先,引入库文件,实例化对象,定义一个变量来计时。

#include <WiFiManager.h> WiFiManager wifiManager;
static uint32_t lastWiFiCheckTick = 0; //定义时间变量

大概在95行左右,注释以下代码:

之后在添加配网代码:

  if (WiFi.status() != WL_CONNECTED ){Serial.println("默认WiFi连接失败");}else{Serial.println("默认WiFi连接成功 ");delay(1000);Serial.printf("Heap size:%d\r\n", ESP.getFreeHeap());Serial.println("");Serial.println("WiFi connected");}while( WiFi.status()!= WL_CONNECTED ) {//等待配网if (millis() - lastWiFiCheckTick > 1000) {lastWiFiCheckTick = millis();//获取运行时间}//提示配网Serial.println("开始热点配网....");wifiManager.setConfigPortalTimeout(60);//将到期超时设置为60秒if(wifiManager.autoConnect("AutoConnectAP", "123456789")) //创建的wifi 名称和密码{// WiFi连接成功后将通过串口监视器输出连接成功信息Serial.println("");Serial.print("ESP32 Connected to ");Serial.println(WiFi.SSID());              // WiFi名称Serial.print("IP address:\t");Serial.println(WiFi.localIP());           // IPstartCameraServer();}else{Serial.println(F("Failed to connect. Reset and try again. . ."));delay(1000);//ESP.reset();}}

2.2 、配网操作

手机连接 esp32 创建的热点,进行配网操作:

配网成功:

2.3 、查看视频

配网成功之后,串口输出视频流地址。

下图是摄像头被我遮挡的效果,想要的功能基本实现:

唯一不好就是视频传输芯片发热比较严重。

esp32 cam 配网 实现视频传输相关推荐

  1. ESP32常见配网方式分析

    ESP32常见配网方式分析 SoftAP 配网 BLE 配网 Smartconfig 配网: WEB 配网: SoftAP 配网 在 SoftAP 模式下,ESP32会充当临时的 Wi-Fi 接入点. ...

  2. ESP32存储配网信息+LED显示配网状态+按键清除配网信息(附源码)

    文章目录 1.非易失性存储库(NVS)(知识点内容照抄 荻夜文章) 2.增加LED表示状态和按键重新配网 2.1LED表示联网的状态 2.2 按键清除配网信息,并重启系统,再次配网 3.将存储.LED ...

  3. 图文手把手教程--ESP32 一键配网(Smartconfig、Airkiss)

    本文内容 1)使用smart_config例程,使用乐鑫ESPTouch APP或者微信公众号配网. 2)修改smart_config例程,使ESP32复位后,如果已配过网,则不再进行配网,而是直接连 ...

  4. 网络安全之ENC1应用内/外网音视频传输完全隔离方案

    网络安全之ENC1应用内/外网音视频传输完全隔离方案 大家好,又见面了,前两天某客户买了ENC1两台,在支持的过程中,居然发现原来还能这样用,看来ENC1不火都不行啊. 随着计算机技术的飞速发展,信息 ...

  5. 验证可用的ESP32/8266配网方式,开源代码,web配网,smartconfig配网

    web配网 设备内做了个小web服务器通过网页交换SSID和PWD.这个方式比较友好,不依赖外部app或小程序,保密性更好,产品可用性更好(苹果等个别手机不能打开配网页面可直接浏览器登陆192.168 ...

  6. ESP32一键配网------smartconfig

    本文内容 使用smart_config例程,使用乐鑫ESPTouch APP或者微信公众号配网. 主流WiFi配网方式介绍 1) SoftAP配网 ESP32 会建立一个 WiFi 热点(AP模式), ...

  7. 【工程师有空了】安信可ESP8266系列及ESP32系列模组AT指令实现网页配网---又多了一个配网方式

    文章目录 前言 AT指令介绍: 配网原理 一.实验准备 可能你还要用到: 二.编译固件 三.开启配网 四.常见问题 1.AT固件烧录不显示 "ready" 2.显示配网失败 3.除 ...

  8. ESP32使用Smartconfig和Airkiss配网方式连接无线路由器

    1. ESP32的配网方式 1.1 前言 ESP32模块在实际使用时,可能需要连接不同的网络,如果将无线的 ssid 和 key 预先固定好,就回存在很大的局限性:所以我们引入了"空中配网技 ...

  9. 树莓派+android things+实时音视频传输demo之遥控小车

    做了个测试小车,上面安装了摄像头,通过外网进行视频传输: https://www.bilibili.com/video/av23817880/ 转载于:https://www.cnblogs.com/ ...

最新文章

  1. Android国际化(多语言)实现,支持8.0
  2. linux u盘分区 mdev 卸载问题,嵌入式linux 实现mdev SD卡和U盘自动挂载和卸载的方法 mdev.conf...
  3. Asp.net中的HttpModule和HttpHandler的简单用法
  4. linux 脚本 变量为空,Shell判断一个变量是否为空
  5. C++读写注册表的问题
  6. BZOJ2843 极地旅行社 LCT
  7. 西安工程大学计算机是几本专业,西安工程大学专业介绍
  8. php连接云数据库服务器,服务器使用PHP连接sqlserver数据库
  9. netty 使用阻塞发送_「解」互联网大厂Java面试题——Netty 面试题解析
  10. 手摸手教你阅读和调试大型开源项目 ZooKeeper
  11. d2crub学习2 算合计
  12. 面试案例-String Interpolation的实现(Java实现)
  13. 2021-06-16 srm平台电子化采购的优势
  14. 用python画简单的图形
  15. JS 获取第一个和最后一个,子节点、子元素
  16. ExtCertPathValidatorException: Could not validate certificate: null
  17. 订阅切换按钮(subscribe toggle button)
  18. 【刷题笔记4】木棍组成三角形问题(斐波那契数列)
  19. android studio 7200u,#本站首晒# 多图杀猫 华为MateBook X上手体验
  20. 细分市场-$APPEALS方法简述

热门文章

  1. 内容营销的思维方式 阿胜说
  2. 安徽大学计算机系统作业答案4,安徽大学计算机教学部试题及标准答案
  3. 大数据开发第一站ODS篇
  4. linux ps 源代码,【linux】ps(示例代码)
  5. 史上最牛的五次******
  6. 图表嵌入到数据表格下方_Excel中进行图表下方显示数据表的操作技巧
  7. 【2021】网络协议从入门到底层原理-MJ【新】附上下载链接
  8. HTML5 Canvas编写五彩连珠(6):试玩
  9. 根据邮箱地址怎么知道服务器,如何通过技术手段判断邮件地址来源
  10. 适合写笔记的文本笔记管理工具——Keep It for Mac!