SMS Helper (компонента отправки СМС сообщений через GSM модем)

Компонента для отправки СМС сообщений через GSM модем.

    Всем известно, что работа IT специалиста часто связана с мониторингом выполнения регламентных задач, работоспособности оборудования и т.д. В некоторых случаях не очень удобно сидеть перед монитором и ожидать завершения какой-либо задачи, чтобы убедиться в её успешном выполнении. Для автоматизации этого процесса есть много решений — отправка уведомления по e-mail, уведомление с помощью СМС и т. д. Эта программа, написанная мной, ещё один вариант реализации отправки уведомления с помощью СМС. Многие просмотренные мной программы аналогичного назначения были либо платными, либо позволяли отправлять СМС только из пользовательского интерфейса, либо только из командной строки. Программа smshelper — это ActiveX объект, который можно вызвать из любого приложения, работающего с COM объектами (1С:Предприятие, Excel, Word и т.д.). С помощью простейших скриптов можно реализовать работу этого приложения из командной строки (если кому-то такой вариант использования более предпочтителен). Пример использования программы написан на jscript и приложен к архиву с программой. Реализация алгоритмов мониторинга возлагается, естественно, на специалиста, желающего автоматизировать этот процесс. Пример crash-теста сетевого оборудования прилагается (перед запуском скрипта ознакомьтесь с его текстом).

Пример интеграции компоненты с системой "1С:Предприятие" приведен в комментарии 29. Спасибо автору комментария!

PS В нашей организации эта компонента рассылала в удаленные торговые точки сообщения о предстоящих акциях и с напоминанием о необходимости напечатать и изменить ценники на товары, участвующие в акции.

04/11/2024

Исправлена ошибка регистрации компоненты в 64-битной среде.

Обновлены файлы.

 

17/10/2024

Добавлен расширенный режим отправки сообщений. В этом режиме модем отсылает длинные сообщения, разбитые на несколько коротких, с отправкой информации принимающему устройству о том, что отправленные короткие сообщения — части одного длинного. В результате принимающее устройство получит одно длинное сообщение (в случае, если устройство поддерживает данный режим).

 

08/05/2012

Добавлена возможность отправки СМС сообщений в кодировке ASCII. В этом режиме длина сообщения может достигать 160 символов (только в латинской раскладке!).

 

Описание методов и свойств компоненты приведены в системе справочной информации. 

29 Comments

  1. Altair777

    Кто автор?

    Reply
  2. premierex

    А разве на этом сайте размещают не собственные разработки?

    Reply
  3. premierex

    Автор программы — автор данной публикации.

    Чтобы было более доступно, выделю жирным шрифтом:

    Автор — пользователь с ник-нэймом premier

    Кстати, это модно что ли сейчас стало — понижать рейтинг публикации без достаточных аргументов?

    Reply
  4. Altair777

    (4) а отвечать вопросом на вопрос это по какой моде?

    Reply
  5. Altair777

    (6)

    premier пишет:

    Поскольку я не указал, что данная

    разработка является копирайтом, соответственно, автор разработки — я.

    Ничего это не значит — как модератор не один раз видел когда чужое выдывали за свое. Специально не считал, но подобных публикаций удалили немало.

    И, тем более, очень меня насторожила такая неадекватная реакция на простой вопрос в комм.1 и на все последующие. Агрессивная реакция.

    Reply
  6. DoctorRoza

    premier,

    Выложите какой-нибудь мануал по пользованию разработкой! Я новичок в этой области! 😉

    Reply
  7. Altair777

    Комм.3 было ответом на некорректный вопрос в комм.2. Так что это еще вопрос — кто кого спровоцировал?

    Неужели тяжело было ответить одной фразой, одним словом, одной буквой — «я»?

    Повымахиваться захотелось?

    Reply
  8. premierex

    Для Altair777

    Я — не амбициозен. Если бы мне захотелось «повымахиваться», я уж, непременно, указал бы, что автор — именно я. Да ещё и поместил бы разработку в категорию платных. Потому как бесплатных аналогов я, увы, не нашёл. Я думаю, когда разработчики сайта предусмотрят обязательное к заполнению поле «Автор разработки», таких вопросов к авторам публикаций будет значительно меньше. А агрессивная реакция — это рефлекс на отсутствие каких-либо аргументированных комментариев по поводу понижения рейтинга публикации (функционал ПО не соответствует его описанию, недостаточен, ПО работает со сбоями или не работает вообще и т.д.).

    Всё же следует учитывать, что на разработку ПО затрачиваются ресурсы (временнЫе, материальные и т.п.), а разработка, тем не менее, бесплатна.

    Reply
  9. Altair777

    (11) я бы никогда в жизни не стал использовать такую разработку — это очень опасно. Кто его знает что там в этот dll напихано.

    И поэтому мой вопрос насчет авторства (читай — источника) был вполне оправдан.

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

    P.S. Я не утверждаю что нельзя использоваться стороние ВК. Сам ими часто пользуюсь. Например, 1С++, FormEx, Miracle8 от Abadonna

    Reply
  10. maxpiter

    На русском отправляет смс?

    Reply
  11. premierex

    Даже на арабском 🙂 Кодировка сообщения — unicode.

    Reply
  12. Altair777

    (13) а язвить не надо

    тем более — невнимательно прочитав пост, на которой отвечаете

    Reply
  13. vip

    Ба. Знакомые все лица.

    Ну да, весна…

    (0) Автор, заслуженный плюс.

    А на главного «оппонента» поменьше внимания. Это каждую весну так.

    И осень.

    (16)

    > Повымахиваться захотелось?

    Reply
  14. Altair777

    (17) ба-ба! 😀

    кое-кто пытается вылезти из небытия….

    Reply
  15. vip

    (18) Почему из небытия?

    Я собираюсь жить вечно.

    Пока получается…

    Reply
  16. ShantinTD

    А я напишу немного по сути дела.

    Понравилось:

    + реально отправляет СМС. У меня Philips Xenium 9@9q, никакого софта на него не найти.

    + делит длинные сообщения по 70 символов. Некоторые другие сервисы делят так: или 70, или по 68 символов, поэтому приходится сочинять СМС всего в 136 символов (двойную).

    Не понравилось:

    — получается, что задать имя отправителя — нельзя.

    — длинные СМС реально рубит на части, т.е. придет не длинная, а именно 2 коротких СМС.

    Так что на вкус и цвет.

    Хотя при большой нужде положить денег на телефон гораздо проще, чем бодаться с поставщиком СМС-услуг за зачисление на счет некоторого количества сообщений под «гарантийное письмо»/»платежку с отметкой»/»честное слово»/»или просто увидели наш платеж». =)

    Так что приходится выбирать, что важнее: длинная СМС с именем отправителя или простота оплаты/отправки.

    Reply
  17. premierex

    Раз тут у нас уже целый форум в рамках публикации открылся, то и я внесу свою лепту:

    рекомендую почитать http://infostart.ru/community/groups/148/forum/39515/

    Reply
  18. premierex

    ShantinTD (20)

    Не понравилось:

    — получается, что задать имя отправителя — нельзя.

    Почему же нельзя? Можно! В тексте СМС! Другого, к сожалению, не предусмотрено стандартом мобильной связи!

    Имя отправителя, точнее, зарегистрированный номер абонента, автоматически проставляет SMS-центр провайдера услуг мобильной связи.

    — длинные СМС реально рубит на части, т.е. придет не длинная, а именно 2 коротких СМС.

    Да, действильно, именно «рубит», потому как SMS-центр провайдера, упомянутый мной выше, просто не принимает сообщения в формате PDU (он же — unicode) длиннее 70-ти символов! Я проверял! При попытке отослать такое сообщение модем выдаёт ошибку (CSMS Error: 304). Описание ошибки — неверный формат сообщения.

    Reply
  19. maksa2005

    Не работает. dll зарегестрировал.

    Reply
  20. premierex

    (23) maksa2005, Действительно, запустил на другом ПК, та же ошибка! Постараюсь исправить в ближайшие дни. Как мне вернуть Вам потраченные $m?

    Reply
  21. premierex

    (23) maksa2005, написал в личку. Всё отлично работает, просто в 64-bit’ной Windows компонента должна регистрироваться немного иначе (в реестр добавляются несколько ключей и параметров). Корректировочный файл приложу к архиву, пока не разберусь, как грамотно программу инсталляции написать.

    Reply
  22. premierex

    Дописал компоненту. Теперь она «грамотно» регистрируется как в 32 так и в 64-битной среде. Файлы обновил.

    Reply
  23. Infector

    Реально работает. Пользовался устройством от Билайна.

    Из недочетов — к сожалению, примера интеграции в 1с Автор не положил, пойду сам писать.

    Reply
  24. premierex

    (27) Infector, так ничего там сложного нет. Создается новый COMОбъект, а все его методы и свойства достаточно подробно в скриптах описаны.

    Reply
  25. Infector

    (28) Да сделал уже.

    Функция ОтправкаСМС(Кодировка = 0, РазбивкаДлинныхСообщений = Истина, РежимОтображенияИСохраниния = Ложь, ВремяОжидания = 100, Порт = неопределено) Экспорт
    
    Попытка
    Объект = Новый COMОбъект(«SMS.Helper.1»);
    Исключение
    Возврат «Не удалось получить COM-Объект»;
    КонецПопытки;
    
    Объект.ExtendedMode = РазбивкаДлинныхСообщений;
    Объект.FlashMode = РежимОтображенияИСохраниния;
    Объект.PhoneNumber = Номер;
    Если Порт<>неопределено Тогда
    Объект.PortName = Порт;
    КонецЕсли;
    Объект.TextFormat = Кодировка;
    Объект.TimeOuts  = ВремяОжидания;
    
    Результат = Объект.SendMessage(ТекстСообщения);
    
    Если Результат Тогда
    Объект = Неопределено;
    Возврат «Сообщение успешно отправлено!»;
    Иначе
    СообщениеБиблиотеки = Объект.ErrorMessage;
    Объект = Неопределено;
    Возврат СообщениеБиблиотеки;
    КонецЕсли;
    
    КонецФункции
    
    

    Показать

    Reply
  26. spy-83

    здравствуйте

    что означает ошибка?:

    +CME ERROR: 10

    Reply
  27. premierex

    (31) spy-83, CME ERROR: 10 SIM not inserted. Видимо не вставили в модем SIM карту, либо модем её по каким-то причинам не видит.

    Reply
  28. brunen9

    Возможности определить, было ли доставлено сообщение, тут нет?

    Reply
  29. premierex

    (33) brunen9, пока нет. Компонента работает только в режиме отправки сообщений. Ведь за подтверждение доставки может платить и сам абонент, которому отправили сообщение (это, как я понял, на усмотрение call-центра мобильного провайдера).

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *