У COM-порт, до якого підключений телефон, потрібно відправити рядок: "AT + CMGS", дочекатися відгуку у вигляді символу">" і передати сформоване повідомлення в COM-порт. Якщо передача інформації в телефон відбувається успішно, то телефон відгукнеться рядком "OK". p align="justify"> Другий варіант: використовуємо команди передачі повідомлення з пам'яті телефону. Тобто вибираємо як пам'яті зберігання SIM, записуємо в пам'ять повідомлення, отримуємо номер цього повідомлення в пам'яті, передаємо повідомлення з цим номером в ефір і стираємо його з пам'яті. Цей варіант я використовував при налагодженні своєї програми і досі застосовую для відправки повідомлень не UCS2 (може бути, саме тому такі повідомлення передаються нестійкий). p align="justify"> Кожна строчка, передана в телефон, повинна закінчуватися символом 26H.
Приклад формування повідомлення:
В· 069197103701F001000B919710276338F60008020410:
В· 06 = 05 для номера SMSC + 1 байт інтернаціональності SMSC
В· 91 = інтернаціональність SMSC
В· 97103701F0 = +790173100 плюс ознака закінчення номера F
В· 01 = PDU Type:
o MTI = 01 -> вихідний SMS
В· 00 = MR - параметр, який встановлюється в SMSC
В· 0B = довжина номера одержувача-1 (10 знаків в номері)
В· 91 = інтернаціональність одержувача
В· 9710276338F6 = +79017236836 - номер одержувача
В· 00 = PID ідентифікатор номера протоколу, якщо не дорівнює 0, то повинен бути рівний 41 .. 47 для того, щоб заміщати повідомлення з тими ж номерами протоколу (як в БІ +!)
В· 08 = DCS схема кодування даних: кириличне повідомлення
В· 02 = довжина повідомлення
В· 0410 = повідомлення: "А"
Передаємо його на телефон в термінальній програмі:
В· AT + CMGS
В· Ш 069197103701F001000B919710276338F60008020410
В· OK.
Висновок
SMS (Short Message Service) - це послуга пересилання коротких повідомлень, що дозволяє надсилати й отримувати текстові повідомлення з використанням мобіл...