Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - dmskd

Pages: 1 [2] 3
16
Vos projets / Re : Mes servos chantent même à l'arrêt
« le: février 20, 2022, 11:35:26 pm »
Bonsoir,

Il suffit de couper la tension d'alimentation du servo quand il a atteint sa position.

17
Le logiciel DCC++ / Re : DCC++ EX
« le: février 20, 2022, 10:54:28 am »
Citer
Mais comme dit Dominique, DCC-EX avec oled consomme 90% de la mémoire sur les 328P (UNO, Nano, Mini, ...), ce qui laisse moins de place à la créativité.

Dans mon cas, dès le départ j'avais décidé de consacrer le Nano à la gestion du signal DCC pour éviter toute perturbation.
Le Nano ne fait donc que recevoir des commandes et générer le signal DCC correspondant. Tout autre traitement se fait sur un autre élément Arduino.

18
Le logiciel DCC++ / Re : DCC++ EX
« le: février 19, 2022, 11:02:26 pm »
Bonsoir,

Le fait de remplacer DCCpp par DCC-EX sur ma centrale à base de Nano a résolu mes problèmes de lecture de CV sur mes décodeurs.

19
Merci pour cette précision.
En tous cas, je suis satisfait avec DCC++EX.

20
Bonjour,

Citer
Et alors, DCCpp ou DCC++ ?

C'est bien DCCpp que j'utilisais.
J'avais cru comprendre que c'était la même chose que DCC++ mais mis en bibliothèque.

21

Citer
L'utilisation du fer à souder n'est pas du gout de tout le monde.

Je ne comprends pas cette remarque.
Quand on fait des montages électroniques, on est bien obligé de souder les composants sur les circuits imprimés.

22
Bonjour à tous,

Je suis avec intérêt ce fil de discussion, j'avais même présenté mon cas personnel le 18 avril 2020 (page 2 du fil) à base de Nano et LMD18200.
La pin 8 de mon LMD18200 est branchée sur le Nano sans aucun circuit intermédiaire (schéma ci-joint).
Mon hardware n'a pas changé et je me suis longtemps contenté de pouvoir écrire les CV "en aveugle" sans pouvoir les relire.
Un jour j'ai acheté des décodeurs DH10 dont je ne pouvais pas lire les CV. Voulant aller plus loin dans la configuration des décodeurs, j'ai exposé ce problème de lecture à Doehler & Haass, le fabricant.
Ils ont été très réactifs et après quelques échanges de mail où je décrivais en détail ce que j'observais, ils m'ont conseillé de remplacer DCCpp par DCC++ EX qui est, je crois, une amélioration de DCC++ (https://dcc-ex.com/).
C'est donc ce que j'ai fait.
Sans avoir changé le hardware je peux maintenant lire les CV sur tous mes décodeurs sans aucun problème ni même réglage.
Je suis loin d'être un pro de l'électronique et je ne me permettrais pas de donner mon avis sur les solutions proposées dans ce fil.
Je suis preneur de tous vos commentaires au sujet de ma solution plutôt 'simpliste' qui laisse à penser que c'est plus un problème software que hardware.

Cordialement,
Dominique

23
Débuter / Re : Lecture d'une carte SD
« le: octobre 24, 2021, 09:46:12 am »
Bonjour,

Si ça peut aider, voici la méthode que j'utilise:

Le fichier texte comprends des données écrites sous le format JSON. Exemple mon fichier locos.jso :

[
{"id":0,"name":"BB67300","address":2},
{"id":1,"name":"X4200","address":4},
{"id":2,"name":"X3800","address":5},
{"id":3,"name":"BB66000","address":1},
{"id":4,"name":"040DG-58","address":7},
{"id":5,"name":"A1A-A1A68537","address":6},
{"id":6,"name":"Adr-3","address":3},
{"id":7,"name":"Adr-8","address":8},
{"id":8,"name":"Adr-9","address":9},
{"id":9,"name":"Adr-10","address":10}
]

Le programme lit le fichier et le stocke dans une variable String ;
File locosFile;
String locos;

  locosFile = SD.open("locos.jso");
  if (locosFile) {
    while (locosFile.available()) {
      locos = locos + locosFile.readString();
    }
  }


Ensuite on désérialise les données JSON :
DynamicJsonDocument locosData(1024);

deserializeJson(locosData, locos);

Puis on dispose des données sous la forme suivante :
int locoAddress = locosData[*index]["address"];

Cordialement,
Dominique

24
Trucs & astuces / Re : ESP32/ESP8266 - vitesse d'exécution
« le: avril 24, 2021, 09:54:30 am »
Je me suis effectivement trompé dans mon message, c'est server.client qui renvoie 0 tant que le client n'envoie pas de requête.

Ci-joint une copie d'écran (tout est encore en développement°.

25
Trucs & astuces / Re : ESP32/ESP8266 - vitesse d'exécution
« le: avril 24, 2021, 09:29:36 am »
Bonjour bobyAndCo,

Comme tu peux le voir dans mon code j'avais un peu essayé l'utilisation d'un tableau de clients, mais comme je l'ai dit dans un message précédent, tant que le client n'envoie pas de requête, client.available donne 0 et impossible d'extraire les adresses ip des clients connectés.
Est-ce normal ?

Note que la limitation de 4 clients est due à l'ESP8266.

26
Trucs & astuces / Re : ESP32/ESP8266 - vitesse d'exécution
« le: avril 23, 2021, 10:57:07 pm »
Bonsoir Pierre,

C'est ce que je pensais, mais ...
Dans mon programme je fais:
   client = server.available()
   if(client)
       ... traitement ...

eh bien on entre dans le bloc if uniquement si un des clients envoie quelque chose, sinon client=0 alors qu'il y en a plusieurs de connectés.

27
Trucs & astuces / Re : ESP32/ESP8266 - vitesse d'exécution
« le: avril 23, 2021, 04:17:52 pm »
Question subsidiaire :
Apparemment la fonction WiFiServer.available() permet de détecter qu'un client envoie des données.
Mais comment savoir si un client est connecté même s'il n'envoie aucune de données ?

28
Trucs & astuces / Re : ESP32/ESP8266 - vitesse d'exécution
« le: avril 23, 2021, 02:52:14 pm »
Citer
440ko, c’est énorme

Effectivement, mais c'est une erreur de frappe, en réalité c'est seulement 44.

29
Trucs & astuces / Re : ESP32/ESP8266 - vitesse d'exécution
« le: avril 23, 2021, 12:03:29 pm »
Bonjour et merci beaucoup pour ces remarques très constructives.

J'avoue que je ne maîtrise pas complètement le sujet et que l'application que j'ai réussi à développer me satisfaisait pour mon petit réseau. C'est simplement la limitation de l'ESP8266 à 4 clients wifi qui m'a conduit à tester l'ESP32.

Une analyse du comportement avec l'outil de développement de Firefox m'a permis de voir que ce qui prend du temps, c'est le chargement du fichier javascript (440ko) vers le client à l'affichage de la page html : 1s avec ESP8266, 3s avec ESP32. Si je déporte plus de traitement sur le navigateur, je pense que ce fichier va encore grossir.
MAIS, si on charge le javascript AVANT le css, c'est le css qui prend plus de temps, alors qu'il est 10fois plus petit.

Ensuite il n'y a plus vraiment de problème avec les rafraîchissements périodiques dont le traitement est de l'ordre 50ms donc tout à fait raisonnable.

Il va falloir que je prenne du temps pour essayer de ne pas fermer les connexions tout en gérant plusieurs clients et utiliser des websockets. Si vous avez des exemples de code, ça m'aiderait sûrement.

En attendant, encore une fois merci.

30
Trucs & astuces / Re : ESP32/ESP8266 - vitesse d'exécution
« le: avril 22, 2021, 10:02:08 am »
Citer
Pourquoi une carte SD alors que l'ESP32 à une mémoire SPIFFS de 4 à 8 Mo

Pour l'instant je ne fais que tester le remplacement de l'ESP8266 sans rien changer au montage actuel. Je rappelle que ce n'est pas la lecture des fichiers qui pénalise la durée totale de traitement.

Citer
Si le programme HTML JavaScrip images est lourd, il faut fonctionner avec des websockets.

Je sais que mon code n'est pas optimisé. J'apprends au fur et à mesure et il y a tant d'autres choses à faire. Mais les 3s d'affichage me satisfaisaient. Passer à 6s est plus ennuyeux.

Citer
Par ailleurs, l'ESP32 ne fonctionne pas du tout comme l'ESP8266 et le code (bibliothèques) optimisé pour l'un ne l'est pas forcement pour l'autre.

Dans platformio.ini j'ai défini "platform = espressif32". Peut-être n'est-ce pas suffisant.

Citer
Ca m'intéresse d'avoir l'ensemble du code en téléchargement pour faire des tests.

Code ci-joint.

Pages: 1 [2] 3