Московский технологический техникум. Практика 2022 г.
Список документов
====== 18.01.2022 ======
{{ :mpt:техническое_задание_mqttablo.docx |}}
{{ :mpt:2_система_мониторинга_на_основе_mqttablo.docx |}}
Готовое приложение mqtt на jave {{ :mpt:mqtt-spy-1.0.0.zip |}}, исходники [[https://github.com/eclipse/paho.mqtt-spy/releases]]
Параметры подключения 194.87.237.67:1883, протокол 3.1.1, топик /test/tema
====== Специальность 09.02.07 (3 курс)
«Информационные системы и программирование»
Квалификация: «Программист»
ГРАФИК
проведения производственной практики ======
^Профессиональный модуль (ПМ), в рамках которого проводится производственная практика^Название производственной практики^Периоды проведения практики^
|ПМ.01 Разработка модулей программного обеспечения для компьютерных систем|ПП.01.01 Разработка модулей программного обеспечения для компьютерных систем*|с 02.02.2022 по 08.02.2022;\\ с 23.02.2022 по 21.06.2022|
====== 19.01.2022 ======
Поставлена задача: каждому написать свой вариант подписчика.
Выбор платформы и языка программирования - по желанию студента.
^№ п/п^Студент^Платформа^Язык^Результат к 25.01.2022^План к 26.01.2022^План на 1-2.02.2022^
|1|Степан (69-86 12-09)|Андроид|? java|Не сделал, проблемы|Подписчик Андроид|Перевелся в другую организацию.|
|2|Максим (49-78)|Win|C#|Сделал, будем смотреть|Паблишер время он-лайн|Отдельно publisher, отдельно\\ subscriber + настройки в ини-файле\\ Можно ли скомпилировать для Framework 3.5?|
|3|Роберт (00-83)|Win|C#|Сделал, будем смотреть|Паблишер время он-лайн|Отдельно publisher, отдельно\\ subscriber + настройки в ини-файле\\ Можно ли скомпилировать для Framework 3.5?|
|4|Даниял (82-17 14-84)|Андройд|? Java|Не сделал, проблемы|Подписчик Андроид|Подписчик Андроид.\\ Вывод на экран ветки root/system/timestamp|
|5|Никита (31-60)|Android|studio, c# Ушёл с 15.03.2022|Не сделал, проблемы|Подписчик Андроид|Подписчик Андроид.\\ Вывод на экран ветки root/system/timestamp|
|6|Артем (71-81)|Ушёл|
===== План работы на период после 25.01.2022 =====
Бухаров предлагает сделать вот такую схему оборота данных:
{{:mpt:mqtt_plan_1.png?400|}}
Pub1 - программа паблишер, которую надо будет написать. Эта программа 1 раз в секунду будет обновлять топик **root/system/timestamp**, содержащую текущую дату и время.
Sub1, Sub2, Sub3 программы - подписчики, которые 1 раз в секунду запрашивают у брокера топик **root/system/timestamp**, и отображают её на экране.
Стрелками показаны направления подключений: и паблишеры, и подписчики "идут" к брокеру.
**В результате** мы должны получить **этакие электронные часы**, которые идут одновременно на:
- Элемент нумерованного списка телефоне (Андроид),
- на компьютере (Windows), и на контроллере (ЖКИ индикатор),
- на табло ЖКИ.
Далее систему будем наращивать: формировать различные топики и веточки и разрисовывать экранчики, но в целом концепция уже будет ясна.
В хоте тестирования будем оценивать быстродействие, отказы связи, работу при длительных перерывах и т.п.
==== Результат тестирования приложения mqtt Максима-Роберта в период 5.02-1.02.2022====
- для работы программы требуется Framework 4.7.2. Если его нет, то надо устанавливать.
- через примерно 2 суток работы чтение брокера прекратилось.
{{:mpt:test_mqtt_mr_1.png?nolink|}}
Время в правом нижнем углу менялось, а текст в окне Message не менялся.\\ При запуске контрольного клиента mqtt-spy-1.0.0.jar на экран ничего не выводилось.\\ Проведенные проверки показали, что приложение Test_mqtt_MR и не передает сообщения брокеру и не принимает сообщения от брокера.
==== План на период до 8.02.2022 ====
=== Задача минимум ===
- получить раздельные паблишера и подписчика с системным временем. Запустить паблишер на сервере, где лежит mqtt брокер. ПОдписчик запустить на других компьютерах и наблюдать работу: будут ли сбои? Уточнить: можно ли сделать паблишер под framework 3.5.
- получить работающее приложение на Андроиде. Оно должно выводить время, получаемое от брокера.
== Задача максимум ==
См. Задача минимуму+\\
- на Андроиде работает паблишер. ТЗ пока нет, планирую сделать его к 2.02.2022 г. Тут главная задача - разобраться с Андроидом. ПРи успешном решении задачи сделаем открывание шлагбаума с кнопки телефона: телефон у меня в руках, а шлагбаум - далеко (г. Москва, ул. Годовикова, д. 9)
==== План на период c 16.03.2022 ====
Приложение с часами работает стабильно.\\ Не хватает методов конфигурирования: при каждом запуске необходимо вручную вводить и IP адрес брокера, и топик, и параметры работы часов. Значит, пришла очередь системы конфигурирования.\\
Необходимо обеспечить хранение настроек с возможностью их редактирования. Прошу этим заняться. Для начала (прежде чем писать код) прошу предоставить проект технического решения (кратко написать что и как будет).
==== Техническое задание №2 22 марта 2022====
=== Название проекта ===
При непротивлении сторон проект получил название NAST.\\
Если есть возражения, то прошу озвучить их.
Само ТЗ я в вотсапе передал.\\
{{ :mpt:тз_на_систему_мониторинга_онлайн_скуд.docx |}}\\
Прошу ознакомиться и подготовить проект решения.\\
Сможем такую систему контроля сделать?\\
От вас, студентов, я ожидаю реализацию подписчика. Это должно быть приложение для WIndows. Уже имеется особенности в работе: не просто отражать значение топика, но еще и анализировать метку времени.\\
Список топиков (очевидно) надо хранить в файле конфигурации.\\
Я хочу обратить ваше внимание на то, что общепринято конфигурационные и промежуточные файлы хранить в \ProgramData. Может, и мы не будем ломать традиции?\\
У этого проекта пока нет названия. Прошу озвучить предложения.
==== Техническое задание на 5-7 апреля 2022 г. ====
=== Название проекта ===
При непротивлении сторон проект получил название NAST.\\
Если есть возражения, то прошу озвучить их сейчас. В дальнейшем менять название не будем.
=== Время обновления топика. ===
По результатам проведенных исследований брокер не хранит у себя метки обновления топиков.\\
В связи с этим алгоритм немного меняется: программа должна запоминать (записывать) время появления (обновления) топика по часам локального компьютера, и вести расчет по этому времени. Т.к. метка времени берется с текущего компьютера точность будет достаточной (и так даже лучше: мы не зависим от времен на разных паблишерах. Как пришли данные - так их и приняли, зафиксировали).\\
Я прошу в левом нижнем углу каждого окна мелким шрифтом указывать дату и время обновления топика.\\
Т.к. тут же показывается текущее время, то с одного взгляда понятно что и почему происходит.
=== Файл конфигурации ===
Я предлагаю (прошу) вынести файл конфигурации в фиксированное место: C:\ProgramData\nast\nast.config.\\
Это сильно упростит нам дальнейшую работу.\\
В настройки надо внести время ожидания.\\
Вот такие несложные доработки позволят мне контролировать работу другой системы.
=== 23.04.2022 Акт по результатам тестирования приложения Artsec.TopicsMonitor.exe===
Тестируемая программа Artsec.TopicsMonitor.exe и файл конфигурации nast.json:\\
{{ :mpt:artsec.topicsmonitor.zip |}}\\
Я считаю, что тестирование прошло успешно. --- //[[admin@artonit.ru|Бухаров А.В.]] 23.04.2022 08:53//\\
Вид рабочего окна:\\
{{:mpt:окно_artsec.topickmonitor_22_апреля_2022.jpg?nolink&400|}}\\
Акт по результатам тестирования:\\
{{ :mpt:акт_тест_artsec_topicsmonitor_20-21_апреля_2022.docx |}}\\
Замечания по результатам тестирования:\\
{{ :mpt:замечания_и_доработка_программы_nast_23_апреля_2022_г.docx |}}\\
=== 6.05.2022 Завершающий этап работы над проектом NAST===
Опыт эксплуатации NAST положительный: работает показывает.\\
Задачи последнего этапа:
- под названиями колонок добавить номер колонки.
- формат времени сделать российским: день.месяц.год.
- убрать белую полосу в нижней части формы. Подсказка: у формы всего окна параметр Heigh сделать auto.
- проверять связь с брокером и при ее потере устанавливать новое подключение. Для проверки связи использовать штатный метод компоненты. Должно быть примерно так: IF(!connection) then reconnect. Количество коннектов считать и вывод на форму это число.
- при наличии ошибки в файле конфигурации не закрываться молча, а выводить сообщение вида "Ошибка в файле <Полный путь><Имя файла>". Предполагается, что оператор вручную отредактирует файл.
- воспроизводить звуковой файл, указанный в конфигурации. Если файла нет, то ничего не воспроизводить.
- звук воспроизводить только при переходе окна колонки №8 из зеленого в красный цвет. Надо запустить указанный в настройках файл. Какой файл указан - такой и воспроизводить. Основная задача - привлечь внимание охранника к изменению состояния, и только.
- сделать описание по установке, настройке и эксплуатации программы NAST.
- инсталлятор не надо делать, а вот архиватор с полным пакетом данных сделать надо.
{{:mpt:pic_from_task_6_05_2022.jpg?nolink&400|}}\\
и все, работу над этим проектом завершаем. --- //[[admin@artonit.ru|Бухаров А.В.]] 07.05.2022 08:16//
=== Замечания по эксплуатации в период 17-23 мая 2022 ===
Результатом опытной эксплуатации Заказчик в целом доволен. Имеются такие замечания:
- из правого верхнего угла пропали значки, позволяющие свернуть экран. Надо вернуть их на место.
- Наблюдается такой эффект: сработал звуковой сигнал. Пока охранник подошел сигнал уже умолк, и на экране все показывается зеленым цветом. Почему же срабатывал звуковой сигнал? Можно ли сделать подсказку какую нибудь о причине последней сработки?
- Просят ввести счетчик тревог. Отсчет вести с момента запуска программы.
Что скажете, парни?