Table des matières:

MicroPython sur la carte de capteur d'arts complexes : 3 étapes
MicroPython sur la carte de capteur d'arts complexes : 3 étapes

Vidéo: MicroPython sur la carte de capteur d'arts complexes : 3 étapes

Vidéo: MicroPython sur la carte de capteur d'arts complexes : 3 étapes
Vidéo: interruptions en micropython pour les boutons poussoirs pour ESP32 ou raspberry pi pco 2024, Novembre
Anonim
MicroPython sur la carte de capteur d'arts complexes
MicroPython sur la carte de capteur d'arts complexes
MicroPython sur la carte de capteur d'arts complexes
MicroPython sur la carte de capteur d'arts complexes

L'un des aspects les plus étonnants du microcontrôleur ESP32 est sa capacité à exécuter MicroPython. Cela peut être fait de deux manières: en exécutant des programmes Python complets ou de manière interactive via une application console. Ce Instructable montrera comment utiliser MicroPython dans les deux sens à l'aide du complexe Arts Sensor Board. Nous allons d'abord exécuter un exemple d'application qui rassemble les données de l'accéléromètre à partir de l'IMU BNO_085, puis nous utiliserons un programme série pour programmer de manière interactive en Python.

Niveau: Ce tutoriel suppose une certaine connaissance de Python et que Python est installé. Il suppose également la connaissance des commandes de base du terminal.

Outils: les seuls outils dont nous aurons besoin seront la carte de capteur, un programme de terminal et un programme de console série. Sur un Mac, vous pouvez simplement utiliser le terminal. Sur une machine Windows, vous devrez télécharger et installer un programme de terminal. Pour la console série. Le mastic est toujours un bon choix.

Étape 1: Obtenir le micrologiciel et les bibliothèques

Pour commencer, nous devrons télécharger le micrologiciel personnalisé fourni par Complex Arts, puis le flasher sur la carte du capteur. Le firmware peut être trouvé ici:

Téléchargez le fichier firmware.bin et placez-le dans le dossier de votre choix. Vous aurez également besoin du programme d'exemple Arts complexes, alors autant le faire maintenant; allez sur: https://github.com/ComplexArts/SensorBoardPython et git clone ou téléchargez à l'emplacement de votre choix.

Une fois que vous avez les fichiers, nous aurons besoin de quelques packages pour l'interfaçage avec l'ESP32. Le premier package dont nous aurons besoin est esptool.py. Pour l'installer, tapez simplement

pip installer esptool

dans la borne.

Une fois esptool installé, on peut effacer puis re-flasher la puce. Pour ce faire, entrez

esptool.py --chip esp32 --port COM4 effacer_flash

pour le port, entrez le port série qui coïncide avec la Sensor Board. Sur un Mac, cela ressemblerait à --port /dev/ttyUSB0

Une fois cela fait, nous flasherons la puce avec:

esptool.py --chip esp32 --port COM4 --baud 460800 write_flash -z 0x1000 firmware.bin

Encore une fois, changez le port en conséquence.

Étape 2: Travailler avec MicroPython

Travailler avec MicroPython
Travailler avec MicroPython

Si nous vérifions la sortie série de la Sensor Board à ce stade, nous verrons le Python REPL (la boucle read-eval-print: >>>) Pour ce faire, nous aurons besoin d'un programme de console série. Putty est une bonne option car il fournit des options pour SSH et telnet, mais aussi une simple communication série comme nous le ferons ici. putty.org. Une fois que vous l'avez installé, ouvrez-le et sélectionnez « Série » sous « Type de connexion: » Vous devrez saisir le même nom de port série que vous avez entré pour l'esptool ci-dessus, puis un débit en bauds de 115 200 pour la vitesse. Allez-y et cliquez sur « Ouvrir ». Et il y a Python !

Nous allons maintenant télécharger et exécuter notre exemple de code. Pour ce faire, accédez au dossier dans lequel vous avez précédemment enregistré les exemples SensorBoardPython. Nous aurons besoin de l'incroyable paquet ampy d'Adafruit. Vous pouvez l'installer avec:

pip installer adafruit-ampy=0.6.3

Une fois que vous l'avez, utilisez ampy pour télécharger l'exemple d'accéléromètre sur la carte:

ampy -p COM4 put accéléromètre.py

(en changeant le port en conséquence, bien sûr). Réinitialisez maintenant votre carte avec le bouton de réinitialisation. Nous allons revenir à Putty à ce stade et à l'invite >>>, tapez

accéléromètre d'importation

Alto! Vous exécutez maintenant le code accéléromètre.py sur la carte du capteur ! Le code s'exécutera pendant 20 secondes, puis s'arrêtera. Notez que pendant l'exécution du code de l'accéléromètre, la LED bleue de la carte clignote. Pour ceux qui sont plus familiers avec Python, vous remarquerez que cela se fait sans thread et sans délai (). Cela est dû à l'utilisation de la bibliothèque asyncio de Python, qui fournit d'excellentes méthodes pour exécuter des tâches simultanément et est très utile sur les plates-formes embarquées telles que l'ESP32. Si vous ne le connaissez pas, cela vaut la peine de vérifier; il y a un super tutoriel ici: https://github.com/peterhinch/micropython-async/b… (mais attention, c'est un peu grisant).

Étape 3: MicroPython sur série

Retour à la tâche à accomplir ! Lorsque le code de l'accéléromètre s'arrête, vous verrez à nouveau le Python >>>. Maintenant, nous pouvons programmer de manière interactive en utilisant la Sensor Board comme notre interpréteur Python. Pour ce faire, entrez

>>x = 10

>>y = 11

>>x + y

21

Bien qu'il s'agisse de l'exemple le plus basique, nous pouvons facilement commencer à créer du code plus complexe en utilisant les bibliothèques Complex Arts comme point de départ. Cela vous permet d'exécuter des mesures de position et de mouvement à la volée, avec un contrôle en temps réel. Avec les broches GPIO disponibles sur la carte du capteur, vous pouvez facilement connecter des servos, des lumières, des capteurs, des moteurs ou n'importe quel nombre de périphériques physiques, en les utilisant soit de manière interactive, soit via un programme Python. S'amuser!

Pour plus d'informations, consultez ces autres ressources:

complexarts.net/home/

complexarts.net/docs/bno085/

Conseillé: