1 / 35

2014

2014. Министерство образования и науки Российской Федерации ФГАОУ ВПО «Уральский федеральный университет имени первого Президента России Б. Н. Ельцина» Институт радиоэлектроники и информационных технологий – РТФ Кафедра информационных технологий.

caelan
Download Presentation

2014

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 2014 Министерство образования и науки Российской ФедерацииФГАОУ ВПО «Уральский федеральный университет имени первого Президента России Б. Н. Ельцина» Институт радиоэлектроники и информационных технологий – РТФ Кафедра информационных технологий РАЗРАБОТКА СИСТЕМЫОПОВЕЩЕНИЯ СОТРУДНИКОВ И КЛИЕНТОВ КОМПАНИИ230101 0000 521

  2. Цель дипломного проекта Разработать вспомогательную систему оповещения сотрудников и клиентов о предстоящих мероприятиях в компании.

  3. Современные информационные системы позволяют в максимально короткие сроки выявить наиболее существенные тенденции развития компании в целом и оценить эффективность работы отдельных структурных подразделений, а так же вовремя среагировать на ту или иную ситуацию в бизнес-процессе.

  4. Задачи дипломного проекта • создать систему позволяющую посредством АТ команд взаимодействовать, обмениваться данными с устройством; • изучить готовые программные продукты позволяющие взаимодействовать с устройством; • изучить возможности взаимодействия с устройством посредством COM порта; • изучить программные оболочки позволяющие разрабатывать подобные низкоуровневые программные решения на базе взаимодействия с COM портом; • разработать программное решение позволяющее взаимодействовать с устройством посредством АТ команд; • разработать инструкцию программиста; • разработать инструкцию пользователя; • оценить экономическую целесообразность проекта.

  5. Терминальные решения Далее приводится обзор и анализ существующих решений для взаимодействия с устройством. Приведены примеры реализации интерфейсов. Демонстрируется возможность взаимодействия с устройством посредством АТ команд.

  6. Демонстрация работы в HyperTerminal

  7. Демонстрацияинтерфейса среды PuTTY

  8. Демонстрациятерминала среды PuTTY

  9. Сравнительный анализ программных решений • HyperTerminal – разрабатывается и поддерживается Microsoft, позволяет взаимодействовать с устройством, производить отсылку команд, использовать расширенные средства для работы с COM портом, является довольно объемным продуктом, обладает большими возможностями. В качестве примера реализации интерфейса нашего продукта использоваться не будет. Так как обладает обширными возможностями которые в нашем случае не нужны.

  10. Сравнительный анализ программных решений • PuTTY – программный продукт является терминалом. Продукт написан для создания удалённых подключений по разным интерфейсам и может взаимодействовать с различными устройствами подключенными по COM порту. Обладает довольно большими возможностями. По большому счёту представляет из себя целую систему для взаимодействия как по сети интернет, так и непосредственно напрямую с устройством. В качестве примера для реализации использоваться не будет, в силу своей глобальности.

  11. Демонстрациясреды HUAWEI modem terminal

  12. Сравнительный анализ программных решений • Huawei Modem Terminal – терминальная среда разработанная специально для взаимодействия с устройствами “Huawei”, по своему интерфейсу является довольно простой, позволяет организовать взаимодействие с устройством. Обладает простым набором функций. Позволяет изучить синтаксис АТ команд. Реализует управление практически всеми функциями устройства. В качестве примера будем использовать интерфейс данной программы.

  13. Среды разработки Далее приводится обзор и анализ существующих сред разработки для осуществления производства программного продукта. Приведены примеры интерфейсов. Проанализированы положительные и отрицательные стороны продуктов. Оценена возможность взаимодействия сустройством посредством COM порта. Оценена целесообразность реализации в каждой из сред.

  14. Среда Borland C++ 3.1

  15. Сравнительный анализ сред разработки • Borland C++ 3.1 – среда разработки позволяющая создавать DOS приложения в среде Windows и соответственно в среде DOS. В первую очередь среда ориентирована на пользователей которые только начинают программировать, в качестве обучающей программированию программы. Однако, позволяет реализовывать довольно сложные проекты, включает в себя функции заложенные в 90-х годах Страуструпом в язык С++. Хотя данная среда и поддерживает реализацию взаимодействия с COM портом, выбор данного продукта в качестве среды разработки окажется довольно странным решением. Поскольку проект предполагает наличие пользовательского интерфейса, было принято решение в данной среде проект не разрабатывать.

  16. Среда Borland C++Builder 5.0

  17. Сравнительный анализ сред разработки • Borland C++ Builder 5.0 – интегрированная среда разработки, используемая для разработки программных продуктов разной направленности. Использует объектно-ориентированный принцип разработки приложений. Проект будет разрабатываться в данной среде. Поскольку среда обладает многими возможностями. В частности: простой понятный интерфейс, высокая скорость работыоболочки, имеются необходимые средства отладки приложений. Среда использует доступный и понятный язык C++. Также возможно реализовать весь программный потенциал приложения. Имеются необходимые для работы с COM портом библиотеки.

  18. Среда Microsoft Visual Studio

  19. Сравнительный анализ сред разработки • Microsoft Visual Studio – мощный программный продукт позволяющий создавать приложения разной направленности. Содержит в себе огромное количество разнообразных средств по отладке и настройке приложений, Позволяет в полной мере работать с проектом приложения и его компонентами. Реализует перспективный язык программирования С#. Поскольку приложение довольно объемное и предназначено для разработки довольно масштабных проектов, в нашем случае использование данного продукта, на мой взгляд, не является оправданным. Т.е. использоваться не будет. Хотя и имеются все необходимые средства для реализации данного проекта.

  20. Согласно проекту необходимо реализовать: • низкоуровневое взаимодействие с COM портом, т.е. открытие, закрытие, настройка параметров, обмен информацией; • передачу АТ команды в COM порт; • алгоритм отправки СМС, согласно АТ стандарту; • работу со строковыми данными; • вывод и анализ информации.

  21. Работа с COM портом осуществляется через класс CommPort, используются следующие поля и методы данного класса boolean CommPort->Open, int CommPort->ComNumber, boolean CommPort->InBuffUsed void CommPort->GetBlock(char *s, int in_b) void CommPort->PutString(char *str) void CommPort->PutBlock(char *str, int s) При этом не использовались функции прерывания ассемблера.

  22. Формат AT команд • AT – тестовая команда • AT+[command]? - вывод параметров • AT+[command]=? - вывод возможных параметров, тест команды • AT+[command]=value - установка параметра (ов)

  23. Основныеиспользуемые AT команды • AT – проверка подключения • ATI8 – информационная команда • AT+CBC – уровень заряда устройства • AT+CSQ – уровень сигнала (RSSI) • AT+CMGF=1(0) – режим работы устройства (text, pdu) • AT+CMGS=“+79502022223” – задание номера получателя в текстовом режиме • AT+CMGS=31 – задание длины сообщения • ATD*102#; - выполнение USSD запроса • ATD+79502022223; - выполнение голосового вызова • ATH – сброс вызова • AT+CHUP сброс всех вызовов

  24. Формат СМС команды PDU SMS = SCA + TPDU SCA – “07” (1байт типа + 6 байт номера) + “91” (типмеждународный) + “9720780110F0” (номер смс центра, подготовленный)либо “00” если центр не задан явно. TPDU – “01” (исход. сообщ.) + “00” (не использ.) + “0B” (длина номера 11 цифр в hex) + “91” (тип международный) + “9705022222F3” (номер получ. подготовл. ) + “00” (идент. протокола) + “08” (формат сообщ. UCS2, не флеш) + “12” (длина сообщ. 18байт – 12 в hex) + “041F 0440 0438 0432 0435 0442 0021 0021 0021” (сообщение согласно UCS2)

  25. Методы использованные для работы со строками char *strcpy (char *dst, const char *src); char *strcat(char * str1, const char *str2); Trim(AnsiString(str)); void IntToStr(int input, char *output); TrimLeft(str); TrimRight(str); size_t strlen(const char *str) void IntToHex(int input, char *output); Основные задачи были реализованы строковыми функциями методами класса string.

  26. Форма приложения AT Terminal

  27. Последовательность событий • Создание формы. Выполняются процессы подготовки формы. Подготовка таймеров. Установка элементов формы в нужное состояние. • Событие подключения к COM порту. Инициализация взаимодействия. • События работы с буфером COM порта: отсылка команд в буфер, организация взаимодействия. • Завершение работы формы. Закрытие соединения. Отключение вспомогательных элементов.

  28. Форма приложения SMS Sender

  29. Последовательность событий • Создание формы. Инициализация элементов формы. Подготовка параметров. Задание полям необходимых для работы свойств. Инициализация таймера. • Событие подключения. Инициализация взаимодействия с COM. • События выбора режима работы. Устанавливаются необходимые свойства полей. Выполняется проверка допустимых команд. • Событие ввода сообщения. Осуществление необходимых проверок. Осуществляется подсчёт и обработка введенных данных. • События вспомогательных элементов формы. • Событие отправки сообщения, выполняются необходимые проверки, выполняется отправка. • Закрытие формы. Завершение соединения. Отключение всех вспомогательных элементов формы. Завершение работы.

  30. Далее демонстрируются некоторые ключевые моменты кода.

  31. Проверка поддержки режима strcpy(str, "AT+CMGF=1"); strcat(str, cr); CommPort1->PutString(str); Sleep(100); int in_b=0; in_b=CommPort1->InBuffUsed; char *s=new char[in_b+1]; in_b=CommPort1->GetBlock(s, in_b); s[in_b]=0; //nujno vivesti s if ((s[12]=='E') && (CheckBox2->Checked==true)) //proveryaem esli modem otvetil ERROR { ShowMessage("Текстовый режим не поддерживается данным устройством"); Sleep(300); CheckBox2->Checked=false; //sbrasivaem checked Label10->Caption=s[12]; //test //zakomentirovat' Memo1->MaxLength=70; Label13->Caption=70; sym_count=70; }

  32. Осуществление проверки номера strcpy(str, Edit2->Text.c_str()); //pomeschaem smscnum v str //Trim(AnsiString(str)); //udalyaem probeli v nomere esli oni est' sleva i sprava //for (int i=0; i<strlen(str); i++) { // if (str[i]==' ') str[i]=str[i+1]; } if (str[0]=='8') { str[0]='7'; //Trim(AnsiString(str)); } if (str[0]=='+') //esli est' "+" sdvigaem vse cifri vlevo, + ischezaet { for(unsigned int i=0; i<=strlen(str); i++) { str[i]=str[i+1]; } //str[0]=0; //TrimLeft(AnsiString(str)); } if( strlen(str)!=11) { ShowMessage("Возможно номер получателя задан не корректно"); } num_length=strlen(str);

  33. Осуществление кодирования символов WideString WIN=(Memo1->Text.c_str()); int ch; a=0; for (int i=1; i<=WIN.Length(); i++) { ch=WIN[i]; if (ch<127) // kodiruem strochniye i prpisniye latinskie bukvi { //ShowMessage("latin detected!!!"); strcat(mes, IntToHex(ch,4).c_str()); } if (ch==1105) //malen'kaya yo { strcat(mes, "0451"); } if (ch==1025) { //ShowMessage("big yo detected!!!"); strcat(mes, "0401"); } if (ch>161) // kodiruem strochniye i prpisniye latinskie bukvi { //ShowMessage("russian character detected!"); strcat(mes, IntToHex(ch,4).c_str()); } }

  34. Заключение В данном дипломном проекте был проведён обзор инструментальных средств разработки приложений. Выбор был сделан в пользу Borland Builder, т.к. он реализует в полной мере язык С++, а также необходимые нам возможности. Выполнен сравнительный обзор программных средств для работы с устройством. Была самостоятельно реализована процедура рассылки сообщений. Получен опыт программирования низкоуровневых операций. Проект, безусловно, является экономически выгодным.

  35. Спасибо за внимание!

More Related