3.2 Розробка драйвера послідовного інтерфейсу
Драйвер повинен забезпечувати буферизований ввід-вивід з СОМ порта в програму. А після закінчення роботи програми відновлювати старий контролер переривань.
Інтерфейс драйвера з програмою складається з наступних функцій:
Іnstаllсом(comNo) – У залежності від номеру СОМ порту встановлює процедуру обробки апаратного переривання
OpenCOM(speed:byte) – готує СОМ порт для роботи для порту визначеного в процедурі InstallCOM визначає швидкість обміну даними, кількість стопових бітів, контроль передачі. Функція реалізує апаратний протокол встановлення зв'язку
Sread() – функція читає з програмного буфера символ, що надійшов, та видаляє його з буфера і передає програмі, що визвала цю функцію.
Swrite(b:byte) – процедура записує символ у програмний буфер для передачі його через СОМ порт, символ буде передано коли наступить переривання “буфер передавача порожній”.
CloseCOM() – закінчує роботу з СОМ портом на встановленій швидкості. Функція реалізує апаратний протокол закінчення роботи DTE та DCE обладнання.
RestoreCOM() – процедура проводити заміну процедури обробки апаратних переривань. Відновлює попередні настроювання, що були до початку роботи програми.
IsRing():byte – перевіряє чи був виклик з МТМ і якщо був виклик з МТМ те функція повертає число > 0 в іншому випадку функція повертає код 0.
Буфер для передачі має розмір 512 байт. Буфер для прийому даних має розмір 1024байти. Буферів з такими розмірами достатньо для забезпечення надійної передачі даних між мобільним телефоном та СОМ портом.
Тексти функцій приведені в додатку 4
3.3 Розробка програми bridge для комплексу МТМ↔GSM
Програма взаємодіє з драйвером і реалізує роботу комплексу. Текст програми приведений в додатках. Програма складається з наступних процедур та функцій:
Void main(void) – основна процедура з якої починається виконання програми. У цій процедурі спочатку викликається завантаження поточної конфігурації процедура getConfig() після чого проводитися ініціалізація мобільного телефону. Після ініціалізації програма переходить у режим очікування. У разі виклику з телефонних мереж програма викликає функції Void PhoneMobiline(), Void PhoneCity().
Int getUserID(int char) – ця функція визначає чи є код, який увів користувач МТМ або телефон, номер якого надійшов з GSM, у таблиці відповідності користувачів комплексу. Процедура також перевіряє значення авансової суми внесеної абонентом комплексу.
Void PhoneMobiline() – у цій процедурі реалізований алгоритм роботи комплексу у випадку коли дзвінок надійшов з GSM.
Void PhoneCity() – у цій процедурі реалізований алгоритм роботи пристрою у випадку коли дзвінок надійшов з МТМ.
Void StartToking() – продерура очікує коли встановиться зв‘язок з віддаленим абонентом, і інспектує час розмови. Після цього викликає функції SaveLog() та SaveMoney() для збереження інформації про розмову та авансовий внесок абонента.
Void SaveLog() – ця процедура відкриває файл Log.txt та записує туди стрічку результату розмови в форматі:
початок розмови. | тривалість (сек) | вартість (коп) | номер телф. GSM | Напрямок дзвінка | DTMF набір |
Void SaveMoney() – Процедура записує нове значення кредиту абонента комплексу у файлі Users.txt.
Формат файлу:
код | № тел. GSM | Вартість вхідного дзвінка з МТМ (за 1 хв) | Вартість вихідного дзвінки з GSM (за 1 хв) | Кредит наданий користувачеві комплексу в копійках (макс. 99999 коп) | Напрямок дзвінка |
Void getConfig() – Процедура занходить файл setup.cfg і завантажує з нього параметри програми. До параметрів входять:
Void SendStr() – ця процедура надсилає до мобільного телефону стрічку сиволів, по черзі викликаючи функцію swrite(char ch).
Крім основних функцій у програмі реалізований інтерфейс з користувачем через телефонну лінію. Для того, щоб використати допоміжні функції, які реалізовані у комплексі необхідно увести пароль, який записаний у файлі конфігурації setup.cfg. Для використання тієї чи іншої сервісної функції необхідно зателефонувати на комплекс з МТМ і після двох гудків увести значчення пароля. (пароль складається з цифр від 0..9), у випадку коли пароль був введений вірно, комплекс відповість двома короткими гудками і буде очікувати вводу сервісної функції. При одержанні значення (коду) сервісної функції комплекс одразу виконає її.
... та модернізації переліку послуг, в основу проекту були покладені принципи, аналогічні принципам конструювання послуг інтелектуальної мережі. 2. Системи комп'ютерної телефонії фірми «Беркут» Науково-виробнича фірма «Беркут» (Санкт-Петербург) є виробником широкого спектра систем телекомунікаційного обладнання, розроблюваних на базі власної платформи комп'ютерної телефонії та прикладного ПЗ. ...
0 комментариев