При уборке обнаружил без дела лежавший пару лет USB-модем huaweiE1550. Повертев его в руках, появилась мысль заставить его отправлять критические сообщения через СМС, такие как падения канала, повышение температуры в серверной и т.п.
В этой статья я расскажу как заставить вышеописанный модем отправлять СМС.
Для этого нам понадобится:
- USB-модем huaweiE1550
- Действующая СИМ-карта с положительным балансом
- FreeBSD
Итак, поехали:)
# cd /usr/ports/comms/smstools3/ # make install clean # rehash
Редактируем конфигурационный файл:
# vi /usr/local/etc/smsd.conf devices = huaweiE1550 loglevel = 7 #loglevel 7 - максимальный вывод для отладки USER=uucp GROUP=dialer PIDFILE= /var/run/smsd/smsd.pid INFOFILE= /var/run/smsd/smsd.working outgoing = /var/spool/sms/outgoing checked = /var/spool/sms/checked incoming = /var/spool/sms/incoming failed = /var/spool/sms/failed sent = /var/spool/sms/sent autosplit=3 [huaweiE1550] device = /dev/cuaU0.0 baudrate = 115200 rtscts = no init = at+cpms="sm","sm","" incoming = yes incoming = high pin = 0000 memory_start=0
Создаем рабочие каталоги:
# mkdir /var/spool/sms/outgoing # mkdir /var/spool/sms/checked # mkdir /var/spool/sms/incoming # mkdir /var/spool/sms/failed # mkdir /var/spool/sms/sent
Назначаем права:
# chown -R uucp:dialer /var/spool/sms
Добавляем в rc.conf разрешение на запуск smsd:
# echo 'smsd_enable="YES"' >> /etc/rc.conf
Меняем пользователя в скрипте для отправки СМС:
# vi /usr/local/bin/sendsms smsd_user="uucp"
Если модем подключен (если не подключен, самое время подключить его), проверяем отклик модема:
# cu -l /dev/cuaU0.0 Connected AT OK ATI Manufacturer: huawei Model: E1550 Revision: 11.608.12.00.143 IMEI: 352965040102459 +GCAP: +CGSM,+FCLASS,+DS
(для выхода из терминала нажмите последовательно две комбинации ~ + ctrl+d)
Если Вы получили такой же отклик от модема, то стартуем smsd:
# /usr/local/etc/rc.d/smsd start
И пробуем отправить СМС:
# sendsms 791XXXXXXXX "test_ТЕСТ" -- Text: test_ТЕСТ To: 791XXXXXXXX
Если все работает, то вы получите СМС, если нет, то в первую очередь смотрите лог:
# less /var/log/smsd/smsd.log
На этом этапе мы получили очень хорошее средство оповещения.
Но модем может и принимать сообщения, таким образом мы на пороге создания двухсторонний связи с сервером через GSM. В следующих статьях мы рассмотрим как написать обработчик входящих СМС, как отправлять критическую информацию о системе, как следить за балансом сим-карты модема.
Спасибо, работает!!!