Giter VIP home page Giter VIP logo

opensourcelogger-qt's Introduction

OpenSourceLogger

This is a logging software for measuring and control. With this software you can measure different types of signals and control different types of acturators. This software has also CAN-bus such as regular CAN, SAE J1939. All communications goes over USB. That means that this software is a CAN-bus diagnostic tool as well. When the data is measured, it can later be uploaded to a database and later bring back for plotting the data.

Features

This software has the following

  • 8 x PWM NPN-drain with adjustable PWM frequency
  • 3 x Analog 0-20mA output
  • 12 x 0-20mA 16-bit Single Analog To Digital Converter with programmable gain
  • 5 x 0-20mA 16-bit Differential Analog To Digital Converter with programmable gain
  • 3 x 16-bit Encoder
  • 4 x 0 kHz to 10 kHz Input Capture
  • 10 x Digital inputs
  • 1 x CAN channel with support for different CAN protocols
  • 1 x Database connection
  • 1 x USB connection for sending signals between the computer and STM32 microcontroller

How to build this project

Using pre-compiled

  1. Go to STM32-PLC and build that PCB
  2. Install MySQL/MariaDB/MSSQL and download the pre-compiled OpenSourceLogger from pre-compiled folder.

Compile from source

  1. QT 6.3.0 and QT Creator
  2. Download this repository
  3. Download the MySQL Driver For QT and extract release\sqldrivers\qsqlmysql.dll to C:\QT6.3.0\mingw_64\plugins\sqldrivers
  4. Start the .pro project with QT Creator and compile the project with release configuration, not debug configuration.
  5. Make sure that everything is working e.g connect to database and connect to USB.
  6. If everything is working, then deploy it e.g c:\QT\6.3.0\mingw_64\bin>windeployqt.exe --release "C:\Users\danie\Documents\GitHub-Workspace\build-OpenSourceLogger-Desktop_Qt_6_3_0_MinGW_64_bit-Release\release\OpenSourceLogger.exe" Make sure that OpenSourceLogger.exe is empty in the folder release.
  7. Then extract release\sqldrivers\qsqlmysql.dll from your .zip file to your sqldrivers folder in your release folder
  8. Extract also the rest of the .dll files at the same folder location as OpenSourceLogger.exe is. Done!

It's the same step for Linux and Mac. Just other extensions of the files.

Minimum requriments for software

  • MySQL 8
  • QT Creator 4.15.1
  • QT 6.3.0
  • QCustomPlot 2.1.0

Pictures

Main view window will show the measurements in real time

a

Control window is the user panel for sending CAN-bus signals or regular control signals

a

OpenSourceLogger is also an ECU for CAN-bus

a

But to make this work, you need to connect a to USB and database

a

Add a new measurement variable

a

Change the STM32 ADC and PWM prescalar settings

a

This is the PCB board

a

SAE J1939 CAN bus protocol

a

Upload measurement to the datbase

a

View past measurements

a

And the results

a

Status of the project

It's working and I don't have any plans right now to add new functionality(perhaps in the future if it's needed e.g CANopen). Right now everything is working and it will remain like that for now.

opensourcelogger-qt's People

Contributors

danielmartensson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  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.