J'ai besoin de tracer des données série d'Arduino.
J'ai besoin d'aide pour:
- Différents formats de données (par exemple, signé, non signé, 8 bits, 16 bits);
- Trace plusieurs données sur les mêmes axes;
- Exporte / Importe les données du fichier.
Comme le traçage de données série à partir d’Arduino est un besoin courant, ma question est la suivante: quels programmes / utilitaires sont disponibles pour le traçage de données série à partir d’Arduino qui répondent aux besoins ci-dessus?
Quels sont les avantages / inconvénients de la méthode que vous avez suggérée?
Réponses:
Il existe de bonnes applications pour visualiser les données en série, notamment:
MegunoLink (29,95 $; Lite gratuit) - traçage, enregistrement, programmation, création de rapports et plus encore.
MakerPlot (39 $) - traçage numérique et analogique, surveillance, interfaces personnalisées et plus.
ArduinoPlot (gratuit) - tracé simple.
arduino-plotter (gratuit) - tracé facile et léger avec support pour tous les types primitifs
Panneau de configuration du pont (gratuit) - enregistrement, tracé, etc.
RealtimePlotter (gratuit) - Tracé des données sur 6 canaux.
Traceur de données série en temps réel (gratuit) - Tracé, enregistrement et consignation de données au format CSV.
SimPlot (gratuit) - Tracé 4 canaux.
Arduino Serial Trotter (gratuit) - intégré à Arduino Editor sous Outils> Traceur en série .
(Ceci est un wiki de communauté, vous pouvez développer la liste.)
la source
GnuPlot
Avantages: Il est très flexible, scriptable et disponible gratuitement.
Inconvénients: Un peu complexe à apprendre (mais j’ai compris comment démarrer en quelques minutes et très fonctionnel en une heure ou deux) s’exécute dans une fenêtre de terminal (si on considère que cela est un inconvénient).
Quelque chose que j'ai trouvé très utile était de le programmer pour recharger périodiquement le fichier journal de mon programme terminal afin d'obtenir un graphique dynamique au fur et à mesure que mon expérience progressait.
Edit: Voici le script GnuPlot qui le trace:
la source
J'utilise Matplotlib pour tout tracé que je dois faire.
Ce n'est pas spécifique à Arduino, mais c'est une excellente boîte à outils de traçage Python .
J'ai construit un certain nombre d'applications permettant de tracer en temps réel les données d'une variété de microcontrôleurs vers un graphique, mais il s'agissait en réalité d'un processus en deux étapes: 1. Obtenir les données d'un périphérique dans un ordinateur, 2. Tracer des données en temps réel .
Vraiment, je pense que vous devriez diviser votre question en deux parties:
la source
SerialPlot (gratuit). Il fait tout ce dont vous avez besoin et bien plus encore.
Autres caractéristiques:
la source
Répondant à ma propre question ici .. J'utilise le Panneau de configuration de pont comme mentionné.
Avantages: Beaucoup de fonctionnalités.
Inconvénients: difficile à installer et très faible rapport de syntaxe / erreur.
Pour utiliser: Vous devez écrire les données Arduino sur le port série, un octet à la fois. Pour un type de données int, cela ressemblerait à ceci:
Dans Bridge, la commande pour lire les données est la suivante:
RX8 est la commande de lecture [h = 43] signifie que le prochain octet valide est "C" en ASCII, puis l'octet haut de Key1, puis l'octet bas de Key1.
Cela ressemble à ceci dans Bridge:
la source
Vous pouvez essayer serialchart . C'est un programme assez étroit. Il fait exactement ce que vous avez demandé. Le seul inconvénient est qu'il nécessite des données au format CSV (ne correspond pas au premier point).
Capture d'écran de la page du projet:
la source
Vous pourriez être intéressé par
Telemetry
Voir sur Github . C’est un protocole de communication très simple à utiliser, avec une interface claire, qui permet une communication bidirectionnelle avec les périphériques Arduino / Mbed.Si vous ne voulez pas lire ce long post, allez voir une présentation de toutes les fonctionnalités qu'il contient.
La puissance de cette bibliothèque provient de l'interface de ligne de commande du bureau (qui ne nécessite aucune connaissance en programmation en python).
Il est capable d'ouvrir des graphiques hautement performants (beaucoup plus élevés que ce que l'on peut faire avec matplotlib) en tapant simplement une commande .
Le protocole prend en charge les structures de données complexes . Pour le moment, les tableaux et les tableaux épars peuvent être envoyés à partir du tableau intégré.
Les tracés ouverts à partir de l'interface de ligne de commande comprennent le type de données. Pour les tableaux, plutôt que de tracer chaque échantillon en fonction du temps, l'échantillon sera tracé par rapport à son propre index.
Dans un proche avenir, il est prévu d'ajouter un support pour les coordonnées spatiales (données xyz), ce qui vous permettra de tracer immédiatement des données spatiales. Une fois de plus, les parcelles vont tout comprendre, tracer vos données dans un espace 2D ou 3D et vous pouvez vous concentrer sur le développement de votre application.
Je crois que ces fonctionnalités sont simplement uniques pour un tel projet.
CLI de pytélémétrie
Une fois installé avec
pip
, la ligne de commande peut être démarrée avecEnsuite , vous pouvez
connect
,ls
(liste) sujets reçus, lesprint
données reçues sur un sujet,pub
(publication) sur un sujet, ou d' ouvrir unplot
sur un sujet pour afficher les données reçues en temps réelCommencer
Wiki
PS: je suis l'auteur.
Je l'ai développé parce que je ne pouvais pas trouver une solution qui me permettrait de:
tout ce qui précède sans utiliser de solutions propriétaires ni d’interfaces graphiques graphiques gonflées.
En utilisant cette bibliothèque, le temps nécessaire pour établir une communication entre Arduino et un PC est passé généralement d’une demi-journée à 5 minutes.
la source
Personne n'avait mentionné le traitement qui est super polyvalent. Vous pouvez faire beaucoup plus que simplement tracer, mais si c'est tout ce que vous voulez, vous pouvez utiliser la bibliothèque gwoptics; Connectez Arduino et Processing comme indiqué ici .
la source
J'ai créé un outil équivalent en python qui imprimait des données en temps réel à partir de l'accéléromètre ADXL345. https://github.com/mba7/SerialPort-RealTime-Data-Plotter
peut-être qu'il sera utile pour quelqu'un
Il suffit de choisir le port série et la vitesse et envoyer une série de données sur le format suivant:
Pourrait être facilement adapté pour changer ce format
la source
Vous pouvez utiliser MATLAB Student Edition , ce qui peut vous faire gagner du temps pour une analyse plus approfondie. Vous pouvez simplement ouvrir le port COM dans MATLAB et tracer le signal reçu et / ou enregistrer le signal dans l'espace de travail ou autre. MATLAB rend tout facile!
la source
Le format CSV est le plus polyvalent pour toutes les données (signées / non signées, tailles et précision variées).
Outil multiplate -forme (écrit en Java / Scala) Scsvlog peut recevoir / analyser des chaînes CSV à partir d'un port / socket série, afficher des valeurs et dessiner des graphiques (jusqu'à 8).
la source
Vous pouvez essayer le logiciel que j'ai développé pour cette proposition. Il est destiné à être facile à utiliser. Voir SerialGraphicator - Client à port série libre et à source libre capable de gérer les valeurs de graphique reçues au format JSON.
la source
Bien que je ne l'utilise pas moi-même, "rqt_plot" sur le PC semble être un moyen populaire de tracer des données sur un PC qui passe sur un port série d'un Arduino qui exécute une esquisse incluant la bibliothèque rosserial_arduino ou la bibliothèque ros_arduino_bridge .
la source
Je sais que la question est très ancienne, mais j’ai récemment créé une application Mac qui résout très bien ce problème. Vous pouvez trouver plus d'informations à ce sujet sur www.bloonapp.com. Vous pouvez consulter des vidéos de démonstration sur le site Web.
la source
Je sais que vous recherchiez probablement une interface graphique plus avancée, mais j’ai réussi à reproduire une tâche que l’on ferait normalement avec un oscilloscope:
En utilisant le traceur série dans l'IDE Arduino et un module ADC, vous pouvez obtenir 3 dollars sur eBay. J'admets que c'est un peu brutal, mais il vaut peut-être la peine de jouer avec l'outil pendant un moment avant d'investir dans des solutions au niveau Python / Matlab / ect. C'était extrêmement facile à utiliser. Il ne faudrait pas beaucoup ajouter l’enregistrement sur carte SD au processus.
Voir: https://edwardmallon.wordpress.com/2016/08/15/using-the-arduino-uno-as-a-basic-data-acquisition-system/
la source
Télémétrie Viewer
Avantages:
Désavantages:
la source
Serial Plotter est un programme simple créé avec Electron qui reçoit les données au format suivant:
data1,data2,timestamp;
et les convertit en un graphique en temps réel.la source
Presque utile. Il faut:
Live Graph est une meilleure option et je l’utilise en conjonction avec Tera Term, qui récupère les données via le lien USB / série (et les enregistre dans un fichier journal qui est ensuite interrogé par Live Graph).
Live Graph est légèrement bogué lors de la mise en cache des données et je n'ai pas trouvé le moyen de définir une fenêtre mobile pour afficher les résultats. De plus, l'affichage de plusieurs graphiques nécessite une mise à l'échelle manuelle, mais malgré tout cela reste très utile. C'est écrit en java, vous aurez donc besoin du JRE. Je préfère ceci plutôt que d’avoir à installer python comme le font certains des autres programmes graphiques. Un autre inconvénient est qu'il ouvre 4 fenêtres différentes, ce qui est pénible lorsque je veux basculer entre elle et Tera Term.
Je n'ai pas encore trouvé de logiciel
la source
?
bouton dans l'éditeur.J'utilise processing.org pour le traçage en série d'Arduino. C'était la seule application que je pouvais trouver qui me permettait de créer de vrais histogrammes (par exemple, un million d'événements dans une centaine de bacs) et d'afficher divers numéros d'information en plus de sigma pour chaque canal. Deux problèmes majeurs: A) il s’est avéré être basé sur Java sans octets non signés B) synch ig avec le tampon circulaire et les marqueurs d’entrée requis dans les données. (haute vitesse, pas de poignée de main)
la source
Contrôle visuel et enregistrement des signaux pour Arduino et pas seulement.
Exemple de vidéo
Télécharger gratuitement)
la source