У дипломному проекті виконана розробка приладу прийому і обробки інформації, який є однією з головних частин метеорологічного комплексу. У ході виконання розробки приладу реалізовані протокол обміну даними між модулями збору інформації та приладом прийому за допомогою високочастотного радіозв’язку; протокол передачі отриманих даних до персонального комп’ютера для їх зручного використання та подальшої спеціалізованої обробки. Керуюча програма для персонального комп’ютера реалізує графічний інтерфейс та ряд функцій при роботі користувача з метеокомплексом. До складу конструкторської документації входять пояснювальна записка, принципові та функціональні схеми приладу та окремих його вузлів. У програмну документацію включені текст, опис та алгоритми керуючої програми. Аннотация В дипломном проекте выполнена разработка прибора приема и обработки информации, который является одной из основных частей метеорологического комплекса. В ходе выполнения разработки прибора реализованы протокол обмена данными между модулями сбора информации и прибором приема с помощью высокочастотной радиосвязи; протокол передачи полученных данных персональному компьютеру для их удобного использования и дальнейшей специализированной обработки. Управляющая программа для персонального компьютера реализует графический интерфейс и ряд функций при работе пользователя с метеокомплексом. В состав конструкторской документации входят пояснительная записка, принципиальные и функциональные схемы прибора и отдельных его узлов. В программную документацию включены пояснительная записка, текст, описание и алгоритмы управляющей программы. Annotation In the degree work the development of receive-processing information device is implemented, which is the main part of weather-station. During the device developing, data exchange protocol between gathering module and receive device with high-frequency wireless are relised; the recived data transmission protocol to personal computer for sufficient using and specialized handling are relised. The control program for personal computer realizes graphical interface and other functions during the operator’s work. The explanatory note, principal and functional device circuits, part-device circuits are part of constructor documentation. The explanatory note, control-program sources, control-program description, algorithms, are included to program documentation.
Зміст 1 Функціонально-логічні аспекти програми 1.1 Функціональне призначення програми 1.2 Опис логічної структури програми 1.3 Структура програми з описом її складових частин. Головний поток програми 2 Технічно-функціональні аспекти програми 2.1 Використані технічні та програмні засоби 2.2 Виклик та завантаження програми 2.3 Вхідні дані для програми 2.4 Вихідні дані 2.5 Приклад функціонування програми
Вступ У різних галузях народного господарства досить часто виникає необхідність мати певне уявлення про характеристику погодних умов на певній, досить невеликій ділянці місцевості, це може бути використано у статистичних, інформативних, синоптичних цілях. При цьому головними вимогами, що висуваються до цієї інформаціі про погодні умови є: оперативність збору, а отже доцільність інформації; мінізація технічних та матеріальних засобів для її отримання; зручнічть у використанні та мобільність технічних засобів збору інформації; точність інформації, що надходить, тощо. Тому для реалізації всих цих вимог потрібен комплекс збору метеорологічних даних, далі – комплекс, до складу якого належіть прилад, що розроблюється – „прилад прийому метеорологічних даних”, далі – прилад. Звичайні метеорологічні станції не завжди можуть бути корисними: по-перше, збирання метеорологічних даних (тих або інших метеопоказників) є узагальнюючим; по-друге, вони є стаціонарними, тобто розташовані на певних ділянках місцевості; по третє, не всі ділянки земної поверхні знаходяться у зонах дії метеорологічних станцій. Серед галузей використання комплексу можна насамперед виділити наступні: - сільське господарство – необхідна швидка та точна інформація щодо температури, вологості повітря та ін. для термінового проведення (або відкладення проведення) сільськогосподарських робіт – пахота, засівання, збір врожаю, тощо; - проведення розважальних та тренувальних заходів (наприклад: авіашоу, стрибки з парашутами, великі фестивалі та концерти на відкритому повітрі) – інформація щодо стану та зміну стану нижніх шарів атмосфери може бути край важливою, та може слугувати підставою для перенесення або скасування цих заходів; - санатарно-курортні заклади та пляжі; - дослідження стану нижніх шарів атмосфери на певній, віддаленій від зони дії метеостанцій, ділянці місцевості. Тому прилад, що розроблюється має відповідати наступним вимогам та реалізовувати наступні дії: - отримувати дані, що були щойно виміряні, від модулей збору метеорологічної інформації, далі – модулі, за допомогою радіозв’язку; - передавати отримані дані до персонального комп’ютера для іх подальшого зручного зберігання, моніторінгу та обробки; - забезпечувати зв’язок між модулями копмлексу на відстані до 5 кілометрів; - задовільняти існуючим „оматорським” стандартам радіозв’язку. Для функціонування радіозв’язку між приладом та модулями комплексу було обрано частоту 315 МГц, оскільки вибір частоти передачі даних понад 500 МГц може призвезти до перешкоди збоку сотового зв’язку, передача даних на більш низькій частоті (менше 200 МГц) може перешкоджати робіті радіомовленевого зв’язку (рації, інші переговорні пристрої). Обрана частота передачі (300-400 МГц) належіть до діапазону „оматорських” частот, передача даних у радіусі до 5 кілометрів не потребує реєстрації у Укрчастотнагляді та інших подібних державних установах, та може використовуватись без додаткових документів та відповідних ліцензій.
1. Функціонально-логічні аспекти програми 1.1 Функціональне призначення програми Дана програма є спеціалізованим програмним виробом та призначена для надання користувачеві можливості керування метеорологічним комплексом за допомогою стаціонарного або переносного персонального комп’ютера (ноутбука). Програма виконує наступні функціональні дії: приймання даних, що надходять з lpt-порту ПК; аналіз даних які були щойно прийняті; обчислення метеопоказників, на основі даних, отриманих від приладу збору метеорологічних даних; зручну індикацію оброблених даних; можливість роботи з метеокомплексом у різних режимах; можливість підключення нових модулів збору інформації під час роботи програми; зручне збереження оброблених даних; імітацію входних сигналів від модуля збору інформації; можливість підстройки різних параметрів прийому під час роботи програми. 1.2 Опис логічної структури програми Дана програма, як і будь-яка інша java-програма состоїть з класів. Усі класи поділені на пакети за ії функціональним призаченням. Виділено три основні пакети: ui – містить класи для графічного відображення (user interface); util – допоміжні та утилітарні класи для роботи програми; obj – класи-структури даних для логічного та зручного оперування даними. Ім’я головного класу, класу, у якому розташована функція main – ui.MainFrame. Оскільки в ньому є функція main він є головним класом, який запускає програму та є її головним інтерфейсом – викликає інші програмні модулі. Також він відповідає за початкову ініціалізацію параметрів lpt-порта, та запускає окремий поток для зчитування інформації на входах lpt-потра. ui.UserSettingsDialog – діалог для надання користувачеві можливості настройки параметрів роботи програми. util.Helper – класс для зберігання статичних утілітарних методів та глобальних констант програми. util.Receiver – клас-поток, відповідає за прийом даних від lpt-порту; util.Tranceiver – відповідає за передачу вихідних даних; util.BadEvent – клас-обробчик стандартних помилок, що можуть виникнути під час роботи програми; obj.Module – сруктура даних, що відображає роботу (інкапсулює у собі набір властивостей та методів) модуля прийому; obj.WeatherData – структура даних, що відображає набір метеоданих, та містить методи по роботі з ними. 1.3 Структура програми з описом її складових частин. Головний поток програми В java немає таких пойнять як “запис” у pascal, або “структура” в C, тут використовується найбільш широке, зручніше та узагальнююче пойняття –клас. Для найкращого розуміння роботи та взаємодії класів, розглянемо графічну схему зв’язку класів – UML-діаграму класів (рис. 1.3.1).
Рис. 1.3.1 UML-діаграма класів програми. Головним класом програми є клас MainFrame, який догружатиме у процесі роботи усі інші класи. Розглянемо його роботу, починаючи з методу main. Розглянемо головний робочий цикл програми, головний поток. Конструкція JFrame frame = getMainFrame(); використовується для запобігання запуску на данному ПК ще одної аналогічної програми, що зашкодить її нормальній роботі. При наступному визові frame = getMainFrame(); frame.show(); Ще одно вікно не відкриється. Ми будемо працювати з тим же самим вікном. Такий шаблон у програмуванні носить назву Singletone, тобто завжди у пам’яті ПК зберігається лише один екземпляр класу, що реалізує цей шаблон, повторне звернення до нього поверне той самий екземпляр. завантажується конструктор класу; завантажується необхідний драйвер для роботи з портами вводу/виводу com.sun.comm.Win32Driver. відбувається перевірка наявності на ПК портів вводу/виводу, серед списку необхідних відбувається пошук необхідного нам lpt-порта, якщо такого в системі не знайдено, програма видає помилку та припиняє свою роботу; утворюються два потоки на читання/запис у lpt-порт. У даному випадку потоками можна вважати специфічні вказівники на області пам’яті (регістри), яки відповідають зміст даних у lpt-порті; проводиться ініціалізація утилітарних класів, що відповідають за прийом та передачу даних Receiver та Transmitter, при цьому слід зауавжити, що клас Receiver запускається у окремому потоку, що забезпечує безперервний опит стану lpt-порта; задаються розміри вхідних та вихідних програмних буферів для запису/зчитування даних; установлюється програма-володар порта, яка займає порт на весь час роботи з ним; відбувається графічна ініціалізація програми; Початкова ініціалізація на цьому закінчується. Після цього відбувається робота користувача з графічними елементами програми (кнопками, пунктами меню і т.п.). а) Користувач натискає кнопку „Список активних модулей”. Визивається функція readModulesFromFile(). При цьому відбувається наступний порядок дій: - очищується модель списку модулей; - завантажується з файту Modules.properties список активних модулей, який користувач задав перед початком функціонування програми. Слід зазначити, що список модулей можна змінювати й під час роботи програми, слід тільки натиснути указану кнопку; - заповнюється модель списку модулей. б) Користувач нажимає кнопку „опитати модуль”, задавши попередньо значення номеру опитуємого модуля. Викликається метод askModule(Integer moduleNumber). При цьому відбувається наступний порядок дій: утворюється новий екземпляр класу Module, йому передається вказаний номер модуля; номер модуля конвертується у бітову послідовність; за допомогою одиничного екземпляра класа Transmitter, метод sendBytes відбувається відправка бітової послідовності на порт, при цьому передані дані потрапляють у поток, що був проініційований раніше, який відповідає за передачу даних на порт; після цього встановлюється пограмна затримка (що за умовчанням дорівнює 10 мілісекундам та може бути змінена користувачем під час роботи програми); опрошується вхідний буфер порта, якщо значення не змінилося – викликається помилка „даний модуль не дає відповіді” у цьому випадку модуль може бути опитаний повторно. Якщо вхідний буфер не дорівнює константі довжини вхідного буфера, викликається помилка „помилка при отримані відповіді”, якщо помилок немає – робимо аналіз прийнятого пакету; у вказаного об’єкта-модуля утворюється ініціюється поле weatherData, при цьому робиться перевірка переданого та прийнятого номерів модуля, якщо номери не співпадають, генерується помилка: „неспівпадіння номерів модуля”, робити аналіз прийнятих даних немає сенсу; робиться перекодування прийнятої бітової послідовності у цілі числа та перевірка контрольної суми, якщо прийнята та щойно прорахована контрольні суми не співпадають – генерується помилка „помилка контрольної суми”; за алгоритмами, що описані у методах класу WeatherData робиться перерахунок прийнятої перекодованої інформації з бітової послідовності у реальні показники; на інформаційній панелі відображується отриманий результат. в) Користувач натискає кнопку „опитати всі модулі”. Викликається метод askAllModules(). При цьому відбувається наступний порядок дій: - циклічно опитується кожний модуль, за алгоритмом, наведаним у пункті “б”; - якщо при опиті модуля виникають певні помилки – накопичуються у буфер, модуль набуває признак „недійсний”; - відображується інформація про всі модулі з признаком „дійсний”; - відображується інформація про помилки, що виникли під час опиту усіх модулей з указаням номеру модуля та тексту помилки.
Дипломные работы по информатикеУ дипломному проекті виконана розробка приладу прийому і обробки інформації, який є однією з головних частин метеорологічного комплексу. У ході
Оценок: 540 (Средняя 5 из 5)
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.