.. note:: Ciao, benvenuto nella community SunFounder Raspberry Pi & Arduino & ESP32 su Facebook! Approfondisci Raspberry Pi, Arduino ed ESP32 con altri appassionati. **Perché unirsi?** - **Supporto esperto**: Risolvi problemi post-vendita e sfide tecniche con l'aiuto della nostra comunità e del nostro team. - **Impara e condividi**: Scambia suggerimenti e tutorial per migliorare le tue competenze. - **Anteprime esclusive**: Accedi in anticipo a nuovi annunci di prodotti e anteprime. - **Sconti speciali**: Goditi sconti esclusivi sui nostri prodotti più recenti. - **Promozioni festive e omaggi**: Partecipa a omaggi e promozioni festive. 👉 Pronto per esplorare e creare con noi? Clicca [|link_sf_facebook|] e unisciti oggi stesso! .. _install_the_libraries: Installa le librerie ============================ Per utenti C --------------- BCM2835 ~~~~~~~~~~~~~~~ Questa è una libreria C per Raspberry Pi (RPi). Fornisce l'accesso ai GPIO e ad altre funzioni IO sul chip Broadcom BCM 2835, utilizzato nel Raspberry Pi, consentendo l'accesso ai pin GPIO sul connettore a 26 pin della scheda RPi, permettendo il controllo e l'interfacciamento con vari dispositivi esterni. Fornisce funzioni per leggere ingressi digitali, impostare uscite digitali, utilizzare SPI e I2C e accedere ai timer di sistema. Il rilevamento di eventi sui pin è supportato tramite polling (non sono supportate le interruzioni). Funziona su tutte le versioni fino a RPI 4 e supporta tutte le versioni di Debian fino a Debian Buster 10. Apri un terminale e scarica la libreria ``bcm2835`` nel percorso ``~``. .. raw:: html .. code-block:: cd ~ wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.69.tar.gz Estrai il pacchetto. .. raw:: html .. code-block:: tar zxvf bcm2835-1.69.tar.gz Installa la libreria BCM2835 con i seguenti comandi. .. raw:: html .. code-block:: cd bcm2835-1.69 ./configure make sudo make check sudo make install * Riferimento: `bcm2835 `_ Per utenti Python ---------------------- .. _create_virtual: Creazione di un ambiente virtuale ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Quando si utilizza Raspberry Pi o dispositivi simili, si consiglia di installare i pacchetti con ``pip`` in un ambiente virtuale. Questo offre isolamento delle dipendenze, aumenta la sicurezza del sistema, mantiene il sistema pulito e facilita la migrazione e la condivisione dei progetti, semplificando la gestione delle dipendenze. Questi vantaggi rendono gli ambienti virtuali uno strumento estremamente importante e utile nello sviluppo Python. Di seguito i passaggi per creare un ambiente virtuale: **1. Creazione di un ambiente virtuale** Innanzitutto, è necessario assicurarsi che il sistema abbia Python installato. Python versione 3.3 e successive includono il modulo ``venv`` per creare ambienti virtuali, eliminando la necessità di installazioni separate. Se stai usando Python 2 o una versione precedente a Python 3.3, dovrai installare ``virtualenv``. * Per Python 3: Python 3.3 e versioni successive possono utilizzare direttamente il modulo ``venv``: .. raw:: html .. code-block:: shell python3 -m venv myenv Questo creerà un ambiente virtuale chiamato ``myenv`` nella directory corrente. * Per Python 2: Se stai ancora usando Python 2, devi prima installare ``virtualenv``: .. raw:: html .. code-block:: shell pip install virtualenv Quindi, crea un ambiente virtuale: .. raw:: html .. code-block:: shell virtualenv myenv Anche questo creerà un ambiente virtuale chiamato ``myenv`` nella directory corrente. **2. Attivazione dell'ambiente virtuale** Dopo aver creato l'ambiente virtuale, è necessario attivarlo per utilizzarlo. .. note:: Ogni volta che riavvii il Raspberry Pi o apri un nuovo terminale, dovrai eseguire nuovamente il seguente comando per attivare l'ambiente virtuale. .. raw:: html .. code-block:: shell source myenv/bin/activate Una volta attivato l'ambiente virtuale, vedrai il nome dell'ambiente prima del prompt della riga di comando, indicando che stai lavorando all'interno dell'ambiente virtuale. **3. Uscita dall'ambiente virtuale** Quando hai completato il tuo lavoro e desideri uscire dall'ambiente virtuale, esegui semplicemente: .. raw:: html .. code-block:: shell deactivate Questo ti riporterà all'ambiente Python globale del sistema. **4. Eliminazione dell'ambiente virtuale** Se non hai più bisogno di un particolare ambiente virtuale, puoi semplicemente eliminare la directory che contiene l'ambiente virtuale: .. raw:: html .. code-block:: shell rm -rf myenv .. _install_luma_led_matrix: Luma.LED_Matrix ~~~~~~~~~~~~~~~~~~~~~~~ Questa è una libreria Python 3 per interfacciare display a matrice LED utilizzando il driver MAX7219 (tramite SPI), WS2812 (NeoPixels, inclusi Pimoroni Unicorn pHat/Hat e Unicorn Hat HD) e APA102 (DotStar) su Raspberry Pi e altri computer a scheda singola basati su Linux. #. Aggiungi l'utente ai gruppi ``spi`` e ``gpio`` per garantire che l'utente corrente (sostituisci "pi" con il tuo nome utente) abbia il permesso di accedere alle interfacce SPI e GPIO. .. raw:: html .. code-block:: shell sudo usermod -a -G spi,gpio pi Dopo aver eseguito questo comando, è consigliato riavviare il sistema o disconnettersi e riconnettersi per applicare le modifiche di gruppo. #. Installa le dipendenze necessarie: usa ``apt`` per installare strumenti di sviluppo e librerie correlate. Queste librerie sono essenziali per compilare e installare determinati pacchetti 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 ambiente virtuale. Qui, ``~/my_env`` è il percorso per l'ambiente virtuale, ma può essere personalizzato. .. raw:: html .. code-block:: shell python3 -m venv ~/my_env #. Dopo aver creato l'ambiente virtuale, attivalo per l'uso. .. note:: Ogni volta che riavvii il Raspberry Pi o apri un nuovo terminale, dovrai eseguire nuovamente il seguente comando per attivare l'ambiente virtuale. .. raw:: html .. code-block:: shell source ~/my_env/bin/activate Una volta attivato l'ambiente virtuale, vedrai il nome dell'ambiente prima del prompt dei comandi, indicando che stai lavorando all'interno dell'ambiente virtuale. #. All'interno dell'ambiente virtuale, aggiorna ``pip`` e ``setuptools`` per assicurarti che le versioni più recenti dei pacchetti siano installate. .. raw:: html .. code-block:: shell pip install --upgrade pip setuptools #. Quindi, installa ``luma.led_matrix``: .. raw:: html .. code-block:: shell pip install luma.led_matrix #. Dopo l'installazione, puoi verificare che ``luma.led_matrix`` sia installato correttamente eseguendo il seguente comando. Se l'installazione è corretta, verrà visualizzato il numero di versione di ``luma.led_matrix``. .. raw:: html .. code-block:: shell python3 -c "import luma.led_matrix; print(luma.led_matrix.__version__)" #. Quando hai finito di lavorare e desideri uscire dall'ambiente virtuale, esegui semplicemente: .. raw:: html .. code-block:: shell deactivate * Riferimento: `Luma.LED_Matrix `_ .. .. _mfrc522_lib: .. MFRC522 .. ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. Esegui il seguente comando per installare la libreria MFRC522. .. .. raw:: html .. .. .. code-block:: .. sudo pip3 install mfrc522 .. La libreria MFRC522 contiene due file: ``MFRC522.py`` e ``SimpleMFRC522.py``. .. Tra questi, ``MFRC522.py`` è l'implementazione dell'interfaccia RFID RC522; questa libreria gestisce tutto il lavoro di comunicazione con RFID tramite l'interfaccia SPI del Raspberry Pi. .. ``SimpleMFRC522.py`` semplifica notevolmente ``MFRC522.py``, consentendo di gestire solo poche funzioni invece che molte.