欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

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

jf_Vqngj70R ? 來(lái)源:美男子玩編程 ? 2023-09-06 12:48 ? 次閱讀

本篇博文使用ESP32-S3搭建網(wǎng)絡(luò)攝像頭,相比較局域網(wǎng)攝像頭,本篇博文將分享如何搭建外網(wǎng)可以訪問(wèn)的網(wǎng)絡(luò)攝像頭。

這主要是使用內(nèi)網(wǎng)穿透技術(shù),內(nèi)網(wǎng)穿透是為了使具有某一個(gè)特定源 IP 地址和源端口號(hào)的數(shù)據(jù)包(這里指局域網(wǎng)攝像頭)不被網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備屏蔽而正確路由到內(nèi)網(wǎng)主機(jī)。

主要流程分為兩步:

1、先實(shí)現(xiàn)局域網(wǎng)訪問(wèn)網(wǎng)絡(luò)攝像頭;

2、在此基礎(chǔ),使用內(nèi)網(wǎng)穿透的方式,搭建外網(wǎng)可訪問(wèn)的網(wǎng)絡(luò)攝像頭。

1局域網(wǎng)攝像頭

ESP32實(shí)現(xiàn)局域網(wǎng)攝像頭的方式比較簡(jiǎn)單,驅(qū)動(dòng)代碼如下:

#include "esp_camera.h"
#include


//
// 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"
#include "DFRobot_AXP313A.h"


DFRobot_AXP313A axp;


// ===========================
// Enter your WiFi credentials
// ===========================
const char* ssid = "";
const char* password = "";


void startCameraServer();
void setupLedFlash(int pin);


void setup() {
  Serial.begin(115200);
  Serial.setDebugOutput(true);
  Serial.println();


  while(axp.begin() != 0){
    Serial.println("init error");
    delay(1000);
  }


  axp.enableCameraPower(axp.eOV2640);  // 給攝像頭供電


  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);
}

代碼中有幾點(diǎn)需要注意:

1、宏定義選擇適配的攝像頭模式。

// ===================
// 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

2、無(wú)線路由器SSID和密碼要填寫(xiě)正確。

// ===========================
// Enter your WiFi credentials
// ===========================
const char* ssid = "";
const char* password = "";

3、給攝像頭供電

axp.enableCameraPower(axp.eOV2640);  // 給攝像頭供電

4、板卡需要外接天線,否則可能無(wú)法連接路由器。

編譯下載程序到板卡中,確保局域網(wǎng)訪問(wèn)網(wǎng)絡(luò)攝像頭可正常使用。

2內(nèi)網(wǎng)穿透網(wǎng)絡(luò)攝像頭

內(nèi)網(wǎng)穿透我們使用花生殼這款軟件提供的內(nèi)網(wǎng)穿透服務(wù)。

在官網(wǎng)下載APP

下載安裝完成后,在內(nèi)網(wǎng)穿透服務(wù)點(diǎn)擊新建映射,如下圖所示:

6c73a7fe-4c6a-11ee-a25d-92fbcf53809c.png

填寫(xiě)新建映射的基本信息,請(qǐng)注意內(nèi)網(wǎng)主機(jī)和內(nèi)網(wǎng)端口是局域網(wǎng)攝像頭的主機(jī)和端口(端口默認(rèn)為80),如下圖所示:

6ca0b06e-4c6a-11ee-a25d-92fbcf53809c.png

新建映射完成后,可以在APP看到新增的設(shè)備列表,如下圖所示:

6cb80426-4c6a-11ee-a25d-92fbcf53809c.png

復(fù)制訪問(wèn)網(wǎng)址,在瀏覽器中打開(kāi):http://2j90962r69.goho.co:47918/

即使不在同一個(gè)局域網(wǎng)內(nèi)也可以正常訪問(wèn)攝像頭啦。

6cc8e5de-4c6a-11ee-a25d-92fbcf53809c.png

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)注

    60

    文章

    4868

    瀏覽量

    96360
  • 局域網(wǎng)
    +關(guān)注

    關(guān)注

    5

    文章

    761

    瀏覽量

    46405
  • ip地址
    +關(guān)注

    關(guān)注

    0

    文章

    303

    瀏覽量

    17141
  • ESP32
    +關(guān)注

    關(guān)注

    18

    文章

    980

    瀏覽量

    17543

原文標(biāo)題:ESP32-S3搭建外網(wǎng)可訪問(wèn)的網(wǎng)絡(luò)攝像頭(內(nèi)網(wǎng)穿透)

文章出處:【微信號(hào):美男子玩編程,微信公眾號(hào):美男子玩編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    請(qǐng)問(wèn)ESP32-S3 USB HOST是否支持USB2.0?

    規(guī)格書(shū)介紹ESP32-S2指定USB HOST支持的USB1.1,ESP32-S3的USB HOST支持USB2.0? 請(qǐng)問(wèn)ESP32-S3 USB HOST是否支持USB2.0? 接入U(xiǎn)SB
    發(fā)表于 07-19 06:53

    請(qǐng)問(wèn)ESP32-S3攝像頭,WIFI,藍(lán)牙鍵鼠,藍(lán)牙耳機(jī)對(duì)話,SD卡,USBOTG,一路串口通訊可以同時(shí)使用嗎?

    請(qǐng)問(wèn)ESP32-S3上,攝像頭,WIFI,藍(lán)牙鍵鼠,藍(lán)牙耳機(jī)對(duì)話,SD卡,USBOTG,一路串口通訊可以同時(shí)使用嗎,最好再留5個(gè)IO輸出。
    發(fā)表于 02-15 06:03

    【FireBeetle 2 ESP32-S3開(kāi)發(fā)板體驗(yàn)】測(cè)評(píng)1_搭建開(kāi)發(fā)環(huán)境

    ,擁有16MB Flash和8MB PSRAM。搭載的ESP32-S3芯片擁有強(qiáng)大的神經(jīng)網(wǎng)絡(luò)運(yùn)算能力和信號(hào)處理能力,適用于圖像識(shí)別、語(yǔ)音識(shí)別等項(xiàng)目。 FireBeetle 2 ESP32-S3板載
    發(fā)表于 07-29 21:40

    淺談ESP32-C3ESP32-S3芯片

    ESP32-C3、ESP32-S3的發(fā)布,不僅為IOT行業(yè)提供了高性價(jià)比、穩(wěn)定、好用、安全的通訊層,支持AI加速,同時(shí)在顯示層應(yīng)用也將占有一席之地。
    發(fā)表于 04-28 10:37 ?1.9w次閱讀

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

    reset 禁用3.vsync需使能兩次三、 I2S0切換使用ES8388和攝像頭前言記錄一下ESP32-DOWD芯片音頻和攝像頭的調(diào)試
    發(fā)表于 12-16 16:53 ?14次下載
    <b class='flag-5'>ESP32</b> AUDIO OV2640<b class='flag-5'>攝像頭</b> 音頻調(diào)試日記

    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 ?4025次閱讀

    合宙ESP32-S3開(kāi)發(fā)板特性解讀

    穿越萬(wàn)水千山,奔赴與工程師朋友的約定——合宙ESP32-S3超值MCU開(kāi)發(fā)板,來(lái)了! 1 合宙ESP32-S3開(kāi)發(fā)板簡(jiǎn)介 合宙CORE-ESP32S3是基于樂(lè)鑫ESP32-S3芯片進(jìn)行
    的頭像 發(fā)表于 01-11 18:45 ?1w次閱讀

    什么是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-S3如何實(shí)現(xiàn)tcp_client和tcp_server

    /get-started/index.html#get-started-set-up-env硬件需求:Esp32-s3開(kāi)發(fā)板ESP32-S3TCP介紹傳輸控制協(xié)議(TCP
    的頭像 發(fā)表于 09-07 18:53 ?5542次閱讀
    啟明去端分享| <b class='flag-5'>ESP32-S3</b>如何實(shí)現(xiàn)tcp_client和tcp_server

    新品上市 | 合宙ESP32-S3開(kāi)發(fā)板

    穿越萬(wàn)水千山,奔赴與工程師朋友的約定——合宙ESP32-S3超值MCU開(kāi)發(fā)板,來(lái)了!1合宙ESP32-S3開(kāi)發(fā)板簡(jiǎn)介合宙CORE-ESP32S3是基于樂(lè)鑫ESP32-S3芯片進(jìn)行設(shè)計(jì)的
    的頭像 發(fā)表于 01-13 15:53 ?3354次閱讀
    新品上市 | 合宙<b class='flag-5'>ESP32-S3</b>開(kāi)發(fā)板

    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的高性能開(kāi)發(fā)板介紹

    PSRAM,可以存儲(chǔ)更多的代碼和數(shù)據(jù),模組搭載的ESP32-S3芯片擁有強(qiáng)大的神經(jīng)網(wǎng)絡(luò)運(yùn)算能力和信號(hào)處理能力,適用于圖像識(shí)別、語(yǔ)音識(shí)別等項(xiàng)目。
    的頭像 發(fā)表于 09-05 11:33 ?1.1w次閱讀
    基于<b class='flag-5'>ESP32-S3</b>的高性能開(kāi)發(fā)板介紹

    借助ESP32-S3主控MCU、ChirpLAN?小網(wǎng)關(guān)搭建網(wǎng)絡(luò)

    借助先進(jìn)的ESP32-S3主控MCU,ChirpLAN?小網(wǎng)關(guān)為您帶來(lái)前所未有的網(wǎng)絡(luò)體驗(yàn)。
    的頭像 發(fā)表于 03-14 10:02 ?1179次閱讀

    分享6個(gè)實(shí)用的ESP32-S3物聯(lián)網(wǎng)項(xiàng)目:從智能設(shè)備到安全創(chuàng)新

    的實(shí)時(shí)安全攝像頭等。 項(xiàng)目一、MutantW V2 - DIY ESP32-S3 智能手表 硬件和軟件組件: 硬件清單 1x ESP32-
    的頭像 發(fā)表于 05-17 10:15 ?965次閱讀