nabto / nabto-esp32cam Goto Github PK
View Code? Open in Web Editor NEWRemote P2P accessible ESP32 based camera
Remote P2P accessible ESP32 based camera
Hello guys, I was just wondering, if I dont want to tunnel and only show the camera running on RTOS, what pieces could I take out?
HI,
I changed the pin configuration as below to test with ESP32cam.
#define CAM_PIN_PWDN -1 //power down is not used
#define CAM_PIN_RESET 15
#define CAM_PIN_XCLK 27
#define CAM_PIN_SIOD 25
#define CAM_PIN_SIOC 23
#define CAM_PIN_D7 19
#define CAM_PIN_D6 36
#define CAM_PIN_D5 18
#define CAM_PIN_D4 39
#define CAM_PIN_D3 5
#define CAM_PIN_D2 34
#define CAM_PIN_D1 35
#define CAM_PIN_D0 17
#define CAM_PIN_VSYNC 22
#define CAM_PIN_HREF 26
#define CAM_PIN_PCLK 21
and got error message while booting.
D (987) camera: Searching for camera address
D (1007) camera: Detected camera at address=0x3c
D (1017) camera: Camera PID=0xff VER=0xff
E (1017) camera: Detected camera not supported.
E (1017) camera: Camera probe failed with error 0x20004
Do I need to make any other change in the source?
The weird thing is below code works well with Arduino IDE.
#include "esp_camera.h"
#define CAM_PIN_PWDN -1 //power down is not used
#define CAM_PIN_RESET 15 //software reset will be performed
#define CAM_PIN_XCLK 27
#define CAM_PIN_SIOC 23
#define CAM_PIN_SIOD 25
#define CAM_PIN_HREF 26
#define CAM_PIN_PCLK 21
#define CAM_PIN_D7 19
#define CAM_PIN_D6 36
#define CAM_PIN_D5 18
#define CAM_PIN_D4 39
#define CAM_PIN_D3 5
#define CAM_PIN_D2 34
#define CAM_PIN_D1 35
#define CAM_PIN_D0 17
#define CAM_XCLK_FREQ 10000000
#define CAMERA_LED_GPIO 16
#define CAM_PIN_VSYNC 22
void setup() {
Serial.begin(115200);
Serial.setDebugOutput(true);
Serial.println();
static camera_config_t config = {
.pin_pwdn = CAM_PIN_PWDN,
.pin_reset = CAM_PIN_RESET,
.pin_xclk = CAM_PIN_XCLK,
.pin_sscb_sda = CAM_PIN_SIOD,
.pin_sscb_scl = CAM_PIN_SIOC,
.pin_d7 = CAM_PIN_D7,
.pin_d6 = CAM_PIN_D6,
.pin_d5 = CAM_PIN_D5,
.pin_d4 = CAM_PIN_D4,
.pin_d3 = CAM_PIN_D3,
.pin_d2 = CAM_PIN_D2,
.pin_d1 = CAM_PIN_D1,
.pin_d0 = CAM_PIN_D0,
.pin_vsync = CAM_PIN_VSYNC,
.pin_href = CAM_PIN_HREF,
.pin_pclk = CAM_PIN_PCLK,
//XCLK 20MHz or 10MHz for OV2640 double FPS (Experimental)
// .xclk_freq_hz = 20000000,
.xclk_freq_hz = CAM_XCLK_FREQ,
.ledc_timer = LEDC_TIMER_0,
.ledc_channel = LEDC_CHANNEL_0,
.pixel_format = PIXFORMAT_JPEG,//YUV422,GRAYSCALE,RGB565,JPEG
.frame_size = FRAMESIZE_VGA,//QQVGA-QXGA Do not use sizes above QVGA when not JPEG
.jpeg_quality = 10, //0-63 lower number means higher quality
.fb_count = 2 //if more than one, i2s runs in continuous mode. Use only with JPEG
};
// 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;
}
//drop down frame size for higher initial frame rate
sensor_t * s = esp_camera_sensor_get();
s->set_framesize(s, FRAMESIZE_QVGA);
Serial.printf("Camera init completed !!");
}
void loop() {
// put your main code here, to run repeatedly:
delay(10000);
}
Hey guys, just got this esp32 Ai-thinker model working today after hours of a random issue which I'll explain my solution to in the bottom here. But now it only seems to work over LAN and when I try to connect over any other network it just gives this: (using the Nabto client)
HTML device driver download failed (2000031) ---- on my phone
When I use the AMP app I get:
Cannot show video
make sure the tunnel device is configured correctly, including that it allows connections to port 8081
I did of course check in my router settings and it DOES allow ports to be automatically created. I can't seem to manually make them though which is odd. But the setting is there and works for the wireless gaming service Parsec which I can see in the list.
I attached the raw output of the make monitor whenever I reset the device, hoping it helps
As for the camera, I hope this solution can also help others.
I'm using the OV2640 camera and the pinout in the main.c setting was wrong for me at least.
I kept getting the error
E (211) camera: Detected camera not supported.
E (211) camera: Camera probe failed with error 0x20004
so after some googling I got the idea to try comparing the pinout of another example that DID work to this and I changed:
// Ai Thinker CAM 32 wiring
#define CAM_PIN_PWDN -1 //power down is not used
#define CAM_PIN_RESET 32 //software reset will be performed
to
// Ai Thinker CAM 32 wiring
#define CAM_PIN_PWDN 32 //power down is not used
#define CAM_PIN_RESET -1 //software reset will be performed
And that fixed it for me.
Sorry if I put two subjects in one post. I'm new to github stuff so I'm not sure where to post a random solution, I can happily delete this half and put it in a separate post if the mods would like me to. Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.