Nouvelles:

Le Forum est maintenant chiffré (préambule https). Bien sûr, des liens externes insérés dans les sujets vont demeurer inchangés. Mais la composition des pages du Forum est désormais sécurisée. Si des problèmes d'affichage surviennent, veillez à vider votre cache pour ce site.

Menu principal

Web Applications pour l'embarqué

Démarré par jfsimon1981, Décembre 13, 2025, 11:03:50 AM

« précédent - suivant »

jfsimon1981

Bonjour à tous,
Premier post sur votre Forum, je suis toujours heureux de pouvoir partager avec des personnes passionnées par l'électronique et partager,

Je finalise actuellement un projet de logiciel qui comporte deux composantes:
- Driver embarqué sur microcontrôleur (PIC, ARM/Arduino, etc ...)
- Application PC comprenant un serveur local et page(s) Web/Js

L'application tourne donc sur plateforme (Windows pour le moment) et permet d'accéder et traiter en temps réel des données provenant d'un contrôleur connecté.

La couche de communication est uniforme et suit une spécification de sorte que toute plate-forme embarquée pour laquelle le driver a été développé peut y être connectée et exploitée.


Pour ce développement, la première phase incluait un PIC16F628 avec une App qui visualise et programme les GPIO ports A & B en entrée, sortie, Pul-up, lecture/écriture de valeurs.

Ceci étant réalisé et fonctionnel, je développe actuellement une Web/app qui récolte les valeurs analogiques, ici 6 canaux d'une carte Arduino Uno, et les met en forme graphique avec les fonctions d'affichage Tension / Temps sur une plage sélectrionnée 5s à 72h.

L'app supporte donc
- Affichage sous forme de graphic chart
- Calibrage échelle de temps
- Lecture des valeurs dans le passé sur la chart/via le curseur
- Lecture simultanée des 6 voies ADC
- Affichage tension mise à l'échelle paramétrable selon les valeurs pont de résistance
- Sauvegarde des datalog au format CSV
- Enregistrement des courbes au format PNG

Ceci étant réalisé, reste le driver Arduino à compléter et mettre au point quelques aspects du projet, puis le documenter avant de partager ces éléments.


Un tel projet peut aussi répondre à des besoin divers, or étant en développement actuellement, je cherche à savoir si ces éléments concordent avec une majorité de cas d'usages, et si des ajustements du code / fonctionnalités sont nécessaires.


Dans cette optique je me permet de vous le partager et si vous le souhaitez, apporter votre éclairage sur les possibilités, vos souhaits ou éventuelles observations jusqu'ici.

Les apps ci-jointes sont des exemples qu'il est possible d'implémenter via la Web app.
Le multimètre DC multi voies est en cours de développement embarqué, les autres sont en mode simulation pour l'heure, elles n'ont pas de support matériel disponible pour l'heure (hardware & driver).

Lien vers la démo en mode simulateur Web/app en cours de développement plateforme Arduino Uno:
micro-studioplc.com/clv_app.php

Vous ne pouvez pas consulter cette pièce jointe.

Vous ne pouvez pas consulter cette pièce jointe.

Vous ne pouvez pas consulter cette pièce jointe.

Vous ne pouvez pas consulter cette pièce jointe.

Bon travail à tous,

Jean-François

papyblue

#1
Bonjour Jean-François et bienvenue sur le forum.

Bravo pour votre travail, c'est très propre et prometteur.

Personnellement, je verrais bien une application à ce dispositif si on pouvait disposer d'une isolation galvanique entre le PC et la carte d'acquisition. La majorité des appareils électroménagers sont reliés au secteur donc l'enregistrement de leurs signaux pour la compréhension de leur fonctionnement /dysfonctionnement nécessite cette isolation.
j'allais oublier : il est aussi intéressant de pouvoir dater avec précision les événements, un affichage de l'heure, minutes et secondes et centièmes serait un vrai plus.(en multivoies)
 

jfsimon1981

#2
Bonjour PapyBlue,

Merci pour le retour, j'ai logué votre demande, pour la partie hardware effectivement.
Et je diffuse une version complète et fonctionnelle limitée à la carte Arduino Uno pour le moment.

Le deuxième point me semble implémenté, on peut descendre à 50ms la boucle, mais il y a un peu de buffer, sur cette version le datalog étant réalisé côté PC.

> Voici la description et plus bas le logiciel actuelement disponible.

Fonctionnalités présentes sur cette version 1.1.0:

Support carte Arduino Uno R4 (programme fournit).

Affichage
    Visuelle graphique Tension-Temps et valeur temps réelle
    Vertical Scale : Auto / Paramétrable
Sample rate
    Minimum 50 ms, pas de limite supérieure
Câlibrage
    Echelle + Offset
Voies en entrée
    Up to 6 on Arduino Uno
Sorties
    Graphique multi-voies
    Datalog csv
    Sauvegarde graphique format PNG

Voici les liens:

Zip avec Logiciel, Web App & Programme Embarqué Uno
Package v1.1.0

Capture d'écran Web App Analog

Schémas pour une Arduino Uno

Il y a une limite de temps de 30 minutes, si vous me fournissez le fichier machine.txt
généré, je vous retournerai la license.txt.

Le logiciel est en Béta test actuellement, mais fonctionnel sur la carte mentionnée.

Bonne réception,
Cordialement,

Jean-François Simon

papyblue

Bonjour Jean-François,

Pour compléter le dispositif, je verrais bien l'ajout de fonctionnalités qui seraient : des données calculées, des sorties, des événements, et des timers.
- les données calculées sont une combinaison logique et/ou arithmétique des autres voies. elles peuvent être affichées de la même manière qu'une voie normale.
- les sorties servent à actionner des relais. Elles peuvent être actionnées à partir d'un temps absolu ou relatif. Dans le second cas les séquences obtenues peuvent être répétées N fois ou à l'infini. Elles peuvent également être déclenchées par un évènement ou un timer.
- les évènements sont une combinaison logique ou arithmétique des entrées ou des sorties. A la différence des "données calculées" ils ne sont pas destinés à un affichage mais comme déclencheur d'une action de sortie.
- les timers sont activés par un évènement et leurs sorties servent de déclencheurs.

Voilà, cela fait un peu de travail mais cela rendrait le produit plus versatile.

PB

jfsimon1981

#4
Merci je vais réfléchir comment intégrer ces fonction,

Question, vous pariez d'un outil graphique type programmation Ladder / Bloc fonction / Grafcet, ou bien une librairie type C++ Arduino ?
Il est beaucoup plus facile de fournir des librairies à exploiter, les fonctions graphiques, cela requiert un travail assez conséquent pour être foncitonnel.

Cordialement,
Jean-François

papyblue

Je dois avouer que je me suis contenté de me placer dans la peau de l'utilisateur final pour répondre à votre question initiale et pas dans celle du développeur. Dans ma tête, cela doit être un outil facile à utiliser sans connaissances particulières avec des menus déroulants et autres widgets simples. Cela pourrait ressembler à Excel quand on insère une fonction en remplissant les divers champs. La solution va dépendre de l'architecture retenue qui elle même sera fonction des contraintes que vous fixerez : nombre de canaux, nombre de fonctions disponibles, précision du temps, etc..
J'avais répondu dans cette direction car en ce moment je suis dans du dépannage avec l'obligation de faire du retro-engeneering faute de disposer de schéma. On peut aussi trouver une utilité pour faire du test automatique pour un système en développement, le dispositif surveillant différents paramètres et simulant l'action d'un opérateur en commandant un relais(câblé en // sur un poussoir) par exemple. Pour avoir été aussi développeur(dans une autre vie) je suis conscient du travail que cela représente mais il est possible de le faire par étapes, une première pourrait être par exemple la comparaison à un seuil.
Bien évidemment, ce ne sont que des suggestions, je ne suis pas un "Client" qui attend des fonctionnalités précises.   

jfsimon1981

Oui j'ai envisagé tout ceci, à voir en fonction de mes propres ressources et évolution du projet.
Ce sont effectivement des applications utiles dont j'ai moi même besoin actuellement.

On test plus ou moins de façon manuelle à ce jour, mais un tel outil permet d'être beaucoup plus
précis et rapide, c'est aussi les raisons de ces développements.

Jean-François

jfsimon1981

Bonjour,
Du coup je travaille sur l'interface pour un contrôleur ultra simple ici:
MS-PLC Programming Interface

On peut paramétrer quelques actions et en faire une mini contrôleur programmable.
Est-ce que cela semble une bonne approche ?

Jean-François