Package: pydaq
PYDAQ - Data Acquisition and Experimental Analysis with PythonUsing Python for applications with experimental data (Arduino and NIDAQ boards)This package was firstly designed to use experimental device for data
acquisition and signal generator, when performing different experiment,
such as a step-response test.Despite this, one can use PYDAQ to acquire and send a signal from
any system, using different boards(check jupyter notebook examples folder),
through a Graphical User Interface or via command line. In this sense
the user is capable to generate a customized signal which can be easily
applied to a system.It is noteworthy that this application makes data acquisition and
empirical experiments simpler, faster and easier. This is relevant
when the user needs empirical data to construct black box linear and
nonlinear models, commomly used in research projects in forecasting and
model-based control schemes.The code provided here allows user to save acquired data in .dat files in
a path specified by the user (or at Desktop, if no path is provided), as well
as send a user-defined data, which can be any nonlinear input signal(you are strongly advised to check the )In what follows you will findInstallation and RequirementsQuick view and Main featuresUsing Graphical User InterfacesScreenshotsInstallation and RequirementsThe fastest way to install PYDAQ is using pip:pip install pydaqPYDAQ requires:Installed driver of the board used (Arduino or National Instruments NIDAQ)nidaqmx (>=0.6.5) for data acquisition from National Instruments Boardsmatplotlib (>=3.5.3) as a visualization toolnumpy (>=1.22.3) to process dataPySimpleGUI (>=4.60.3) as a Graphical User InterfacePyQt5 as a backend for PySimpleGuipyserial (>=3.5) to manage data to/from ArduinoQuick view and Main featuresFeatureDescriptionSend Data (NIDAQ)This feature allows the user to send data through any NIDAQ board using a graphical user interfaceSend Data (Arduino)This feature allows the user to send data through any Arduino board through a graphical user interfaceGet Data (NIDAQ)Here the user is able to get data from a NIDAQ board, using any terminal configuration (Diff, RSE, NRSE), sample time and other parameters. Acquired data can also be saved and plot for further applicationsGet Data (Arduino)Here the user is able to get data from an Arduino board, using several options. Acquired data can also be saved and plot for further applicationsStep Response (NIDAQ)In this feature one can perform an automatic step response experiment using a NIDAQ board. Data genereted by the experiment can also be saved to be used in further applications, such as obtaining linear and nonlinear models from acquired dataStep Response (Arduino)In this feature one can perform an automatic step response experiment using an Arduino. Data genereted by the experiment can also be saved to be used in further applications, such as obtaining linear and nonlinear models from acquired dataUsing GUIs (more details indocumentationandjupyter notebook examples):Data acquisition (NIDAQ):frompydaq.get_dataimportGet_datag=Get_data()g.get_data_nidaq_gui()Data acquisition (Arduino):frompydaq.get_dataimportGet_datag=Get_data()g.get_data_arduino_gui()Sending data (NIDAQ):frompydaq.send_dataimportSend_datas=Send_data()s.send_data_nidaq_gui()Sending data (Arduino):frompydaq.send_dataimportSend_datas=Send_data()s.send_data_arduino_gui()Step response (NIDAQ):frompydaq.step_responseimportStep_responses=Step_response()s.step_response_nidaq_gui()Step response (Arduino):frompydaq.step_responseimportStep_responses=Step_response()s.step_response_arduino_gui()ScrenshotsGraphical User Interfaces - NIDAQGraphical User Interfaces - ArduinoAcquired/Sending data and step response - NIDAQ and ArduinoData in .dat formatContributingYou are more than welcome to make your contribution and submit a pull request. To contribute,read this guide.