Tabla de contenido:
- Paso 1: ¿Qué es una biblioteca?
- Paso 2: Estructura y archivos de la biblioteca
- Paso 3: el archivo de encabezado
- Paso 4: el archivo de origen
- Paso 5: Proporcionar bocetos de ejemplo
- Paso 6: publicar en el Administrador de bibliotecas
- Paso 7: Pasos siguientes
Video: Hacer una biblioteca Arduino para YouTube Sight: 7 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
Hola a todos, Recientemente, desarrollé un servicio llamado YouTube Sight que puede extraer datos de suscriptores de la API de YouTube Analytics y brindarte recuentos de suscriptores más precisos desde que YouTube comenzó a agregar los resultados. Con él, he creado un boceto de ejemplo, pero también quería hacer una biblioteca Arduino para que la gente pueda usarla más fácilmente.
Paso 1: ¿Qué es una biblioteca?
Una biblioteca es un fragmento de código que puede manejar una operación específica, procesar un tipo de datos o puede saber cómo interactuar con un elemento de hardware específico. Nos permiten ampliar fácilmente el entorno Arduino y hay muchos de ellos que vienen preinstalados con el IDE de Arduino.
En casos como el mío, donde queremos agregar nuevas posibilidades al Arduino, podemos crear nuestras propias bibliotecas para que otras personas las usen. Todas las bibliotecas instaladas viven en una carpeta específica en nuestra computadora. En mi caso para la PC con Windows, las bibliotecas se encuentran en la carpeta Documentos / Arduino. La ruta completa será específica para usted, según su nombre de usuario.
Paso 2: Estructura y archivos de la biblioteca
Para comenzar a construir nuestra biblioteca, primero necesitamos crear una carpeta aquí con su nombre, así que he creado una carpeta llamada YouTube Sight. En la versión mínima de la biblioteca, debemos tener al menos dos archivos.
El primero es un archivo llamado "encabezado" que contiene todas las definiciones de los métodos y propiedades que proporciona nuestra biblioteca, y el segundo es el archivo fuente que contendrá todo el código fuente.
Los archivos de encabezado tienen una extensión de ".h" mientras que el archivo de origen tiene una extensión de ".cpp" y normalmente tienen el nombre de la biblioteca como nombre de archivo. En mi caso, los dos archivos se denominan “YouTubeSight.h” y “YouTubeSight.cpp”.
El proceso de escribir el código de la biblioteca puede ser un poco tedioso y frustrante, especialmente cuando está escribiendo una biblioteca por primera vez, pero con muchas pruebas y errores, puede lograr los resultados deseados. Por eso, lo guiaré a través del código terminado de los dos archivos y lo explicaré.
El código completo y la biblioteca están disponibles para descargar desde GitHub en el siguiente enlace:
Paso 3: el archivo de encabezado
Dentro del archivo de encabezado, al principio, todo el archivo está envuelto dentro de una declaración "ifndef" que verifica si la variable especificada está definida o no. Esto evitará errores para cualquiera que use la biblioteca si la incluye dos veces en el mismo boceto por error.
A continuación, debemos incluir la biblioteca Arduino base y, dado que trabajaremos con un cliente HTTP de algún tipo para enviar la solicitud a YouTube Sight, también incluiremos la biblioteca cliente base.
Antes de comenzar a escribir el contenido de nuestra clase principal, necesitamos definir las variables estáticas y la configuración que no queremos que se modifique. En mi caso, hay dos de esas variables. La URL principal del servicio YouTube Sight y la variable de tiempo de espera que usaremos para verificar cuánto tiempo leemos un valor.
También en esta sección, podemos definir cualquier tipo personalizado que queramos usar como esta estructura channelStatistics en la que guardaremos los resultados.
La definición de la estructura de clases se divide en dos partes. La primera parte es la definición de todas las funciones y propiedades públicas y la segunda es la definición de todas las funciones y propiedades privadas. La diferencia entre ambos es que los usuarios finales de nuestra biblioteca no podrán usar nada de la sección privada directamente mientras que podrán modificar y usar directamente cualquiera de las propiedades y funciones de la parte pública.
En la sección pública, definimos el constructor de la clase, la variable channelStats donde almacenaremos los resultados, la función que obtendrá los datos y una propiedad de depuración que luego podemos usar para verificar los casos en los que podríamos no obtener los resultados esperados.
Para las propiedades privadas, definiremos una para almacenar el GUID del canal, un puntero al cliente HTTP que usaremos y una función que dividirá la cadena devuelta de YouTube Sight.
Paso 4: el archivo de origen
Ahora veamos la implementación real de todo esto dentro del archivo fuente.
El primer paso para nosotros es incluir nuestro propio archivo de encabezado que acabamos de crear y luego necesitamos definir el constructor de la biblioteca. En él pasamos dos variables. El GUID se guarda en la variable privada que definimos anteriormente y el Cliente se pasa por referencia para que luego podamos llamar a la misma instancia que obtuvimos.
La función principal getData de la biblioteca se define a continuación especificando primero el tipo de retorno, seguido del nombre de la biblioteca y el nombre de la función. No entraré en detalles de lo que hace cada línea en esta función, pero en general, la función abre una conexión al servidor de YouTube Sight, envía la solicitud para obtener las estadísticas y luego analiza los datos devueltos con la ayuda de la función privada getValue.
Los resultados recuperados se establecen en la variable channelStats y se devuelve un indicador si logramos recuperar los resultados o no y con eso el núcleo de nuestra biblioteca está completo.
Paso 5: Proporcionar bocetos de ejemplo
Por lo general, cada biblioteca proporciona ejemplos que puede cargar y usar rápidamente para mostrar lo que la biblioteca puede hacer y cómo hacerlo. Para proporcionar tales ejemplos, necesitamos modificar la estructura de la biblioteca donde ahora el encabezado y el archivo fuente estarán en una carpeta "src" y se agregará una nueva carpeta bajo la raíz de la biblioteca llamada "ejemplos".
Cualquier boceto de Arduino que coloque dentro de esta carpeta se servirá desde el IDE de Arduino como un ejemplo para su biblioteca y la gente puede explorarlo rápidamente y aprender cómo funciona la biblioteca.
Paso 6: publicar en el Administrador de bibliotecas
Para usar la biblioteca, las personas simplemente necesitarán incluir el archivo de encabezado de su biblioteca en su boceto y el IDE de Arduino lo construirá junto con él. Pero para hacerlo, primero deberán instalarlo en sus máquinas.
Una forma común es descargar la biblioteca de GitHub e instalarla a través del instalador ZIP en el IDE o simplemente colocarla dentro de la carpeta de bibliotecas como hicimos cuando la creamos. Sin embargo, el IDE de Arduino también incluye una herramienta, llamada Administrador de bibliotecas, que le permite buscar una biblioteca directamente desde el IDE.
Para incluir su biblioteca en ella, primero debemos crear un archivo adicional en la carpeta raíz llamado "library.properties" y en él, debemos especificar el nombre de la biblioteca, la versión actual y alguna información adicional que ayudará al administrador de la biblioteca. para mostrar mejor información al respecto.
Con el archivo en su lugar, se debe crear un problema en la página de Arduino GitHub que simplemente solicita que su biblioteca se incluya en el índice con el enlace y una vez que sea aprobado y agregado por el personal de Arduino, el administrador de la biblioteca Empiece a ofrecer su biblioteca en los resultados. Además, el administrador buscará cualquier etiqueta de versión en el repositorio de GitHub en el futuro y ofrecerá una actualización a las personas que lo usen una vez que haya cambios.
Paso 7: Pasos siguientes
Espero que después de este Instructable, comprenda mejor cómo funcionan las bibliotecas Arduino, cómo puede crear una y, lo más importante, espero que se inspire para comenzar a trabajar en su próxima gran idea.
Para cualquier pregunta o sugerencia adicional, no dude en escribir en los comentarios, suscribirse a mi canal de YouTube y seguirme aquí en Instructables.
Recomendado:
Programación de un Arduino usando otro Arduino para mostrar un texto de desplazamiento sin una biblioteca: 5 pasos
Programación de un Arduino usando otro Arduino para mostrar un texto de desplazamiento sin una biblioteca: Sony Spresense o Arduino Uno no son tan costosos y no requieren mucha energía. Sin embargo, si su proyecto tiene limitaciones de energía, espacio o incluso presupuesto, es posible que desee considerar el uso de Arduino Pro Mini. A diferencia de Arduino Pro Micro, Arduino Pro Mi
Cómo agregar una biblioteca externa a Arduino: 3 pasos
Cómo agregar una biblioteca externa a Arduino: La biblioteca proporciona funciones adicionales para el boceto que hicimos. Estas funciones pueden ayudarnos a hacer bocetos más fáciles. Hay muchas bibliotecas que podemos usar. Biblioteca predeterminada de Arduino IDE o biblioteca externa creada por alguien o una comunidad. En esto
Cómo hacer una sala de juegos DIY Bartop para 2 jugadores con ranuras para monedas de marquesina personalizadas, usando una caja de Pandora: 17 pasos (con imágenes)
Cómo hacer un arcade de bartop DIY para 2 jugadores con ranuras de monedas de marquesina personalizadas, usando una caja de Pandora: este es un tutorial paso a paso sobre cómo construir una máquina de arcade de barra superior para 2 jugadores que tiene ranuras de monedas personalizadas integradas en la marquesina. Las ranuras para monedas se harán de tal manera que solo acepten monedas del tamaño de 25 centavos y más grandes. Esta sala de juegos funciona
Luz reactiva a la música -- Cómo hacer una luz reactiva a la música súper simple para hacer que el escritorio sea impresionante: 5 pasos (con imágenes)
Luz reactiva de música || Cómo hacer luz reactiva de música súper simple para hacer un escritorio impresionante: Hola chicos, hoy construiremos un proyecto muy interesante. Hoy vamos a construir luz de música reactiva. el bajo, que en realidad es una señal de audio de baja frecuencia. Es muy simple de construir. Nosotros
Hacer una base para iPod Nano con una base para iPod: 5 pasos
Hacer una base para iPod Nano con una base para iPod: explica cómo convertir fácilmente una base antigua para un iPod mini para usar con un iPod nano (tanto de primera como de segunda generación). ¿Por qué? mini y le sobró la base, y ahora compré un iPod nano y, francamente, delgado