.. note::
¡Hola! Bienvenido a la comunidad de entusiastas de SunFounder Raspberry Pi, Arduino y ESP32 en Facebook. Sumérgete más en el mundo de Raspberry Pi, Arduino y ESP32 con otros entusiastas.
**¿Por qué unirte?**
- **Soporte Experto**: Resuelve problemas postventa y desafíos técnicos con la ayuda de nuestra comunidad y equipo.
- **Aprende y Comparte**: Intercambia consejos y tutoriales para mejorar tus habilidades.
- **Preestrenos Exclusivos**: Accede anticipadamente a anuncios de nuevos productos y adelantos.
- **Descuentos Especiales**: Disfruta de descuentos exclusivos en nuestros productos más recientes.
- **Promociones y Sorteos Festivos**: Participa en sorteos y promociones de temporada.
👉 ¿Listo para explorar y crear con nosotros? Haz clic en [|link_sf_facebook|] y únete hoy mismo.
.. _install_the_libraries:
Instalar las Librerías
=============================
Para Usuarios de C
---------------------
BCM2835
~~~~~~~~~~~~~~~
Esta es una librería en C para Raspberry Pi (RPi). Proporciona acceso a GPIO y otras funciones de IO en el chip Broadcom BCM 2835, utilizado en la Raspberry Pi, permitiendo el acceso a los pines GPIO en el conector IDE de 26 pines de la placa RPi, para que puedas controlar e interactuar con varios dispositivos externos.
Ofrece funciones para leer entradas digitales y configurar salidas digitales, usar SPI e I2C, y acceder a los temporizadores del sistema. La detección de eventos en los pines se soporta mediante sondeo (las interrupciones no están soportadas).
Funciona en todas las versiones hasta la RPI 4 inclusive. Compatible con todas las versiones de Debian hasta Debian Buster 10.
Abre una terminal y descarga la librería ``bcm2835`` en la ruta ``~``.
.. raw:: html
.. code-block::
cd ~
wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.69.tar.gz
Descomprime el paquete.
.. raw:: html
.. code-block::
tar zxvf bcm2835-1.69.tar.gz
Instala la librería BCM2835 con los siguientes comandos.
.. raw:: html
.. code-block::
cd bcm2835-1.69
./configure
make
sudo make check
sudo make install
* Referencia: `bcm2835 `_
Para Usuarios de Python
----------------------------
.. _create_virtual:
Creación de un Entorno Virtual
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Al usar Raspberry Pi o dispositivos similares, se recomienda instalar paquetes con ``pip`` en un entorno virtual. Ofrece aislamiento de dependencias, aumenta la seguridad del sistema, mantiene la limpieza del sistema y facilita la migración y el intercambio de proyectos, simplificando la gestión de dependencias. Estos beneficios hacen que los entornos virtuales sean una herramienta extremadamente importante y útil en el desarrollo de Python.
A continuación, se presentan los pasos para crear un entorno virtual:
**1. Crear un entorno virtual**
Primero, debes asegurarte de que tu sistema tenga Python instalado. Las versiones de Python 3.3 y posteriores vienen con el módulo ``venv`` para crear entornos virtuales, eliminando la necesidad de una instalación separada. Si estás utilizando Python 2 o una versión anterior a Python 3.3, necesitarás instalar ``virtualenv``.
* Para Python 3:
Las versiones 3.3 y posteriores de Python pueden usar directamente el módulo ``venv``:
.. raw:: html
.. code-block:: shell
python3 -m venv myenv
Esto creará un entorno virtual llamado ``myenv`` en el directorio actual.
* Para Python 2:
Si aún estás utilizando Python 2, primero necesitas instalar ``virtualenv``:
.. raw:: html
.. code-block:: shell
pip install virtualenv
Luego, crea un entorno virtual:
.. raw:: html
.. code-block:: shell
virtualenv myenv
Esto también creará un entorno virtual llamado ``myenv`` en el directorio actual.
**2. Activar el Entorno Virtual**
Después de crear el entorno virtual, necesitas activarlo para su uso.
.. note::
Cada vez que reinicies la Raspberry Pi, o abras una nueva terminal, tendrás que ejecutar nuevamente el siguiente comando para activar el entorno virtual.
.. raw:: html
.. code-block:: shell
source myenv/bin/activate
Una vez activado el entorno virtual, verás el nombre del entorno antes del prompt de la línea de comandos, indicando que estás trabajando dentro del entorno virtual.
**3. Salir del Entorno Virtual**
Cuando hayas terminado tu trabajo y desees salir del entorno virtual, simplemente ejecuta:
.. raw:: html
.. code-block:: shell
deactivate
Esto te devolverá al entorno global de Python del sistema.
**4. Eliminar el Entorno Virtual**
Si ya no necesitas un entorno virtual en particular, puedes simplemente eliminar el directorio que contiene el entorno virtual:
.. raw:: html
.. code-block:: shell
rm -rf myenv
Luma.LED_Matrix
~~~~~~~~~~~~~~~~~~~~~~~
Esta es una biblioteca de Python 3 para la interfaz de pantallas de matriz de LED utilizando el controlador MAX7219 (a través de SPI), WS2812 (NeoPixels, incluyendo Pimoroni Unicorn pHat/Hat y Unicorn Hat HD), y APA102 (DotStar) en la Raspberry Pi y otras computadoras de placa única basadas en Linux.
#. Agrega el usuario a los grupos ``spi`` y ``gpio`` para asegurar que el usuario actual (reemplaza "pi" con tu nombre de usuario) tenga permiso para acceder a las interfaces SPI y GPIO.
.. raw:: html
.. code-block:: shell
sudo usermod -a -G spi,gpio pi
Después de ejecutar este comando, se recomienda reiniciar el sistema o cerrar y volver a iniciar sesión para aplicar los cambios de pertenencia al grupo.
#. Instala las dependencias necesarias: Usa ``apt`` para instalar herramientas de compilación y bibliotecas de desarrollo relacionadas. Estas bibliotecas son esenciales para compilar e instalar ciertos paquetes de Python.
.. raw:: html
.. code-block:: shell
sudo apt update
sudo apt install -y build-essential python3-dev python3-pip libfreetype6-dev libjpeg-dev libopenjp2-7 libtiff-dev
#. Crea un entorno virtual. Aquí, ``~/my_env`` es la ruta para el entorno virtual y puede personalizarse.
.. raw:: html
.. code-block:: shell
python3 -m venv ~/my_env
#. Después de crear el entorno virtual, actívalo para su uso.
.. nota::
Cada vez que reinicies la Raspberry Pi o abras un nuevo terminal, deberás ejecutar el siguiente comando nuevamente para activar el entorno virtual.
.. raw:: html
.. code-block:: shell
source ~/my_env/bin/activate
Una vez que el entorno virtual esté activado, verás el nombre del entorno antes del símbolo del sistema, indicando que estás trabajando dentro del entorno virtual.
#. Dentro del entorno virtual, actualiza ``pip`` y ``setuptools`` para asegurar que las versiones más recientes de los paquetes estén instaladas.
.. raw:: html
.. code-block:: shell
pip install --upgrade pip setuptools
#. Luego, instala ``luma.led_matrix``:
.. raw:: html
.. code-block:: shell
pip install luma.led_matrix
#. Después de la instalación, puedes verificar que ``luma.led_matrix`` se haya instalado correctamente ejecutando el siguiente comando. Si es exitoso, mostrará el número de versión de ``luma.led_matrix``.
.. raw:: html
.. code-block:: shell
python3 -c "import luma.led_matrix; print(luma.led_matrix.__version__)"
#. Cuando termines de trabajar y desees salir del entorno virtual, simplemente ejecuta:
.. raw:: html
.. code-block:: shell
deactivate
* Referencia: `Luma.LED_Matrix `_
Spidev y MFRC522
~~~~~~~~~~~~~~~~~~~~~~~~~~~
La librería ``spidev`` ayuda a manejar las interacciones con SPI y es un componente clave en este tutorial, ya que la necesitamos para que la Raspberry Pi interactúe con el RFID RC522.
Ejecuta el siguiente comando para instalar ``spidev`` en tu Raspberry Pi a través de ``pip``.
.. raw:: html
.. code-block::
sudo pip3 install spidev
Continúa instalando la librería MFRC522.
.. raw:: html
.. code-block::
sudo pip3 install mfrc522
La librería MFRC522 contiene dos archivos: ``MFRC522.py`` y ``SimpleMFRC522.py``.
Entre ellos, ``MFRC522.py`` es la implementación de la interfaz RFID RC522, esta librería maneja todo el trabajo pesado de la comunicación con RFID a través de la interfaz SPI de la Pi.
``SimpleMFRC522.py`` toma el archivo ``MFRC522.py`` y lo simplifica considerablemente, permitiéndote trabajar con solo unas pocas funciones en lugar de muchas.