python:micropython:materiel:pyportal

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
python:micropython:materiel:pyportal [2021/02/22 19:24] – [3. Configuration du circuit PyPortalPython] philippepython:micropython:materiel:pyportal [2022/08/03 11:50] phil
Ligne 1: Ligne 1:
 +[[:python:micropython:accueil|{{ :iconemaison.jpg?nolink&30|Sommaire Python et microPython}}]]
  
 +===== Module PyPortal =====
 +[Mise à jour le 24/2/2021] 
 +
 +{{ :python:micropython:materiel:circuitppython.png?nolink&250|}}
 +
 +  * **Ressources**
 +    * <html><a href="https://www.adafruit.com/product/4116" target="_blank">Adafruit PyPortal - CircuitPython Powered Internet Display</a></html>
 +    * <html><a href="https://learn.adafruit.com/adafruit-pyportal/overview" target="_blank">Adafruit PyPortal - IoT for CircuitPython (overview)</a></html>
 +    * <html><a href="https://circuitpython.readthedocs.io/en/6.1.x/docs/index.html" target="_blank">Documentation CircuitPython</a></html>
 +
 +==== 1. Présentation du module ====
 +Le **PyPortal** a été développé pour l'"**Internet des objets**". Il permet de créer des interfaces graphiques à écran tactile en Python ou Arduino.
 +{{ :python:micropython:materiel:pyportal.jpg?nolink |}}
 +
 +  * **Microcontrôleur** : ATSAMD51J20
 +    * Cortex-M4 à 120 MHz
 +    * Alimentation : 3,3V
 +    * Mémoire flash : 1Mo
 +    * Port USB natif 
 +  * **Coprocesseur** : Wi-Fi Espressif ESP32 (TLS/SSL intégré)
 +  * **Mémoire externe** : 8Mo QSPI flash
 +  * **Affichage** : TFT couleur 3,2 pouces 320 x 240 avec écran tactile résistif
 +  * **Stockage** : 
 +    * Emplacement pour carte microSD
 +  * **Entrées/Sorties**
 +    * Connectique pour I2C
 +    * Connectique pour 2 entrées analogiques ou numériques
 +  * **Divers**
 +    * Haut parleur
 +    * Capteur de lumière
 +    * Capteur de température (ADT7410 résolution 16bits (0,0078°C))
 +    * Néopixel
 +
 +==== 2. Mise en oeuvre ====
 +  * **Mise à jour**
 +    -  **Bootloader** \\ **Source** : <html><a href="https://learn.adafruit.com/adafruit-pyportal/update-the-uf2-bootloader" target="_blank">Update the UF2 Bootloader</a></html> \\ \\ a. **Double-cliquer** sur le bouton de réinitialisation. {{ :python:micropython:materiel:portalboot.png?nolink&500 |}} \\ b. <html><a href="https://circuitpython.org/board/pyportal/">Télécharger</a></html> le chargeur de démarrage .UF2 et le faire glisser dans la fenêtre PORTALBOOT. \\ \\ 
 +    - **Firmware** : <html><a href="https://learn.adafruit.com/adafruit-pyportal/install-circuitpython" target="_blank">Installez CircuitPython</a></html> \\ a. <html><a href="https://circuitpython.org/board/pyportal/">Télécharger</a></html> la dernière version de circuitPython pour PyPortal et la faire glisser dans la fenêtre PORTALBOOT. 
 +{{ :python:micropython:materiel:mu.png?nolink&50|}}
 +  * **IDE** :** Mu** (Recommandé)
 +    * **REPL** : activé en entrant **ctrl-c** puis une touche quelconque dans la console => **>>>**.
 +      * **help("modules")** liste tous les modules (bibliothèques) sur la carte.
 +      * **import board** + **dir(board)** pour lister les broches de la carte.
 +
 +{{ :python:micropython:materiel:circuitpythonlib.png?nolink|}}
 +  * **Organisation** minimum sur la carte PyPortal
 +    * **Fichiers** à créer
 +      * **code.py** s'exécute par défaut 
 +      * <html><a href="https://learn.adafruit.com/adafruit-pyportal/internet-connect" target="_blank">secret.py</a></html> pour sauvegarder le SSID et le mdp du Wifi, compte Adafruit IO, etc.
 +    * **Sous répertoire**
 +      * **lib** pour rassembler les bibliothèques nécessaires à l'application. Celles-ci seront copiées à partir du paquet (<html><a href="https://learn.adafruit.com/adafruit-pyportal/circuitpython-libraries" target="_blank">bundle</a></html>) correspondant à la version de CircuitPython
 +  * **Test**
 +<code python *.py>
 +# Faire clignoter la LED ACT
 +import board # Accès au matériel de la carte 
 +import digitalio # Accès aux entrée/sorties
 +import time # Temporisations
 + 
 +led = digitalio.DigitalInOut(board.D13)
 +led.direction = digitalio.Direction.OUTPUT
 + 
 +while True:
 +    led.value = True
 +    time.sleep(0.1)
 +    led.value = False
 +    time.sleep(0.1)
 +</code>
 +
 +==== 3. Configuration du circuit PyPortalPython ====
 +  * Source sur <html><a href="https://learn.adafruit.com/adafruit-pyportal/pyportal-circuitpython-setup" target="_blank">adafruit</a></html> pour une configuration minimum.
 +
 +==== 4. Bibliothèques ====
 +  * <html><a href="https://circuitpython.org/libraries" target="_blank">Téléchargement et installation</a></html> du bundle de bibliothèques.
 +
 +==== 5. Exemples ====
 +  * **Extraits de code** illustrant les fonctionnalités de la carte (capteur, carte µSD, etc.) : <html><a href="https://www.devdungeon.com/content/pyportal-circuitpy-tutorial-adabox-011#toc-30" target="_blank">Tutoriel PyPortal CircuitPy Tutorial (AdaBox 011)</a></html>