Table des matières:
- Étape 1: Qu'est-ce que MicroPython ?
- Étape 2: Exigences
- Étape 3: Pourquoi la carte basée sur ESP8266 ?
- Étape 4: Configuration de votre ordinateur
- Étape 5: Flasher MicroPython avec Esptool.py
- Étape 6: Utilisation de MicroPython REPL avec Rshell
- Étape 7: Contrôle des broches à l'aide de MicroPython
- Étape 8: Estomper la LED
- Étape 9: Où à partir d'ici ?
- Étape 10: Conclusion
Vidéo: Premiers pas avec MicroPython sur l'ESP8266 : 10 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
Voulez-vous une manière différente de programmer les cartes basées sur ESP8266 plutôt que la méthode commune utilisant Arduino IDE avec le langage de programmation C/C++ ?
Dans ce tutoriel, nous apprendrons qui configurer et contrôler une carte ESP8266 à l'aide de MicroPython.
TEMPS DE CONSTRUCTION: 60 MINUTES DIFFICULTÉ: ÉVALUATION: Facile
Étape 1: Qu'est-ce que MicroPython ?
MicorPython est l'un des nombreux langages de programmation que nous pouvons utiliser pour programmer le module ESP8266. Il s'agit d'une version allégée et rapide du langage de programmation Python 3 et présente plusieurs avantages par rapport aux langages de programmation traditionnels tels que C et C++.
MicroPython est conçu pour être autant que possible compatible avec Python normal. Il dispose d'un compilateur et d'un runtime Python complets, et fournit une invite interactive connue sous le nom de REPL (Read-Eval-Print Loop).
MicorPython est conçu pour prendre en charge quelques types différents de microcontrôleurs. Mais pour ce tutoriel, je vais travailler avec un seul modèle: la carte basée sur ESP8266 (NodeMCU). Notez qu'il existe quelques cartes différentes que vous pouvez acheter avec la même puce.
Lectures et ressources:
MicroPython
NodeMCU
Étape 2: Exigences
Pour pouvoir suivre ce didacticiel, il vous suffit d'avoir une expérience de base en codage avec Python. Vous n'avez pas besoin d'avoir de connaissances préalables en microcontrôleurs, en électronique ou même en MicroPython.
Vous aurez également besoin d'un ordinateur Windows, Mac ou Linux avec un port USB libre, car vous connecterez un microcontrôleur à votre ordinateur pour le programmer.
Pièces requises:
1 x NodeMCU (ou autre carte basée sur ESP8266)
1 x LED rouge 5 mm
1 résistance 220Ω 1/4W
1 potentiomètre rotatif 10KΩ
1 x planche à pain
1 x câble USB vers MicroUSB
Fils de cavalier.
Étape 3: Pourquoi la carte basée sur ESP8266 ?
Une façon de tirer le meilleur parti de votre ESP8266 est d'utiliser MicroPython. De plus, le module ESP8266 est l'une des meilleures plates-formes sur lesquelles apprendre à utiliser MicroPython. En effet, l'ESP8266 fournit des fonctions simples de contrôle des broches GPIO ainsi qu'une fonctionnalité sans fil, vous permettant de tester tous les aspects du langage de programmation MicroPython.
La puce ESP8266 est populaire dans l'industrie du développement open source. Il existe de nombreuses cartes de développement de différents fabricants qui utilisent la puce ESP8266. MicroPython a été conçu pour fournir un port générique pouvant fonctionner sur la plupart de ces cartes, avec le moins de limitations possible. Le port est basé sur la carte Adafruit Feather HUZZAH Lorsque vous utilisez d'autres cartes ESP8266, assurez-vous de vérifier leurs schémas et fiches techniques afin de pouvoir identifier les différences entre elles et la carte Adafruit Feather HUZZAH. De cette façon, vous pouvez vous adapter aux différences dans votre code.
Lectures et ressources:
ESP8266
Plume d'Adafruit HUZZAH
Étape 4: Configuration de votre ordinateur
Il y a plusieurs choses que vous devez configurer avant d'utiliser MicroPython pour programmer votre carte ESP8266. Nous allons suivre le processus de configuration dans cette étape. De cette façon, vous saurez comment configurer la carte ESP8266 à utiliser avec MicroPython.
Se préparer
Tout ce dont vous avez besoin de cette étape à l'étape 6 est votre ESP8266 et un câble USB. Connectez votre carte ESP8266 à votre ordinateur.
Comment faire…
ÉTAPE 1: Installez les pilotes de périphérique
Si vous avez un ordinateur Linux, vous n'avez pas besoin d'installer de pilotes de périphérique pour que les pilotes du microcontrôleur soient reconnus. Mais si vous avez un Mac ou une machine Windows, un pilote est nécessaire pour permettre à l'ordinateur de reconnaître le microcontrôleur en tant que périphérique série.
www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers.
ÉTAPE 2: Installer Python
Les outils que vous allez utiliser pour communiquer avec l'ESP8266 sont écrits en Python, vous devez donc installer Python sur votre ordinateur.
Si votre système d'exploitation ne fournit pas de Python pré-packagé, vous pouvez accéder à https://python.org pour télécharger une version officielle pour l'un des systèmes d'exploitation pris en charge.
ÉTAPE 3: Installez esptool et rshell
Installez deux packages qui vont vous aider à gérer votre carte à l'aide de pip. Pour ce faire, ouvrez votre terminal et exécutez
pip installer esptool rshell
ÉTAPE 4: Téléchargez MicroPython
Téléchargez le dernier firmware MicroPython.bin à partir du lien suivant:
Au moment où j'écris ceci, la version actuelle est 1.11 et le fichier du firmware s'appelle esp8266-20190529-v1.11.bin
Au moment où vous faites cela, vous pouvez trouver une version plus récente.
Étape 5: Flasher MicroPython avec Esptool.py
Avant de flasher un nouveau firmware sur la carte, c'est une bonne idée d'effacer toutes les données précédentes. C'est quelque chose que vous devez toujours faire pour que le nouveau firmware fonctionne à partir d'un état propre.
Allez là où vous avez placé le fichier.bin. Utilisez esptool.py pour effacer le flash.
Pour Linux:
esptool.py --port /dev/ttyUSB0 effacer_flash
Pour les fenêtres:
esptool.py --port COM3 effacer_flash
Vous devrez peut-être remplacer le port série de votre commande par le port série auquel votre carte ESP8266 est connectée. Si vous ne connaissez pas le numéro de port série de votre ESP8266, vous pouvez vérifier dans l'IDE Arduino. Ouvrez simplement l'IDE puis cliquez sur Outils | Ports. Vous devriez y voir le port série de votre carte ESP8266. Remplacez le port série dans la commande (/dev/ttyUSB0) par le port série de votre carte.
Maintenant que la carte est complètement effacée, vous pouvez flasher le build MicroPython que vous venez de télécharger. Cela se fait également avec la commande esptool.py:
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash 0 esp8266-20190529-v1.11.bin
Cette commande va écrire le contenu du fichier MicroPython.bin sur la carte à l'adresse 0.
Assurez-vous de remplacer le nom du fichier.bin du firmware dans la commande (esp82688-2019-080529-v1.11.bin) par celui du firmware que vous avez téléchargé.
Une fois le firmware installé avec succès sur votre carte ESP8266, vous pouvez accéder à REPL sur votre carte via une connexion filaire (port série UART) ou via WiFi pensé.
Étape 6: Utilisation de MicroPython REPL avec Rshell
Vous êtes maintenant prêt à démarrer MicroPython sur votre carte ESP8266.
Je vais vous montrer comment vous connecter à l'invite Python exécutée sur votre carte. C'est ce qu'on appelle le REPL, qui signifie "Read-Eval-Print-Loop". Il s'agit de l'invite Python standard que vous avez probablement l'habitude de voir lorsque vous travaillez avec l'interpréteur Python standard, mais cette fois, il va s'exécuter sur votre carte et pour interagir avec lui, vous allez utiliser la connexion série à votre ordinateur.. Prêt?
Pour vous connecter à votre carte et ouvrir une session REPL, saisissez la commande suivante:
rshell --port
Cette commande vous amènera à l'invite rshell. Voir photo ci-dessus.
Si vous suivez ce didacticiel sous Windows, notez que rshell a un historique de problèmes lors de son exécution sous Windows.
Donc pour corriger ce type:
rshell -a --port COM3
À partir de cette invite, vous pouvez effectuer des tâches de gestion liées à votre carte microcontrôleur, et également démarrer un REPL Python que vous pouvez utiliser pour interagir avec la carte en temps réel. Il vous suffit donc d'entrer la commande suivante:
remplacer
Pour vous assurer que tout fonctionne, saisissez une phrase Python simple:
print("Bonjour tout le monde")
Étape 7: Contrôle des broches à l'aide de MicroPython
Dans cette étape, nous allons apprendre à contrôler les broches ESP8266 avec MicroPython. Pour ce faire, nous allons proposer une configuration dans laquelle nous allons changer l'état d'une LED connectée à une broche GPIO de la carte ESP8266. Cela vous aidera à comprendre comment contrôler les sorties numériques à l'aide de MicoPython.
Se préparer
Vous aurez besoin des éléments suivants pour accomplir cette ÉTAPE:
1 x nœud MCU
1 x LED rouge 5 mm
1 x 220 Résistance
1 x planche à pain
Fils de cavalier
La construction
Commencez par monter la LED sur la planche à pain. Connectez une extrémité de la résistance de 220 Ω à la patte positive de la LED (la patte positive d'une LED est généralement la plus haute des deux pattes). Connectez l'autre extrémité de la résistance à la broche D1 de la carte ESP8266. Connectez ensuite la branche négative de la LED à la broche GND de la carte ESP8266. La connexion est comme indiqué dans le schéma ci-dessus.
Une fois la configuration terminée, connectez la carte ESP8266 à votre ordinateur via un câble USB.
Comment faire…
Tapez le code suivant dans votre REPL:
# clignotement de la LED toutes les 1 seconde
def blink(pin=5, time=1) # fonction de clignotement par défaut pin=5, time=1s import machine # le module machine contient les configurations et modes des broches depuis le time import sleep # import sleep pour un certain délai LED = machine. Pin (led_pin, machine. PIN. OUT) # configure la LED comme SORTIE tant que True: # exécute pour toujours LED.value(1) # règle la LED sur HAUT sleep(time) # attend 1 seconde par défaut LED.value(0) # règle la LED à LOW sleep(time) # attendre 1 seconde par défaut
Tapez blink() dans votre session RPEL pour tester ce code. Cela fera clignoter la LED connectée au GPIO5 toutes les 1 seconde.
Vous pouvez changer le code PIN et/ou l'heure en appelant:
clignoter(pin=, heure=)
Appuyez sur ctrl+c pour quitter le code en cours d'exécution.
Vous pouvez utiliser MicroPython pour lire une entrée de connecté à l'ESP8266. Passez à l'étape suivante pour savoir comment procéder.
Regardez la vidéo si vous êtes bloqué.
Étape 8: Estomper la LED
Dans cette étape, nous allons apprendre à régler la luminosité de la LED à l'aide d'un potentiomètre rotatif. Nous allons utiliser une technique appelée Pulse Width Modulation (PWM), elle nous permet de faire varier la LED avec jusqu'à 256 réglages.
Remarque: toutes les broches de l'ESP8266 peuvent être utilisées comme broche PWM, à l'exception du GPIO16 (D0).
Se préparer:
Vous aurez besoin des éléments suivants pour accomplir cette ÉTAPE:
1 x nœud MCU
1 x LED rouge 5 mm
1 potentiomètre rotatif de 50 KΩ.
1 x planche à pain
Fils de cavalier
La construction
La connexion est comme indiqué dans le schéma ci-dessus: Une fois la configuration terminée, connectez la carte ESP8266 à votre ordinateur via un câble USB.
Comment faire…
Tapez le code suivant dans votre REPL:
# LED qui s'estompe tous les 0,5 en lisant les données du potentiomètre
import machine from time import sleep led_pin = 5 # led pin POT = machine. ADC(0) # ADC0 broche LED = machine. Pin(led_pin) # créer un objet LED LED_pwm = machine. PWM(LED, freq=500) # créer LED_pwm objet et réglez la fréquence à 500 Hz tandis que True: LED_pwm.duty(POT.read()) # récupère la valeur du pot et réglez-la sur le cycle de service sleep(0,5) # attendez 0,5
Cela changera la luminosité de la LED connectée au GPIO 5 en changeant la valeur du potentiomètre.
Appuyez sur ctrl+c pour quitter le code en cours d'exécution.
Regardez la vidéo si vous êtes bloqué.
Étape 9: Où à partir d'ici ?
Jusqu'à présent, nous avons vu comment configurer et exécuter MicroPython sur des cartes basées sur ESP8266. nous avons appris à contrôler les broches pour faire clignoter une LED puis nous avons ajouté un potentiomètre afin de contrôler la luminosité de la LED en utilisant la technique de modulation de largeur d'impulsion.
Maintenant, nous pouvons lire les données du capteur et les envoyer vers le cloud, nous pouvons également créer un serveur HTTP où vous pourrez imprimer nos données dans une simple page Web, etc…
Cela nous donne beaucoup d'idées de l'Internet des objets (IoT).
Étape 10: Conclusion
Voilà! Partez à la conquête du monde de MicroPython.
si vous avez des questions bien sûr, vous pouvez laisser un commentaire.
Pour en savoir plus sur mes œuvres, veuillez visiter ma chaîne YouTube:
monYouTube
monGitHub
monLinkedin
Merci d'avoir lu cette instructable ^^ et bonne journée.
À plus.
Ahmed Nouira.
Conseillé:
Moteur pas à pas contrôlé par moteur pas à pas sans microcontrôleur ! : 6 étapes
Moteur pas à pas contrôlé par moteur pas à pas sans microcontrôleur ! : Dans ce rapide Instructable, nous allons faire un simple contrôleur de moteur pas à pas à l'aide d'un moteur pas à pas. Ce projet ne nécessite aucun circuit complexe ni microcontrôleur. Alors sans plus tarder, commençons
Moteur pas à pas contrôlé par moteur pas à pas sans microcontrôleur (V2) : 9 étapes (avec photos)
Moteur pas à pas contrôlé par moteur pas à pas sans microcontrôleur (V2) : Dans l'un de mes précédents Instructables, je vous ai montré comment contrôler un moteur pas à pas à l'aide d'un moteur pas à pas sans microcontrôleur. C'était un projet rapide et amusant, mais il est venu avec deux problèmes qui seront résolus dans ce Instructable. Alors, esprit
Locomotive modèle commandée par moteur pas à pas - Moteur pas à pas en tant qu'encodeur rotatif : 11 étapes (avec photos)
Locomotive modèle commandée par moteur pas à pas | Moteur pas à pas en tant qu'encodeur rotatif : Dans l'un des précédents Instructables, nous avons appris à utiliser un moteur pas à pas comme encodeur rotatif. Dans ce projet, nous allons maintenant utiliser cet encodeur rotatif à moteur pas à pas pour contrôler un modèle de locomotive à l'aide d'un microcontrôleur Arduino. Alors, sans fu
Moteur pas à pas contrôlé par moteur pas à pas - Moteur pas à pas en tant qu'encodeur rotatif : 11 étapes (avec photos)
Moteur pas à pas contrôlé par moteur pas à pas | Moteur pas à pas en tant qu'encodeur rotatif : Vous avez quelques moteurs pas à pas qui traînent et vous voulez faire quelque chose ? Dans ce Instructable, utilisons un moteur pas à pas comme encodeur rotatif pour contrôler la position d'un autre moteur pas à pas à l'aide d'un microcontrôleur Arduino. Alors sans plus tarder, allons-y
Installation de Raspbian Buster sur Raspberry Pi 3 - Premiers pas avec Raspbian Buster avec Raspberry Pi 3b/3b+ : 4 étapes
Installation de Raspbian Buster sur Raspberry Pi 3 | Premiers pas avec Raspbian Buster avec Raspberry Pi 3b/3b+ : Salut les gars, récemment l'organisation Raspberry pi a lancé un nouveau système d'exploitation Raspbian appelé Raspbian Buster. Il s'agit d'une nouvelle version de Raspbian pour Raspberry pi. Donc, aujourd'hui, dans ces instructables, nous allons apprendre à installer Raspbian Buster OS sur votre Raspberry pi 3