ESP Easy R120. Ecran d’affichage OLED SSD1306 pour Jeedom actualisé par requête HTTP

Partager sur facebook
Partager sur twitter
Partager sur linkedin
Partager sur pinterest
Partager sur email
Partager sur telegram

Table des matières

Dans le tutoriel précédent, nous avons vu comment intégrer dans Jeedom (récupérer des données et envoyer des commandes) de petits objets connectés Wi-Fi développés à l’aide du framework ESP Easy pour les modules ESP8266. 

 

Article actualisé le 21 avril 2020

Nous allons réaliser un petit affichage déporté à l’aide d’un écran OLED SSD1306 et un module ESP8266 LoLin D1 Mini (ou n’importe quel autre module NodeMCU). Les données à afficher sur l’écran seront envoyées depuis Jeedom via une requête HTTP. Le firmware ESP Easy permet

ESP Easy (R120) ou ESP Easy Mega, attention à la confusion !

Il existe 2 branches (versions) d’ESP Easy ce qui peut entraîner une certaine confusion lorsqu’on débute.

ESP Easy est la version stable (R120) que l’on peut récupérer sur cette page. L’installation à partir de la compilation du code source est difficile (impossible) avec les versions récente de l’IDE Arduino. Suivez ce tutoriel qui explique étape par étape comment installer et configurer le firmware ESPEasy R120 sur un module ESP8266. En cas de problème, utilisez l’utilitaire ESP Tools d’Espressif. Tout est expliqué étape par étape dans ce tutoriel.

ESP Easy Mega est la version en cours de développement disponible ici. Elle embarque plus de plugins, une nouvelle interface et supporte (quelques) cartes de développement ESP32. Pour en savoir plus, vous pouvez lire cet article de présentation. Attention, pour fonctionner votre carte ESP8266 doit au moins disposer d’1MB de mémoire flash (attention à bien choisir votre module ESP-01).

Matériel utilisé

Pour ce tutoriel, nous allons nous contenter d’utiliser un écran OLED mais rien ne vous empêche de combiner avec d’autres éléments, par exemple un capteur de température DHT22, un baromètre BME280 ou un détecteur de particules dans l’atmosphère pour réaliser un analyseur de qualité de l’air miniature par exemple.

esp8266 Wemos D1 mini LoLin WeMos D1 Mini (compact et économique) ou n’importe quel autre ESP8266 ESP-12
chargeur raspbery pi 3 5v 3000ma Alimentation 5/3A micro-usb
oled ssd1306 ecran i2c Ecran OLED monochrome 168×64 pixels 0.96″

SSD1306

wemos d1 mini oled shield Ecran OLED officiel Wemos. Compact à empiler sur la D1 Mini.

environ 4,40€

dht22 sensor arduino DHT22
jumper dupont Jumper Dupont (optionnel)
breadboard Breadboard (optionnel)

Tous les shields compatibles avec la LoLin d1 Mini

Circuit

L’écran OLED se connecte sur le bus I2C. Par défaut ce sont les broches GPIO4 (SDA, D2 de l’ESP8266) et GPIO5 (SCL, D1 de l’EP8266) qui sont utilisées. Le montage est identique au tutoriel précédent.

espeasy + dht22 + ssd1306 + bmp180

Configuration de l’écran OLED sur ESP Easy R120

Un fois connecté à ESP Easy, nous allons utiliser le protocole HTTP Generic pour communiquer avec Jeedom. Allez sur la page Config et renseignez les champs en fonction de votre configuration :

  • Protocol choisir Generic HTTP
  • Locate Controller choisir Use IP address
  • Controller IP indiquer l’adresse IP de la box Jeedom
  • Controller Port indiquer 8121
  • Enregistrer avec submit

jeedom esp easy protocol generic

Si vous avez besoin d’envoyer des données à Jeedom, allez sur la page Tools puis sur Advanced. Dans le champ Publish Template collez

device=%sysname%&taskid=%id%&cmd=%valname%&value=%value%

jeedom esp easy publish template

Enregistrer avec submit.

Installation des plugins script et weather sur Jeedom

Pour les besoins du tutoriel, j’ai utilisé le module météo (gratuit) pour disposer d’informations intéressantes à afficher sur l’écran OLED.

jeedom plugin meteo

Une fois installé, activez le. Vous aurez besoin d’une clé API gratuite pour un usage personnel (et limité) sur openweathermap.org. Une fois cette clé récupérée, allez sur la page de configuration du plugin et enregistrez la dans le champ correspondant. Enregistrez la configuration.

jeedom cle api openweathermap

Retournez sur la page du plugin météo et ajoutez (+) un nouveau lieu. OpenWeatherMap va renvoyer à Jeedom les prévisions pour la ville indiquée dans le champ Ville. Vous pouvez faire un test en complétant puis en saisissant cette URL dans un navigateur internet

http://api.openweathermap.org/data/2.5/weather?q=paris,fr&appid=CLE_API

Ce qui vous donnera par exemple (au format JSON)

{"coord":{"lon":2.35,"lat":48.85},"weather":[{"id":701,"main":"Mist","description":"mist","icon":"50d"},{"id":741,"main":"Fog","description":"fog","icon":"50d"}],"base":"stations","main":{"temp":273.48,"pressure":1029,"humidity":98,"temp_min":272.15,"temp_max":274.15},"visibility":4000,"wind":{"speed":2.6,"deg":240},"clouds":{"all":90},"dt":1483457400,"sys":{"type":1,"id":5615,"message":0.005,"country":"FR","sunrise":1483429423,"sunset":1483459649},"id":2988507,"name":"Paris","cod":200}

 jeedom lieu meteo

Nous allons pouvoir récupérer la valeur de nombreuses informations envoyées par OpenWeatherMap, mais on pourra envoyer sur l’écran la valeur de n’importe quelle autre variable. Cliquez sur l’engrenage (en mode expert) pour afficher la liste des variables disponibles pour le plugin météo.

jeedom variables disponibles affichage oled espeasy

Nous allons utiliser le plugin Script disponible gratuitement sur le Market pour piloter directement l’affichage OLED.

jeedom plugin script espeasy http requete

Activez le plugin à la fin de l’installation et retournez sur la page du plugin.

Script pour afficher sur un écran OLED des informations depuis Jeedom

Maintenant, on va pouvoir commencer les choses sérieuses. Cliquez sur le + pour créer un nouveau script. Donnez lui un nom, un objet parent et activez le. Dans le cas d’un afficheur, on souhaite que le contenu soit mis à jour régulièrement. C’est très simple à configurer. Appuyez le ? à droite du champ Auto-actualisation (cron).

jeedom auto-actualisation

Une boite de dialogue s’ouvre. Dans la liste de sélection “A exécuter”, choisissez Répétitivement. Puis choisissez la fréquence désirée dans la liste every (minute, heure, jour, semaine; mois, année). Validez

jeedom frequence actualisation affichage oled

Allez maintenant à l’onglet Commande et ajoutez un nouvelle commande.

Comment afficher du texte sur l’écran OLED avec ESP Easy à l’aide d’une requête HTTP ?

ESP Easy permet de récupérer des requêtes HTTP (envoyées depuis un navigateur ou un serveur domotique par exemple). Le requête est se situe après le slash (/) et commence par ?cmd=.

Ici, on va créer une commande OLED qui permettra de déclencher l’actualisation de affichage sur l’écran SSD1306. On passe en paramètre l’index de la colonne (une par caractère), la ligne et enfin le texte à afficher. Par contre, le plugin ESP Easy ne permet pas indiquer la taille de l’affichage.

Pour cela, il faudra développer votre propre plugin en suivant ce tutoriel

A LIRE AUSSI :
Transformer du code Arduino en plugin ESP Easy Mega pour ESP8266 / ESP32

Pour résumer, la requête HTTP est de la forme suivante :

http://<ESP IP address>/control?cmd=oled,<row>,<col>,<text>
  • row position de la ligne où afficher le texte
  • col position de la colonne où afficher le texte
  • text texte à afficher

Limitations :

  • Il faut d’abord vider l’écran clear avant d’envoyer un nouveau texte (sinon les anciens caractères persistent)
  • Le texte sera affiché jusqu’au prochaine rafraichissement Delay

Autres commandes disponibles :

  • Allumer l’écran : http://<ESP IP address>/control?cmd=oledcmd,on
  • Eteindre l’écran : http://<ESP IP address>/control?cmd=oledcmd,off
  • Vider l’écran : http://<ESP IP address>/control?cmd=oledcmd,clear

Configurer le script Jeedom

Ajoutez une nouvelle commande. On va commencer par créer une commande qui envoi la commande clear pour vider l’affichage. Voici comment configurer la commande :

  • Nom : nom de la commande
  • Type de script : HTTP
  • Laisser Info
  • Type d’information : autre
  • Commande : saisissez http://192.168.1.21/control?cmd=oledcmd,clear
  • Cochez (optionnel) Retour vide et Pas d’erreurs

jeedom script clear oled display esp easy

Ensuite, ajoutez une commande par ligne d’affichage. Par exemple, nous allons commencer par afficher un titre

jeedom script titre oled display esp easyPuis la température, l’humidité et la prévision du jour. Pour récupérer le contenu d’un variable, on doit le mettre entre #. Vous pouvez encadrer la valeur par une chaine de caractères. Attention toutefois à ne pas dépasser 15 caractères au total.

jeedom script temperature oled display esp easy

Enregistrez le script. Celui-ci est exécuté après chaque enregistrement. L’affichage de l’écran OLED s’actualise donc immédiatement puis suivant la fréquence configurée précédemment.

Voilà, vous pouvez maintenant créer très facilement de petites afficheurs connectés à Jeedom sur lesquels vous pouvez afficher ce que vous voulez (météo, consigne d’un thermostat, consommation électrique…).

jeedom affichage oled ssd1306 esp easy meteo

 

Avez-vous aimé cet article ?
[Total: 0 Moyenne: 0]
Partager sur facebook
Partager sur twitter
Partager sur linkedin
Partager sur pinterest
Partager sur email
Partager sur telegram

Vous avez aimé ce projet ? Ne manquez plus aucun projet en vous abonnant à notre lettre d’information hebdomadaire!

quel modèle esp8266 choisir
Quel modèle d'ESP8266EX choisir en 2020 ?
guide choix esp32 development board
Quel ESP32 choisir en 2020 ?

Vous rencontrez un problème avec ce sujet ?

Peut-être que quelqu’un a déjà trouvé la solution, visitez le forum avant de poser votre question

7 Commentaires
  1. Bonjour,

    Existe-t-il des ESP Ethernet ?
    Merci
    Thomas

  2. Génial ce tuto, mais pour ma part j’utilise Domoticz existe il un équivalent pour faire la même chose !

  3. Merci beaucoup pour ce tuto, ça règle mon problème d’affichage de variable !!!
    Efficacité et rapidité, ne changez rien !
    Je vous souhaite mes meilleurs vœux, et de nombreux tutos à venir 🙂

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Calculateurs
×
Calculateur loi d'Ohm
Tension (U) - en Volt
Courant (I) - en Ampère
Résistance (R) - en Ohms
Puissance (P) - en Watts

Ce calculateur permet de calculer les relations entre le courant, la tension, la résistance et la puissance dans les circuits résistifs.

Saisir au moins deux valeurs puis cliquer sur calculer pour calculer les valeurs restantes. Réinitialisez après chaque calcul.

Rappel sur la Loi d'Ohm
La loi d'Ohm explique la relation entre la tension, le courant et la résistance en déclarant que le courant traversant un conducteur entre deux points est directement proportionnel à la différence de potentiel entre les deux points.
La loi d'Ohm s'écrit U = IR, où U est la différence de tension, I est le courant en ampère et R est la résistance en Ohms (symbole Ω).
Loi d'Ohm (U=RI)
×
Déchiffrer le code couleur d'une résistance à 4 bandes
Bande 1 Bande 2 Multiplicateur Tolérance
   

Résistance:  

1 000 Ω ±5%

Comment déchiffrer le code couleur d'une résistance à 4 anneaux
Formule : ab*cΩ ±d%
Les deux premières bandes (a, b) permettent de déterminer le chiffre significatif. La première bande correspond au chiffre de la dizaine, le second anneau le chiffre de l'unité. Par exemple Brun(1), Noir (0) donne le nombre 10.
La troisième bande (c) est un coefficient multiplicateur. Par exemple, l'anneau rouge est un coefficient multiplicateur de 100, ce qui donne 10 X 100 = 1000Ω.
Le quatrième anneau (d) indique la tolérance de la valeur nominale de la résistance. Par exemple l'anneau Or correspond à ±5%. Donc le fabricant de la résistance s'engage à ce que sa valeur soit comprise entre 950 Ω et 1050 Ω.
Déchiffrer code couleur 4 bandes
×
Déchiffrer le code couleur d'une résistance à 5 bandes
Bande 1 Bande 2 Bande 3 Multiplicateur Tolérance

Résistance:  

1 000 Ω ±5%

Comment déchiffrer le code couleur d'une résistance à 5 anneaux
Formule : abc*dΩ ±e%
Les trois premières bandes permettent de déterminer le chiffre significatif. La première bande correspond au chiffre de la dizaine, le second anneau le chiffre de l'unité. Par exemple Brun(1), Noir (0), Noir (0) donne le nombre 100
La quatrième bande est un coefficient multiplicateur. Par exemple, l'anneau brun correspond au coefficient multiplicateur 10, ce qui donne 100 X 10 = 1000Ω.
Le cinquième anneau indique la tolérance de la valeur nominale de la résistance. Par exemple l'anneau Or correspond à ±5%. Donc le fabricant de la résistance s'engage à ce que la valeur de la résistance soit comprise entre 950 Ω et 1050 Ω.
Déchiffrer code couleur 5 bandes
×
Calculateur de résistance série pour une ou plusieurs LED
Tension d'alimentation en Volt
Tension directe en Volt
Courant en mA
Résistance calculée en Ω
Puissance estimée en W

Ce calculateur permet de déterminer la résistance requise pour piloter une ou plusieurs LED connectées en série à partir d'une source de tension à un niveau de courant spécifié.

Remarque. Il est préférable d'alimenter le circuit avec une puissance nominale comprise entre 2 et 10 fois la valeur calculée afin d'éviter la surchauffe
Couleur Longueur d'onde (nm) Tension (V) pour LED ⌀3mm Tension(V) pour LED ⌀5mm
Rouge 625-630  1,9-2,1 2,1-2,2
Bleu 460-470 3,0-3,2 3,2-3,4
Vert 520-525 2,0-2,2 2,0-2,2
Jaune 585-595 2,0-2,2 3,0-3,2
Blanc 460-470 3,0-3,2 1,9-2,1
Résistance en série pour une ou plusieurs LED
×
Calculateur durée de vie d'une batterie
Capacité de la batterie
Consommation de l'appareil ou objet connecté

Ce calculateur estime la durée de vie d'une batterie, en fonction de sa capacité nominale et du courant ou de la puissance qu'une charge en tire.

La durée de vie de la batterie est une estimation idéalisée. La durée de vie réelle peut varier en fonction de l'état de la batterie, de son âge, de la température, du taux de décharge et d'autres facteurs. C'est le mieux que vous pouvez espérer obtenir.

Autonomie de la batterie = capacité de la batterie en mAh / courant de charge en mA

Durée de vie batterie
Publicité
À lire aussi
Composants
Sur le Forum
Derniers Sujets
Domotique et objets connectés à faire soi-même
Domotique et objets connectés à faire soi-même
Vous avez aimé ce tutoriel

Ne manquez plus les prochains projets

Recevez chaque semaine le récapitulatif des tutoriels et projets.

Vous pouvez vous désabonner à tout moment. 

Shopping cart