To capture data and show the corresponding graph in real time different software tools were used in order to test the performance and usability of each one of them. These tools will be presented in this section.
Matlab is a complete mathematical and graphic processing software tool. Matlab have an IDE that uses his own programming language M. It is widely used in scientific and engineering environment. This tool can connect to the Arduino platform using an especially driver developed for this purpose. The main disadvantage is that it is a licensed software and at the same time implements an interface that confuses non-experts users.
Python is a widely used general-purpose, high-level programming language (The RedMonk Programming Language Rankings, 2015) that supports multiple programming paradigm including object-oriented, imperative and functional programming or procedural styles. Its philosophy is maintain a readable code by using indentation and avoiding to use brackets to open and close blocks of code. The main advantages of python are that its interpreters are available for installation in many operating systems like Windows, Mac OS X and Linux; and a large set of standard open source libraries that you can add to improve the functionalities.
NumPy is an open source Python library, basically is an extension to the Python programming language that add support for large multi-dimensional arrays and matrices, along with a library of high-level mathematical functions to operate on these arrays.
SciPy is an open source Python library used by scientists, analysts, and engineers doing scientific computing and technical computing. SciPy contains modules for optimization, linear algebra, integration, interpolation, FFT, signal and image processing. SciPy adds Matlab-like functionalities to Python and is a fundamental library for scientific computing.
Matplotlib is a Python 2D library which produce good quality graphs and figures in different formats useful for publications and presentations. Matplotlib use a Matlab-like interface and provide an object-oriented Application Programming Interface (API) for embedding plots into applications using general-purpose Graphic User Interface (GUI) toolkits like wxPython, Qt, or GTK+. Matplotlib tries to make easy things easy and hard things possible. Matplotlib is the Python library most widely used to plot, but unfortunately it does not have a good performance for real-time graphics.
It is a library that can be implemented for real-time processing. PyQtGraph creates quality graphics and it was developed for compatibility with Qt4 and, specifically with Qt Designer, simplifying the implementation of the chart. Its documentation is not complete, but now is extensively developed and there a lot of examples are available. This library can be exported to different operating systems.
Qt4 or Qt version 4, is a cross-platform application framework that is widely used for developing application software. Qt can be run on various software and hardware platforms with little or no change in the underlying codebase. Qt Creator is the IDE for this framework and have an editor that supports syntax highlighting for various languages. Qt can connect with Python code through bindings.
Real Time Graph (RTGraph) a simple and lightweight Python application for plotting data from a serial port (Sepulveda, 2014). Its use all the Qt software mentioned above and was developed focused in real time processing and graph. The project is distributed under MIT license as a part of the Open Source Initiative.
No hay comentarios:
Publicar un comentario