Camara espia barata

Cámara espía barata de 11 USD ESP32 Cam

En este tutorial vamos a crear una cámara espía barata de 11 USD y además podremos ver nuestra cámara desde cualquier parte del mundo desde nuestro celular con estos sencillos pasos:

Requerimientos de nuestra camara espia barata:

Primero debemos comprar nuestra camara espia existen muchos modelos en el mercado pero yo recomiendo esp32-cam que puedes comprar desde este link:

esp32-cam-wifi

O la pudes buscar por tu cuenta y se mira asi:

image
esp32-cam frente
image 1
esp32-cam atras

Ademas requerimos un modulo para cargar el programa a nuestra camara el cual lo podemos comprar aqui:

modulo-programador-adaptador-esp32-cam

image 2
Modulo Programador Adaptador Esp32 Cam Mb Arduino Carga

Y finalmente un cable V8 para conectar la camara a nuestra computadora (este lo podemos comprar en cualquier papeleria)

image 3
cable V8

Software

Ahora vamos a instalar arduino desde este link https://www.arduino.cc/en/software

Tutorial para instalar arduino IDE: Instalar arduino

Una vez instalado vamos a Archivo -> Preferencias

image 6
Archivo -> Preferencias

Pegamos este link en la ventana de preferencias https://dl.espressif.com/dl/package_esp32_index.json

image 7
ventana de preferencias

Vamos a Herramientas -> Placa: “Arduino” -> Gestor de tarjetas

image 5
Menu Gestor de tarjetas

Buscamos esp-32 e instalamos la versión 1.0.4

image 9
Gestor de tarjetas

Ahora vamos a Herramientas-> Placa -> ESP32-> AI Thinker ESP32-CAM

image 8
Menu AI Thinker ESP32-CAM

Vamos a Archivo -> Ejemplos -> ESP32->Camera->CameraWebServer

image 10
Ejemplo CameraWebServer

Se abrira uuna nuva ventana con codigo y la guardaremos con el nombre CameraWebServer3 o e nombre que querramos.

image 11
Guardaremos con el nombre CameraWebServer3
#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
//

// Select camera model
//#define CAMERA_MODEL_WROVER_KIT // Has PSRAM
//#define CAMERA_MODEL_ESP_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_AI_THINKER // Has PSRAM
//#define CAMERA_MODEL_TTGO_T_JOURNAL // No PSRAM

#include "camera_pins.h"

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

void startCameraServer();

void setup() {
  
  Serial.begin(115200);
  Serial.setDebugOutput(true);
  Serial.println();
  Serial.print("Entro");
  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");
}

void loop() {
  // put your main code here, to run repeatedly:
  delay(10000);
}

Editamos el código de la camara espia barata así:

image 16
Codigo editado

De tal suerte que nos quedaría asi:

// Select camera model
//#define CAMERA_MODEL_WROVER_KIT
//#define CAMERA_MODEL_ESP_EYE
//#define CAMERA_MODEL_M5STACK_PSRAM
//#define CAMERA_MODEL_M5STACK_WIDE
#define CAMERA_MODEL_AI_THINKER

#include "camera_pins.h"

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

Conectando la camara

Conectamos el ESP32 al adaptador asi:

image 12
ESP32 + adaptador

Abrimos el slot y metemos los pines de la camara y cerramos de tal suerte que debe quedar asi:

image 13
Camara y slot

Finalmete debe quedar asi:

image 14
Camara + slot + adatptador

Ahora conectamos el cable v8 ala caara espia y el uusb a la computadora

image 15
Camra espia + cable v8

Buscar el puerto de nuestra camra espia ESP32 CAM

Abrimos el buscador de aplicacion y escribimos “administrador de dispositivos” y damos enter

image 17
Abrir “administrador de dispositivos”

Buscamos en la categoria Puertos (COM) el nuevo puerto que se creo. Si no lohubicamos desconectamos y conectamos la camra espia.

image 19
Categoria Puertos (COM)

Vamos a Herramientas-> Puerto->COM5 en nuestro caso quizas el tuyo sea diferente.

image 20
Asignamos puerto

Precionamos en este boton para subir el programa

image 24
Compilamos

Precionamos el boton IO0 y el boton RESET de la camara espia. LOS 2 AL MISMO TIEMPO SIN SOLTAR HASTA VER QUE EL PROGRAMA TERMINO DE CARGAR (Eso lo sabreos cuando aparesca el texto Connecting…..)

image 21
image 23

Cuando aparesca el texto Connecting… solamos todos los btones que teniamos precionados y esperamos que cargue.

image 25
Esperar a Connecting…

Damos click en el boton “Monitor serie” y esperamos que abra esta ventana

image 26
Abrir “Monitor serie”

Precionamos y soltamos el boton RST de la camara espia “ESP32 CAM” asi:

image 21
boton RST

Se debe de mostrar un text como este en el monitor de serie:

WiFi connected
Starting web server on port: ’80’
Starting stream server on port: ’81’
Camera Ready! Use ‘http://192.168.100.157’ to connect

image 27
Copiamos el link para ver la cámara espía barata

En este caso vamos a copiar el puerto de la camara espia que es http://192.168.100.157 y lo pegamos en nuestro navegador y se mostrara los siguiente:

image 29
Abrimos gestor web de la cámara espía barata

Para que nuestra camara se active precionamos “Start Stream”

image 30
stream camara espia barata

Transmitir via internet

Entramos a https://ngrok.com/

Nos registramos aqui https://dashboard.ngrok.com/signup

Vamos a https://dashboard.ngrok.com/get-started/setup y descargamos la aplicacion de ngrok.exe

image 31

Descomprimimos el programa

image 32

Damos click en la aplicacion que descomprimmos y se va a abrir un cmd

image 33

Vamos a la pagina https://dashboard.ngrok.com/get-started/setup copiamos esta linea y la pegamos en la consola que se abrio antes

image 34

Despues colocamos esta linea de codigo:

ngrok tcp 192.168.100.157:81 –authtoken toquen_que_nos_dio_ngrok

image 35

Nos va aparecer algo asi y debeos de copiar la ip de ngrok

image 36

Pegamos en el navegador cambiando tcp por http y agregaos stream asi : http://4.tcp.ngrok.io:19969/stream

image 37

Finalmente, logramos transmitir con cámara espía barata un video a internet.

Siguiente tutorial >>

Los comentarios están cerrados.