Последние записи
- Преобразовать массив байт в вещественное число (single)
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
14th
Фев
Работа с смс через USB модем
Posted by Chas under Delphi
как проверять доставлено смс или нет (статус). как читать входящие смс и потом их удалять. И как работать с USSD.
raxp
Читаем стандарт (рекомендую «AT Commands Interface Guide. – Wavecom, 2002, version 005»):
If the SMS message retrieved is an SMS message received from the SMS center (i.e. incoming SMS message), the information response of the +CMGR AT command in SMS text mode has the following format: (Optional fields are enclosed in square brackets.)
+CMGR: message_status,address,[address_text],
service_center_time_stamp[,address_type,TPDU_first_octet,protocol_identifier,data_coding_scheme,service_center_address,
service_center_address_type,
sms_message_body_length]sms_message_body If the SMS message retrieved is an SMS message that you wrote to the message storage area for sending out (i.e. outgoing SMS message), the format is: (Optional fields are enclosed in square brackets.)
+CMGR: message_status,address,[address_text][,address_type,TPDU_first_octet,protocol_identifier,data_coding_scheme,
validity_period],service_center_address,service_center_address_type,sms_message_body_length]sms_message_body For incoming SMS messages:
+CMGR: «REC READ»,»+85291234567″,,»07/04/20,10:08:02+32″,145,4,0,0,»+8529000 0000″,145,49
It is easy to read text messages via AT commands.For outgoing SMS messages:
+CMGR: «STO SENT»,»+85291234567″,,145,17,0,0,16 7,»+85290000000″,145,36
A simple demo of SMS text messaging.
Кроме AT+CMGR, есть команды чтения истории приходящих… при отсылке:
‘AT+CMGL=»STO UNSENT»‘ парсим ответ с этим же запросом — Исходящие
‘AT+CMGL=»STO SENT»‘ парсим ответ с этим же запросом — Отправленные
‘AT+CMGL=»REC READ»‘ парсим ответ с этим же запросом — Прочитанные
‘AT+CMGL=»REC UNREAD»‘ парсим ответ с этим же запросом — Непрочитанные
‘AT+CMGL=»ALL»‘ парсим ответ с этим же запросом — Все
Если после отправки SMS получен ответ:
‘+CMGS’ — Cообщение отправлено, также можно читать непрочитанную:
‘AT+CMGL=0’
Отчет о доставке настраивается в самом телефоне (может быть включено, может быть выключено), в этом случае просто читаем периодически входящие (непрочитанные) SMS и парсим его.
Удаление SMS
‘AT+CMGD=1’ — удалить 1-ю SMS (более подробно в стандарте)
Баланс счета
Запрос (код проверки счета у разных операторов разный):
cbuf.Add('ATD*111#;' + #13 + #10); // баланс счета: +CUSD: 2
Парсим ответ:
function selu(s: string): string; // счет
var i:integer;
begin
for i:= 1 to length(s) do
if copy(s,i,5)='+CUSD' then result:= copy(s, i+7, length(s))
end;
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)