Giter Site home page Giter Site logo

mrdiggles2 / inlinino Goto Github PK

View Code? Open in Web Editor NEW

This project forked from oceanoptics/inlinino

0.0 0.0 0.0 4.85 MB

A modular software data logger for oceanography.

Home Page: http://inlinino.readthedocs.io/

License: GNU General Public License v3.0

C++ 8.15% Python 91.85%

inlinino's Introduction

Inlinino

License: GPL v3 Python 3.8 Documentation Status

Inlinino is an open-source software data logger for oceanographers. It primarily logs measurements from optical instruments deployed on research vessels during month long campaigns. Secondarily, it provides real-time visualization, which helps users troubleshoot instruments in the field and ensure collection of quality data. Inlinino is designed to interface with either analog, serial, USB, UDP instruments. The data received is timestamped and logged as received (raw) and/or in a comma separated file (csv) for easy importation in data analysis software. Typically, a new log file is created every hour for simplicity of post-processing and backups. Instruments supported are: SeaBird TSG (SBE-45 + SBE-38), Biospherical Instruments Inc. PAR, WET Labs ECO instruments (e.g. ECO-BB3, ECO-FLBBCD), WET Labs ACS, Satlantic instruments (e.g. HyperOCR, HyperPro, HyperSAS, HyperNAV, Suna), Sequoia Scientific LISST, Sequoia Scientific HyperBB, NMEA, and analog sensors through a data acquisition system (DataQ DI-1100, Ontrak ADU100, and ADU200). Other instruments can be added via the user interface if they output simple ascii data frame, otherwise the code is intended to be modular to support new instruments.

The documentation of the project is available at http://inlinino.readthedocs.io.

Cite as: Haentjens, N. and Boss, E., 2020. Inlinino: A Modular Software Data Logger for Oceanography. DIY Oceanography. DOI: 10.5670/oceanog.2020.112

Installation

Inlinino was bundled into a Windows executable and a macOS application. Both are available for download with a quick start guide in the documentation. Otherwise, Inlinino can be installed from source using the setup.py file available on this repository, following the instructions below.

Download Inlinino code.

wget https://github.com/OceanOptics/Inlinino/archive/master.zip
unzip master.zip
cd Inlinino-master

To install Inlinino (tested with python 3.8 only, should work with newer python versions):

pip install -r requirements.txt

To use Ontrak ADU on Windows additional dll and python modules are needed. Note that in resources/ontrack the path to the dll need to be edited with os.path.join(PATH_TO_RESOURCES, 'ontrak', 'AduHid').

wget https://www.ontrak.net/images/adu_python_dll.zip
unzip adu_python_dll.zip
cp adu_python_dll/ontrak inlinino/ressources
wget https://www.ontrak.net/images/adu_python_libusb.zip
unzip adu_python_libusb.zip
cp adu_python_libusb/libusb/* inlinino/ressources/libusb

Inlinino can then be started from the folder containing inlinino's source code with.

python -m inlinino

Inlinino Software

The application is written in Python 3, on top of pySerial, numpy, and PyQt5. The current version works with a "classic" Graphical User Interface. A web interface started to be implemented and can be found in the branch tb-app of this repository. A command line interface used to be available but was not ported to version >2.0.

The code is organized in:

  • docs: User Documentation (ReadTheDocs)
  • inlinino: Inlinino source code
    • instruments/: Instrument interfaces, more instrument types can be added there.
    • ressources/: User Interface Layout and Logo.
    • *.py: Core code of Inlinino.
    • inlinino_cfg.json: Applications parameters are saved in this file (ReadTheDocs)
  • mcu_firmwares: Firmwares to upload on a microcontroller for the previous DAQ module (deprecated)
    • PASC.cpp: Precision analog to serial converter (PASC) firmware
    • Simulino.cpp : Instrument simulator to test Inlinino with microcontrollers simulating the behavior of scientific instruments.
  • make.py: Bundles Inlinino application into a .app or .exe depending on platform. pyInstaller must be installed.
  • setup.py: Python environment setup file.

When Inlinino is started an engineering log file is created in logs/inlinino_<YYYYMMDD>_<hhmmss>.log and keep track of most tasks executed (e.g. user interaction, creation of data log files, warnings, and potential errors).

Questions and issues

For any questions or issues regarding Inlinino please contact me.

inlinino's People

Contributors

doizuc avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.