那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用ESP32攝像頭模塊構(gòu)建簡(jiǎn)單的CCTV安全攝像頭

科技觀察員 ? 來(lái)源:electroschematics ? 作者:electroschematics ? 2024-02-11 11:54 ? 次閱讀

我們將向您展示如何使用 ESP32 攝像頭模塊構(gòu)建自己的簡(jiǎn)單 CCTV安全攝像頭。從修改硬件連接到編碼功能和啟用遠(yuǎn)程訪問(wèn),加入我們的分步教程,打造經(jīng)濟(jì)高效且可定制的監(jiān)控解決方案。

我們需要構(gòu)建這些部件的組件是:

ESP32 凸輪

FTDI編程

跳線

亞克力切割身體部位

Micro-SD

ESP32 攝像頭模組

ESP32 相機(jī)是由樂鑫科技開發(fā)的一款功能強(qiáng)大、用途廣泛的微控制器,以其雙核處理能力、內(nèi)置 Wi-Fi藍(lán)牙功能以及豐富的 GPIO
引腳陣列而聞名,使其成為各種物聯(lián)網(wǎng)應(yīng)用的首選。其雙核架構(gòu)允許同時(shí)執(zhí)行任務(wù),從而能夠高效處理復(fù)雜的操作。

之前,我們已經(jīng)使用 ESP32 攝像頭模組構(gòu)建了智能考勤系統(tǒng)和口罩檢測(cè)系統(tǒng),如果您有興趣,可以查看這兩個(gè)項(xiàng)目。

ESP32 攝像頭模組

ESP32 攝像頭模組引腳排列

ESP32 CAM 模組通常具有引腳排列,其中包括各種 GPIO 引腳,可實(shí)現(xiàn)多功能連接。

ESP32 攝像頭模組引腳排列

通常,它包括電源和接地引腳、用于相機(jī)的 GPIO 引腳、用于存儲(chǔ)擴(kuò)展的 SD 卡插槽、用于串行通信UART 引腳以及可用于各種用途的通用 GPIO
引腳,例如 I2C 或 SPI
通信、數(shù)字輸入/輸出,或用于與傳感器和執(zhí)行器連接。此外,它還通常包括用于啟用閃存、控制相機(jī)以及促進(jìn)啟動(dòng)和復(fù)位等編程模式的引腳。

FTDI 模塊引腳排列

FTDI模塊也稱為(Future Technology Devices International)模塊。

FTDI 模塊引腳排列

它通常用于 USB 到串行通信,通常具有包括以下引腳排列:

RXD(接收數(shù)據(jù)):這是FTDI芯片從外部設(shè)備接收數(shù)據(jù)的地方。

TXD(傳輸數(shù)據(jù)):從FTDI芯片傳輸?shù)酵獠吭O(shè)備的數(shù)據(jù)通過(guò)此引腳發(fā)送出去。

CTS(清除發(fā)送):也與硬件流控制有關(guān),此引腳向 FTDI 芯片指示外部設(shè)備已準(zhǔn)備好接收數(shù)據(jù)。

DTR(數(shù)據(jù)終端就緒):此引腳通常用于復(fù)位或控制外部設(shè)備。

5V 或 3.3V:根據(jù)模塊的不同,它提供 5 伏或 3.3 伏的電源輸出。

GND(接地):接地引腳為模塊提供參考電壓。

搭建 ESP32 DIY 監(jiān)控?cái)z像頭的分步教程

現(xiàn)在,在您獲得相關(guān)信息后,讓我們逐步了解該項(xiàng)目的制作過(guò)程: -

a) 設(shè)置開發(fā)環(huán)境:

安裝 Arduino IDE。

將 ESP32 開發(fā)板添加到 Arduino
IDE。復(fù)制以下鏈接“https://espressif.github.io/arduino-esp32/package_esp32_index.json”,并將其粘貼到“文件》首選項(xiàng)”》其他板管理器中的新行中。

將 ESP32 開發(fā)板添加到 Arduino IDE

從 tools》boards》manage 庫(kù)中安裝 ESP32 攝像頭模組所需的庫(kù),并在搜索欄中輸入“esp32”,然后通過(guò) expressif
安裝庫(kù)。

ESP32 庫(kù)安裝

b) 接線:

FTDI 模組與 ESP32 CAM 的接線非常簡(jiǎn)單。

ESP32 CAM 電路圖

將 ESP32 CAM 的 Vcc 連接到 FTDI 的 5V 引腳。將 ESP32 CAM 的 GND 連接到 FTDI 的 GND。將 ESP32
CAM 的 RX 引腳連接到 FTDI 的 TX 引腳。將 ESP32 CAM 的 TX 引腳連接到 FTDI 的 RX 引腳。將 GPIO0 連接到
GND,以便您可以在 ESP32 中上傳代碼。

c) 如何使用 Arduino IDE 對(duì) ESP32 CAM 進(jìn)行編程?

安裝 ESP32 開發(fā)板后,進(jìn)入工具》開發(fā)板》ESP32 Arduino 和 Select Ai thinker ESP32 Cam 開發(fā)板。

使用 Arduino IDE 對(duì) ESP32 CAM 進(jìn)行編程

完成后,轉(zhuǎn)到文件》示例》ESP32》相機(jī) Web 服務(wù)器并打開代碼

您需要在命令前面添加 // 并將其從 #define CAMERA_MODEL_AI_THINKER 中刪除 #define
CAMERA_MODEL_ESP_EYE。

ESP32 Web 服務(wù)器代碼

接下來(lái),將“hotspot”和“hotspotpassword”字符串替換為手機(jī)的熱點(diǎn)ssid和密碼,然后上傳代碼。

熱點(diǎn)SSID已上傳

d) 在瀏覽器上測(cè)試

獲取串行監(jiān)視器的 IP 地址,然后將其寫入您的移動(dòng)瀏覽器。

完成后,按開始流選項(xiàng),您將看到相機(jī)饋送。

e) 外殼設(shè)計(jì)和組裝

我想讓設(shè)計(jì)盡可能簡(jiǎn)單易行。因此,我用了一張簡(jiǎn)單的圖表紙作為相機(jī)的主體。如果你想要一個(gè)更耐用的身體。.您也可以使用PVC管或3D打印外殼。

附件 - 圖表紙

對(duì)于前板和后板,我使用了onshape并對(duì)其進(jìn)行了設(shè)計(jì),然后進(jìn)行了激光切割。

前面板和后面板

然后,我們將 esp32 凸輪組裝到外殼中,這就是最終項(xiàng)目的樣子。

ESP32 項(xiàng)目最終外觀

//Code for ESP32 CCTV Security Camera 


#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

//

//            You must select partition scheme from the board menu that has at least 3MB APP space.

//            Face Recognition is DISABLED for ESP32 and ESP32-S2, because it takes up from 15 

//            seconds to process single frame. Face Detection is ENABLED if PSRAM is enabled as well


// ===================

// Select camera model

// ===================

//#define CAMERA_MODEL_WROVER_KIT // Has PSRAM

//#define CAMERA_MODEL_ESP_EYE // Has PSRAM

//#define CAMERA_MODEL_ESP32S3_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_M5STACK_UNITCAM // No PSRAM

#define CAMERA_MODEL_AI_THINKER // Has PSRAM

//#define CAMERA_MODEL_TTGO_T_JOURNAL // No PSRAM

//#define CAMERA_MODEL_XIAO_ESP32S3 // Has PSRAM

// ** Espressif Internal Boards **

//#define CAMERA_MODEL_ESP32_CAM_BOARD

//#define CAMERA_MODEL_ESP32S2_CAM_BOARD

//#define CAMERA_MODEL_ESP32S3_CAM_LCD

//#define CAMERA_MODEL_DFRobot_FireBeetle2_ESP32S3 // Has PSRAM

//#define CAMERA_MODEL_DFRobot_Romeo_ESP32S3 // Has PSRAM

#include "camera_pins.h"


// ===========================

// Enter your WiFi credentials

// ===========================

const char* ssid = "ssid";

const char* password = "password";


void startCameraServer();

void setupLedFlash(int pin);


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_sccb_sda = SIOD_GPIO_NUM;

  config.pin_sccb_scl = SIOC_GPIO_NUM;

  config.pin_pwdn = PWDN_GPIO_NUM;

  config.pin_reset = RESET_GPIO_NUM;

  config.xclk_freq_hz = 20000000;

  config.frame_size = FRAMESIZE_UXGA;

  config.pixel_format = PIXFORMAT_JPEG; // for streaming

  //config.pixel_format = PIXFORMAT_RGB565; // for face detection/recognition

  config.grab_mode = CAMERA_GRAB_WHEN_EMPTY;

  config.fb_location = CAMERA_FB_IN_PSRAM;

  config.jpeg_quality = 12;

  config.fb_count = 1;

  

  // if PSRAM IC present, init with UXGA resolution and higher JPEG quality

  //                      for larger pre-allocated frame buffer.

  if(config.pixel_format == PIXFORMAT_JPEG){

    if(psramFound()){

      config.jpeg_quality = 10;

      config.fb_count = 2;

      config.grab_mode = CAMERA_GRAB_LATEST;

    } else {

      // Limit the frame size when PSRAM is not available

      config.frame_size = FRAMESIZE_SVGA;

      config.fb_location = CAMERA_FB_IN_DRAM;

    }

  } else {

    // Best option for face detection/recognition

    config.frame_size = FRAMESIZE_240X240;

#if CONFIG_IDF_TARGET_ESP32S3

    config.fb_count = 2;

#endif

  }


#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

  if(config.pixel_format == PIXFORMAT_JPEG){

    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


#if defined(CAMERA_MODEL_ESP32S3_EYE)

  s- >set_vflip(s, 1);

#endif


// Setup LED FLash if LED pin is defined in camera_pins.h

#if defined(LED_GPIO_NUM)

  setupLedFlash(LED_GPIO_NUM);

#endif


  WiFi.begin(ssid, password);

  WiFi.setSleep(false);


  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() {

  // Do nothing. Everything is done in another task by the web server

  delay(10000);

}

審核編輯:陳陳

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 攝像頭模塊
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    3302
  • ESP32
    +關(guān)注

    關(guān)注

    18

    文章

    978

    瀏覽量

    17524
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    esp32是如何與攝像頭連接的呢?

    新手。看了esp32的模組中沒有攝像頭的硬件接口,請(qǐng)問(wèn)它是如何與攝像頭連接的呢
    發(fā)表于 06-28 15:01

    回收蘋果攝像頭 收購(gòu)蘋果攝像頭

    回收蘋果攝像頭 收購(gòu)蘋果攝像頭回收蘋果攝像頭,大量收購(gòu)蘋果攝像頭!!! 帝歐電子 趙先生 TEL:135-3012-2202 QQ:879821252 帝歐電子專業(yè)電子收購(gòu),現(xiàn)急購(gòu)
    發(fā)表于 12-29 18:14

    回收手機(jī)攝像頭 收購(gòu)手機(jī)攝像頭

    `回收手機(jī)攝像頭,大量收購(gòu)手機(jī)攝像頭!!! 帝歐電子 趙先生 TEL:135-3012-2202 QQ:879821252 帝歐電子專業(yè)電子收購(gòu),現(xiàn)急購(gòu)攝像頭,大量回收攝像頭!手機(jī)
    發(fā)表于 07-05 11:01

    回收手機(jī)攝像頭,收購(gòu)攝像頭芯片

    `帝歐電子趙生135-3012-2202,QQ:8798-21252長(zhǎng)期高價(jià)回收手機(jī)攝像頭,回收攝像頭芯片。 攝像頭廣泛運(yùn)用于我們的生活之中,大街上隨處可見的安防監(jiān)控,人手至少一臺(tái)的手機(jī)平板,汽車
    發(fā)表于 07-14 17:53

    如何對(duì)ESP32 AUDIO OV2640攝像頭的音頻進(jìn)行調(diào)試呢

    ESP32 AUDIO OV2640攝像頭 音頻調(diào)試日記前言一、外部PSRAM和FLASH公用CLK引腳二、外部PSRAM申請(qǐng)內(nèi)存注意二、攝像頭1.ESP32
    發(fā)表于 02-15 06:06

    esp32的模組中沒有攝像頭的硬件接口,請(qǐng)問(wèn)它是如何與攝像頭連接的呢?

    新手。看了esp32的模組中沒有攝像頭的硬件接口,請(qǐng)問(wèn)它是如何與攝像頭連接的呢
    發(fā)表于 03-13 06:28

    ESP32如何傳輸攝像頭視頻碼流?

    ESP32本身如何傳輸攝像頭視頻碼流?看到社區(qū)diy視頻,esp32本身可以使用的IO就不多,如何可以連接攝像頭呢?
    發(fā)表于 10-17 06:35

    ESP32 AUDIO OV2640攝像頭 音頻調(diào)試日記

    ESP32 AUDIO OV2640攝像頭 音頻調(diào)試日記前言一、外部PSRAM和FLASH公用CLK引腳二、外部PSRAM申請(qǐng)內(nèi)存注意二、攝像頭1.ESP32
    發(fā)表于 12-16 16:53 ?14次下載
    <b class='flag-5'>ESP32</b> AUDIO OV2640<b class='flag-5'>攝像頭</b> 音頻調(diào)試日記

    帶有ESP32的Discord安全攝像頭

    電子發(fā)燒友網(wǎng)站提供《帶有ESP32的Discord安全攝像頭.zip》資料免費(fèi)下載
    發(fā)表于 11-08 09:19 ?0次下載
    帶有<b class='flag-5'>ESP32</b>的Discord<b class='flag-5'>安全</b><b class='flag-5'>攝像頭</b>

    ESP32 CAM:遙控物體檢測(cè)攝像頭

    電子發(fā)燒友網(wǎng)站提供《ESP32 CAM:遙控物體檢測(cè)攝像頭.zip》資料免費(fèi)下載
    發(fā)表于 12-15 09:56 ?2次下載
    <b class='flag-5'>ESP32</b> CAM:遙控物體檢測(cè)<b class='flag-5'>攝像頭</b>

    基于ESP32-CAM的RSTP協(xié)議的網(wǎng)絡(luò)攝像頭

    本次介紹的程序是使用ESP32-CAM進(jìn)行圖像采集并將圖像以RTSP協(xié)議進(jìn)行無(wú)線傳輸。在同網(wǎng)絡(luò)的PC上使用軟件對(duì)攝像頭的圖像進(jìn)行拉取觀看。
    的頭像 發(fā)表于 12-15 11:39 ?4013次閱讀

    基于ESP32安全攝像頭設(shè)計(jì)

    方案介紹這是我的 DIY 安全攝像頭,它由一個(gè) ESP32 制成,它與一個(gè) 5V 充電器電路相連,該電路將 240V 交流電轉(zhuǎn)換為 5V 直流電供 ESP32 運(yùn)行。制作這個(gè)項(xiàng)目的目標(biāo)
    發(fā)表于 12-27 16:46 ?0次下載

    什么是ESP32-CAM攝像頭

    ESP32-CAM是一款基于ESP32-S2 芯片,具有攝像功能的微型模組。同時(shí)配備了OV2640 攝像頭、連接外設(shè)的GPIO,以及用于存儲(chǔ)拍攝圖像的microSD 卡。
    的頭像 發(fā)表于 02-17 11:01 ?2.4w次閱讀
    什么是<b class='flag-5'>ESP32</b>-CAM<b class='flag-5'>攝像頭</b>?

    ESP32觸屏攝像頭

    電子發(fā)燒友網(wǎng)站提供《ESP32觸屏攝像頭.zip》資料免費(fèi)下載
    發(fā)表于 06-27 14:28 ?0次下載
    <b class='flag-5'>ESP32</b>觸屏<b class='flag-5'>攝像頭</b>

    使用ESP32-S3搭建網(wǎng)絡(luò)攝像頭

    本篇博文使用ESP32-S3搭建網(wǎng)絡(luò)攝像頭,相比較局域網(wǎng)攝像頭,本篇博文將分享如何搭建外網(wǎng)可以訪問(wèn)的網(wǎng)絡(luò)攝像頭
    的頭像 發(fā)表于 09-06 12:48 ?6837次閱讀
    使用<b class='flag-5'>ESP32</b>-S3搭建網(wǎng)絡(luò)<b class='flag-5'>攝像頭</b>
    百家乐必胜打| 百家乐官网正品地址| 好运来百家乐的玩法技巧和规则| 揭秘百家乐官网百分之50| 大发888娱乐城 qq服务| 君怡百家乐官网的玩法技巧和规则| 瑞鑫棋牌下载| 战胜百家乐的技巧| 百家乐官网怎么赢9| 百家乐心得分享| 百家乐官网如何打公式| 水果机遥控| 川宜百家乐软件| 百家乐官网视频世界| 太阳城菲律宾官网| 风水24山组成| 百家乐官网隐者博客| 威尼斯人娱乐城真人赌博| 24山向方位| 百家乐官网视频中国象棋| 大发888国际娱乐场| 金城百家乐玩法平台| 百家乐官网大路小路| 德州扑克的玩法| 百家乐真人玩下载| 百家乐官网乐百家娱乐场| 立即博百家乐官网现金网| 大发888充值 在线| 玩百家乐保时捷娱乐城| 百家乐官网赌博策略大全| 富田太阳城租房| 澳门百家乐家用保险柜| 新世纪百家乐官网娱乐城| 赌博启示录| 威尼斯人娱乐场门票| 百家乐最新赌王| 百家乐官网棋牌游戏源码| 老江死了| 全讯网程序| 百家乐真人娱乐城陈小春| 豪享博百家乐官网的玩法技巧和规则 |