¿Cómo diseñar un módulo que envíe fotos desde el microcontrolador al servidor web a través de wifi?

No soy bueno en electrónica y principalmente desarrollo software. Pero ahora estoy trabajando en un proyecto que necesito aprender sobre IoT.

Quiero que el microcontrolador tome fotos y las envíe a un servidor web a través de WiFi. Además, recibe comandos del servidor.

He estado buscando algunos tutoriales pero no he encontrado nada útil.

Me pregunto cómo elijo el microcontrolador. Solo tengo experiencia con stc 51 y stm32 y he oído hablar de Arduino y Rasperry Pi.

Estoy pensando en usar ESP8266 , pero ¿puede implementar lo que quiero?

Los microcontroladores no toman fotografías, las cámaras sí.
En realidad un proyecto bastante complejo; es mejor que encuentre hardware que ya pueda hacerlo, como el módulo de cámara Pi +.
@Andyaka Sí, sé que debería tener una cámara para hacer eso. Quiero que la cámara tome fotos y deje que el microcontrolador envíe las fotos a mi servidor. Gracias por señalar
@ pjc50 Gracias por su sugerencia. Pero, ¿en qué se diferencia 'Pi + cámara' de 'microcontrolador + cámara + módulo wifi'? Creo que no hay mucha diferencia? (Lo siento si eso está mal, soy realmente nuevo en estas cosas).
Las interfaces de cámara (MIPI/CSI) son digitales de alta velocidad. La mayoría de los microcontroladores no tienen uno, por lo que no se pueden usar con una cámara. El Pi lo hace, y los controladores se han escrito para usted.
@ pjc50 En realidad, nunca antes había considerado tanto, muchas gracias. Ahora estoy pensando en darle una oportunidad a Pi.

Respuestas (2)

La implementación de este tipo de proyecto a partir del microcontrolador será drásticamente más difícil que usar SOC (sistema en un chip) como Raspberry Pi o Intel Galileo, etc. He hecho esto usando Raspberry Pi y python.

Aquí hay una descripción general aproximada de los pasos necesarios para implementar esto en Raspberry Pi:

-primero inicie el servidor Pi usando Apache para generar su servidor personal. No se requiere un nombre de dominio, pero podría ser útil. Aquí hay una guía sobre eso.

-Conecta una cámara USB y gana familiaridad. Aquí hay una guía sobre eso.

-Dentro de Linux, puede programar fotos usando CRONTAB para almacenarlas en una carpeta en particular.

Una vez que tenga los conceptos básicos, puede comenzar a usar los encabezados GPIO para agregar sensores (para detectar movimiento, calor, etc.) y enviar alertas por correo electrónico o mensaje de texto. Esto se puede lograr en Python. La transmisión en vivo también es posible utilizando los servidores OpenCV y Flask.

¡Hola! Gracias por tu respuesta. Parece que hay algún malentendido entre nosotros. En realidad, lo que quiero es, digamos si uso Pi, enviar fotos desde Pi a mi servidor web que se aloja en la nube. Entonces creo que aquí el Pi necesita conectarse WiFi y también controlar la cámara. ¿Has hecho cosas similares? En su caso, ¿podría darme algunas instrucciones sobre cómo enviar fotos a través de WiFi? Por cierto, la parte de la cámara es bastante útil. :)
Conseguir el Pi en WIFI es fácil. La versión más nueva ya tiene wifi, puede usar un dongle usb wifi. Controlar la cámara también es fácil, son solo unos pocos comandos. Si desea enviar estos archivos a un servidor fuera de su LAN, puede usar FTP. Asegúrese de revisar el intercambio de pila de raspberry pi, encontrará muchos proyectos similares allí.

Hay cámaras diseñadas específicamente para diseños de MCU pequeños, como OV7670 . Implementan protocolos típicos de baja velocidad como SPI, I2C o específicos como SCCB (que parece estar basado en I2C). No estoy familiarizado con ESP8266 en particular, pero supongo que debe admitir al menos algunos de estos protocolos.

Por supuesto, no hay milagros y las interfaces de baja velocidad significan que tendrá imágenes de baja resolución y velocidades de cuadro bajas. Por encima de la resolución VGA, los diseños basados ​​en SoC como Raspberry Pi se vuelven cada vez más atractivos. Si la práctica es un factor importante, sé que está Orange Pi, que cuesta menos de $20, incluida la cámara, aunque no tengo idea de qué tan mala es la calidad de la imagen.