Московский технологический техникум. Практика 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 === Результатом опытной эксплуатации Заказчик в целом доволен. Имеются такие замечания: - из правого верхнего угла пропали значки, позволяющие свернуть экран. Надо вернуть их на место. - Наблюдается такой эффект: сработал звуковой сигнал. Пока охранник подошел сигнал уже умолк, и на экране все показывается зеленым цветом. Почему же срабатывал звуковой сигнал? Можно ли сделать подсказку какую нибудь о причине последней сработки? - Просят ввести счетчик тревог. Отсчет вести с момента запуска программы. Что скажете, парни?