Archive

Archive for février 2018

Communication TCP en Micropython : 2ème partie

Lors du précédent article, on a vu comment utiliser les sockets pour implémenter une communication TCP entre ma platine de test composée d’un NodeMCU Lolin et un module Wemos D1 mini en envoyant simplement un octet qui permettait d’allumer et d’éteindre alternativement la LED interne du NodeMCU Lolin.

Dans cet article, nous allons utiliser une Photo-résistance qui varie en fonction de la luminosité ambiante et effectuer une mesure de tension via le port analogique A0 du module Wemos D1 mini; cette mesure sera envoyée à ma platine de test via le protocole TCP et affichée sur l’écran OLED.
Le schéma du module de mesure sera le suivant :
Ma photo-résistance varie de 400 Ohms (noir complet) à 700 Ko (en pleine lumière). J’ai effectué un pont diviseur de tension à l’aide d’une résistance de 56 Ko.

Lire la suite…

Catégories :NodeMCU Étiquettes : , , , ,

Communication TCP en Micropython : 1ère partie

Il y a peu de temps, j’ai testé et écrit un article qui utilisait la communication UDP en Micropython entre 2 modules à base d’ESP8266 (NodeMCU Lolin et Wemos D1 mini). Aujourd’hui je commence à tester la communication entre 2 modules en utilisant le protocole TCP qui est un protocole orienté connexion.

Pour le début de mes tests, je vais commencer par faire simple; le module Wemos D1 mini va permettre de commander la LED interne de ma platine de test équipée du NodeMCU Lolin.
Le client TCP va envoyer un 0 puis un 1 alternativement au serveur TCP qui va traiter l’information reçue. Cette première partie traite donc l’envoi et la réception d’un octet.
Comme d’habitude les programmes sont documentés.

Lire la suite…

Catégories :NodeMCU Étiquettes : , , , ,

MicroPython et le capteur de distance Ultrason HC-SR04

Il y a quelques années, j’avais testé le fonctionnement du capteur de distance à Ultrason HC-SR04 avec une carte Arduino. Les explications sont sur la page suivante :  https://itechnofrance.wordpress.com/2013/03/12/utilisation-du-module-ultrason-hc-sr04-avec-larduino/

Aujourd’hui, j’ai décidé d’écrire une librairie en Micropython pour gérer ce capteur. Les essais ont été effectués avec une carte Wemos D1 mini dont le câblage utilisé sera le suivant :

Lire la suite…

Catégories :NodeMCU Étiquettes : , , ,

Pan / Tilt piloté par protocole UDP en Micropython

Il y a bien longtemps, j’avais commandé un système Pan/tilt équipés de servos SG90 afin de tester l’utilisation avec un Arduino. D’ailleur vous pouvez regarder l’article que j’avais écrit à l’époque : https://itechnofrance.wordpress.com/2013/05/24/utilisation-dun-pantilt-laide-dun-joystick/

Aujourd’hui je me suis lancé dans l’utilisation de celui-ci mais piloté par le réseau. Pour la partie pilotage je vais utiliser ma plateforme de test à base de Nodemcu Lolin équipé d’un Gyroscope / Accéléromètre MPU6050 :
 

Lire la suite…

Catégories :NodeMCU Étiquettes : , , , , ,

Utilisation du capteur MPU6050 en MicroPython

Je viens d’ajouter un nouveau capteur à ma platine de test NodeMCU Lolin, à savoir le MPU6050 qui contient un gyroscope et un accélérateur. Afin de pouvoir l’utiliser j’ai écrit une librairie en MicroPython qui est accessible à l’adresse https://github.com/itechnofrance/micropython/tree/master/librairies/mpu6050

Autant vous dire que j’ai passé beaucoup de temps pour comprendre le fonctionnement de ce capteur mais j’ai fini par y arriver.
Les fonctions de la librairie sont les suivantes :
– fonction detect() qui permet de détecter le capteur sur le bus I2C.
– fonction reset() qui permet d’initialiser le capteur.
– fonction config() qui permet de configurer le capteur.
– fonction lecture_capteur() qui permet de lire le gyroscope, l’accéléromètre et la température.
– les fonctions temp(), acc() et gyro() qui vous donnent les valeurs en brut.
– la fonction angle() qui permet de récupérer les angles X et Y.

Lire la suite…

Catégories :NodeMCU Étiquettes : , ,

Utilisation du capteur de température et d’humidité SHT21 en MicroPython

Je viens d’écrire une librairie MicroPython pour la gestion du capteur de température et d’humidité SHT21. Celle-ci est accessible en téléchargement à l’adresse https://github.com/itechnofrance/micropython/tree/master/librairies/sht21

La librairie permet d’effectuer les actions suivantes :
– Test de présence du capteur SHT21 sur le bus I2C.
– Possibilité de redémmarrer le capteur.
– Récupère le numéro de série du capteur.
– Lecture de la température.
– Lecture de l’humidité relative.
– Vérification de la tension d’alimentation du capteur.
– Récupération de la résolution des mesures de température et d’humidité.
– Configuration des résolutions des mesures de température et d’humidité.
– Calcul du CRC (checksum) pour les mesures de température et d’humidité.
Bref un gros travail à lire les différents Datasheet du capteur Sensirion SHT21.
Voici un programme d’exemple d’utilisation de la librairie avec l’utilisation de la plateforme de test NodeMCU et écran OLED SSD1306 :
Catégories :NodeMCU Étiquettes : , ,

Scanner le bus I2C en MicroPython

Il peut être intéressant de pouvoir scanner le bus I2C afin de détecter les périphériques et leur adresse correspondante. En général on le fait suite à un problème de communication avec le périphérique. Je vous propose 2 programmes en MicroPython, toujours en utilisant ma platine de test à base de NodeMCU Lolin.

Le premier programme détecte les périphériques connectés sur le bus I2C et affiche le résultat à l’écran de l’ordinateur en se connectant au NodeMCU avec l’outil screen Linux.

Le second est un peu plus généreux puisqu’il s’agit d’afficher les résultats sur l’écran OLED SSD1306. Il affiche 12 périphériques détectés par page pendant 5 secondes et passe à la page suivante si nécessaire.

Voici donc le contenu du premier programme :

Lire la suite…

Catégories :NodeMCU Étiquettes : , , ,

Capteur de température LM35 et afficheur OLED SSD1306 en MicroPython

J’avais écrit un article identique sur l’utilisation de l’écran OLED SSD1306 et le capteur LM35DZ à partir de ma plateforme de test NodeMCU Lolin avec utilisation de l’IDE Arduino. Dans cet article je propose un programme en MicroPython pour effectuer une mesure de température et affichage de celle-ci sur l’écran OLED.

Voici le programme :
Catégories :NodeMCU Étiquettes : , , ,

Premier programme en MicroPython

On a vu dans les précédents articles comment installer le firmware MicroPython sur un contrôleur NodeMCU Lolin ou Wemos D1 Mini, puis l’installation des outils nécessaires afin de pouvoir programmer et avec cet article nous allons écrire notre premier programme en MicroPython.

Ce programme va permettre d’allumer et d’éteindre la LED interne à l’ESP8266. Cette Led se trouve sur le port GPIO02 correspondant à la sortie référencée D4.
Pour cela on lance l’éditeur Mu en tapant en ligne de commande mu, puis on y entre les lignes suivantes :
Catégories :NodeMCU Étiquettes : ,

Installation des outils pour programmer en MicroPython

Dans l’article précédent on a vu comment installer le firmware MicroPython sur un module NodeMCU Lolin ou Wemos D1 Mini.

Mais il est nécessaire de mettre en place d’autres outils afin de pouvoir programmer. Il est nécessaire d’avoir un éditeur Python qui est préférable pour un confort d’utilisation; mon choix s’est porté sur Mu Editor. Cet éditeur permet en plus de gérer des contrôleurs Adafruit et Micro:bit mais pas à ce jour les contrôleurs à base d’ESP8266. C’est bien dommage mais peut être que cela va arriver…
Ensuite il va être nécessaire de pouvoir gérer le transfert des programmes sur le contrôleur; mon choix s’est porté sur la solution Adafruit ampy.
Voyons comment installer cela sur un poste Linux.
Catégories :NodeMCU Étiquettes : ,