最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ESP32CAM攝像頭圖像實(shí)時(shí)傳輸?shù)呐渲迷斀?/h1>
 更新時(shí)間:2022年05月20日 10:32:21   作者:我與nano  
這篇文章主要介紹了ESP32CAM攝像頭圖像實(shí)時(shí)傳輸,本文通過截圖示例代碼相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

ESP32CAM

前言

配好環(huán)境過了好久了,之前一直因?yàn)橐粋€(gè)庫(kù)找不到,今天放棄了,用了別的方法

一、環(huán)境配置

環(huán)境配置看我之前的博客就可以了。

二、視頻傳輸

使用一個(gè)usb轉(zhuǎn)ttl連接esp32-cam:(切記一定要將io0接gnd)

1.代碼

在您的Arduino IDE中,轉(zhuǎn)到文件>示例> ESP32 >相機(jī)并打開CameraWebServer示例:。

#include "esp_camera.h"
#include <WiFi.h>
//
// WARNING!!! PSRAM IC required for UXGA resolution and high JPEG quality
//            Ensure ESP32 Wrover Module or other board with PSRAM is selected
//            Partial images will be transmitted if image exceeds buffer size
//
// Select camera model
#define CAMERA_MODEL_WROVER_KIT // Has PSRAM
//#define CAMERA_MODEL_ESP_EYE // Has PSRAM
//#define CAMERA_MODEL_M5STACK_PSRAM // Has PSRAM
//#define CAMERA_MODEL_M5STACK_V2_PSRAM // M5Camera version B Has PSRAM
//#define CAMERA_MODEL_M5STACK_WIDE // Has PSRAM
//#define CAMERA_MODEL_M5STACK_ESP32CAM // No PSRAM
//#define CAMERA_MODEL_AI_THINKER // Has PSRAM
//#define CAMERA_MODEL_TTGO_T_JOURNAL // No PSRAM
#include "camera_pins.h"
const char* ssid = "*********";
const char* password = "*********";
void startCameraServer();
void setup() {
  Serial.begin(115200);
  Serial.setDebugOutput(true);
  Serial.println();
  camera_config_t config;
  config.ledc_channel = LEDC_CHANNEL_0;
  config.ledc_timer = LEDC_TIMER_0;
  config.pin_d0 = Y2_GPIO_NUM;
  config.pin_d1 = Y3_GPIO_NUM;
  config.pin_d2 = Y4_GPIO_NUM;
  config.pin_d3 = Y5_GPIO_NUM;
  config.pin_d4 = Y6_GPIO_NUM;
  config.pin_d5 = Y7_GPIO_NUM;
  config.pin_d6 = Y8_GPIO_NUM;
  config.pin_d7 = Y9_GPIO_NUM;
  config.pin_xclk = XCLK_GPIO_NUM;
  config.pin_pclk = PCLK_GPIO_NUM;
  config.pin_vsync = VSYNC_GPIO_NUM;
  config.pin_href = HREF_GPIO_NUM;
  config.pin_sscb_sda = SIOD_GPIO_NUM;
  config.pin_sscb_scl = SIOC_GPIO_NUM;
  config.pin_pwdn = PWDN_GPIO_NUM;
  config.pin_reset = RESET_GPIO_NUM;
  config.xclk_freq_hz = 20000000;
  config.pixel_format = PIXFORMAT_JPEG;
  
  // if PSRAM IC present, init with UXGA resolution and higher JPEG quality
  //                      for larger pre-allocated frame buffer.
  if(psramFound()){
    config.frame_size = FRAMESIZE_UXGA;
    config.jpeg_quality = 10;
    config.fb_count = 2;
  } else {
    config.frame_size = FRAMESIZE_SVGA;
    config.jpeg_quality = 12;
    config.fb_count = 1;
  }
#if defined(CAMERA_MODEL_ESP_EYE)
  pinMode(13, INPUT_PULLUP);
  pinMode(14, INPUT_PULLUP);
#endif
  // camera init
  esp_err_t err = esp_camera_init(&config);
  if (err != ESP_OK) {
    Serial.printf("Camera init failed with error 0x%x", err);
    return;
  }
  sensor_t * s = esp_camera_sensor_get();
  // initial sensors are flipped vertically and colors are a bit saturated
  if (s->id.PID == OV3660_PID) {
    s->set_vflip(s, 1); // flip it back
    s->set_brightness(s, 1); // up the brightness just a bit
    s->set_saturation(s, -2); // lower the saturation
  }
  // drop down frame size for higher initial frame rate
  s->set_framesize(s, FRAMESIZE_QVGA);
#if defined(CAMERA_MODEL_M5STACK_WIDE) || defined(CAMERA_MODEL_M5STACK_ESP32CAM)
  s->set_vflip(s, 1);
  s->set_hmirror(s, 1);
#endif
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
  startCameraServer();
  Serial.print("Camera Ready! Use 'http://");
  Serial.print(WiFi.localIP());
  Serial.println("' to connect");
}
void loop() {
  // put your main code here, to run repeatedly:
  delay(10000);
}

在上傳代碼之前,您需要在以下變量修改可以連接的wifi:

const char* ssid = “REPLACE_WITH_YOUR_SSID”;

const char* password = “REPLACE_WITH_YOUR_PASSWORD”;

然后,確保選擇正確的相機(jī)模塊。我使用的是AI-THINKER模型。

因此,請(qǐng)注釋所有其他模型,并取消注釋該模型:

// Select camera model
//#define CAMERA_MODEL_WROVER_KIT // Has PSRAM
//#define CAMERA_MODEL_ESP_EYE // Has PSRAM
//#define CAMERA_MODEL_M5STACK_PSRAM // Has PSRAM
//#define CAMERA_MODEL_M5STACK_V2_PSRAM // M5Camera version B Has PSRAM
//#define CAMERA_MODEL_M5STACK_WIDE // Has PSRAM
//#define CAMERA_MODEL_M5STACK_ESP32CAM // No PSRAM
#define CAMERA_MODEL_AI_THINKER // Has PSRAM
//#define CAMERA_MODEL_TTGO_T_JOURNAL // No PSRAM

要上傳代碼,請(qǐng)按照以下步驟操作:

1)轉(zhuǎn)到工具>主板,然后選擇AI-Thinker ESP32-CAM。

2)進(jìn)入工具>端口,選擇ESP32連接的COM端口。

3)然后,點(diǎn)擊上傳按鈕上傳代碼。

不久之后就會(huì)上傳成功,如果上傳不成功或者連接不了,請(qǐng)確認(rèn)接線是否正確,是否將io0連接gnd

2.獲得網(wǎng)址

通過串口可以獲得網(wǎng)址,將網(wǎng)址粘貼到瀏覽器即可,注意一定要和你的電腦在同一局域網(wǎng)下

到此這篇關(guān)于ESP32CAM攝像頭圖像實(shí)時(shí)傳輸?shù)奈恼戮徒榻B到這了,更多相關(guān)ESP32CAM圖像實(shí)時(shí)傳輸內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++?LeetCode0538二叉搜索樹轉(zhuǎn)換累加樹示例

    C++?LeetCode0538二叉搜索樹轉(zhuǎn)換累加樹示例

    這篇文章主要為大家介紹了C++?LeetCode0538二叉搜索樹轉(zhuǎn)換累加樹示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • C++實(shí)現(xiàn)學(xué)校運(yùn)動(dòng)會(huì)管理系統(tǒng)

    C++實(shí)現(xiàn)學(xué)校運(yùn)動(dòng)會(huì)管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)學(xué)校運(yùn)動(dòng)會(huì)管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • C語(yǔ)言 CRITICAL_SECTION用法案例詳解

    C語(yǔ)言 CRITICAL_SECTION用法案例詳解

    這篇文章主要介紹了C語(yǔ)言 CRITICAL_SECTION用法案例詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • C++中vector的用法實(shí)例解析

    C++中vector的用法實(shí)例解析

    這篇文章主要介紹了C++中vector的用法,詳細(xì)描述了vector的各種常見的用法及注意事項(xiàng),需要的朋友可以參考下
    2014-08-08
  • 如何配置?Sublime?Text4為?C++?編輯器

    如何配置?Sublime?Text4為?C++?編輯器

    這篇文章主要介紹了配置Sublime Text4為C++編輯器,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • c++訪問修飾符與繼承關(guān)系詳解

    c++訪問修飾符與繼承關(guān)系詳解

    C++提供了三個(gè)修飾符來限定類成員的被訪問權(quán)限,分別是public、protected、private,通過限定訪問權(quán)限,可以達(dá)到程序編寫者想要解決的安全問題和權(quán)限問題,本文給大家介紹c++訪問修飾符與繼承關(guān)系,感興趣的朋友一起看看吧
    2023-10-10
  • Qt實(shí)現(xiàn)柵格布局效果

    Qt實(shí)現(xiàn)柵格布局效果

    這篇文章主要為大家詳細(xì)介紹了Qt實(shí)現(xiàn)柵格布局效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • C語(yǔ)言左旋轉(zhuǎn)字符串與翻轉(zhuǎn)字符串中單詞順序的方法

    C語(yǔ)言左旋轉(zhuǎn)字符串與翻轉(zhuǎn)字符串中單詞順序的方法

    這篇文章主要介紹了C語(yǔ)言左旋轉(zhuǎn)字符串與翻轉(zhuǎn)字符串中單詞順序的方法,給出了相關(guān)的兩道算法題目作為例子,需要的朋友可以參考下
    2016-02-02
  • C語(yǔ)言冒泡排序算法代碼詳解

    C語(yǔ)言冒泡排序算法代碼詳解

    大家好,本篇文章主要講的是C語(yǔ)言冒泡排序算法代碼詳解,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • C語(yǔ)言非遞歸后序遍歷二叉樹

    C語(yǔ)言非遞歸后序遍歷二叉樹

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言非遞歸后序遍歷二叉樹,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10

最新評(píng)論

阜宁县| 呼图壁县| 泌阳县| 鄂伦春自治旗| 伊宁市| 四川省| 剑河县| 社会| 徐州市| 蕉岭县| 五峰| 腾冲县| 宜宾市| 姚安县| 德保县| 沂水县| 历史| 翼城县| 鸡泽县| 太保市| 新民市| 三穗县| 霍邱县| 新源县| 沾化县| 松溪县| 怀柔区| 淅川县| 屏东县| 通化县| 衡阳县| 阿合奇县| 桐梓县| 广宗县| 恩施市| 达尔| 双鸭山市| 荣昌县| 巴里| 安陆市| 吴堡县|