Giter Site home page Giter Site logo

tsnavig8's Introduction

TSNavig8 - Demo: Interactive Off-the-Shelf In-Car TSN Testbed

The described software is presented in the paper "Demo: Interactive Off-the-Shelf In-Car TSN Testbed", accepted for publication in the IEEE Vehicular Networking Conference (VNC 2024).

Abstract

TSNavig8 represents an interactive and affordable Time-Sensitive Networking (TSN) testbed built using off-the-shelf hardware. It provides a user-friendly interface for configuring an in-car TSN testbed and experiencing real-time interactions, such as assessing the impact of background noise traffic on automotive LiDAR sensor data, with support for configuring the IEEE 802.1Qbv standard.

License

© 2024 - Luxembourg Institute of Science and Technology. All Rights Reserved This program is licensed under AGPL V3.0 License. Please consult the LICENSE file.

Requirements

  • Python 3.11, with the following library

    • python-websocket-server v0.6.4
  • Node.js >= 18.3

  • JavaScript es6, with the following libraries?

    • Three.js v0.162.0
    • Chart.js v3.9.1
    • chartjs-plugin-streaming v2.0.0
    • Bootstrap v5.3.3
    • Bootstrap icons v1.11.3

Installation

Clone the repository

git clone ['link to git repository']

Install Dependencies npm install

Project setup

  1. Run the Python server
cd backend
mkdir logs
python3 server.py
python3 throughput_server.py
python3 config_server.py
  1. Compiles and hot-reloads the client app for development
npm run serve

You can access the application on: http://localhost:8080

Architecture

Project structure

  • backend folder

    This folder contains the following Python files:

    • server.py - Python server that listens on UDP port 6699 where MSOP packets are sent from the LiDAR. This UDP listener processes the payload of the datagrams and converts the polar coordinates (angle and distance) to Cartesian coordinates. Once completed, the messages containing the ⟨x, y, z, distance⟩ are sent to the web client application. The distance measured in centimeters is used to compute the color of each point.

    • throughput_server.py - Python server responsible for computing the real-time bandwidth utilization every second and sending this data to the web client application.

    • config_server.py - Python server used to perform hardware configuration over the Secure Shell (SSH) protocol based on input parameters provided by the user.

  • backend/tas_configs/bridge20 folder

    • This folder contains examples of Time-Aware Shaper configuration files for RELY-TSN-Bridge v20.1.11.
  • backend/tas_configs/bridge22 folder

    • This folder contains examples of Time-Aware Shaper configuration files for RELY-TSN-Bridge v22.3.0.
  • src/components folder This folder contins the following components:

    • PlotBandwidthComponent.vue - uses Chart.js to plot the bandwidth utilization measured in Mbit/s.

    • PlotLidarComponent.vue - uses Three.js library to render cloud points, allowing the user to visualize scanned data from the LiDAR sensor.

    • NoiseComponent.vue - enables the user to configure the size of the ethernet frame , Priority Code Point (PCP) and bandwidth usage in percentage units of the traffic sent by the RELY-TRAF-GEN v20.1.0.

    • TasComponent.vue - enables the user to configure the Time-Aware Shaper TAS configuration by specifying the number of slots,their duration, and which priority queues are enabled. Example of TAS configuration files are presented in backend/tas_configs/ folder.

    • FooterComponent.vue - this component represents the footer section of the application.

    • HeaderComponent.vue - this component represents the header section of the application.

    • MainComponent.vue - this component represents the main content area of the application.

Acknowledgements

If you utilize this code, we kindly ask that you refer to the following publication:

@inproceedings{andronovici2024interactive,
  author = {Andronovici, Darinela and Nicolas, Damien and Turcanu, Ion and Sommer, Christoph},
  title = {{Demo: Interactive Off-the-Shelf In-Car TSN Testbed}},
  booktitle = {15th IEEE Vehicular Networking Conference (VNC 2024)},
  address = {Kobe, Japan},
  month = {May},
  note = {to appear},
  publisher = {IEEE},
  year = {2024},
}

Contact

For inquiries, assistance, or further information, please feel free to reach out to:

tsnavig8's People

Contributors

nicolas-damien avatar

Watchers

Olivier Parisot 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.