CursosEmpresasBlogLiveConfPrecios

Sistemas Operativos en Tiempo Real

Clase 14 de 30 • Curso de IoT: Programación de Microcontroladores ESP32

Clase anteriorSiguiente clase

Contenido del curso

Introducción

  • 1
    Introducción a los microcontroladores

    Introducción a los microcontroladores

    10:48 min
  • 2
    La importancia de la industria IoT

    La importancia de la industria IoT

    16:08 min
  • 3
    Tipos de computadoras

    Tipos de computadoras

    12:50 min
  • 4
    Cómo escoger un microcontrolador

    Cómo escoger un microcontrolador

    14:59 min

Hardware

  • 5
    Características del ESP32

    Características del ESP32

    16:15 min

ESP-IDF

  • 6
    Documentación oficial del ESP-IDF

    Documentación oficial del ESP-IDF

    08:43 min
  • 7
    Instalación del ESP-IDF en Windows

    Instalación del ESP-IDF en Windows

    11:06 min
  • 8

    Instalación de ESP-IDF en macOS Ventura con M1 y Python 3.10

    03:46 min
  • 9

    Instalación de ESP-IDF en Ubuntu 22.04 con Python 3.10

    03:42 min
  • 10
    Lista de materiales

    Lista de materiales

    11:50 min
  • 11
    Proyectos con ESP-IDF

    Proyectos con ESP-IDF

    17:12 min
  • 12
    Primer proyecto

    Primer proyecto

    12:28 min

API Core

  • 13
    Hola mundo con ESP-IDF

    Hola mundo con ESP-IDF

    12:27 min
  • 14
    Sistemas Operativos en Tiempo Real

    Sistemas Operativos en Tiempo Real

    Viendo ahora
  • 15
    FreeRTOS con ESP32

    FreeRTOS con ESP32

    14:48 min
  • 16
    Ciclo de vida de las tareas con FreeRTOS

    Ciclo de vida de las tareas con FreeRTOS

    08:56 min
  • 17
    Almacenamiento con ESP32

    Almacenamiento con ESP32

    20:42 min

Peripherals API

  • 18
    Salida Digital con ESP32

    Salida Digital con ESP32

    14:37 min
  • 19
    Entrada Digital con ESP32

    Entrada Digital con ESP32

    13:24 min
  • 20
    Entrada Analógica con ESP32

    Entrada Analógica con ESP32

    19:44 min
  • 21
    Modulación de Ancho de Pulsos

    Modulación de Ancho de Pulsos

    09:20 min
  • 22
    Control PWM con ESP32 y LEDC

    Control PWM con ESP32 y LEDC

    19:47 min

Servidor Web

  • 23
    Redes y protocolos de Internet

    Redes y protocolos de Internet

    18:16 min
  • 24
    Redes WiFi

    Redes WiFi

    07:07 min
  • 25
    Loop de eventos

    Loop de eventos

    05:02 min
  • 26
    Conexión WiFi con ESP32

    Conexión WiFi con ESP32

    18:58 min
  • 27
    Servidor HTTP básico con ESP32

    Servidor HTTP básico con ESP32

    16:36 min

Smart Light

  • 28
    Dimmer LED via HTTP con ESP32

    Dimmer LED via HTTP con ESP32

    28:00 min
  • 29
    Aplicación Web con ESP32

    Aplicación Web con ESP32

    20:02 min

Despedida

  • 30
    Tu primer proyecto de IoT con ESP32

    Tu primer proyecto de IoT con ESP32

    01:23 min
Tomar examen
    Martín Gutiérrez Hernández

    Martín Gutiérrez Hernández

    student•
    hace 3 años

    Me gustaría que hicieran un curso de RTOS , lo e escuchado y quisiera saber más a fondo de esto.

      Juan Sebatian Ariza

      Juan Sebatian Ariza

      student•
      hace 2 años

      han escuchado de ROS y ROS2, seria genial tener un curso de esto.

      Deiby Alejandro Triana Archila

      Deiby Alejandro Triana Archila

      student•
      hace 10 meses

      De acuerdo con el compañero!!!

    Yimmy Cruz

    Yimmy Cruz

    student•
    hace 3 años

    Estaría bueno un curso de FreeRTOS, en mi universidad en el curso de Ingeniería Aeroespacial y Aeronáutica lo estudie pero siempre me quedaron algunas dudas estaría genial que Platzi implemente este curso.

    Patricio Cárdenas

    Patricio Cárdenas

    student•
    hace 3 años

    Efectivamente, es necesario profundizar RTOS, dado que las necesidades actuales demandan que los micros realicen mas tareas en un mismo o menor tiempo, ya sea por costo, tiempo de desarrollo o espacio disponible en el hardware. Así que vamos por ese curso FreeRtos.

    Me apunto!!!

    Julio Cardenas

    Julio Cardenas

    student•
    hace 2 años

    La gente de digikey tienen un youtube una serie de 12 videos sobre rtos.

    Esta serie esta en un ingles muy digerible/

    https://www.youtube.com/watch?v=F321087yYy4&list=PLEBQazB0HUyQ4hAPU1cJED6t3DU0h34bz

    Daniel Esteban Sanchez Arias

    Daniel Esteban Sanchez Arias

    student•
    hace 3 años

    Me gustaría ver un cursos de RTOS, sería bueno profundizar en este tema.

    Juan Felipe Rodriguez Valencia

    Juan Felipe Rodriguez Valencia

    student•
    hace 3 años

    un curso de freeRTOS estaria de lujo!!

    Jose Gabriel Argüello

    Jose Gabriel Argüello

    student•
    hace 3 años

    Interesante el próximo curso de FreeRTOS próximo!!!! ( esperamos el curso profe), en mi caso me toco trabajar con bare metal ( c puro ) y se lograba realizar tareas complejas con un adecuado gestión del proceso de interrupciones .

    Javier Bornia

    Javier Bornia

    student•
    hace 2 años

    Si son igual de importantes, no seria mejor destinar un core para cada tarea en lugar de alternar?

      Diana Martinez

      Diana Martinez

      student•
      hace 2 años

      No es necesario, porque el SO administra los procesos y los distribuye equitativamente entre los cores disponibles, la opción de pinear a un core es en caso de que se quiera compartir recursos muy específicos.

    Gabriel Obregón

    Gabriel Obregón

    student•
    hace 10 meses

    Tipos de Sistemas Operativos

    Existen múltiples tipos de sistemas operativos. Los más comunes son aquellos que utilizamos diariamente en laptops, teléfonos celulares y relojes inteligentes. Sin embargo, estos no son los únicos sistemas operativos que existen. De hecho, incluyen funciones adicionales que van más allá del concepto técnico de un sistema operativo.

    El Kernel: El Corazón del Sistema Operativo

    Desde el punto de vista técnico, un sistema operativo es, en esencia, lo que se conoce como un kernel. El kernel es el software encargado de gestionar los recursos de la computadora para que los procesos se ejecuten de manera organizada.

    Originalmente, los sistemas operativos no existían. Los programas debían ejecutarse uno a la vez, cargando y borrando manualmente cada uno antes de ejecutar el siguiente. Con el tiempo, los sistemas operativos permitieron la ejecución simultánea de múltiples tareas dentro de un mismo hardware, optimizando así su uso.

    Tipos de Sistemas Operativos

    Los sistemas operativos pueden clasificarse en dos grandes categorías:

    1. Sistemas operativos tradicionales: Se utilizan en computadoras personales y dispositivos móviles.
    2. Sistemas operativos especializados: Diseñados para entornos específicos, como la industria aeroespacial, la militar o la médica, donde se requiere precisión extrema y tiempos de respuesta exactos.

    Uno de los más importantes dentro de los sistemas especializados son los sistemas operativos en tiempo real. Estos sistemas garantizan que las tareas se ejecuten con tiempos de respuesta precisos y sin errores. Un ejemplo de estos es FreeRTOS, utilizado en dispositivos como la ESP32 o ESP-IDF de Espressif.

    Ejemplo Práctico: Un Auto Autónomo

    Imaginemos un auto autónomo, que debe ejecutar múltiples tareas simultáneamente:

    • Sistema de navegación: Determina de dónde viene y hacia dónde se dirige el auto.
    • Sistema anticolisiones: Detecta obstáculos y evita accidentes.

    Ambas tareas son igualmente importantes, ya que un fallo en la navegación podría impedir que el auto llegue a su destino, mientras que un error en el sistema anticolisiones podría provocar un accidente.

    Para gestionar esto, los sistemas operativos utilizan un método de simulación de multitarea. Si el procesador solo puede ejecutar una tarea a la vez, alterna rápidamente entre ellas en pequeños intervalos de tiempo, creando la ilusión de ejecución paralela.

    Cambio de Contexto y su Importancia

    Uno de los aspectos clave en la multitarea es el cambio de contexto, que ocurre cuando el sistema interrumpe una tarea para ejecutar otra.

    Para entenderlo mejor, imagina que estás resolviendo un problema de matemáticas y luego cambias abruptamente a una tarea de inglés. Este cambio requiere que tu cerebro reorganice la información, lo que puede tomar tiempo y esfuerzo. Algo similar ocurre con las computadoras: cuando interrumpen un proceso, deben guardar su estado actual antes de ejecutar otro.

    Es fundamental encontrar un equilibrio en la frecuencia de los cambios de contexto:

    • Si los cambios son demasiado frecuentes, el procesador desperdicia tiempo en guardar y recuperar estados, afectando el rendimiento del sistema.
    • Si los cambios son demasiado tardíos, las tareas no se ejecutarán realmente en paralelo, lo que puede generar errores.

    Por ejemplo, en un auto autónomo, si el sistema tarda demasiado en cambiar entre navegación y anticolisión, el vehículo podría no reaccionar a tiempo, causando un accidente.

    Colaboración Entre Tareas y Comunicación en Sistemas Operativos

    En sistemas más avanzados, como la robótica, las tareas no solo deben ejecutarse en paralelo, sino que también deben colaborar entre sí.

    Siguiendo el ejemplo del auto autónomo:

    • El sistema anticolisiones puede ayudar al sistema de navegación a encontrar la mejor ruta.
    • A su vez, el sistema de navegación puede indicar qué trayectorias evitar para minimizar el riesgo de colisiones.

    Los sistemas operativos permiten esta comunicación entre procesos, asegurando un intercambio eficiente de información.

    Daniel Fernando Murcia Perdomo

    Daniel Fernando Murcia Perdomo

    student•
    hace 2 años

    Me encantaría tener mas información acerca de RTOS! Me encantaria tener un curso de RTOS y uno RTOS aplicado a Robotica

    Jovanny Bermudez

    Jovanny Bermudez

    student•
    hace 2 años

    Tambien me apunto para profundizar FreeRTOS

    Carlos Andres Betancourt Perez

    Carlos Andres Betancourt Perez

    student•
    hace 2 años

    con maquinas de estados finitos (FSM) también se puede hacer multitarea, la real diferencia entre un RTOS y un sistema normal con super loop es la garantía en los tiempos de ejecución ya que un RTOS es determinista en el tiempo. cuando el tiempo de respuesta de tu sistema el critico, un RTOS es ideal

    Marcelo Gaston Duarte

    Marcelo Gaston Duarte

    student•
    hace 2 años

    Quiero saber mas de RTOS

    Cristian Leonardo Cárdenas Garcia

    Cristian Leonardo Cárdenas Garcia

    student•
    hace 2 años

    Seria genial un curso de freeRTOS estaria de lujo!!

    Edwin Agudelo

    Edwin Agudelo

    student•
    hace 3 años

    Desde ahora me apunto para próximos cursos de ESP32 y por supuesto el curso de RTOS,

    Mariana Valencia Gallego

    Mariana Valencia Gallego

    student•
    hace 3 años

    Diana, yo sería muy feliz si hicieran un curso de FreeRTOS en el cual fueras profesora de nuevo. Apoyo la idea con emoción!

    Luis  Alfonso Pinzón Fuster

    Luis Alfonso Pinzón Fuster

    student•
    hace 3 años

    a mi me encantaria que hicieran cursos sobre RTOS, es un campo que esta en gran crecimiento y seria muy interesante tambien.

    Edward John Rodriguez Soto

    Edward John Rodriguez Soto

    student•
    hace 3 años

    Debería de estar el curso de FreeRTOS, con la calidad del Space Program, ya lo estoy esperando...., yo también ya apuntado

    Jorge Hernández Latorre

    Jorge Hernández Latorre

    student•
    hace 3 años

    Me apuntaría encantado a un curso de FreeRTOS y animo a los organizadores a realizarlo

    Claudio Palmieri

    Claudio Palmieri

    student•
    hace 3 años

    Claro que me sumaría al curso de FreeRTOS. Acá mi voto para que Diana sea la instructora ;)

      Carlos Alberto Pardo

      Carlos Alberto Pardo

      student•
      hace 3 años

      De acuerdo, explica muy bien!

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads