Navegue por el glosario usando este índice.

Especial | A | B | C | D | E | F | G | H | I | J | K | L | M | N | Ñ | O | P | Q | R | S | T | U | V | W | X | Y | Z | TODAS

G

GPIO

General Purpose Input/Output ó Entrada y Salida de Propósito General son pines programables en placas como la Raspberry Pi, que pueden actuar como entradas o salidas digitales. Se utilizan para conectar sensores, actuadores, LEDs, botones y otros dispositivos electrónicos. Los GPIO soportan varios protocolos de comunicación como I2C, SPI y UART, y se pueden controlar mediante lenguajes de programación como Python o C, permitiendo la automatización y control en tiempo real de dispositivos conectados.


GPIO Extension Board

Placa que facilita el acceso y la conexión de los pines GPIO (General Purpose Input/Output) de un microcontrolador o computadora de placa única (por ejemplo, Raspberry Pi). Simplifica la prototipación y permite la conexión a periféricos externos sin la necesidad de soldadura directa en los pines originales.

Características:
  • Organización de pines: Proporciona un mapeo claro y ordenado de cada GPIO, usualmente con etiquetas para su identificación.

  • Compatibilidad: Diseñada para la disposición de pines de un dispositivo específico (ej. Raspberry Pi).

  • Conexión a protoboard: Incluye un conector o cable plano (ribbon cable) que facilita la conexión en una breadboard o placa de pruebas.

  • Protección y estabilidad: A menudo integra circuitos o barreras de protección que ayudan a prevenir daños por descargas o conexiones erróneas.

  • Versatilidad: Permite la conexión de múltiples sensores, módulos y dispositivos sin tener que soldar directamente sobre el equipo principal.


GPU

Graphics Processing Unit ó Unidad de Procesamiento Gráfico, es un procesador especializado diseñado para acelerar el rendering de imágenes, videos y animaciones. Las GPUs están optimizadas para realizar cálculos matemáticos y operaciones en paralelo a gran escala, lo que las hace ideales para:

  • Procesamiento de gráficos 2D y 3D: Renderización de interfaces visuales y juegos.
  • Computación de alto rendimiento: Tareas de aprendizaje automático, inteligencia artificial y análisis de datos.
  • Aceleración de aplicaciones científicas y de ingeniería.

En el ámbito de IoT, las GPUs pueden utilizarse en dispositivos que requieren procesamiento intensivo de datos, como cámaras inteligentes, sistemas de reconocimiento facial o análisis en tiempo real, permitiendo operaciones complejas sin sobrecargar la CPU principal.


Gemelos Digitales en IoT

Creación de réplicas digitales de dispositivos o sistemas físicos que pueden ser usados para la simulación y análisis, mejorando la planificación y mantenimiento en IoT.


Git

Es un sistema de control de versiones distribuido y de código abierto, creado por Linus Torvalds en 2005. Está diseñado para manejar proyectos de programación de cualquier tamaño de manera rápida y eficiente. Git permite a múltiples desarrolladores trabajar en un mismo proyecto de manera simultánea, manteniendo un historial completo de los cambios realizados en el código fuente. Es una herramienta fundamental en el desarrollo de software moderno y es ampliamente utilizada en proyectos de Internet de las Cosas (IoT), sistemas embebidos y desarrollo colaborativo.

Características principales:

  • Sistema de control de versiones distribuido:

    • A diferencia de los sistemas centralizados, en Git cada desarrollador tiene una copia completa del repositorio, incluyendo el historial de cambios. Esto permite trabajar sin conexión y mejora la resiliencia ante fallos del servidor.
  • Eficiencia y rendimiento:

    • Git está optimizado para ser rápido y eficiente en el manejo de cambios y ramas, incluso en proyectos con grandes cantidades de archivos y colaboradores.
  • Integridad de datos:

    • Utiliza el algoritmo SHA-1 para asegurar la integridad de los datos, garantizando que el historial de cambios no sea alterado sin detección.
  • Ramas y fusiones (branching y merging):

    • Facilita la creación y gestión de ramas para desarrollar nuevas funcionalidades o corregir errores de manera aislada. Las ramas pueden fusionarse de vuelta al código principal cuando estén listas.
  • Flujo de trabajo no lineal:

    • Permite múltiples flujos de trabajo y metodologías de desarrollo, adaptándose a las necesidades del equipo o proyecto.
  • Soporte para múltiples protocolos:

    • Git puede operar sobre HTTP, HTTPS, SSH y otros protocolos, facilitando su integración con diversos entornos y servicios.


GitHub

Es una plataforma de desarrollo colaborativo para alojar proyectos de software utilizando el sistema de control de versiones Git. Lanzada en 2008, GitHub se ha convertido en uno de los repositorios de código más grandes y populares del mundo, facilitando la colaboración entre desarrolladores, la gestión de código fuente y el seguimiento de proyectos de software, tanto de código abierto como privados.

Características principales:

  • Control de versiones con Git:

    • GitHub está basado en Git, un sistema de control de versiones distribuido que permite a los desarrolladores rastrear cambios en el código, revertir a versiones anteriores y trabajar en paralelo en diferentes ramas sin conflictos.
    • Facilita la colaboración en proyectos al permitir que múltiples desarrolladores trabajen simultáneamente en el mismo código.
  • Repositorios:

    • Los proyectos en GitHub se almacenan en repositorios (repos), que pueden ser públicos o privados.
    • Los repositorios públicos son accesibles para cualquier usuario, fomentando la colaboración y contribución en proyectos de código abierto.
    • Los repositorios privados ofrecen control de acceso, permitiendo compartir el código solo con colaboradores específicos.
  • Colaboración y comunidad:

    • Pull requests: Permiten a los desarrolladores proponer cambios en el código que pueden ser revisados, comentados y fusionados por los mantenedores del proyecto.
    • Issues: Sistema de seguimiento de problemas que permite reportar bugs, solicitar nuevas funcionalidades y discutir aspectos del proyecto.
    • Wiki y documentación: Cada repositorio puede tener una wiki asociada para documentar el proyecto, facilitar el uso y contribuir al conocimiento colectivo.
  • Integraciones y automatización:

    • GitHub Actions: Plataforma de integración continua y entrega continua (CI/CD) que permite automatizar flujos de trabajo, como pruebas automáticas, despliegue y otras acciones personalizadas.
    • Integraciones con terceros: Soporta integraciones con herramientas y servicios como Travis CI, Jenkins, Slack, entre otros.
  • GitHub Pages:

    • Permite alojar sitios web estáticos directamente desde un repositorio, facilitando la publicación de documentación, blogs o páginas de proyecto.
  • Control de versiones y ramas:

    • Soporta la creación y gestión de ramas (branches), permitiendo desarrollar nuevas funcionalidades o corregir errores de manera aislada antes de fusionarlos con el código principal.

Go

Lenguaje creado por Google que combina eficiencia de ejecución, sintaxis concisa y capacidades de concurrencia robustas. En IoT, se utiliza para escribir software de servidores que pueden manejar múltiples conexiones de dispositivos de manera eficiente.


Google Cloud IoT Core

Servicio completamente gestionado que permite conectar, gestionar y ingerir datos de millones de dispositivos IoT dispersos globalmente. Google Cloud IoT Core está integrado con otros servicios de Google Cloud para procesar y visualizar esos datos en tiempo real. Más información en: https://cloud.google.com/iot-core


gestor de paquetes

Es una herramienta de software que automatiza el proceso de instalación, actualización, configuración y eliminación de programas en un sistema operativo. Su principal objetivo es facilitar la gestión de software, resolver dependencias y mantener un sistema coherente y actualizado. Los gestores de paquetes son fundamentales en sistemas operativos basados en Linux, como Raspberry Pi OS, y son ampliamente utilizados en el desarrollo y despliegue de aplicaciones en proyectos del Internet de las Cosas (IoT).

Características principales:

  • Instalación simplificada: Permite instalar software mediante comandos sencillos o interfaces gráficas, sin necesidad de compilar código fuente o resolver manualmente dependencias.

  • Gestión de dependencias: Identifica y resuelve automáticamente las dependencias necesarias para que el software funcione correctamente, asegurando que todas las bibliotecas y componentes requeridos estén presentes.

  • Actualizaciones y parches: Facilita la actualización de software a versiones más recientes, incluyendo mejoras, nuevas funcionalidades y correcciones de seguridad.

  • Desinstalación limpia: Permite eliminar software de manera ordenada, eliminando también las dependencias que ya no son necesarias, lo que ayuda a mantener el sistema libre de archivos obsoletos.

  • Repositorios centralizados: Los gestores de paquetes acceden a repositorios donde se almacena el software empaquetado y firmado, garantizando la integridad y autenticidad de los paquetes instalados.

Ejemplos de gestores de paquetes:

  • APT (Advanced Package Tool): Utilizado en distribuciones basadas en Debian, como Raspberry Pi OS y Ubuntu. APT es uno de los gestores de paquetes más populares en el ecosistema Linux.

    • Comandos comunes:

      • sudo apt update: Actualiza la lista de paquetes disponibles.
      • sudo apt upgrade: Actualiza todos los paquetes instalados a sus últimas versiones disponibles.
      • sudo apt install [paquete]: Instala un paquete específico.
      • sudo apt remove [paquete]: Elimina un paquete instalado.
    • Página oficial de APT:

  • YUM y DNF: Utilizados en distribuciones basadas en Red Hat, como Fedora y CentOS. DNF es la evolución de YUM y ofrece mejoras en rendimiento y manejo de dependencias.

  • pip: Gestor de paquetes para Python, permite instalar y gestionar paquetes y bibliotecas de Python desde el repositorio PyPI (Python Package Index).

    • Comandos comunes:

      • pip install [paquete]: Instala un paquete de Python.
      • pip uninstall [paquete]: Desinstala un paquete de Python.
      • pip list: Lista los paquetes instalados.
    • Página oficial de pip:


grep

Herramienta de línea de comandos utilizada para buscar texto en archivos según patrones específicos. Es esencial para filtrar y analizar archivos de log y otros datos de texto.


groupadd

Crea un nuevo grupo.


groupdel

Elimina un grupo.


groupmod

Modifica un grupo existente.


gunzip

Descomprime archivos gzip.


gzip

Comprime archivos.



Regresar a Curso