Note de ce sujet :
  • Moyenne : 5 (1 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Projet communautaire Arduino ATMEGA KNX
#51
Salut,
Je me suis aussi mis dans la tête de tenter un projet similaire, un driver de led 7 canaux + 2 entrées pour piloter mes spots d'escalier, ainsi qu'un plus petit projet pour envoyer sur le bus les retours de mon compteur linky...
Actuellement juste à l'état de faisabilité/hacking... Guère avancé, et je n'ai pas encore tout abordé, ni rien prototypé. Juste commencé qqs essais avec l'ide arduino (super outil pour un script monkey comme moi!!) et le routage sous eagle.
Je pense partir sur la stack https://github.com/thelsing/knx qui semble bien aboutie,avec même un petit outil pour générer les knxprod pour ets, j'ai commencé à le patcher pour ajouter le support STM32, sinon j'ai hésité à partir avec un ESP32, mais sa consommation reste floue... Par contre ca ne compile pas pour un STM inférieur au tiens L432KC (ca devrait passer avec un KB, mais j'essaye de rester compatible avec les librairies Arduino autant que possible et pour 50cts de différence... j'ai la sérieuse flemme pour ajouter ma propre board ou quoi que ce soit d'autre si ce n'est pas indispensable...).
Je tente avec le NCN5130 (facilement approvisionnable chez les chinois. et pas cher ~12€ les 3... Mais il fait lui même le bas niveau!), mais ca fait 2 QFNs... gloups Sad.
Répondre
#52
Bonjour,

Je suis moi aussi parti sur la stack proposée par Thelsing. J'ai vraiment été surpris à quel point les auteurs sont allés loin dans l'implémentation. Ca permet de faire un vrai device KNX qu'on peut ensuite configurer sous ETS.

Au niveau plate-forme j'ai fait quelques essais concluants sur base Arduino Mini + interface bus Siemens BCU2 (comme Condo4 il me semble) qui a été prélevée sur un 5WG1117-2AB12 : https://www.voltus.de/hausautomation/knx...igung.html
Ca laisse pas beaucoup de place pour le programme applicatif, ça risque aussi de dépasser la conso max préconisée par la norme, mais je ne vais pas en installer 50 comme ça sur mon bus.

Mon prochain module utilisera un Arduino plus costaud de la série MKR, pour interfacer une partie luminaires LED et sondes de température OneWire. Je regarderai ce que ça donne côté conso.

Un projet communautaire m'intéresse aussi, mais je n'ai pas d'expérience en STM, plutôt Arduino et électricité/électronique en général.
Une idée serait de faire un "shield" au format Arduino MKR intégrant le BCU Siemens + un boîtier adapté imprimé 3D pour permettre d'avoir un module complet avec interface bus KNX intégrée pour faire des réalisations rapides, sans avoir à bricoler avec le module issu du Siemens 5WG1117-2AB12.
Répondre
#53
Je ne connais pas cette stack, mais si elle fait beaucoup de chose, ça vaudrais le coups que j'y regarde de plus près; quitte a tenter un portage sur STM32/OpenCM3...

Concernant Arduino, je suis plutôt parti sur STM32 pour plusieurs raison, mais la principal, c'est la consommation.
Un Arduino nano consomme trop pour un appareil KNX, et en consommant 4 fois moins, le STM32 est beaucoup plus performant.
La techno 8bit des AVR Arduino est quand même dépassé depuis bien longtemps...

Après, mais premier essai avec CubeMX de ST, c'était pas si compliqué; même si ça reste plus compliqué qu'Arduino.
OpenCM3, c'est encore un cran au dessus, mais ça permet beaucoup de chose, tout en restant libre...
Le plus compliqué tant l'initialisation de la carte.
Du coup, j'ai commencer de créer plusieurs sous-module Git pour facilité le démarrage d'une carte STM32 comme les Nucleo:
Un exemple ici https://github.com/condo4/Nucleo32-L432kc-blink
Maintenant, je vais porter ma stack, ou celle de Thelsing pour ajouter le support d'un TP-UART2 (comme le BCU Siemens), puis, je vais tenter d'utiliser le STKNX (un cran plus bas niveau...) pour faire au finale une carte tout intégré.
C'est sur que le STM32 apporte une grosse difficulté initiale, mais ça permet une très grande souplesse; puisque des Nucleo, il en existe beaucoup de variante; des toute petite avec peu d'IO (comme la 432KC, même si elle est puissante); jusqu’à des monstres a 128 IOs...

L’intérêt des STM32, c'est qu'en plus de faire une base pour les amateurs; ça pourrais aussi être un point de départ pour des vrai périphérique KNX open Source (reprise du projet freebus ??).

Si j'avais plus de temps, j'aimerais aller au bout de ce projet. Mais petit a petit; pièce par pièce, c'est possible...
Après, si d'autre personnes sont intéressé, on peut choisir une base commune pour faire un projet communautaire; voir des sous partis partagé (a base de sous module Git par exemple).
Répondre
#54
bonsoir philhp,

ton projet est-il terminé ?
est ce que tu fournirai le code ainsi que le schéma, j'aimerais bien voir pour me faire qq montage.
je me suis remis a l’Arduino il y a peu de temps

merci a toi
yohann
partner knx 44225
Répondre
#55
Bonjour,
J'ai bien avancé sur mon portage de la stack de https://github.com/thelsing/knx sur STM32.
Mon premier projet est fonctionnel, je le programme depuis ETS et tout fonctionne.
J'ai mis les sources, le schéma, Les photos sur
https://github.com/condo4/knx-pt100
Répondre
#56
bonjour à tous,
j'ai découvert il y a peu le boulot de Thelsing et j'ai utilisé son créateur de fichier de participant (.knxprog) qui bien que simple fonctionne très bien.
Mes composants KNX arduino fonctionnent depuis de 2 ans sans problème, mais je cherchais une façon propre de les intégrer dans ETS pour avoir toutes mes configurations au même endroit.
C'est chose faite avec le CreateKnxProg de Thelsing et un script python qui extrait la programmation de chaque capteur du fichier projet.
Je suis retombé sur ce fil de discussion et je suis intéressé par le travail qui a été fait pour l'intégration du TPUART-2 mais pour arduino dans le code de Thelsing.

Je vous partage quelques images des deux participants que j'ai réalisé un capteur de température et un émetteur IR, le tout tenant dans la boite du 5WG1117-2AB12 de siemens avec un capot imprimé en 3D.
Pour le code de la partie KNX, j'ai utilisé ces deux projets : https://bitbucket.org/thorstengehrig/ard...ser-forum/ et https://github.com/franckmarini/KnxDevice, mais ils ne permettent la programmation via ETS.

[Image: XXk7l.jpg]
capteur de température et son intégration
[Image: werAR.jpg]
et l'émetteur infrarouge
[Image: N2ROg.png]
J'utilise une carte arduino (type léonardo) de petite taille avec le port USB intégré pour facilité la programmation.
Si vous souhaitez des infos n'hésitez ps à me contacter.
Cordialement
Répondre
#57
Bonjour,

Pour mon projet je suis actuellement en train de router une carte (PCB + PCBA) contenant un STKNX et un STM32L432KC dans le but de faire une carte générique en Open Hardware.
Ce qui devrait me fournir une carte de base entre 10€ et 20€ je pense pour tout mes montages KNX même les plus fou...
L'idée est de faire une carte format proche d'un Arduino Nano avec 16 broche de chaque coté sortant toute les broche du STM32 permettant de faire un "shield" facilement pour chaque application.
Je suis partit du design de référence du STKNX, en changeant juste la configuration du DC-DC pour fournir un 12V qui permettra par exemple d'allumé la led témoin d'un interrupteur Legrand Celiane.
Niveau Soft, pour le moment, j'ai un STM32L432KC couplé a un TP-UART siemens qui fonctionne avec la stack Thelsing (avec configuration par ETS); reste a coder la couche basse du protocole qui est géré par le TP-UART, mais pas par le STKNX.
Sinon, j’hésite aussi a porter cette stack C++ en pure C; je ne sais pas si je gagnerais beaucoup de place mais pour le moment, avec une appli très simple; 50% du STM32 est occupé principalement par la stack, je trouve ça beaucoup... enfin, il reste encore un peu plus de 128Ko pour l'application...

Bon, j'en arrive a la raison de ce poste, question importante... quelqu'un à-t-il trouvé quelques part (mouser, digikey...) le connecteur Male des bornes Wago rouge/noir; je veux parler des deux borne métallique séparer par 5.5mm permettant de connecter le Wago sur le PCB.
Je ne sais pas quel référence chercher; il me manque principalement que ça avant de passer au routage finale de ma carte... et avoir une estimation du prix finale avec le montage par SeeedStudio...
Répondre
#58
Bonjour
Regardes les liens suivant
https://shop.ect-cpg.com/product/bip-3/
https://www.amazon.fr/Yibuy-cuivre-plaqu...2S6E3F945C
https://www.harwin.com/connectors-hardwa...=8-62&th=1
Répondre
#59
Je n'ai pas l'impression que ce soit les bonnes pin.

Regardes ici plutot c'est un bon début de recherche a mon avi :
https://www.hartmann-codier.com/products...5v-pt-smd/
https://www.ptr.eu/en/news/newsletter/ne...lications/

Finalement chez WAGO : 243-131



Citation :Ce qui devrait me fournir une carte de base entre 10€ et 20€ je pense pour tout mes montages KNX même les plus fou...
Tu comptes faire quoi comme montage pour quel fonction en gros ?
KNX Partner Base / Avancé

Ma boite de MP est pleine, merci de créer un post si vous avez une question, cela profitera a tout le monde.
Répondre
#60
(14/12/2019, 17:38:34)condo4 a écrit : ...
Je ne sais pas quel référence chercher; il me manque principalement que ça avant de passer au routage finale de ma carte... et avoir une estimation du prix finale avec le montage par SeeedStudio...

Peut-etre une piste:

WAGO 243-131
https://www.reichelt.com/fr/fr/broches-s...ldr::54533

Bonne journée.
__________________________________________________________
Full KNX, même la sonnette ! Home Assistant, automate WAGO, DALI-2
Répondre
#61
Ben, plusieurs projets dans les tuyaux:
- Remonter les sondes de mon chauffe eau solaire (j'ai deja une carte avec TP-UART qui fonctionne actuellement)
- Mes portes de garage : Capteur haut/bas + pilotage
- Mon escalier: J'ai mis des led sous chaque nez de marche, pour le moment, je les allumes toute sur capteur de mouvement; mais je voudrais faire varier l'intensité, mais surtout faire un allumage sequentiel a l'aide de 2 capteurs dans la marche du haut et du bas pour déclancher le chenillard dans le bon sens.
- J'ai aussi dans ma maison, dans la pluparts des pièces un groupe de 2 bouton poussoir + double bouton pour les volets roulant; aujourd'hui géré par un ABB US/S 12 entrée. Mais les fonctions sont trop limité (j'aimerais une fonction sur le "double click" sur les bouton qui servent aussi a la variation... et en plus, piloter aussi la led de temoin lumineux ansi qu'un capteur de temperature One Wire...
- Une station météo
- Le pilotage de mon puit canadien et ma VMC
- ... les idées me manque pas, j'ai d'autre idée, mais c'est plus le temps qu'il me manquera...
Biensur, je compte mettre chaqu projet en open source sur le net ;-)
Répondre
#62
Impeccable, merci pour vos liens, ça fera l'affaire...
Il faut que je fasse l'emprunte dans kicad, après je pense que je les souderais moi même, parsque avec seedstudio, si ça viens pas de mouser ou digikey, je crois que c'est compliquer...
Répondre
#63
Pour l'interface entre l'ATMEGA et le KNX : 2 transistors et une poignée de résistances et le tour est joué.


C'est le code du ATMEGA qui s'occupe de tout ...
la code doit être "au petit oignons" si on veut implémenter toutes les specs KNX

J'ai regardé d'un peu plus prêt l’Arduino :
c'est un quartz à 16Mhz , tant pis , pas grave ça consommera un peu plus sur le bus.


Y a pas moyen de le programmer en C classique ?
IDE avec leurs pseudo C , ça me fait peur pour l'optimisation et taille du code compilé.

au pire il peut servir de programmateur ISP pour flash un ATMEGA pcb custom ou platine de test.
Répondre
#64
> Pour l'interface entre l'ATMEGA et le KNX : 2 transistors et une poignée de résistances et le tour est joué.

C'est un peu plus compliqué que ça si on souhaite respecter la norme KNX.
Il y a des règles assez contraignante sur la consommation de courant, les fronts, les timings... c'est pas juste, on a le droit de consomer 10mA, le protocole est loin d'être simple, on ne peut pas passer de 0mA a 10mA d'un coup, il y a plein de règles, par exemple, au branchement, tu ne peux pas charger directement une capa sur le DC du bus, tu dois limiter le courant de charge pour éviter de passer pour un 0 logique. Le STKNX résout les problèmes hardware, et en plus, contient un DC/DC bien pratique pour généré par exemple du 12V, bref, c'est une approche plus simple, et qui permet de respecter les règles de branchement au bus, mais ça ne gère ni les collisions, ni les timing précis a respecter, ça décode même pas totalement les bits comme un UART.

Concernant le Code; sans TP-UART (qui finalement, fait un gros travail, mais qui malheureusement est introuvable chez les fournisseurs "standard" comme mouser, ce qui est nécessaire pour faire router une carte sur seedstudio), même avec STKNX c'est pas simple. J'avance, mais je suis obligé d'utiliser des timer hardware et une gestion sur interruption car les règle sur les timings sont très serré, et la gestion de l'émission / réception des bits en gérant les collisions est compliqué. Une boucle simple a la arduino ne permettrait pas je pense de faire fonctionner le protocole en parallèle de l'application. C'est pour ça que souvent, un micro 8bit est en charge du protocole (le TP-UART en est un), et l'application est sur un autre micro.
Mon but est de tout faire avec un seul micro + STKNX... donc, utiliser les IT et les timers est indispensable.

Pour le moment, sur mon projet STKNX, j'ai la lecture qui fonctionne, jusqu’à la couche transport (réception des trames); je suis en train de recoder tout le protocole en C en me basant sur la spec officiel.
En bas niveau, il me faut encore géré les collisions et les ACK (d'ailleurs, j'ai du mal a voir quand et a quel layer les ACK doivent être géré).

En parallèle, j'ai un projet qui utilise un TP-UART et la stack thelsing C++, je suis en train de la transformer en pure C, pour au finale fusionner le code avec le bas de ma stack dans le but d'avoir une stack en C complète ( la couche application est assez complexe (en taille) et reprendre une partie du travail de Thelsing me gagne du temps, surtout sur la gestion des objets et de la mémoire).

Bref, je n'avance pas a la vitesse que j’espèrais (j'ai pas trop de temps a y consacrer), mais il manque vraiment une stack open source en C pas "typé Arduino"... Le code de thelsing est très bien, mais il est très gros (a cause du C++ je pense), très orienté Arduino uniquement, et ne permet pas facilement de le coupler a un STKNX (il manque aussi la gestion des ACK et collision, puisque le TP-UART le gère directement)...

De plus, pour ce genre de projet, utiliser des héritage C++ au lieu de #ifdef rend le code binaire encre plus gros, alors que finalement, sur un micro, dans un projet, une fois compilé, le code n'a pas besoin de gérer RF et TP par exemple, et une configuration précise par #ifdef permettrait de limiter la taille de la stack. D'ailleurs, en poussant un peu, on peut même imaginer choisir aussi les type de DPT supporté, aucun projet n'a besoin de décoder tout les types existant, et les fonctions de codage/décodage prennent une grosse place.

Bref, j'ai pas encore fini, je prévois une rev2 de ma carte, plus petite encore (pour le moment elle fait 40mmx35mm, je pense descendre a 35mmx30mm), en utilisant un oscillateur a la place du quartz (j'ai du me planter un peu dans mes calcules, et mon quartz n'a pas la précision attendu, ce qui me fait des erreur de décodage de 1% des trames pour le moment, et finalement, un oscillateur prendra moins de place que quartz + capa + résistances et imitera le nombre de composant nécessaire (pour limité le coût avec seeedstudio)).
Répondre
#65
(19/10/2019, 15:17:44)steph a écrit : Bonjour,

Je suis moi aussi parti sur la stack proposée par Thelsing. J'ai vraiment été surpris à quel point les auteurs sont allés loin dans l'implémentation. Ca permet de faire un vrai device KNX qu'on peut ensuite configurer sous ETS.

Au niveau plate-forme j'ai fait quelques essais concluants sur base Arduino Mini + interface bus Siemens BCU2 (comme Condo4 il me semble) qui a été prélevée sur un 5WG1117-2AB12 : https://www.voltus.de/hausautomation/knx...igung.html
Ca laisse pas beaucoup de place pour le programme applicatif, ça risque aussi de dépasser la conso max préconisée par la norme, mais je ne vais pas en installer 50 comme ça sur mon bus.

Mon prochain module utilisera un Arduino plus costaud de la série MKR, pour interfacer une partie luminaires LED et sondes de température OneWire. Je regarderai ce que ça donne côté conso.

Un projet communautaire m'intéresse aussi, mais je n'ai pas d'expérience en STM, plutôt Arduino et électricité/électronique en général.
Une idée serait de faire un "shield" au format Arduino MKR intégrant le BCU Siemens + un boîtier adapté imprimé 3D pour permettre d'avoir un module complet avec interface bus KNX intégrée pour faire des réalisations rapides, sans avoir à bricoler avec le module issu du Siemens 5WG1117-2AB12.

Je relance ce sujet, car j'essaie depuis quelques temps de flasher des sonoff avec d'abord tasmota knx de Ascillato. Cela fonctionnait avec le mode diagnostic d'ETS5, mais impossible de programmer à partir d'ETS5, et j'ai fini par découvrir que c'était impossible, et qu'il fallait passer par le KNX de Thelsing.
Malheureusement je bloque sur l'absence de la librairie KNX utilisée. Dans le code j'ai bien <knx.h>, mais ca ne fait pas une librairie, ou en tout cas vje n'arrive pas à utiliser un des exemples du code comme, le bme680.ino. Impossible de le compiler à cause de ce manque de librairie. Mais c'est peut être mes connaissances en C++ qui sont insuffisantes.
Sauriez-vous m'aider  à débloquer mon problème... Pas de réponse de Thelsing, celui-ci semble être passé à un autre projet.
Le fichier bme680.knxprog fonctionne parfaitement bien.
 Par contre je me demande aussi, si avec un fichier .knxprog recréé, cela pourrait fonctionner avec le KNX de Ascillato.
Merci pour toutes réponses de ceux qui ont réussi à faire fonctionner ces codes.
Répondre
#66
Après pas mal de galère j'ai pas mal avancé.
J'ai fini par comprendre quel code utiliser pour réaliser un device avec un ESP8266 et le bus KNX.
Il y avait pas mal de choses affaire pour que cela fonctionne mais grâce à l'aide du concepteur j'ai réussi enfin à compiler mon fichier .ino 
Malheureusement ce code ne fonctionne pas avec les microprocesseur des Arduino, et je vais devoir revoir et intégrer le code de ma station météo vers l'ESP8266.
Pour l'instant je n'ai utilisé que les fichiers .knxprog des exemples, qui fonctionnent. Il va falloir maintenant que j'apprenne à concevoir moins même mes propres .knxprog pour les importer dans ETS5. 
Je viens de mettre au C# pour pouvoir utiliser le CreateKnxProd de Thelsing, mais je pars de loin. heureusement que j'ai plein de temps disponible.
En me promenant sur le Net j'ai trouvé un logiciel pour ouvrir la structure de fichier .knxprog, malheureusement maintenant que j'en aurais besoin je n'arrive plus à le retrouver (c'était sur un site allemand).
Répondre
#67
Bonjour a tous,
Je peux aussi faire un petit point sur mes avancés...
Mon projet KnxBoard continue d'avancer... lentement mais sûrement (j'ai pas énormément de temps a y consacrer)...
Pour le moment, pour contourner mon problème d'oscillateur, j'ai mis un oscillateur sur la carte qui me sert a débuger la KnxBoard.
ça me permet d'avancer un max avant le routage de la v2.
Pour le moment, j'ai les ACK qui fonctionnent, ainsi que les réponses a une requête (TX initier par un READ sur le bus).
Il me reste a faire les TX initier par le code de l'application mais surtout, la gestion des collisions.
Voici quelques Photos du projet:

La KnxBoard et ma carte qui me sert a debuguer avec un programmateur STM32 et une sortie UART avec un FDTI.

[Image: 20211104_110043.jpg]

La carte en fonctionnement :
[Image: 20211104_105904.jpg]

Maintenant le montage pour faire mes essais hors de mon réseau de ma maison:
1: Une alim KNX
2: Ma première carte basé sur la stack Thelsing avec un programme qui envoie une demande d'adresse de bus toutes les 10 secondes (comme lorsque dans ETS on demande l'adresse des devices en mode programmation) de plus, cette carte m'affiche sur le port série (USB) toutes les trames qui passent sur le bus... retourné par le TpUART
3: Un composant KNX standard (ici un ABB US 12.2) pour comparer les trames, les timings et essayer de produire des collisions...
4: Ma carte KnxBoard V1 en cours de développement (avec 2 rework, fils rouge et vert, pour corriger des erreurs de routage)
[Image: 20211104_105913.jpg]

Enfin, le résultat actuel:
Trace rouge: le bus KNX
Trace Jaune: le RX du STKNX
Trace Bleu: le TX du STKNX
Explication:
- Trame1: ma carte a base de TpUART demande les adresses des participants en mode programmation (j'ai appuyer sur le prog de l'ABB et de ma carte KnxBoard).
- KnxBoard envoie un ACK ansi que ABB (juste après la trame 1)
- La trame 2, c'est la KnxBoard qui répond, le 3, c'est le ACK de ABB et TPUART
-Puis 4, c'est ABB qui envoie son adresse a sont tour... avec en 5, le Ack de TPUART et KnxBoard...
[Image: 20211104_105952.jpg]



Bon, dans ce cas, ABB met plus de temps a répondre que ce que la norme prévoit... du coup, pas de collision...

Pour conclure, la partie la plus dure a faire est passé (enfin, reste encore la collision a gérer...)
Je vais pouvoir repasser sur les couches haute (ce qui avance en générale plus vite, car c'est de la programmation plus conventionnel, les couche basse, c'est des programmation de timers, et du debug a l'oscillo...).
Mon code est une reprise de zero depuis les spec en m'inspirant fortement du code de Thelsing, et le tout en C pure. Et pour le moment, tout ça pour 17Ko de section "text" (loin des 128Ko de ma carte knx-debug avec la stack Thelsing en C++ qui pourtant ne gère que le protocole du TpUart bien plus simple)...

J'ai pas encore mis tout le code sur GitHub (c'est prévu, mais je pense le mettre une fois le projet fonctionnel).
Mais si ça intéresse quelqu'un, je peux envoyer le code et le dossier KiCad de la carte V1 (qui demande 3 rework comme on le vois sur la photo + un oscillateur 32MHz externe) ou V2 (Schéma OK, mais pas encore routé).

Pour le moment, la carte fonctionne a 32MHz, la V2 sera je pense a 40MHz mais, en changeant la PLL interne, je peux passer a 80MHz sans changer le hardware, ce qui laisse pas mal de marge pour le projet...
Au niveau consommation, il faudra que je vérifie plus précisément avec un montage complet mais pour le moment a 32MHz sans mise en veille, je suis assez loin des 10mA de la norme...
Répondre
#68
Je savais que j'aurai dû être plus assidu aux cours l'électronique et du traitement du signal à la fac  Big Grin
Répondre
#69
Bon, je suis un peu dégoutté ;-) j'aurais du mieux lire ce forum, j'avais raté le message de abnaxus qui parlait du NCN5130...
En effet ce composant se trouve sur Mouser, et, il est super intéressant... pour 3€ de plus que le STKNX, il gère la partie timing comme le TPUART...
Du coup, je suis en train de réfléchir pour faire router une KnxBoardV3 (abandon de la V2), basé sur ce composant...
ça aurait l'avantage de diminuer le nombre de composants nécessaire, donc, baisser le coût, et surtout, il n'utiliserait que 2 IO du CPU (RX/TX) au lieux des 5 nécessaires pour le STKNX... et surtout, sera beaucoup plus simple a gérer au niveau Timing, donc, plus besoin du code compliqué gérant les Timer et les IT...
Bref, j'ai passé beaucoup d'heure a écrire et debugger du code qui finalement ne servira pas...
Bon, la partie au dessus du Layer Physique n'a pas été écrite pour rien, puisque je vais la conserver...
Répondre
#70
Je vois que tu maitrises le code produit par Thelsing.

Pour ma par pas de souci pour la partie C++ avec des fichiers .ino que j'utilise avec des ESP8266. J'y suis arrivé car après avoir réussi à flasher des sonoff basic R2 avec le tasmota knx de Ascillato. Mais cela fonctionnait bien avec le mode diagnostic d'ETS5, mais impossible de programmer à partir d'ETS5, et j'ai fini par découvrir que c'était impossible, et qu'il fallait passer par le KNX et le Createknxprod de Thelsing.

Mon niveau n'étant pas le votre j'ai commencé avec les fichiers knx-demo-ip.ino et knx-demo-ip.knxprod. Jusque là j'ai réussi à faire fonctionner avec un import du knxprod dans ETS5 et à prommer le knx-demo-ip.ino au travers d'ETS5, et ca fonctionne parfaitement bien.

Par contre, je n'arrive pas à compiler le ficher knx-demo-ip.xml en knx-demo-ip.knxprog pour pouvoir programmer le device directement dans ETTS5.

Je suis passé par le forum Knx Allemand, mais je suis encore à me farcir les 69 pages du sujet Createknxprod. J'ai découvert et utilisé 2 méthodes pour générer le knx-demo-ip.knxprod, le CreateKnxProd de Thelsing et le multiply-channels de Waldemar mais j'ai des bugs dans les 2 cas. Avec le  CreateKnxProd de Thelsing, je n'arrive pas à compiler pour générer le knx-demo-ip.knxprog à partir de knx-demo-ip.xml ci-joint l'erreur de compilation [img=84x16]<a href=[/img][Image: 21110510554325602917653883.gif]
Je ne sais pas trop bien ou je dois renseigner le chemin pour utiliser les bonnes dll d'ETS5.

Et pour le multiply-channels, le knx-demo-ip.knxprog ce génère bien, mais quand je l'importe dans ETS5, je n'ai rien de visible dans le catalogue ETS5


Un peu d'aide serait bien venu, ne serais ce que que bien comprendre la méthode à utiliser dans un sujet où je me sens un peu seul.
Répondre
#71
Bonjour,
pour le message d'erreur il faut juste éditer le fichier XML et changer la version de spécification knx de 11 à 20.
Il faut le faire sur tous les fichiers gérés avec les versions avant la release 23.
xmlns="http://knx.org/xml/project/11" en xmlns="http://knx.org/xml/project/20"
A+
Répondre
#72
Merci pour ton aide mais je bloque toujours avec une nouvelle erreur:

[Image: 21110507103825602917654397.gif]

Sinon je ne vois pas vraiment comment utiliser cette partie:
[Image: 21110612293725602917654696.gif]

Peux tu me décrire comme utiliser createknxprod à partir du fichier C# car je me demande si à force de bidouiller je dois repartir avec des fichiers propre du github de Thelsing.
J'aimerais vraiment réussir à maitriser la méthode pour générer moi_même le fichier knx-demo-ip.knxprog à partir du fichier knx-demo-ip.xml, pour ensuite travailler sur mes propres fichiers .xml et .ino

En tout cas merci pour ton aide.
Répondre
#73
J'ai l'impression que c'est dans l'utilisation de Visual Studio que j'ai des soucis sur ma façon de l'utiliser.
j'ai mis mon dossier VSCode avec dedans le dossier CreateKnxProd-master dans le disque C. Et du coup je pense que j'ai des problèmes de droits d'accès.

ci-joint la liste des erreurs:

1>C:\Users\Jean Louis Richard\VScode\CreateKnxProd-master\Model\Xml.Project.cs(12728,72,12728,87): warning CS0108: 'LdCtrlWriteMem_T.PropertyChanged' masque le membre hérité 'LdCtrlBase_T.PropertyChanged'. Utilisez le mot clé new si le masquage est intentionnel.
1>C:\Users\Jean Louis Richard\VScode\CreateKnxProd-master\Model\Xml.Project.cs(12730,32,12730,49): warning CS0114: 'LdCtrlWriteMem_T.OnPropertyChanged(string)' masque le membre hérité 'LdCtrlBase_T.OnPropertyChanged(string)'. Pour que le membre actif se substitue à cette implémentation, ajoutez le mot clé override. Sinon, ajoutez le mot clé new.
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(4502,5): warning MSB3026: Impossible de copier "obj\Debug\CreateKnxProd.exe" vers "bin\Debug\CreateKnxProd.exe". Nouvelle tentative de l'opération 1 dans 1000 ms. Le processus ne peut pas accéder au fichier 'bin\Debug\CreateKnxProd.exe', car il est en cours d'utilisation par un autre processus. Le fichier est verrouillé par : "CreateKnxProd (22532)"
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(4502,5): warning MSB3026: Impossible de copier "obj\Debug\CreateKnxProd.exe" vers "bin\Debug\CreateKnxProd.exe". Nouvelle tentative de l'opération 2 dans 1000 ms. Le processus ne peut pas accéder au fichier 'bin\Debug\CreateKnxProd.exe', car il est en cours d'utilisation par un autre processus. Le fichier est verrouillé par : "CreateKnxProd (22532)"
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(4502,5): warning MSB3026: Impossible de copier "obj\Debug\CreateKnxProd.exe" vers "bin\Debug\CreateKnxProd.exe". Nouvelle tentative de l'opération 3 dans 1000 ms. Le processus ne peut pas accéder au fichier 'bin\Debug\CreateKnxProd.exe', car il est en cours d'utilisation par un autre processus. Le fichier est verrouillé par : "CreateKnxProd (22532)"
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(4502,5): warning MSB3026: Impossible de copier "obj\Debug\CreateKnxProd.exe" vers "bin\Debug\CreateKnxProd.exe". Nouvelle tentative de l'opération 4 dans 1000 ms. Le processus ne peut pas accéder au fichier 'bin\Debug\CreateKnxProd.exe', car il est en cours d'utilisation par un autre processus. Le fichier est verrouillé par : "CreateKnxProd (22532)"
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(4502,5): warning MSB3026: Impossible de copier "obj\Debug\CreateKnxProd.exe" vers "bin\Debug\CreateKnxProd.exe". Nouvelle tentative de l'opération 5 dans 1000 ms. Le processus ne peut pas accéder au fichier 'bin\Debug\CreateKnxProd.exe', car il est en cours d'utilisation par un autre processus. Le fichier est verrouillé par : "CreateKnxProd (22532)"
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(4502,5): warning MSB3026: Impossible de copier "obj\Debug\CreateKnxProd.exe" vers "bin\Debug\CreateKnxProd.exe". Nouvelle tentative de l'opération 6 dans 1000 ms. Le processus ne peut pas accéder au fichier 'bin\Debug\CreateKnxProd.exe', car il est en cours d'utilisation par un autre processus. Le fichier est verrouillé par : "CreateKnxProd (22532)"
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(4502,5): warning MSB3026: Impossible de copier "obj\Debug\CreateKnxProd.exe" vers "bin\Debug\CreateKnxProd.exe". Nouvelle tentative de l'opération 7 dans 1000 ms. Le processus ne peut pas accéder au fichier 'bin\Debug\CreateKnxProd.exe', car il est en cours d'utilisation par un autre processus. Le fichier est verrouillé par : "CreateKnxProd (22532)"
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(4502,5): warning MSB3026: Impossible de copier "obj\Debug\CreateKnxProd.exe" vers "bin\Debug\CreateKnxProd.exe". Nouvelle tentative de l'opération 8 dans 1000 ms. Le processus ne peut pas accéder au fichier 'bin\Debug\CreateKnxProd.exe', car il est en cours d'utilisation par un autre processus. Le fichier est verrouillé par : "CreateKnxProd (22532)"
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(4502,5): warning MSB3026: Impossible de copier "obj\Debug\CreateKnxProd.exe" vers "bin\Debug\CreateKnxProd.exe". Nouvelle tentative de l'opération 9 dans 1000 ms. Le processus ne peut pas accéder au fichier 'bin\Debug\CreateKnxProd.exe', car il est en cours d'utilisation par un autre processus. Le fichier est verrouillé par : "CreateKnxProd (22532)"
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(4502,5): warning MSB3026: Impossible de copier "obj\Debug\CreateKnxProd.exe" vers "bin\Debug\CreateKnxProd.exe". Nouvelle tentative de l'opération 10 dans 1000 ms. Le processus ne peut pas accéder au fichier 'bin\Debug\CreateKnxProd.exe', car il est en cours d'utilisation par un autre processus. Le fichier est verrouillé par : "CreateKnxProd (22532)"
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(4502,5): error MSB3027: Impossible de copier "obj\Debug\CreateKnxProd.exe" vers "bin\Debug\CreateKnxProd.exe". Dépassement du nombre maximal de nouvelles tentatives de 10. Échec. Le fichier est verrouillé par : "CreateKnxProd (22532)"
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(4502,5): error MSB3021: Impossible de copier le fichier "obj\Debug\CreateKnxProd.exe" vers "bin\Debug\CreateKnxProd.exe". Le processus ne peut pas accéder au fichier 'bin\Debug\CreateKnxProd.exe', car il est en cours d'utilisation par un autre processus.
========== Générer : 0 réussie(s), 1 non réussie(s), 0 à jour, 0 ignorée(s) ==========
Répondre
#74
Bonjour, après quelques pérégrination sur le moteur de recherche connu, où j'ai cherché une librairie knx exploitable pour un microcontrôleur rpi pico (enfin plutôt microcontrôleur RP2040), je suis alors tombé sur le git de Thelsin; Cela m'a fait chercher un convertisseur bus KNX<-> UART microcontrôleur (STKNX) que j'ai découvert via le site allemand "ekicks"; Qui m'a amener sur ce fil du forum.

@Condo4
Comme je connais un peu Kicad, je suis intéressée par le schéma (même en pdf) de ta V1 et surtout la partie connexion du STKNX qui d'après le datasheet donne des infos qui sont pour moi et mon anglais scolaire (d'il y a plus de 30 ans) contradictoire pour connecter le bus KNX et l'alimentation.

De plus je me suis penché sur le datasheet du NCN5130 et je sais pas si tu l'a remarqué mais il a besoin d'une surface, pour la diffusion optimal thermique, non négligeable : 5500 mm² pour la face opposé, ce qui pour moi le disqualifie car le projet que je souhaite développer devra s'insérer dans une boite d'encastrement standard (diamètre de 65mm).

Pour le projet que je souhaite faire je pense donc, comme je le mentionne plus haut, me diriger vers le microcontrôleur RP2040 (rpi pico), pour plusieurs raison : La première étant la compatibilité avec le stack de Thelsin sans avoir à réinventer la roue; La seconde étant la possibilité de lui intégrer de la mémoire supplémentaire en cas de besoin (jusqu'à 128 Mb); il y a aussi sa faible consommation (inférieur à 10mA en utilisation normal) ou encore son faible encombrement, .....

Par contre, le problème de consommation peut être contourné par la deuxième alim de ton Siemens (les borne jaune et blanche) qui ont justement été a cet effet par la norme. Ce n'est pas non plus une alim miracle car en général c'est la même intensité délivré que celle du bus.

@Richardpub
J'ai laissé tombé Visual Code, car dotnet ne voulait pas m'intégrer le FrameWork 4.7.2 et même en recopiant dans un nouveau projet il me manque la dll KNX (ce qui à l'air de te manquer), qui soit doit être le stack KNX-master de Thelsin ou une autre car il a fait quelques fork dans ces projets. Mais suite à une discutions, on m'a conseillé de téléchargé l'IDE de Visual Express 2017, et avec j'ai pu ouvrir tous les XML du répertoire d'exemple du stack (à la condition le modifier le 11->20). J'espère que cela va t'aider.
Répondre
#75
Sur le forum Knx Allemand, (encore une 15e de pages du sujet Createknxprod à lire). J'ai eu l'info d'utiliser Visual Studio pour générer le knx-demo-ip.knxprod, avec le CreateKnxProd de Thelsing et Visual Studio Code pour le multiply-channels de Waldemar.
Je continue à chercher la solution.
As-tu réussi à générer le fichier .knxprod à partir du fichier .xml correspondant, et à l'importer ensuite dans ETS5 et qu'il soit fonctionnel et paramétrable???
Répondre


Atteindre :


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