Библиотека GSM Library. Щоб снять вопросы по приему/отправке СМС через модемы GSM

defecator
Дата: 01.06.2011 17:30:35
В связи с многочисленными вопросами на форуме по приему и отправке СМС через GSM модемы, выкладываю первую АЛЬФА версию библиотеки для отправки/приема СМС. Надеюсь снять часто возникающие темы типа "Спасите-помогите, как отправить смс..."

Работает со всеми USB модемами Huawei (это затычки от МТС, Билайн), всеми модемами и телефонами Nokia, а так же с промышленными модемами Siemens M35i / T35. !!! Не работает со смартфонами !!!

Что умеет:
1. Отправлять СМС, в том числе в кириллице.
2. Отправлять длинные СМС - библиотека сама разрежет сообщение, если оно превышает максимальную длину.
3. Принимать входящие СМС, в том числе собирать длинные СМС из кусков в единое сообщение.
4. Принимать входящие голосовые звонки и выдавать наружу номер звонящего абонента.
5. Контролировать состояние модема (заряд батареи, если она есть) и уровень сигнала GSM.

Что не умеет (пока):
1. Автоматически определять, на каком последовательном порту сидит модем. Это нужно будет указывать ручками.
2. Сохранять принятые СМС в памяти модема или симки - необработанное сообщение просто пропадает.

Что планируется сделать (попозже):
1. Динамическую загрузку DLL
2. Работа с хранимыми в модеме/симке смсками
3. Краткое описание функций (типа, документацию)

Ссылка на архив с библиотекой и тестовым проектом:
http://www.arm-pascal.ru/GSMLibrary.zip

Файл GSM_Intf.pas - содержит константы и интерфейс к DLL. Все описано на чистом русском языке.
Файл GSM.DLL - собственно, сама библиотека.

Остальные файлы - это собирающийся в Delphi 7 проект.
Подчеркиваю - проект собирается без проблем. Проверял сам ))))

Библиотека бесплатная для использования с любыми целями, кроме рассылки СМС-спама.
Zalm
Дата: 01.06.2011 17:45:57
Ты сделал хоть что-нибудь что бы она была менее приветлива для спама?) чувствую спамеров будет миллион
defecator
Дата: 01.06.2011 18:03:28
Zalm
Ты сделал хоть что-нибудь что бы она была менее приветлива для спама?) чувствую спамеров будет миллион


Их и так полно
defecator
Дата: 02.06.2011 15:15:25
Добавил функционал работы с СМСками: чтение, удаление, запрос состояния памяти устройства (сим-карты и внутренней памяти).

При приеме СМСки теперь сохраняются в памяти, заданной по умолчанию.
Чтобы не было переполнения, чистить ручками.

Откорректирована процедура приема СМС - теперь приходит ID сообщения и тип памяти, в который сообщение записано.

Ссылка на последнюю версию:
http://www.arm-pascal.ru/GSMLibrary2.zip

Все, либу больше ковырять не буду.

Внутри есть скомпилированный тестовый EXE и все сорцы тестового проекта.
Собирается без проблем в Delphi 7.
X11
Дата: 02.06.2011 16:29:26
А как на счет отправки через обычные телефоны типа SonyEricsson K750/790/800/850. Ну или LG/Samsung?
defecator
Дата: 02.06.2011 16:49:55
X11
А как на счет отправки через обычные телефоны типа SonyEricsson K750/790/800/850. Ну или LG/Samsung?


Подключаешь телефон к компу, определяешь, какой последовательный порт используется, запускаешь тестовую программу и пробуешь.

У меня таких моделей не было. Если они поддерживают обычные AT-команды для работы с SMS - проблем не должно быть.
DmSer
Дата: 02.06.2011 23:27:49
автор
В связи с многочисленными вопросами на форуме по приему и отправке СМС через GSM модемы, выкладываю первую АЛЬФА версию библиотеки для отправки/приема СМС. Надеюсь снять часто возникающие темы типа "Спасите-помогите, как отправить смс..."


Безусловно задумка полезная.
Однако предлагаемые исходники на текущий момент фактически представляют собой интерфейсный модуль над закрытой DLL-библиотекой "gsm.dll". Имхо, будет гораздо больше пользы от этой затеи, если Вы предоставите исходные коды библиотеки gsm.dll.

Более того, лично я бы не стал использовать сторонний модуль без предварительного анализа его исходных кодов.
Вдруг он по праздникам самостоятельно занимается СМС-рассылкой :-)
DmSer
Дата: 03.06.2011 07:48:37
автор
Поэтому не бери, сходи купи за 250$ либу, и анализируй код


Не та область, где бы я стал выкладывать деньги за готовый код. Обычно намного быстрее, дешевле и самое главное - надежнее написать собственный код, при этом не нужно иметь семи пядей во лбу, лучше иметь толковую документацию с описанием AT-команд. А система AT-команд сходная практически у всех модемов (за исключением некоторых нюансов).
Однажды из-за непреодолимой лени реализовывать протокол работы с GSM-модемами самостоятельно, было принято решение воспользоваться готовой и разрекламмированной библиотекой APRO. К сожалению она периодически глючит, что негативно сказывается на отношении к моим проектам со стороны пользователей. Поэтому мой пессимистический вывод таков - нельзя доверять непроверенным решениям, их использование может отрицательно повлиять на надежность разрабатываемого приложения. Подобные вещи лучше реализовывать своими силами.
Sheez
Дата: 03.06.2011 09:03:05
Defecator, спасибо!
defecator
Дата: 03.06.2011 09:52:59
DmSer
Однако предлагаемые исходники на текущий момент фактически представляют собой интерфейсный модуль над закрытой DLL-библиотекой "gsm.dll". Имхо, будет гораздо больше пользы от этой затеи, если Вы предоставите исходные коды библиотеки gsm.dll.


Будет как раз больше пользы, если сорцы останутся недоступными.

DmSer
Более того, лично я бы не стал использовать сторонний модуль без предварительного анализа его исходных кодов


Это твои личные предпочтения. Попроси у Мелкософта сорцы Офиса - вдруг он по пятницам твои документы отправляет в ФСБ