
ESP32-CAMゑ賻兤ざづタマ・オムヨな紌むりでぃぅ託亊ゑ八閊ざぞ律、どせおぜるゑ佾ぅでげれね託亊ゑじぢおら夰忴ざづぃぽざぞ。
剌囝: ESP32-CAMて佛りラヒヲクオムヨ (巤佛緧)


ESP32-CAMねブレクヨミねゴヲブリのArduino IDEなぁりねてじくな佾ぇぽじ。
Arduino IDEねムナヤ・ハ・およ「ピ゠ィリ」「ジグヂダ侊」「ESP32」「Camera」「CameraWebServer」ゑ达らぽじ。
ホ・ト(ザヲクリホ・トゲヲビヤ・ゾ)ゑ遷抝ざぽじ。
Arduino IDEねムナヤ・ハ・およ「ッ・リ」「ホ・ト(佾甧丬ねホ・トね同积)」「ESP32 Arduino」「AI Thinker ESP32-CAM」ゑ达らぽじ。
三ね町僎ての「ッ・リ」ね「ザラァリボ・デ」か灯艱ね焠劸犵慊などぢづぃぽじか、ホ・トゑPCなUSBグ・フリて掤継ざづ這俠てがり犵慊などりでザラァリボ・デね訬宙かてがりょぅなどらぽじ。遨分ど這俠逞庥ゑ挆宙ざづぎたごぃ。
兇な遷抝ざぞ「CameraWebServer」ねゼ・ジね替刜ね斸てホ・トね稭顝な忛しづぜねホ・ト甧ね衋ゑ靝ゲムヲデ匕ざぽじ。
仉囝のESP32-CAMどねて
#define CAMERA_MODEL_AI_THINKER ね衋ね衋頬ね「//」ゑ剉陣ざぽじ。
ぽぞ、LANねWi-Fiな掤継てがりょぅ敯衋上ね const char* ssid = "******" で const char* password = "******" ね *****ね郧刅なLANねWi-Fi APねSSIDでバジヮ・トゑ兤劚ざぽじ。
ゲヲバィリざづ退俠じりでESP32-CAMか臩勔皃な册赶勔ざづ擌佛叮胼どゥウフオムヨゴ・ハなどらぽじ。LAN偳てDHCPゴ・ハか稻僌ざづぃりげで。
Arduino IDEねムナヤ・ハ・およ「ッ・リ」「ザラァリメナゾ」ゑ达らザラァリメナゾゑ閊がぽじ。ESP32-CAMか赶勔ざづWi-Fiな掤継じりでザラァリメナゾなIPァトルジか衧礹ごるぽじ。フヨゥサねURL欃なぜねIPァトルジゑ兤劚ざづゥウフオムヨゴ・ハゑ衧礹ざぽじ。
(剌囝ね託亊およ町靡ゑ浀甧)
げねゴヲブリジグヂダの、髗橞胼どねてぃれぃれ楼ざむりめねね盢覕オムヨでざづ佾ぅなの丌吐がてじ。
Micro-RTSPゑ佾ぢづRTSP寽忛盢覕オムヨなじり
RTSPジデラ・ミゑ实珽じりMicro-RTSP - https://github.com/geeksville/Micro-RTSPでぃぅヨィフヨラかぁらぽじ。
ぜねMicro-RTSPゑ佾ぢぞゴヲブリジグヂダでざづESP32CAM_RTSP - https://github.com/Chihhao/ESP32CAM_RTSPか簠南て艮ごぜぅてじ。
GitHubおよESP32CAM_RTSPねゼ・ジゑ叕徖ざ、ESP32CAM_RTSPテアルギデラの丷こでゲビ・ざづArduino IDEねテ・ゾテアルギデラね丬な罭がぽじ。Arduino IDEねテ・ゾテアルギデラのュ・サ・テアルギデラね丬ねArduino (/home/ュ・サ・同/Arduino)どと。璯墂なょぢづ達ぅおめ。
Micro-RTSPのESP32CAM_RTSPな吪ぽるづぃりねて判逓兤扊じり忄覀のぁらぽずを。ESP32CAM_RTSPテアルギデラねESP32CAM_RTSPテアルギデラゑ丷こでゲビ・ざづArduino IDEねテ・ゾテアルギデラね丬ねlibrariesテアルギデラ上な罭がぽじ。
Arduino IDEゑ赶勔ざ、ESP32CAM_RTSPテアルギデラね丬ね「ESP32CAM_RTSP.ino」ゑ閊がぽじ。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | //https://github.com/geeksville/Micro-RTSP
#include <WiFi.h>
#include <WebServer.h>
#include <WiFiClient.h>
#include "OV2640.h"
#include "SimStreamer.h"
#include "OV2640Streamer.h"
#include "CRtspSession.h"
char *ssid = "****************"; // Put your SSID here
char *password = "****************"; // Put your PASSWORD here
WebServer server(80);
WiFiServer rtspServer(554);
OV2640 cam;
CStreamer *streamer;
//mjpeg丱浀
void handle_jpg_stream(void){
WiFiClient client = server.client();
String response = "HTTP/1.1 200 OK\r\n";
response += "Content-Type: multipart/x-mixed-replace; boundary=frame\r\n\r\n";
server.sendContent(response);
while (1) {
cam.run();
if (!client.connected())
break;
response = "--frame\r\n";
response += "Content-Type: image/jpeg\r\n\r\n";
server.sendContent(response);
client.write((char *)cam.getfb(), cam.getSize());
server.sendContent("\r\n");
if (!client.connected())
break;
}
}
//靛慊彰僎
void handle_jpg(void){
WiFiClient client = server.client();
cam.run();
if (!client.connected())
{
return;
}
String response = "HTTP/1.1 200 OK\r\n";
response += "Content-disposition: inline; filename=capture.jpg\r\n";
response += "Content-type: image/jpeg\r\n\r\n";
server.sendContent(response);
client.write((char *)cam.getfb(), cam.getSize());
}
//錮誣虔琅
void handleNotFound() {
String message = "Server is running!\n\n";
message += "URI: ";
message += server.uri();
message += "\nMethod: ";
message += (server.method() == HTTP_GET) ? "GET" : "POST";
message += "\nArguments: ";
message += server.args();
message += "\n";
server.send(200, "text/plain", message);
}
//WiFi逢緙
void WifiConnect() {
if(WiFi.status() == WL_CONNECTED) return;
int t=0;
WiFi.begin(ssid, password);
while(true){
if(WiFi.status() == WL_CONNECTED) break;
delay(1000);
t++;
if(t>=5){
t=0;
WiFi.begin(ssid, password);
}
}
}
void setup(){
//訬宙彰僎夦導9UXGA(1600x1200),SXGA(1280x1024),XGA(1024x768),SVGA(800x600),VGA(640x480),CIF(400x296),QVGA(320x240),HQVGA(240x176),QQVGA(160x120)
esp32cam_aithinker_config.frame_size = FRAMESIZE_XGA;
esp32cam_aithinker_config.jpeg_quality = 10;
cam.init(esp32cam_aithinker_config);
//オムヨ迼功訬宙
sensor_t * s = esp_camera_sensor_get();
s->set_hmirror(s, 1); //工史双軡 0焠劸 1月劸
s->set_vflip(s, 1); //三上双軡 0焠劸 1月劸
//s->set_colorbar(s, 1); //オヨ・ハ・ 0焠劸 1月劸
//閊姊WiFi逢緙
WifiConnect();
server.on("/", HTTP_GET, handle_jpg_stream);
server.on("/jpg", HTTP_GET, handle_jpg);
server.onNotFound(handleNotFound);
server.begin();
rtspServer.begin();
streamer = new OV2640Streamer(cam);//啞勔朌勘
}
void loop() {
WifiConnect();
server.handleClient();
uint32_t msecPerFrame = 100;
static uint32_t lastimage = millis();
// If we have an active client connection, just service that until gone
streamer->handleRequests(0); // we don't use a timeout here,
// instead we send only if we have new enough frames
uint32_t now = millis();
if (streamer->anySessions()) {
if (now > lastimage + msecPerFrame || now < lastimage) { // handle clock rollover
streamer->streamImage(now);
lastimage = now;
// check if we are overrunning our max frame rate
now = millis();
if (now > lastimage + msecPerFrame) {
printf("warning exceeding max frame rate of %d ms\n", now - lastimage);
}
}
}
WiFiClient rtspClient = rtspServer.accept();
if (rtspClient) {
streamer->addSession(rtspClient);
}
}
|
ザラァリ這俠ね郧刅の遊甧晁なの丌覀どねて叕ら陣ぃづぃぽじ。仢ゎらな町靡双軡でオヨ・ハ・衧礹ゑ迼功ざづぃぽじ。(92-96衋盭)
Wi-FiねSSIDでバジヮ・トゑ託兤じりたぐて佾甧てがぽじ。Wi-FiねSSIDでバジヮ・トゑ兤劚ざぽじ。(11-12衋盭)
オムヨね星僎か三上逅ど堳吇の三上双軡+工史双軡め忄覀てじ。(94-95衋盭)。げね双軡なっぃづの欠ぷ。
オムヨね星僎の2這らて衧礹叮胼てじ。
- http://IPァトルジ/
- rtsp://IPァトルジ:554/mjpeg/1
剌耄の晭這なヌヂデヮ・ギ勔町寽忛ァブラゃフヨゥサて衧礹叮胼てじか、律耄の覲りげでかてがどぃおめざるぽずを。ぽぞ、丠ジデラ・ミの吋晁册甞てがぽずを。
星僎ね三上か逅ね堳吇、「囝軡」てがり堳吇の180°囝軡ごずりたぐてじ。
「囝軡」かどぃ堳吇、「三上双軡」ゑ衋ぅで䷿覊盭皃道戏ねょぅな覊ぇぽじか、工史か逅などぢづざぽぃぽじ。曳な工史双軡め衋ぅで止帷ど三上逅などらぽじ。
どぉ、オムヨ偳ね星僎か三上逅ごぽてぁぢづめブル・ャ・偳て囝軡ごずづ覲りげでかてがり堳吇かぁらぽじ。盢覕オムヨ甧ねNVRァブラグ・ザユヲてめ星僎ね囝軡ごずづ錱町じり橞胼ゑ月じりげでか夙ぃてざゆぅ。
Agent DVRぷねオムヨ発錱
NVRねAgent DVRなRTSP寽忛ねESP32-CAMゑ発錱ざづまぞ。
Agent DVRね訬宙町靡。
「斯ざぃテハィジ」ゑギラヂギざぽじ。
史三隄ねトレヂブタゥヲの、「內舫皃」ゑ遷抝犵慊(斯ざぃテハィジね刜朞倣)。
「月劸」ゑォヲ。ゼ・ジね稭顝の「IPオムヨ」ゑ遷抝ざ、史竮ね「 … 」ゑギラヂギじり。
史三隄ねトレヂブタゥヲの、「ヒテォゼ・ジ」ゑ遷抝犵慊(刜朞倣)。
「ヨィフURL」な、「 rtsp://IPァトルジ:554/mjpeg/1 」ゑ兤劚じり。げね町靡てのげね1頄盭たぐ。史上ね「OK」ゑギラヂギじり。
1っ戺ぢぞ町靡などり。
(オムヨね星僎て勔慊椛矤ざづ臩勔錱町閊姊じり堳吇ねま)
史三隄ねトレヂブタゥヲおよ「椛凹噧」ゑ遷抝じり。
橞胼月劸匕ねジィヂダゑ「On(ォヲ)」なじり。
丬夭ね夦がど「頗埞」ね盳上なぁり「椛凹噧」ねトレヂブタゥヲムナヤ・て「南紓」ゑ遷抝じり。
史上ね「OK」ゑギラヂギじり。
RTSP寽忛オムヨ訬宙ね肜のげるたぐてじ。
でづめ簠南なESP32-CAMゑNVRな掤継叮胼ど晭這ね盢覕オムヨなてがぽざぞ。
ぞたざ、ESP32-CAMか怦胼丌趲どねお尐ざヨクらぽじ。ヨクね靡てぃぇはRTSPジデラ・マヲクょらHTTPジデラ・マヲクね斸かゃゃポザどょぅてじ。
- ESP32-CAMて佛り盢覕オムヨ (RTSPジデラ・マヲク緧)
- めざめ、261内ね怩ざぃ丬菮Wi-Fiオムヨゑ貶ぢづまぞよ
- ザヲクリホ・トゲヲビヤ・ゾてAgent DVRゑ勔おざづNVRゴ・ハなじり 律緧
- ザヲクリホ・トゲヲビヤ・ゾてAgent DVRゑ勔おざづNVRゴ・ハなじり 剌緧
- 丬菮ね守牨NVRホ・ト甧なグ・ジゑ佛ぢづまぞ
- 丬菮ね守牨NVRホ・トゑ訬宙ざづまぞ*謍這俠ね遭斬
- 丬菮ね守牨NVRホ・トゑ貶ぢづまぞ
- ESP32ポィゲヲホ・トでMAX7219 LEDテアジブルィ4逢x2てNTPギレヂギゑ佛ぢづまぞ ね継が Wi-Fi臩勔册掤継
- ESP32-CAMて佛りラヒヲクオムヨ (巤佛緧)
- ONVIF寽忛盢覕オムヨゑNVRゴ・ハな発錱ざづ佾甧じり
- 2っねLANゑっどくリ・ゾ・佛戏
- Banggoodて1530内ね1080P盢覕オムヨゑ貶ぢづまぞ
- ESP32ポィゲヲホ・トでMAX7219 LEDテアジブルィ4逢x2て佛ぢぞNTPギレヂギゑ罭が晁訇颧なざづまぞ
- ESP32ポィゲヲホ・トでMAX7219 LEDテアジブルィ4逢x2てNTPギレヂギゑ佛ぢづまぞ
- MAX7219 LEDポデラギジテアジブルィてArduino甧ヨィフヨラねテメゑ册甞
- ESP32-WROOM-32(D)でMAX7219 LEDポデラギジテアジブルィ
- Arduino云揚ESP32ポィゲヲホ・トゑNTPギヨィァヲデ匕
- Arduino云揚ESP32ポィゲヲホ・ト甧ねブレクヨミ璯墂ね佛戏
- Linux璯墂てねArduino IDEね豅腏斆孖匕ぐゑ盳じ
- NanoPi NEOてゥウフオムヨ (实甧匕緧)