Gestionando las librerías Arduino

Objetivos

 

  • Aprender a instalar una librería cualquiera.
  • Conocer cómo se constituye una librería y que ficheros incluye.
  • Comprender los problemas que pueden ocurrir al instalar y esbozar vías de solución.
  • Mostrar como desinstalar una librería, de modo que nos libere espacio
  •  

    Material requerido.

    Imagen de Arduino UNO  Arduino UNO o equivalente.
    Taza de café Un café cargadito siempre ayuda.

     

    Las librerías

     

    Hemos visto repetidamente en las sesiones previas, como instalar las librerías necesarias para utilizarlas como intermediarias entre nuestros programas y mucho del hardware que hay corriendo por ahí.

    El uso de librerías estándar nos ayudan a manejar ciertos componentes sin necesidad de entrar en el detalle fino (y molesto) de tener que conocer cómo funciona cada una de las señales de ese componente o las características específicas del bus de control con el que se maneja.

    Nunca demostraremos suficiente agradecimiento a esas personas anónimas que nos proporcionan estas librerías y que se molestan en tenerlas a punto y sacar actualizaciones de tanto en tanto.

    No nos engañemos, Arduino es un procesador muy simpático pero es en las librerías de la comunidad donde está la auténtica potencia del sistema, y es en esa comunidad internacional de voluntarios sin ánimo de lucro, donde radica la fortaleza de nuestro Arduino.

    La facilidad con que se puede montar un prototipo en Arduino en cuestión de días, se debe única y exclusivamente a que te puedes abstraer de los detalles de bajo nivel y sin mancharte de grasa, centrarte en la funcionalidad del programa a alto nivel.

    Esto unido a la proliferación de componentes de gran tirada y bajo costo, están produciendo una revolución tranquila en todo el mundo tecnológico y la cultura del DIY (Do it Yourself o háztelo tú mismo) promete que cambiará la forma en como trabajamos y la oferta de productos y servicios tecnológicos, de un modo que es imposible de predecir ahora mismo.

    Pero también cuantas más librerías instalamos más complicado se hace mantenerlas y ordenarlas, hasta que al fin, inevitablemente tendremos que borrar alguna para poder simplemente ver lo que tenemos instalado en un momento dado.

    Por eso, en este capítulo, haremos una recopilación sobre como instalar una librería de nuevo y muy especialmente en cómo hacer para desinstalarla, bien cuando ya no te sea necesaria, o sencillamente porque ya no te caben más.

    Una buena parte de las librerías que te descargas de Internet no se instala a la primera, sino que el IDE rehúsa aceptarlas, dejándonos con una particular cara de póker.

    Dedicaremos unos comentarios  a ver los problemas típicos, que podéis encontrar a la hora de descargar e instalar estas  librerías y mostraremos algunas posibles soluciones.

     

    Instalando una librería

     

    Lo primero que tenemos que hacer es descargar la librería en cuestión. A poco que busquéis en Internet encontrareis de donde descargaros una librería concreta si conoces el nombre (Naturalmente la cosa se complica ligeramente si no sabéis que librería queréis).

    El procedimiento para instalar una librería es muy sencillo y basta seguir unos pocos pasos para hacerlo con éxito.

    Insistimos con los pasos precisos. Elegimos en el menú del IDE:

    Arduino,Programa\Importar Librería\Añadir Librería

    Menu arduino

    Ahora nos pedirá la dirección del fichero descargado en formato xxx.zip.

    Seleccionar libreria

    Busca y selecciona la librería en cuestión.Cuando la pinchemos se debería instalar. Si no hay ningún problema podemos comprobar que aparece en la lista de librerías instaladas y que podemos pincharla.

    Si por cualquier problema, el IDE rehúsa instalar la librería, tendremos que ver porqué y corregirlo. Vamos a ver algunas normas.

    Arduino define un sistema simple para formar una librería y define una serie de ficheros que deben ir incluidos, así como los ejemplos que la acompañan y forman un paquete comprimido con ZIP para contener todo el conjunto.

    Los ficheros que suele incluir una librería (Que llamaremos Biblos por ejemplo), y que podéis comprobar descomprimiendo aparte cualquiera de las nos hemos descargado, son:

     

  • Un fichero Biblos.h, de headers, donde se suelen definir las constantes , marcar includes que necesitara la librería y en muchas ocasiones las definiciones de las clases de las que depende la librería.
  • Un fichero Biblos.cpp, que es donde suele estar el peso del programa. Incluye normalmente, los métodos o funciones de una clase y las propiedades, así como cualquier función de apoyo que la librería necesite.
  • Un fichero o varios o ninguno, del tipo xxx.c con funciones y programas en C para apoyo
  • Un fichero keywords.txt donde indica una lista de palabras reservadas, léase que define la librería.
  • Un Readme.txt con las indicaciones de uso, el autor o autores y la página web donde se publican las actualizaciones.
  • Un directorio de ejemplos que son los que veremos luego en el IDE.
  • Podéis editar todos estos ficheros y ver su código, pero no hace falta que os diga que no cambies cosas si no estáis seguros de lo que hacéis. Podéis abrirlos desde Arduino con la opción de menú Programa\Añadir fichero, os abrirá una nueva pestaña en el IDE con el fichero formateado
  • Arduino establece que todo esto debe estar comprimido en un único fichero Zip que es capaz de importar con la instrucción Importar Librería.

     

  • Arduino espera que la librería solo incluya letras y números y no ningún carácter especial (Incluidos subrayados y similares). Además espera que el nombre de la librería coincida con el de los ficheros xxx.cpp y.xxx.h
  • Si esto no es así devolverá un error diciendo que nones y te tienes que buscar la vida, revisando que puñetas será lo que no le gusta.
  • En aplicación de las normas anti paletos y para evitar las cosas sencillas, en Arduino existe también la peculiar costumbre de no hacer coincidir el nombre del ZIP con el nombre interior de la librería, consiguiendo así, que el IDE rehusé instalarlo con un mensaje críptico.
  • Cuando esto ocurre no hay más remedio que deszipear el fichero en un directorio, entrar en ese directorio y zipear de nuevo todo con el nombre del fichero xx.cpp, y después pedirle al IDE que instale el nuevo fichero Asegúrate además de que no hay directorios encadenados.
  • Por este motivo, en nuestras sesiones siempre os incluyo una copia de la librería para vuestra descarga, que haya comprobado que se instala sin problemas.
  • Si a pesar de todo, la librería se niega a instalarse podemos hacerlo a la vieja usanza. Cerramos el IDE y copiamos el directorio con los ficheros descritos más arriba directamente al directorio de librerías, que es lo que hace la orden de importarla.

    En Windows ese directorio suele estar en  \\Usuario\Documentos\Arduino\ libraries. Dentro de el encontrareis un directorio por cada librería instalada con los ficheros de cabecera y los ejemplos que podemos seleccionar desde el IDE.

    En Mac OSX, este directorio se instala por defecto en Documentos/Arduino/libraries.

    No tengo por aquí ningún Linux, pero me apunto para buscar su directorio de instalación.

     

  • ¿He dicho ya,  que es muy mala idea juguetear con estos ficheros, si no tenéis muy, pero que muy claro lo que estáis haciendo?
  • Tened en cuenta, también, que hay librerías de primera soportadas por la comunidad y con muchas instalaciones a sus espaldas, de modo que son de confianza y otras que son un ejercicio de buena voluntad y poco tiempo para soportarlas, lo que hace que algunas librerías y ejemplos rehúsen compilar y si pasa esto puede ser un problema de difícil solución.

    Siempre recomiendo ser comprensivos con la gente que te regala su trabajo, no es fácil exigirles perfección.

     

    Desinstalar una librería

     

    El proceso para desinstalar una librería es más sencillo que el de instalarla, porque no es probable que surjan problemas.

    Basta con cerrar el IDE Arduino e ir a los directorios donde se instalan las librerías. Ya dijimos que en Windows es en   \\Usuario\Documentos\Arduino\libraries\. SI vais con el explorador de archivos veréis algo como esto:

    Estructura de la libreria

    Lo que el IDE os muestra en el menú \\Programa\Importar\libreria es una copia de los directorios que aparecen aquí y para desinstalar una librería basta con que borréis el directorio en cuestión.

    La próxima vez que arranque el IDE, la librería en cuestión habrá desaparecido.

     

  • Ni que decir tiene, que sería buena idea hacer una copia del directorio con su contenido antes de borrarlo. Un fichero ZIP o RAR con ello parece una buena solución, ya que suelen ocupar poco y así podremos recupera la librería en un futuro.
  • Si usas Mac, las libreris se instalan en Documentos/Arduino/libraries

    Situacion de la libreria

    Y puedes borrar igualmente la carpeta de la librería correspondiente para librarte de el.

     

    Resumen de la sesión

     

  • Hemos visto, de nuevo, como instalar una librería con el IDE.
  • Hemos descrito que ficheros contiene la librería y la forma de importar un fichero único con el contenido en un Zip.
  • Vimos como instalar una librería sin comprimir, copiándola al directorio correspondiente.
  • Vimos como borrar una librería ed nuestroIDE.
  •  

    Deja una respuesta