.. note:: ¡Hola! Bienvenido a la Comunidad de Entusiastas de SunFounder Raspberry Pi & Arduino & ESP32 en Facebook. Profundiza en Raspberry Pi, Arduino y ESP32 con otros entusiastas. **¿Por qué unirse?** - **Soporte de Expertos**: Resuelve problemas post-venta y desafíos técnicos con la ayuda de nuestra comunidad y equipo. - **Aprende y Comparte**: Intercambia consejos y tutoriales para mejorar tus habilidades. - **Avances Exclusivos**: Accede temprano a nuevos anuncios de productos y adelantos. - **Descuentos Especiales**: Disfruta de descuentos exclusivos en nuestros productos más nuevos. - **Promociones Festivas y Sorteos**: Participa en sorteos y promociones navideñas. 👉 ¿Listo para explorar y crear con nosotros? Haz clic en [|link_sf_facebook|] y únete hoy mismo. .. _3.1.1_js: 3.1.1 Módulo de Fotografía ============================== Introducción -------------------- En este kit, equipado con un módulo de cámara, vamos a intentar tomar una foto con Raspberry Pi. Componentes Necesarios --------------------------------- En este proyecto, necesitamos los siguientes componentes. .. image:: ../img/photo1.png :width: 800 Es definitivamente conveniente comprar un kit completo, aquí está el enlace: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - Nombre - ARTÍCULOS EN ESTE KIT - ENLACE * - Kit Raphael - 337 - |link_Raphael_kit| También puedes comprarlos por separado en los siguientes enlaces. .. list-table:: :widths: 30 20 :header-rows: 1 * - INTRODUCCIÓN DEL COMPONENTE - ENLACE DE COMPRA * - :ref:`cpn_camera_module` - |link_camera_buy| Procedimientos Experimentales ---------------------------------- **Paso 1:** Ingresa al Escritorio de Raspberry Pi. Puede que necesites una pantalla para una mejor experiencia, consulta: `Conecta tu Raspberry Pi `_. O accede al escritorio de Raspberry Pi de forma remota, para un tutorial detallado consulta :ref:`remote_desktop`. **Paso 2:** Abre una Terminal y entra en la carpeta del código. .. raw:: html .. code-block:: cd ~/raphael-kit/nodejs/ **Paso 3:** Ejecuta el código. .. raw:: html .. code-block:: sudo node camera.js Después de ejecutar el código, la cámara tomará una foto. Ahora puedes ver la foto llamada ``test.jpg`` en el directorio actual. **Código** .. code-block:: js const exec = require('child_process').exec; exec('libcamera-still -o test.jpg'); **Explicación del Código** .. code-block:: js const exec = require('child_process').exec; Importa el módulo ``child_process``, que permite a nodejs realizar diversas operaciones en procesos secundarios, incluyendo la creación de procesos secundarios para ejecutar comandos del sistema directamente. .. note:: Sobre este módulo, consulta: https://nodejs.org/api/child_process.html .. code-block:: js exec('libcamera-still -o test.jpg'); Después de habilitar la función de la cámara, puedes usar directamente el comando ``libcamera-still -o test.jpg`` para capturar fotos en la terminal. También podemos usar el método proporcionado por el módulo ``child_process`` ``child_process.exec(cmd, [options], callback)`` para crear procesos secundarios que ejecuten comandos del sistema. Al agregar funciones de bucle y demora, también podemos lograr el efecto de fotos temporizadas o video en intervalos.