Note de ce sujet :
  • Moyenne : 3.67 (3 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Code OLED 128*64
(01-04-2025, 05:22 PM)Nalexdouze a écrit : Salut !

Est-ce que quelqu’un a testé l’inclusion de ce code dans la version 14 ?
J’avoue préférer cette présentation de l’écran.  Big Grin

Cordialement

slt
oui oui test et tout roule
pour ma part modif 2 ou 3 bricollettes mais fontionne tres bien
cdlt
       
ESP32Wroom, Triac 40A "BTA40", Source UxIx2, Cumulus 300L 3000W.
Sonde temperature sur radiateur triac mise en route ventilateur a 25°
réactivité 30 seuil -50
2 esp32 pour gestion charge batteries
14 panneaux de 410wcc en autoconso micro-onduleur APS DS3
Suivi sur Domoticz
Répondre

.zip   EthernetESP32-1.0.2.zip (Taille : 59.35 Ko / Téléchargements : 2)

(01-04-2025, 05:22 PM)Nalexdouze a écrit : Salut !

Est-ce que quelqu’un a testé l’inclusion de ce code dans la version 14 ?
J’avoue préférer cette présentation de l’écran.  Big Grin

Cordialement

Bonjour
je viens de faire le test et cela fonctionne pour cela

J'ai ajouter deux bibliothèques supplémentaires mise en pj
https://github.com/lovyan03/LovyanGFX

Cordialement

Routeur F1atb Prise température sur le ballon
Routeur F1atb routage Ballon ecs ( Jsy + triac )
Routeur F1atb routage chauffage électrique ( jsy + triac )

2 suiveurs solaire total 1800 Wc
3 panneaux fixe total  1100 Wc
1 Delta 2 1.6 k avec powerstream 800W de panneaux fixe
Répondre
(01-04-2025, 08:40 PM)lucky a écrit :
(01-04-2025, 05:22 PM)Nalexdouze a écrit : Salut !

Est-ce que quelqu’un a testé l’inclusion de ce code dans la version 14 ?
J’avoue préférer cette présentation de l’écran.  Big Grin

Cordialement

slt
oui oui test et tout roule
pour ma part modif 2 ou 3 bricollettes mais fontionne tres bien
cdlt
Bonjour,
Bizarre car sur vos photos on ne voit pas les barres de réception du wi-fi alors qu’elles existent dans le programme????
Répondre
(02-04-2025, 03:54 PM)kymcoman a écrit :
(01-04-2025, 08:40 PM)lucky a écrit :
(01-04-2025, 05:22 PM)Nalexdouze a écrit : Salut !

Est-ce que quelqu’un a testé l’inclusion de ce code dans la version 14 ?
J’avoue préférer cette présentation de l’écran.  Big Grin

Cordialement

slt
oui oui test et tout roule
pour ma part modif 2 ou 3 bricollettes mais fontionne tres bien
cdlt
Bonjour,
Bizarre car sur vos photos on ne voit pas les barres de réception du wi-fi alors qu’elles existent dans le programme????

slt
la c est sur un esp Ethernet.
cdlt
ESP32Wroom, Triac 40A "BTA40", Source UxIx2, Cumulus 300L 3000W.
Sonde temperature sur radiateur triac mise en route ventilateur a 25°
réactivité 30 seuil -50
2 esp32 pour gestion charge batteries
14 panneaux de 410wcc en autoconso micro-onduleur APS DS3
Suivi sur Domoticz
Répondre
Je vois que beaucoup profite de ce code, et fond des petits changements, c'est cool  Wink
Routeur avec Triac, CE 2500w. Shelly pro em50 pour les mesures. Kit PV pnp 2 kW. Home assistant
Répondre
Oui il est top ton affichage :-)
Répondre
(02-04-2025, 11:36 PM)Raphael591 a écrit : Je vois que beaucoup profite de ce code, et fond des petits changements, c'est cool  Wink

Bonjour Raphaël,

J'utilise, comme beaucoup j'imagine, ton code (que j'ai adapté, mais juste au niveau de la présentation) depuis la version 11.11 du routeur solaire. 
Jusqu'à présent, je n'ai jamais eu de problème pour compiler les codes sources des différentes versions du routeur solaire qui sont sortis jusqu'à la v14.21, et ce quel que soit les versions de l'IDE Arduino (actuellement en v2.3.5), ou de la librairie ESP32 utilisée (jusqu'à la 3.1.3).

Or, je ne sais pas si tu a remarqué qu'il y a eu récemment une nouvelle mise à jour de la librairie ESP32 en v3.2.0. 
J'ai donc procédé à cette mise à jour.
Mais depuis, si la compilation des codes sources modifiés se passent toujours bien, par contre il s'avère que l'ESP32 reboote en permanence après quelques instants seulement.
J'ai repéré ce message d'erreur dans les logs :

E (499) i2c: CONFLICT! driver_ng is not allowed to be used with this old driver 

Je pense donc que visiblement, avec cette v3.2.0, la bibliothèque LovyanGFX utilisée depuis la v14.00 du routeur entre désormais en conflit avec les bibliothèques Adafruit au niveau de la gestion des signaux SPI.
J'ai réussi, en modifiant les sources, à revenir à une situation stable pour pouvoir faire fonctionner le routeur en v14.21, en utilisant la bibliothèque ESP32 en v3.2.0.
Ces modifications sont néanmoins assez profondes : en gros j'inhibe la gestion de l'écran LCD (désormais intégré depuis la v14.00) qui utilise LovyanGFX, et je modifie la partie gestion des LEDs pour ne conserver que l'activation des 'vraies' LEDs verte et jaune qui complètent utilement les infos sur l'écran OLED.
J'ai tenté également de recompiler les sources en utilisant une bibliothèque alternative (u8g2), mais sans succès, il y toujours ce même conflit.

Est-ce que tu confirmes de ton côté également ? Penses-tu pouvoir résoudre ce problème ?
J'y travaille également en ce qui me concerne pour voir s'il y a un moyen simple de garder ton code tout en suivant les évolutions du routeur et de la librairie ESP32.

Merci !
_________________________________________________
Routeur Solaire en v14.22
Pilotage d'un cumulus de 3kW + Jeedom v4.4.19 + Station solaire 3,5kW
Répondre
(02-04-2025, 11:36 PM)Raphael591 a écrit : Je vois que beaucoup profite de ce code, et fond des petits changements, c'est cool  Wink

Bonjour Raphaël,

Aujourd'hui je me suis donc penché sur ce problème que j'avais évoqué dans mon dernier post.

[Rappel]
André a introduit depuis la version 14.20 la possibilité d'ajouter un écran OLED de type SH1106 ou SSD1309, ce qui n'a néanmoins posé aucun souci particulier jusqu'à présent vis à vis de la cohabitation avec ton code, en particulier entre la librairie "LovyanGFX.hpp" utilisée désormais dans la version officielle du routeur, et la librairie "AdaFruit" que tu as choisi d'utiliser.
Mais la dernière mise à jour de la librairie ESP32 en version v3.2.0 a introduit un conflit sur la gestion du bus I2C qui gère l'écran OLED. Ce conflit se traduit par un plantage pur et simple de l'ESP32 dès son démarrage suivi d'un reboot, et ce même s'il n'y a aucune erreur reportée au stade de la compilation.
[Fin du rappel]

J'avais tout d'abord travaillé à résoudre ce problème en éliminant les parties du code sources d'André qui posaient problème, c'est à dire éliminer tout appel à la bibliothèque LovyanGFX. Ça fonctionne, mais ce n'est pas très satisfaisant en fait, car cela oblige à modifier en profondeur le code source original d'André. Pas terrible pour adapter les futures évolutions de ce code donc...

J'ai donc pris le problème à l'envers (et j'aurai dû commencer par ça d'ailleurs...). J'ai repris ton code source, et je l'ai adapté pour que les écrans utilisent cette librairie LovyanGFX. 
Ainsi, il n'y a plus de conflits ni de reboot, tout refonctionne parfaitement. Il n'y a donc plus qu'une seule librairie de référence pour gérer les écrans OLED (librairie que d'ailleurs je trouve plus pratique...), et enfin ce sera forcément compatible avec les futures évolutions qu'André fera dans son propre code (du moins tant que ce sera cette librairie qui sera utilisée).

Aujourd'hui, je confirme donc un fonctionnement OK (testé) avec :
- Routeur solaire en v14.22,
- Bibliothèque ESP32 en v3.2.0.
- Ecrans OLED type SSH1106 et SSD1309 en 128x64 px.

Pour t'éviter de refaire tout ce travail, j'ai mis en .zip le code source ainsi modifié. Attention toutefois, il s'agit d'une version personnelle dérivée de la tienne, et que j'ai un peu adaptée à mes besoins.


Pièces jointes
.zip   OLED.zip (Taille : 4.18 Ko / Téléchargements : 6)
_________________________________________________
Routeur Solaire en v14.22
Pilotage d'un cumulus de 3kW + Jeedom v4.4.19 + Station solaire 3,5kW
Répondre
Bonjour DanielJ

Pouvez vous mettre les photos des différentes pages?
Merci
Esp32 wroom avec ui2 et Ssr en construction pas de PV
Répondre
(10-04-2025, 10:21 PM)Laurent53 a écrit : Bonjour DanielJ

Pouvez vous mettre les photos des différentes pages?
Merci

Bonjour,
Oui, bien sûr, aucun problème, les voici en PJ.
Ne tenez pas compte des valeurs affichées. Les photos ont été prises sur mon ESP32 de test (avec un écran OLED SH1106), configuré en UxI et les valeurs présentées sont aléatoires.

Dans les modifs par rapport au code initial proposé par Raphaël :
- J'utilise le GPIO15 de l'ESP (actif si mis à 0) pour provoquer le changement de page, connecté en ce qui me concerne à un bouton poussoir physique sur mon routeur en fonction.
- Il y a deux pages. Une pour les infos prioritaires (@IP, qualité de la connexion Wifi, routage en cours, puissance mesurée, ouverture du relais SSR (pour mon cas), mode du routeur, date/heure et durée de fonctionnement), et la seconde pour les infos secondaires (version, taux d'occupation de la mémoire, et deux lignes en réserve).
- Les pages restent affichées pendant 20 secondes puis l'écran s'éteint jusqu'au prochain appui sur le bouton poussoir.

Pour utiliser ce code, outre un copier/coller de ce fichier OLED.ino dans le répertoire ad-hoc, il est nécessaire de modifier dans le fichier Solar_Router_Vxxxx (à chaque mise à jour) les lignes suivantes :

Après :
#define SER_BUF_SIZE 4096
#define TEMPERATURE_PRECISION 12


Insérer :
#define SDA_PIN 21  //-- Patch01 -- : pilotage écran OLED
#define SCL_PIN 22  //-- Patch01 -- : pilotage écran OLED
#define PAGE_OLED 15//-- Patch01 -- : PIN - IN : changement page d'écran d'informations

Après :
  //Ports Série ESP
  Serial.begin(115200);
  Serial.println("Booting");

Insérer :
  InitSSD();                          // -- Patch01 -- : Intégration d'un écran OLED

Après :
      IdxStock2s = (IdxStock2s + 1) % 300;
      JourHeureChange();
      EnergieQuotidienne();
      H_Ouvre_Equivalent(dt);

Insérer :
      OledAffiche();                        // -- Patch01 -- : Appel de la routine d'affichage sur l'écran OLED

Voilà, c'est à peu près tout.


Pièces jointes Miniature(s)
       
_________________________________________________
Routeur Solaire en v14.22
Pilotage d'un cumulus de 3kW + Jeedom v4.4.19 + Station solaire 3,5kW
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 5 visiteur(s)