Coder Social home page Coder Social logo

f33rni / dodcaps_lr3 Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 674 KB

Разработка систем сбора и обработки данных. Лабораторно-практическое задание № 3

License: The Unlicense

Python 100.00%

dodcaps_lr3's Introduction

Разработка систем сбора и обработки данных. Лабораторно-практическое задание № 3

Python. Полностью свободное использование

Screenshot

Задание:

Лабораторно-практическое задание № 3
Тема: Обработка структурированных пакетов данных и анализ статистики.
Цель работы: Разработать алгоритм считывания и статистического анализа данных,
поступающих по последовательному протоколу J1939 (CAN)
Задачи:
 Подготовить приложение считывания данных из файла дампа;
 Разработать функцию динамического обновления данных в заданной структуре
пакетов и накопления статистики;
 Разработать функцию визуализации связей (графа передачи пакетов) между узлами
сети;
 Разработать функцию фильтрации данных по идентификаторам источника и
приемника;
 Разработать функцию детектирования изменения значений и указания степени
изменений;
 Разработать метод отслеживания взаимодействия между несколькими потоками
обмена сообщения;
 Разработать инструмент формирования и серийной отправки запроса (выводить в
заданное устройство обмена) подготовленного пакета CAN с введенными
пользователем параметрами. Обеспечить копирование приходящих запросов в
шаблон для отправки. Обеспечить подтверждение отправки пакетов в текстовом
окне.
Порядок выполнения работы
Задача 1
Подготовить приложение для считывания данных из файла, хранящего поток данных с
шины обмена данными.
Представить возможность просмотра данных в текстовом виде в непрерывном потоке.
Задача 2
Реализовать алгоритм разбора потока данных и отображения данных в виде пакетов от
узлов.
Задача 3
Реализовать алгоритм анализа и визуализации связей между узлами сети с условием,
что список узлов известен (фильтрация по набору узлов – первый вариант) или заранее
неизвестен (построение динамической карты – второй вариант). Оптимальным вариантом
реализации графа между узлами является лучевая векторная диаграмма, дополненная 
2
таблицей с параметрами связи.
Задача 4
Функция фильтрации данных позволяет установить правило отбора пакетов для
выполнения каких-либо операций. В простейшем случае создания гейта
(маршрутизатора), блок фильтрации может работать в режиме ретрансляции, пересылая
пакеты с заданными параметрами между сетями. В данной работе предлагается создать
глобальный фильтр, который будучи включенным, пропускал бы для дальнейшей
обработки пакеты трех типов:
 От конкретного узла-отправителя
 К конкретному узлу-приемнику
 Между конкретными отправителем и приемником
Задача 5
Функция отслеживания изменений параметров пакетов позволяет задать набор правил
для отслеживания событий выхода значений за указанные диапазоны либо ситуации
резкого изменения параметров. Данный набор правил должен добавляться в список
правил (может быть визуализирован через DataGridView) и применяться к каждому
пришедшему пакету. Правило может быть задано для всех сообщений от одного
источника, либо для конкретной пары источника и приемника.
Факт наступления события визуализируется с помощью цветового индикатора
(имитацией «лампы» на форме) и вывода сообщения в текстовый список в формате
«отсечка времени: событие».
Задача 6
Функция отслеживания взаимодействия между несколькими потоками реализуется в
виде отрисовки на форме нескольких параллельных графиков с параметрами,
передаваемыми от заданных узлов или (и) в заданных каналах (источник-приемник).
Рекомендуется использование четырех параллельных компонент для отображения
графиков, с тем чтобы избежать проблем с разными диапазонами передаваемых
параметров. Отображение на каждой компоненте активируется переключателем и
указанием отслеживаемого потока.
По горизонтальной оси графиков откладывается время. Период времени цикла
отслеживания должен задаваться на форме. Визуально эффект напоминает работу
осциллографа.
Задача 7
Возможность серийной отправки пакета CAN с заданными параметрами предполагает
возможность формирования пакета на основе данных из полей, размещенных на форме.
Должны задаваться источник, приемник, содержание, период отправки и количество
сообщений. Необходимо обеспечить возможность скопировать в поля данные одного из
потоков из окна просмотра сообщений.
В рамках лабораторного практикума предполагается подключение устройства
взаимодействия с CAN через UDP путем отправки на заданный узел сети (IP:port)
3
стандартного сообщения (как в Задаче 1) в виде Hex-кодированной строки. Окончание
пакета – два байта со значениями 0xFF.
В момент отправки пакета в текстовом списке должно появляться сообщение
«временная отсечка: содержание пакета».

dodcaps_lr3's People

Contributors

f33rni avatar

Stargazers

 avatar

Watchers

 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.