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

Опубликовал Максим *** (premier) в раздел Программирование - Внешние компоненты

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

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

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

04/11/2015

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

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

17/10/2015

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

08/05/2012

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

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

Скачать файлы

Наименование Файл Версия Размер
Архив для самостоятельной установки
.zip 90,22Kb
31.12.16
338
.zip 90,22Kb 338 Скачать
Архив с программой автоматической установки.
.rar 331,29Kb
31.12.16
3
.rar 331,29Kb 3 Скачать

См. также

Комментарии
1. Альтаир (Altair777) 633 02.05.11 15:14 Сейчас в теме
2. Максим *** (premier) 135 02.05.11 17:08 Сейчас в теме
А разве на этом сайте размещают не собственные разработки?
3. Альтаир (Altair777) 633 02.05.11 17:15 Сейчас в теме
(2) Не всегда, поэтому и повторяю вопрос. А что бы он хоть со второго раза дошел, то повторю в капсе
КТО АВТОР?

а что бы не пришлось и в третий раз спрашивать, усилю еще и жирностью
КТО АВТОР?
4. Максим *** (premier) 135 02.05.11 17:30 Сейчас в теме
Автор программы - автор данной публикации.
Чтобы было более доступно, выделю жирным шрифтом:
Автор - пользователь с ник-нэймом premier

Кстати, это модно что ли сейчас стало - понижать рейтинг публикации без достаточных аргументов?
NazarovV; siwa99; +2 1 Ответить 1
5. Альтаир (Altair777) 633 02.05.11 17:45 Сейчас в теме
(4) а отвечать вопросом на вопрос это по какой моде?
6. Максим *** (premier) 135 02.05.11 18:06 Сейчас в теме
Это - по моде ВНИМАТЕЛЬНО изучать пользовательское соглашение администрации сайта с его пользователями.

Вот цитата из него:

Вы соглашаетесь не использовать сервисы предоставляемы Infostart.ru для:
.....
6. Загрузки, посылки, передачи или любого другого способа размещения контента, который затрагивает какой-либо патент, торговую марку, коммерческую тайну, копирайт или прочие права собственности и/или авторские и смежные с ним права третьей стороны;


Исходя из этого пункта соглашения автор публикации имеет право размещать либо собственные разработки,
либо сторонние разработки, не связанные с нарушением авторских прав. Поскольку я не указал, что данная
разработка является копирайтом, соответственно, автор разработки - я.
7. Альтаир (Altair777) 633 02.05.11 18:17 Сейчас в теме
(6)
premier пишет:
Поскольку я не указал, что данная
разработка является копирайтом, соответственно, автор разработки - я.

Ничего это не значит - как модератор не один раз видел когда чужое выдывали за свое. Специально не считал, но подобных публикаций удалили немало.
И, тем более, очень меня насторожила такая неадекватная реакция на простой вопрос в комм.1 и на все последующие. Агрессивная реакция.
8. Алексей Роза (DoctorRoza) 02.05.11 18:24 Сейчас в теме
premier,
Выложите какой-нибудь мануал по пользованию разработкой! Я новичок в этой области! ;)
9. Максим *** (premier) 135 02.05.11 18:35 Сейчас в теме
Для Altair777:
Агрессивная реакция? Она спровоцирована. См. комментарий (3).
Кстати, а где это я должен был указать своё авторство?
Насколько я понимаю, авторство публикации проставляется автоматически,
а вот авторство разработки.. где его надо было указать?
В предыдущих разработках авторство я указывал в справочной системе
или диалогах "About". Что, надо было в сведениях о версии ПО производителя указать?

Для DoctorRoza:
Мануал по пользованию разработкой подробно описан в прилагаемых скриптах.
10. Альтаир (Altair777) 633 02.05.11 18:47 Сейчас в теме
Комм.3 было ответом на некорректный вопрос в комм.2. Так что это еще вопрос - кто кого спровоцировал?
Неужели тяжело было ответить одной фразой, одним словом, одной буквой - "я"?
Повымахиваться захотелось?
11. Максим *** (premier) 135 02.05.11 19:09 Сейчас в теме
Для Altair777
Я - не амбициозен. Если бы мне захотелось "повымахиваться", я уж, непременно, указал бы, что автор - именно я. Да ещё и поместил бы разработку в категорию платных. Потому как бесплатных аналогов я, увы, не нашёл. Я думаю, когда разработчики сайта предусмотрят обязательное к заполнению поле "Автор разработки", таких вопросов к авторам публикаций будет значительно меньше. А агрессивная реакция - это рефлекс на отсутствие каких-либо аргументированных комментариев по поводу понижения рейтинга публикации (функционал ПО не соответствует его описанию, недостаточен, ПО работает со сбоями или не работает вообще и т.д.).
Всё же следует учитывать, что на разработку ПО затрачиваются ресурсы (временнЫе, материальные и т.п.), а разработка, тем не менее, бесплатна.
12. Альтаир (Altair777) 633 03.05.11 10:09 Сейчас в теме
(11) я бы никогда в жизни не стал использовать такую разработку - это очень опасно. Кто его знает что там в этот dll напихано.
И поэтому мой вопрос насчет авторства (читай - источника) был вполне оправдан.
Так что рекомендую всем не пользоваться такой сомнительной разработкой, автор которой с большой неохотой признал свое авторство.
P.S. Я не утверждаю что нельзя использоваться стороние ВК. Сам ими часто пользуюсь. Например, 1С++, FormEx, Miracle8 от Abadonna
13. Максим *** (premier) 135 03.05.11 21:11 Сейчас в теме
Ответ на комментарий (12)
Жизнь - вообще опасна (кто его знает, что в неё напихано)! Присоединяюсь к автору комментария! Если вы не видите исходных кодов программы (или, не дай Бог, в них не разбираетесь), такая программа КРАЙНЕ ОПАСНА. Ни в коем случае не используйте такие программы!
Так что, рекомендую автору комментария пользоваться программами только OpenSourse и с GNU General Public License! Это, я думаю, избавит его от сомнений возможной вредоносности программы.
14. Максим Шуйский (maxpiter) 139 04.05.11 12:03 Сейчас в теме
На русском отправляет смс?
15. Максим *** (premier) 135 04.05.11 13:37 Сейчас в теме
Даже на арабском :) Кодировка сообщения - unicode.
16. Альтаир (Altair777) 633 04.05.11 13:57 Сейчас в теме
(13) а язвить не надо
тем более - невнимательно прочитав пост, на которой отвечаете
17. vip (vip) 04.05.11 16:25 Сейчас в теме
Ба. Знакомые все лица.
Ну да, весна...
(0) Автор, заслуженный плюс.
А на главного "оппонента" поменьше внимания. Это каждую весну так.
И осень.
(16)
> Повымахиваться захотелось?
18. Альтаир (Altair777) 633 04.05.11 16:35 Сейчас в теме
(17) ба-ба! :D
кое-кто пытается вылезти из небытия....
19. vip (vip) 04.05.11 16:53 Сейчас в теме
(18) Почему из небытия?
Я собираюсь жить вечно.
Пока получается...
Lara.Builova; +1 Ответить
20. Тимофей Шантин (ShantinTD) 85 04.05.11 17:43 Сейчас в теме
А я напишу немного по сути дела.
Понравилось:
+ реально отправляет СМС. У меня Philips Xenium 9@9q, никакого софта на него не найти.
+ делит длинные сообщения по 70 символов. Некоторые другие сервисы делят так: или 70, или по 68 символов, поэтому приходится сочинять СМС всего в 136 символов (двойную).
Не понравилось:
- получается, что задать имя отправителя - нельзя.
- длинные СМС реально рубит на части, т.е. придет не длинная, а именно 2 коротких СМС.

Так что на вкус и цвет.
Хотя при большой нужде положить денег на телефон гораздо проще, чем бодаться с поставщиком СМС-услуг за зачисление на счет некоторого количества сообщений под "гарантийное письмо"/"платежку с отметкой"/"честное слово"/"или просто увидели наш платеж". =)
Так что приходится выбирать, что важнее: длинная СМС с именем отправителя или простота оплаты/отправки.
21. Максим *** (premier) 135 04.05.11 17:48 Сейчас в теме
Раз тут у нас уже целый форум в рамках публикации открылся, то и я внесу свою лепту:
рекомендую почитать http://infostart.ru/community/groups/148/forum/39515/
22. Максим *** (premier) 135 04.05.11 18:06 Сейчас в теме
ShantinTD (20)
Не понравилось:
- получается, что задать имя отправителя - нельзя.
Почему же нельзя? Можно! В тексте СМС! Другого, к сожалению, не предусмотрено стандартом мобильной связи!
Имя отправителя, точнее, зарегистрированный номер абонента, автоматически проставляет SMS-центр провайдера услуг мобильной связи.

- длинные СМС реально рубит на части, т.е. придет не длинная, а именно 2 коротких СМС.
Да, действильно, именно "рубит", потому как SMS-центр провайдера, упомянутый мной выше, просто не принимает сообщения в формате PDU (он же - unicode) длиннее 70-ти символов! Я проверял! При попытке отослать такое сообщение модем выдаёт ошибку (CSMS Error: 304). Описание ошибки - неверный формат сообщения.
23. Максим Литвинов (maksa2005) 88 28.10.15 20:03 Сейчас в теме
Не работает. dll зарегестрировал.
Прикрепленные файлы:
24. Максим *** (premier) 135 29.10.15 12:55 Сейчас в теме
(23) maksa2005, Действительно, запустил на другом ПК, та же ошибка! Постараюсь исправить в ближайшие дни. Как мне вернуть Вам потраченные $m?
25. Максим *** (premier) 135 03.11.15 14:35 Сейчас в теме
(23) maksa2005, написал в личку. Всё отлично работает, просто в 64-bit'ной Windows компонента должна регистрироваться немного иначе (в реестр добавляются несколько ключей и параметров). Корректировочный файл приложу к архиву, пока не разберусь, как грамотно программу инсталляции написать.
26. Максим *** (premier) 135 08.11.15 13:07 Сейчас в теме
Дописал компоненту. Теперь она "грамотно" регистрируется как в 32 так и в 64-битной среде. Файлы обновил.
27. Андрей Конев (Infector) 90 01.03.16 10:24 Сейчас в теме
Реально работает. Пользовался устройством от Билайна.
Из недочетов - к сожалению, примера интеграции в 1с Автор не положил, пойду сам писать.
28. Максим *** (premier) 135 01.03.16 12:42 Сейчас в теме
(27) Infector, так ничего там сложного нет. Создается новый COMОбъект, а все его методы и свойства достаточно подробно в скриптах описаны.
29. Андрей Конев (Infector) 90 01.03.16 14:11 Сейчас в теме
(28) premier, Да сделал уже.

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

...Показать Скрыть
31. Юрий Ульянов (spy-83) 170 04.05.16 14:28 Сейчас в теме
здравствуйте
что означает ошибка?:
+CME ERROR: 10
32. Максим *** (premier) 135 05.05.16 10:53 Сейчас в теме
(31) spy-83, CME ERROR: 10 SIM not inserted. Видимо не вставили в модем SIM карту, либо модем её по каким-то причинам не видит.
33. Павел Мирончик (brunen9) 63 12.08.16 12:50 Сейчас в теме
Возможности определить, было ли доставлено сообщение, тут нет?
34. Максим *** (premier) 135 15.08.16 13:10 Сейчас в теме
(33) brunen9, пока нет. Компонента работает только в режиме отправки сообщений. Ведь за подтверждение доставки может платить и сам абонент, которому отправили сообщение (это, как я понял, на усмотрение call-центра мобильного провайдера).
Оставьте свое сообщение