Table des matières:

Premiers pas avec MicroPython sur l'ESP8266 : 10 étapes (avec photos)
Premiers pas avec MicroPython sur l'ESP8266 : 10 étapes (avec photos)

Vidéo: Premiers pas avec MicroPython sur l'ESP8266 : 10 étapes (avec photos)

Vidéo: Premiers pas avec MicroPython sur l'ESP8266 : 10 étapes (avec photos)
Vidéo: Comment débuter avec MicroPython par Hugo Herter 2024, Novembre
Anonim
Premiers pas avec MicroPython sur l'ESP8266
Premiers pas avec MicroPython sur l'ESP8266

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

Conditions
Conditions
Conditions
Conditions
Conditions
Conditions
Conditions
Conditions

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 ?

Pourquoi la carte basée sur ESP8266 ?
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

Configuration de votre ordinateur
Configuration de votre ordinateur
Configuration de votre ordinateur
Configuration de votre ordinateur
Configuration de votre ordinateur
Configuration de votre ordinateur
Configuration de votre ordinateur
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

Flasher MicroPython avec Esptool.py
Flasher MicroPython avec Esptool.py
Flasher MicroPython avec Esptool.py
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

Utilisation du REPL MicroPython avec Rshell
Utilisation du REPL MicroPython avec Rshell
Utilisation de MicroPython REPL avec Rshell
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

Contrôle des broches à l'aide de MicroPython
Contrôle des broches à l'aide de MicroPython
Contrôle des broches à l'aide de MicroPython
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

Décoloration de la LED
Décoloration de la LED
Décoloration de la LED
Décoloration de 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é: