Auteur Sujet: projet centrale "LaBox" wifi DCC++ Can  (Lu 558327 fois)

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3045
  • 100% Arduino et N
    • Voir le profil
Re : Re : projet centrale wifi DCC++ Can
« Réponse #345 le: décembre 07, 2020, 06:53:45 pm »
Voilà, je viens de pousser une version 0.7.6 qui cette fois doit bien réagir à l'utilisation de commandes texte.

Je viens de compiler l'exemple Labox.ino de cette version 0.7.6 : erreur de compilation due à l'absence de la bibliothèque ArduinoJson !.

Laquelle faut-il installer : cette de Benoit Blanchon version 6.17.2 ?
Après installation, la compilation est OK  ;)
Cordialement,
Dominique

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3045
  • 100% Arduino et N
    • Voir le profil
Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #346 le: décembre 08, 2020, 03:50:34 pm »
Bonjour à tous,

Le tutoriel LaBox de la page 23 est pratiquement terminé : il y a maintenant tout ce qu'il faut pour monter et utiliser LaBox.

J'attends vos retours pour le compléter et l'améliorer.

Merci d'avance
Dominique
Cordialement,
Dominique

Jeje_12_34

  • Jr. Member
  • **
  • Messages: 95
  • Double ovale N
    • Voir le profil
Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #347 le: décembre 08, 2020, 06:12:15 pm »
Bonjour a tous

Je réaliserai cette box, mais je ne peux pas m'y lancer immédiatement.

Le  concept de Locoduino Satellite Can evolutif et peu cher m'intéresse vraiment, autant le faire avec LaBox.


Pour l'instant,  il y a plein de choses que je n'ai pas encore fait depuis mes débuts l'année dernière entre autres : le soudage de cms, la réalisation de détecteurs, des satellites  et l'utilisation de circuits imprimes  dédiés.

Ah oui il me faut aussi faire un "vrai" petit réseau de test, mon double ovale n'est vraiment pas assez complexe : ni canton, aucune détection et les aiguilles sont manuelles.

J'aurai beaucoup plus de temps disponible à partir de mai  ... :) si tout va bien

Si aucun autre néophyte ne vous fait de retour, vous pourrez compter sur moi.

Vous pouvez me mettre une platine de coté, ou il faudra que je la fasse faire en Chine ?


Jerome
Pret a vous aider, mais pas tout de suite :)



« Modifié: décembre 08, 2020, 06:13:53 pm par Jeje_12_34 »
Le néophyte de service !
Adhérent AFAN

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3045
  • 100% Arduino et N
    • Voir le profil
Re : Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #348 le: décembre 08, 2020, 07:08:36 pm »
Le  concept de Locoduino Satellite Can evolutif et peu cher m'intéresse vraiment, autant le faire avec LaBox.

Vous pouvez me mettre une platine de coté, ou il faudra que je la fasse faire en Chine ?


Jerome
Pret a vous aider, mais pas tout de suite :)

Merci Jerome,

Mais chacun se fait plaisir selon son temps disponible.

La question des approvisionnements se posera forcément s'il la demande grossit : des achats groupés seront envisagés.
Je t'inscrit dans la liste  :)

« Modifié: décembre 08, 2020, 07:31:03 pm par Dominique »
Cordialement,
Dominique

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 810
    • Voir le profil
Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #349 le: décembre 08, 2020, 08:36:24 pm »
Bonjour à tous

Plusieurs évolutions/corrections dans la dernière version 0.7.7 de LaBox :

- Un ThrottleWifiJMRI a été ajouté. Il permet à la centrale d'être pilotée par JMRI par Wifi.
- J'ai passé en revue les différents #define USE_* présents dans DCCpp.h et qui permettent de n'utiliser que certaines parties de la bibliothèque. Par exemple, il est tout à fait possible maintenant de ne pas utiliser HMI et de faire soi-même son interface utilisateur dans son .ino, voire de ne pas en avoir du tout (cas d'une centrale 'boite noire' sans écran). Possible aussi de redescendre le niveau de fonctionnalités de LaBox au niveau d'un simple DCCpp, sans Throttles, sans HMI, et même sans les Locomotives gérées par LaBox. Mais dans ce dernier cas, la fonctionnalité d'envoi périodique des fonctions n'est plus disponible, elle est intimement liées à ces locos.
- J'ai fait le ménage dans les exemples livrés avec LaBox pour ne laisser que ceux qui sont vraiment utiles .
  - A tout seigneur, tout honneur, LaBox.ino est bien l'exemple le plus parlant pour la centrale. Cet exemple permet de recevoir des ordres texte par la ligne série, comme l'IDE ou JMRI par cable USB. Le nouveau ThrottleWifiJMRI est également présent et permet de laisser JMRI piloter la centrale en Wifi. De plus, trois points d'entrée WiThrottle/EngineDriver sont présents, ainsi que trois points d'entrée Z21. Ce sont ainsi huit moyens différents de piloter la centrale sans changer une ligne de code de LaBox.ino !
  - Autotest est toujours présent et permet d'automatiser un ou plusieurs convoi.
  - SerialDcc est un exemple minimaliste repris de DCCpp. Il marche tel quel, n'utilisant que la partie DCCpp de la bibliothèque. Seul changement, l'appel du bon fichier .h ...
  - ThrottleSerialDcc est lui l'ancien exemple série, qui ne gère que l'entrée par port série, mais à la façon LaBox avec une throttle.


Bravo pour la doc Dominique, je dois de mon côté commencer à rédiger la doc du code, j'espère avec l'aide de Cédric.

DDEFF

  • Hero Member
  • *****
  • Messages: 760
    • Voir le profil
Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #350 le: décembre 09, 2020, 10:53:02 am »
Bonjour Thierry,

Dans Decoduino, je teste la présence d'un Arduino et son shield moteur en envoyant sur le port série la commande :
port.write("power on <1>");
Si je reçois :
<p1>
j'en déduis :
1°) qu'il y a bien un Arduino
2°) qu'il contient bien DCC_controller.ino

Comme je teste tous les ports, je trouve le premier qui me répond <p1>. J'ai donc trouvé le bon port et je m'y connecte.

Je pense que la même manip va me permettre de trouver LaBox.

Y-a-t-il une façon de différentier la réponse en fonction de ce sur quoi on est branché ?
Je m'explique :

Puis-je avoir comme réponse <p1 Arduino> ou <p1 LaBox> (ou <p1 Atmega328p>, <p1 ESP32>, ...) suivant là ou je suis branché ?

Denis  :P
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Lilian.A

  • Newbie
  • *
  • Messages: 2
    • Voir le profil
Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #351 le: décembre 09, 2020, 11:01:53 am »
Bonjour

bien que tout nouveau je me permet de répondre par une piste
a la connexion ma carte envoie ca

<iDCC++ BASE STATION FOR ARDUINO UNO / ARDUINO MOTOR SHIELD: V-1.2.1+ / Dec  1 2020 17:08:09>

je suppose que labox doit faire de même ??

il y a aussi une fonction qui renvoie la version.

cordialement .

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #352 le: décembre 09, 2020, 12:27:43 pm »
Bonjour et merci de participer.
Votre acquittement est celui de la BaseStation.

Ici on est sur le fil de LaBox avec un ESP32.

LaBox ne répond pas à < s > ou < D >

Avec la version 0.76 on a
avec <1>
0 From Throttle : 1
0 Message From Throttle :
Throttle 0 <1>
<1> parse command
DCCpp PowerOn
<p1>

- avec un reset :

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
flash read err, 1000
ets_main.c 371
ets Jun  8 2016 00:22:57

rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1216
ho 0 tail 12 room 4
load:0x40078000,len:9720
ho 0 tail 12 room 4
load:0x40080400,len:6352
entry 0x400806b8
LaBox 0.7.6
Server IP address: 192.168.4.1 (Locoduino LaBox) connected ! connectWifi achieved.
Ino executing on core 1
Throttles command receivers executing on core 0
begin achieved
Signal started for Main track on pin 33
Main track DCC ESP32 started.
beginMain achivied with pin 33
*** DCCpp LIBRARY ***
VERSION DCC++:      2.0.0
VERSION DCCpp library: 1.4.1
COMPILED:     Dec  9 2020 11:30:24
   ENABLE(PWM): 32
   CURRENT: 36
Throttles ------------------
0 : Serial
1 : ThrottleWifi: Z21 - 1  WifiPort: 21105  WifiProtocol: UDP (Z21 converter : )  not connected
2 : ThrottleWifi: Z21 - 2  WifiPort: 21105  WifiProtocol: UDP (Z21 converter : )  not connected
3 : ThrottleWifi: Z21 - 3  WifiPort: 21105  WifiProtocol: UDP (Z21 converter : )  not connected
4 : ThrottleWifi: WiThrottle - 1  WifiPort: 44444  WifiProtocol: TCP (WiThrottle converter)  start:60 end:62 not connected
5 : ThrottleWifi: WiThrottle - 2  WifiPort: 44444  WifiProtocol: TCP (WiThrottle converter)  start:60 end:62 not connected
6 : ThrottleWifi: WiThrottle - 3  WifiPort: 44444  WifiProtocol: TCP (WiThrottle converter)  start:60 end:62 not connected
Cordialement

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 810
    • Voir le profil
Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #353 le: décembre 11, 2020, 05:57:13 pm »
Si, si, LaBox répond à la commande <s >, tout comme DCCpp et DCC++. Dans la dernière version 0.7.8 poussée en début de semaine, elle dit même qu'elle est LaBox et non plus DCCpp, pour peu que USE_THROTTLES soit activé...

nb : un espace ajouté devant >
« Modifié: décembre 11, 2020, 07:21:15 pm par Dominique »

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #354 le: décembre 11, 2020, 06:41:47 pm »
Effectivement, autant pour moi, avec LaBox 076 :
ci-dessous les réponses respectivement à <1>,   <0>,   <s >,  <D> et enfin <1> :

0 From Throttle : 1
0 Message From Throttle :
0 Message From Throttle :
Throttle 0 <1>
<1> parse command
DCCpp PowerOn
<p1>
0 From Throttle : 0
0 Message From Throttle :
0 Message From Throttle :
Throttle 0 <0>
<0> parse command
DCCpp PowerOff
<p0>
0 From Throttle : s
0 Message From Throttle :
0 Message From Throttle :
Throttle 0 <s >
<s > parse command
<p1>
<iDCCpp LIBRARY BASE STATION FOR ARDUINO : V-2.0.0 / Dec 11 2020 18:27:49>
<N ETHERNET :0460460460><X><X>
0 From Throttle : D
0 Message From Throttle :
0 Message From Throttle :
Throttle 0 <D>
<D> parse command

Entering Diagnostic Mode...
Signal stoppedfor Main track on pin 33
Signal started for Main track on pin 33
0 From Throttle : 1
0 Message From Throttle :
0 Message From Throttle :
Throttle 0 <1>
<1> parse command
DCCpp PowerOn
<p1>


Nota, j'ai du ajouter quelques espaces avant > de <s > pour éviter de voir mon texte barré.
« Modifié: décembre 11, 2020, 09:01:04 pm par msport »
Cordialement

DDEFF

  • Hero Member
  • *****
  • Messages: 760
    • Voir le profil
Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #355 le: décembre 11, 2020, 07:29:47 pm »
Bonsoir,

J'avoue être largué.
Vous répondez à Lillian.A ou à moi ?

On ne peut pas lancer une commande vers LaBox avec le port série ?
On ne peut pas envoyer "power on <1>" ?

Denis  :o
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #356 le: décembre 11, 2020, 09:00:33 pm »

On voit ci-dessus les réponses de LaBox  respectivement à <1>,   <0>,   <s >,  <D> en texte intégral. ( parse command = commande analysée )
C'est bien avec le serial monitor que ces commandes sont envoyées et les réponses reçues.
« Modifié: décembre 12, 2020, 02:16:29 pm par msport »
Cordialement

Lilian.A

  • Newbie
  • *
  • Messages: 2
    • Voir le profil
Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #357 le: décembre 12, 2020, 02:00:39 pm »
Bonjour

 :D j'ai souvent tort d'avoir raison trop tôt ... ::)

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 810
    • Voir le profil
Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #358 le: décembre 18, 2020, 08:28:13 pm »
Bonjour

Encore une nouvelle version, la 0.7.9 :

- Ajout de la possibilité de ne pas répéter les paquets DCC des fonctions, notamment parce que certains programmes ou throttles le font déjà (JMRI...). Ca passe par l'appel d'une fonction   
DCCpp::setResendFunctions(false);  Par défaut, la répétition est activée.
- La possibilité de répondre aux Throttles connectées pouvait être bloquée par la fonction DCCpp::setReplyToCommands(false); mais cette fonction ne fonctionnait pas. Elle a été corrigée, et le nom est passé de DontReply à ReplyToCommands pour enlever la négation et permettre de mieux comprendre son rôle.
- Une Throttle déclarée mais qui n'appelait pas son begin() plantait toute la centrale. Ce n'est plus le cas. Et la fonction Throttles::printThrottles() signale les Throttles non activées par leur begin().
- Pour une meilleure compréhension du modèle objet, je me suis permis de renommer certains sources du Hmi : HmiInterface.cpp est devenu hmi.interface.cpp, tandis qu'à l'inverse HmiInterfaceBase.cpp est devenu HmiInterface.cpp. Pourquoi ? Parce toute la classe hmi est ainsi décrite par des sources qui commencent par "hmi.", et toute la classe HmiInterface est contenue dans des sources qui commencent par 'HmiInterface.' ! Bien entendu, si Cédric tu n'es pas d'accord, fais le moi savoir. Au passage quelques warnings de compilation ont été supprimés dans Hmi.

Voilà pour cette fois.

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : projet centrale "LaBox" wifi DCC++ Can
« Réponse #359 le: décembre 18, 2020, 10:15:36 pm »
Merci, ok pour moi.
Cordialement