<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Smsd on Блог Агапова Максима</title><link>https://magapov.nmph.ru/tags/smsd/</link><description>Recent content in Smsd on Блог Агапова Максима</description><generator>Hugo</generator><language>ru</language><lastBuildDate>Sat, 07 Sep 2019 17:40:45 +0000</lastBuildDate><atom:link href="https://magapov.nmph.ru/tags/smsd/index.xml" rel="self" type="application/rss+xml"/><item><title>Huawei e3372h. Отправляем SMS</title><link>https://magapov.nmph.ru/2019/01/huawei-e3372h-sms.html</link><pubDate>Mon, 14 Jan 2019 13:27:00 +0000</pubDate><guid>https://magapov.nmph.ru/2019/01/huawei-e3372h-sms.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">
Используя пакет трафика на МТС, у меня остается много неиспользованных СМС, которые ежемесячно сгорают. Жалко. Подумал, что информирование по СМС гораздо надежнее и эффективнее. Что-то, а смс-ка всегда долетит, даже если на телефоне закончился интернет-трафик.&lt;br />
&lt;br />
Чтобы отправлять СМС через модем (в моём случае это Huawei e3372h), требуется установить прошивку Stick. Stick нужна, чтобы роутер (или комп) видел интерфейс /dev/ttyUSB0 модема, через который собственно и будут передаваться AT-команды.&lt;br />
Из софта, нужен smstools3. Готовый пакет можно поставить на Ubuntu или OpenWRT.&lt;br />
&lt;br />
Для установки пакета smstools3 на роутер Keenetic Giga (KN-1010), сперва понадобится установить менеджер пакетов opkg. Как это сделать, хорошо описано в официальном &lt;a href="https://help.keenetic.com/hc/ru/articles/360000264829-%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-OPKG-%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%B0-rTorrent" target="_blank">мануале&lt;/a>. В роли флэш-носителя, я установил micro-sd карту в слот модема, чтобы не занимать лишний USB-порт роутера.&lt;br />
Установка не вызвала никаких проблем&lt;br />
&lt;pre>&lt;code class="bash hljs">opkg update
opkg install smstools3 nano&lt;/code>&lt;/pre>
После установки, сразу лезем в&amp;nbsp; файл конфигурации демона&lt;br />
&lt;pre>&lt;code class="bash hljs">nano /opt/etc/smsd.conf
# Description: Main configuration file for the smsd
devices = GSM1
incoming = /opt/var/spool/sms/incoming
outgoing = /opt/var/spool/sms/outgoing
checked = /opt/var/spool/sms/checked
failed = /opt/var/spool/sms/failed
sent = /opt/var/spool/sms/sent

receive_before_send = no
autosplit = 3

checkhandler = /opt/sms-to.sh
eventhandler = /opt/sms-from.sh

logfile = /var/log/smsd.log
loglevel = 7

# Uncomment (and edit) this section to allow smsd to start:
[GSM1]
init = AT+CPMS="ME","ME","ME"
device = /dev/ttyUSB1
incoming = yes
#pin = 0000
baudrate = 115200&lt;/code>&lt;/pre>
Создадим все пути, указанные в конфиге&lt;br />
&lt;pre>&lt;code class="bash hljs">cd&amp;nbsp; /opt/var/
mkdir spool &amp;amp;&amp;amp; cd spool
mkdrit sms &amp;amp;&amp;amp; cd sms
mkdir incoming
mkdir outgoing
mkdir checked
mkdir failed
mkdir sent

cd /var/run/ &amp;amp;&amp;amp; mkdir smsd&lt;/code>&lt;/pre>
Ну, и пропишем свой путь для лог-файла&lt;br />
&lt;pre>&lt;code class="bash hljs">logfile = /var/log/smsd.log&lt;/code>&lt;/pre>
Далее снимаем комменты с секции [GSM1] и запустим демона&lt;br />
&lt;pre>&lt;code class="bash hljs">smsd -c /opt/etc/smsd.conf&lt;/code>&lt;/pre>
Готово! Отправить СМС можно командой&lt;br />
&lt;pre>&lt;code class="bash hljs">sendsms +79211231234 "test"&lt;/code>&lt;/pre>
Вы наверное обратили внимание на две строки &lt;br />
&lt;pre>&lt;code class="bash hljs">checkhandler = /opt/sms-to.sh
eventhandler = /opt/sms-from.sh&lt;/code>&lt;/pre>
Эти параметры указывают путь к исполняемому скрипту, который будет выполняться при получении, или при отправке смс.&lt;br />
&lt;br />
Создадим исполняемый файл /opt/send-to.sh, который поможет отправлять СМС на кириллице.&lt;br />
&lt;pre>&lt;code class="bash hljs">nano /opt/sms-to.sh&lt;/code>&lt;/pre>
&lt;pre>&lt;code class="bash hljs">#!/bin/sh
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/bin
FROM_FILE="$1"
[ ! -r "$FROM_FILE" ] &amp;amp;&amp;amp; exit 1
if grep -q '[а-яА-Я]' $FROM_FILE; then
TMPFILE=$(mktemp /tmp/smsd_XXXXXX)
sed -e '/^$/ q' &amp;lt; "$FROM_FILE" &amp;gt; $TMPFILE
echo 'Alphabet: Unicode' &amp;gt;&amp;gt; $TMPFILE
sed -e '1,/^$/ d' &amp;lt; "$FROM_FILE" | iconv -f UTF-8 -t UNICODEBIG &amp;gt;&amp;gt;$TMPFILE
mv $TMPFILE "$FROM_FILE"
fi&lt;/code>&lt;/pre>
На всякий случай, установим программу iconv, которая используется в скрипте&lt;br />
&lt;pre>&lt;code class="bash hljs">opkg update
opkg install iconv&lt;/code>&lt;/pre>
Отправляем тестовую СМС на русском языке&lt;br />
sendsms +79211231234 "Я есть Грутъ!"&lt;br />
Смотрим логи&lt;br />
&lt;pre>&lt;code class="bash hljs">cat /var/log/smsd.log&lt;/code>&lt;/pre>
&lt;pre>&lt;code class="bash hljs">2019-01-14 16:20:41,5, GSM1: SMS sent, Message_id: 19, To: 79211231234, sending time 1 sec.
2019-01-14 16:20:42,6, GSM1: SMS To: 79211231234. Moved file /opt/var/spool/sms/checked/send_8Py8QQ to /opt/var/spool/sms/sent/send_8Py8QQ
2019-01-14 16:20:42,7, GSM1: Running eventhandler: /opt/sms-from.sh SENT /opt/var/spool/sms/sent/send_8Py8QQ 19
2019-01-14 16:20:42,3, GSM1: Done: eventhandler, execution time 0 sec., status: 32512 (127)&lt;/code>&lt;/pre>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/photo_2019-01-14_16-25-56.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="1280" data-original-width="720" height="640" src="https://magapov.nmph.ru/img/photo_2019-01-14_16-25-56.jpg" width="360" />&lt;/a>&lt;/div>
&lt;br />
Материал взят &lt;a href="https://voxlink.ru/kb/voip-devices-configuration/smstools3/" target="_blank">отсюда&lt;/a>&lt;/div></description></item></channel></rss>