Skip to main content

TCXV example web-app

{{@273#bkmrk-tiger-city-imx-embed}}

The device hosts a web application that can be accessed by connecting to it via a local network.

Type node /opt/redisage/example-app/server.js in the device's terminal to start hosting an example web application.

Example web application

Login

image.png

The default code is 0000. After logging in, a user can change it. The code settings are in the upper-right corner of the site, next to the help button.

image.png

Panels

Overview

The purpose of this panel is only to display data from different interfaces on a common chart. Output pins are to be controlled via individual interfaces pages.

All of the below help images are also available on the site by clicking the question mark in the upper-right corner.

image.png

Digital input

di.png

Digital input/output

dio.png

Universal input/output

uio.png

Serial

image.png

1-Wire

wire.png

Terminal

This panel serves as a terminal emulator for basic communication with the device. It allows navigating through the directories, looking up logs or connected devices and much more.

image.png

//reszta do uzupełnienia po zakończeniu prac nad apką

Roadmap

Linux documentation

(...)

Front end documentation

Currently only Vue App is supported.

Frontend-Vue

For this project we are using
  • Vue3
  • Pinia
  • Axios
  • Socket.io-client
  • ChartJs
  • Eslint & Prettier (for styling and code validation)

Those are basic libraries we are using for day - 28.02.2024. For more detailed list of dependencies read package.json file from project directory.

Main assumptions of the project

Frontend-Vue application is example GUI application (SPA) written for basic and sometimes more advanced management of TCX-tiger product.

Graphical interfaces and custom components

For Frontend-Vue application we are using Vuetify and Tailwind libraries with our own configurations and prepared custom components. 

VuetifyGitHub andrepository: Tailwind are not listed inside default dependencies because all configuration is taken from our external library RECO-lib. Therefore, look and custom components feel issues should be reported there.soon.

Project tree

More info here!

  • Fronted-Vue app
    • LoginView
      • Landing Page
      • Login Form
    • CoreView (wrapper for entire application after login - with sidebar and toolbar)
      • HomeView
        • No specification for content yet
      • InterfacesView
        • Chart of sources
        • Redirection to specific interfaces
          • Digital inputs
          • Digital inputs/outputs
          • Universal inputs/outputs
          • RS485
          • RS232
          • 1-Wire
      • HDMI-DisplayVIew
        • Not sure yet. Check “More Info here“ for updates.
      • TerminalVIew
        • Single instance of Terminal directed to Server (e.g. xTerm)
      • DocsView
        • Links to project documentation (?)
Deploy

For deploy Frontend-Vue app should be built and placed inside /opt/example-app/www at TCX-tiger OS. 

This way staring server (example-app) will also provide Frontend-Vue as static website.

Contact

Author: Błażej Żurawik <bz@nsg.ovh>

For more information contact @Wojciech Rosiński or @Błażej Żurawik.

Back end documentation

For this project we are using

  • NestJS
  • json-server
  • Express
  • Socket.io
  • Bcrypt
  • Eslint & Prettier (for styling and code validation)

Those are basic libraries we are using for day - 28.02.2024. For more detailed list of dependencies read package.json file from project directory.

Main assumptions of the project

Backend-NestJS is an example Server application written for basic and sometimes more advanced management of TCX-tiger product. This application provides REST and WS API which are accessible through Frontend-Vue (later also by Frontend-Angular).

For storing data (e.g. like JWT tokens or secrets) json-server is used. It is very simple object based DB. We do not need anything more complex and protected for “example-app” purpose but still need some kind of static store.

During startup Backend-NestJS will run json-server instance as well as static Web application (Frontend-Vue). This way one command provides us with entire working example-app.

REST API

(...)

WS API

(...)

Functionality ideas

  • Data presentation:
    • get IP → SSH connection
    • TCX metadata
    • software version
    • WIFI connection mode
  • Hosting a whole or a partial documentation for it to be available offline.
  • Configure peripherals:
    • Universal input output:
      • Analog input 0-10 V
      • Analog input 0-20 mA
      • Analog input resistance measurement
      • Analog input temperature measurement
    • RS232/485 baud rate configuration
  • Read peripherals:
    • Digital input
    • Digital input Output
    • Universal input Output:
      • Analog input 0-10 V
      • Analog input 0-20 mA
      • Analog input resistance measurement
      • Analog input temperature measurement
  • Online terminal
  • Updating software (requires finished system)
  • Graphs presenting data from the connected meters
  • Dashboard (future idea)

System concept

Universal input/output

Contact

Author: Błażej Żurawik <bz@nsg.ovh>

For more information contact @Wojciech Rosiński or @Błażej Żurawik.