espressif / arduino-esp32

Arduino core for the ESP32
GNU Lesser General Public License v2.1
13.52k stars 7.39k forks source link

could not visit camera server by browser in android/iphone #8333

Closed iorichina closed 1 year ago

iorichina commented 1 year ago

Board

AI Thinker ESP32-CAM

Device Description

ESP-32S Module

Hardware Configuration

no

Version

v1.0.6

IDE Name

Arduino IDE

Operating System

android, iOS (iphone)

Flash frequency

80MHz

PSRAM enabled

yes

Upload speed

115200

Description

Using samples of CameraWebServer with arduino-esp32 1.0.6 . Setting to board AI Thinker ESP32-CAM. CPU 240MHz Flash 80MHz QIO. The WebServer Index Page is work well in windows 10/7. But I can't visit the page by browsers in android/iphone with error ADDRESS_UNREACHABLE. I think the network/wifi is ok, cause I can visit another page by browsers in android/iphone which openresty started as server in windows 10. How should I know is the hareware fault or the network broken?

Sketch

#include "esp_camera.h"
#include <WiFi.h>

#include "camera_pins.h"

const char* ssid = "*********";
const char* password = "*********";

#define CAMERA_MODEL_AI_THINKER // Has PSRAM

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

Debug Message

.....
WiFi connected
Starting web server on port: '80'
Starting stream server on port: '81'
Camera Ready! Use 'http://192.168.155.35' to connect
MJPG: 6618B 42ms (23.8fps), AVG: 42ms (23.8fps), 0+0+0+0=0 0
MJPG: 7201B 51ms (19.6fps), AVG: 46ms (21.7fps), 0+0+0+0=0 0
MJPG: 6827B 15ms (66.7fps), AVG: 36ms (27.8fps), 0+0+0+0=0 0
MJPG: 7200B 37ms (27.0fps), AVG: 36ms (27.8fps), 0+0+0+0=0 0

Other Steps to Reproduce

Arduino IDE -> File -> Samples -> ESP32 -> Camera -> CameraWebServer Arduino IDE -> Tools -> Boards -> ESP32 Arduino -> AI Thinker ESP32-CAM Replace the ssid and password. Upload. Visit.

I have checked existing issues, online documentation and the Troubleshooting Guide

iorichina commented 1 year ago

QQ截图20230619233002

me-no-dev commented 1 year ago

1.0.6 is no longer supported. Please use 2.0.9

iorichina commented 1 year ago

1.0.6 is no longer supported. Please use 2.0.9

I do upgrade to 2.0.9 but it didnot work. I wanna know how it work on you guys android/iphone with esp32-cam, thanks aaaaaaaa

iorichina commented 1 year ago

rst:0x8 (TG1WDT_SYS_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:1 load:0x3fff0030,len:1184 load:0x40078000,len:13220 ho 0 tail 12 room 4 load:0x40080400,len:3028 entry 0x400805e4