Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > OpenWRT/LEDE

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.11.2012, 21:48   #1
Sirocco
Senior Member
 
Регистрация: 12.10.2012
Адрес: Moscow-Voronezg
Сообщений: 272
Вес репутации: 0
Sirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant future
По умолчанию Sms через 3g модем - openWRT

Как можно отправить смс через 3g модем установленный в роутер:
(Средствами gnokii )
Втыкаем модем в роутер с симкартой, запрос пин кода отключить, модем должен быть в режиме "только модем".
Для начала нужно установить пакеты
  • comgt
  • kmod-usb-core
  • kmod-usb-serial
  • kmod-usb-serial-option
  • kmod-usb-uhci
  • kmod-usb2
  • gnokii

После установки ребутимся.
Смотрим в /dev, должно появиться
ttyUSB0, ttyUSB1, ttyUSB2.
У меня модем сидел на ttyUSB0.
Теперь нужно создать конфиг файл для gnokii. Это файл с именем ".gnokiirc" в каталоге root, содержание файла:
PHP код:
[global]
port = /dev/ttyUSB0
model 
AT
connection 
serial
serial_baudrate 
19200 
Теперь проверим, всё ли правильно,
gnokii --identify
в ответ получим что-то вроде:
PHP код:
root@OpenWrt:/dev# gnokii --identify
GNOKII Version 0.6.21
IMEI         
8634ХХХХХХХХХХХ
Manufacturer 
huawei
Model        
E173
Product name 
E173
Revision     
11.126.16.17.209 
Для отправки смс нужно выполнить комманду:
PHP код:
echo "test" gnokii --sendsms '+7905ХХХХХХХ' 
Нажмите на изображение для увеличения
Название: modem.png
Просмотров: 1433
Размер:	12.2 Кб
ID:	625

Только русские символы не прокатывают, приходят иероглифы. Кто знает как поправить, пишите.
Sirocco вне форума   Ответить с цитированием
Старый 19.11.2012, 21:53   #2
Sirocco
Senior Member
 
Регистрация: 12.10.2012
Адрес: Moscow-Voronezg
Сообщений: 272
Вес репутации: 0
Sirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant future
По умолчанию

Только русские символы не прокатывают, приходят иероглифы. Кто знает как поправить, пишите.
Sirocco вне форума   Ответить с цитированием
Старый 20.11.2012, 03:42   #3
andr128
Senior Member
 
Аватар для andr128
 
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604
andr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond repute
По умолчанию

Спасибо, зачет.
Пока еще не ставил, но обязательно попробую.
Для полного счастья ещё приём нужен.
Тогда можно через телефон управлять умным домом
Ну и наверно проверка баланса.
andr128 вне форума   Ответить с цитированием
Старый 20.11.2012, 22:22   #4
Sirocco
Senior Member
 
Регистрация: 12.10.2012
Адрес: Moscow-Voronezg
Сообщений: 272
Вес репутации: 0
Sirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant future
По умолчанию

Цитата:
Сообщение от andr128 Посмотреть сообщение
Для полного счастья ещё приём нужен.
Приём делается как-то так:
команда перевода модема в режим чтения смс
PHP код:
gnokii --smsreader 
После этого все входящие смс выводятся в консоль, а также ранее полученные, но не прочитанные, лежащие в памяти симки.

И ещё команды:
  • Работа с адресной книгой
Вывод содержимого адресной книги (на сим карте) начиная с первой записи по последнюю
PHP код:
gnokii --getphonebook SM 1 end 
Или вывод в файл
PHP код:
gnokii --getphonebook SM 1 end --vcard telKniga.txt 
Восстановление из файла
PHP код:
gnokii --writephonebook --vcard telKniga.txt 
  • Чтение SMS из памяти SIM
SM - указывает на то, что читать из SIM
1 - читать с первого сообщения
end - читать по последнее сообщение
PHP код:
gnokii --getsms SM 1 end 
Удалить SMS
PHP код:
gnokii --deletesms SM 1 
Удалится SMS №1 из памяти SIM карты

Вообще в проге есть хелп, но почему-то многое не работает.
И, кстати, пока в конфиге был указан модем ttyUSB0 - можно было только отправлять смс, читать из памяти не хотел, и принимать тоже. После того как указал ttyUSB2 - заработало.

P.S. Может кто привести пример скрипта, запустив на исполнение который, чтобы отправлялась sms?
Если будет пример запуска этого скрипта из крона, то ваще супер.
А если кто даст готовое решение, или подскажет как сделать контроль наличия интернета, (то есть пингуем сайт, если пинг есть, то всё ok, если пинг пропал, то смс отправляется, если пинг после пропадания вновь появился, то тоже смс) то ваще не будет предела моему счастью. А то сам я в линуксах ваще не шарю, разбираться неделями буду, а хочется поскорее )))
Sirocco вне форума   Ответить с цитированием
Старый 21.11.2012, 05:07   #5
andr128
Senior Member
 
Аватар для andr128
 
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604
andr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond repute
По умолчанию

Вот пример скрипта без крона проверяет наличие интернета каждую минуту

Код:
#!/bin/sh

PINGADRESS=8.8.8.8 # любой внешний адрес интернета

sleep 60
while true; do 
    if ping -c 1 $PINGADRESS > /dev/null 2>&1 ; then
        sleep 60
    else
        /path/sms_send.sh # скрипт отсылающий ваш СМС
    fi
done

exit 0
скопировать его в папку /usr/sbin
и задать атрибуты 775

Код:
chmod 775 /usr/sbin/myscript.sh
для автозапуска в фоне
прописать в /etc/rc.local
Код:
...
/usr/sbin/myscript.sh &
...

Пример усовершенствованного скрипта, как вы и хотели при появлении интернета тоже отсылается сообщение. Вместо скрипта отсылки СМС здесь используются тестовые команды echo.
В отличии от предыдущего скрипта здесь проверяется еще дополнительная переменная INET, что дает скрипту некоторую гибкость, не посылается несколько раз одно и тоже сообщение о наличии интернета или его отсутствии.

Код:
#!/bin/sh

PINGADRESS=192.168.1.4 # любой внешний адрес интернета
INET=1

sleep 60 #начальная пауза (важна при загрузке)

while true; do 
if ping -c 1 $PINGADRESS > /dev/null 2>&1 ; then
	if [ $INET == 0 ] 
	then 
	  INET=1;
	  echo "Yes Internet again"; # скрипт отсылающий СМС
	fi;
	sleep 60
    else
       if [ $INET == 1 ] 
	then 
	 INET=0;
         echo "No Internet"; # скрипт отсылающий СМС
	fi;	
    fi;
done

exit 0

Последний раз редактировалось andr128; 21.11.2012 в 12:47. Причина: усовершенствование скрипта
andr128 вне форума   Ответить с цитированием
Старый 21.11.2012, 09:38   #6
Sirocco
Senior Member
 
Регистрация: 12.10.2012
Адрес: Moscow-Voronezg
Сообщений: 272
Вес репутации: 0
Sirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant future
По умолчанию

Спасибо, попробую вечером!

[off]
А можете разъяснить строчку детально:
if ping -c 1 $PINGADRESS > /dev/null 2>&1 ;
Что значит ping -c 1? Что за атрибут "-с" и "1"? И что такое /dev/null 2>&1? Видимо интерфейс с которого пингует? Что значит "&1" ?
Спасибо
[/off]
Sirocco вне форума   Ответить с цитированием
Старый 21.11.2012, 12:36   #7
andr128
Senior Member
 
Аватар для andr128
 
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604
andr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond repute
По умолчанию

/dev/null 2>&1 все сообщения со стандартного терминала в мусорку.
вот разъеснение

-с 1 пинговать 1 раз

man ping

Последний раз редактировалось andr128; 21.11.2012 в 12:43.
andr128 вне форума   Ответить с цитированием
Старый 04.12.2012, 18:59   #8
goldskif
Member
 
Регистрация: 05.11.2012
Сообщений: 36
Вес репутации: 0
goldskif is an unknown quantity at this point
Отправить сообщение для goldskif с помощью ICQ Отправить сообщение для goldskif с помощью Skype™
По умолчанию

Кириллица в смсках заменяется спецсимволами специальной кодировки. Вот их и нужно знать. Именно поэтому количество знаков, которые может передать 1 смска на кириллице меньше, чем обычно.
http://habrahabr.ru/post/133085/

Последний раз редактировалось goldskif; 06.12.2012 в 18:41.
goldskif вне форума   Ответить с цитированием
Старый 05.12.2012, 00:00   #9
Sirocco
Senior Member
 
Регистрация: 12.10.2012
Адрес: Moscow-Voronezg
Сообщений: 272
Вес репутации: 0
Sirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant future
По умолчанию

А как должен выглядеть скрипт, отсылающий смс?
В файле так должно быть написано?:
PHP код:
#!/bin/sh
echo "test" gnokii --sendsms '+7905ХХХХХХХ' 
или ещё что-то?
И этот файл с расширением .sh запускать?
Sirocco вне форума   Ответить с цитированием
Старый 05.12.2012, 09:48   #10
andr128
Senior Member
 
Аватар для andr128
 
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604
andr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond repute
По умолчанию

Я еще не разбирался с пакетом gnokii. Если вы отсылали таким образом из терминала, то тогда все правильно. Единственное файлу нужно задать атрибуты 755.

Можете прямо в скрипт, который я вам выше давал прописать.

Код:
#!/bin/sh

PINGADRESS=192.168.1.4 # любой внешний адрес интернета
INET=1

sleep 60 #начальная пауза (важна при загрузке)

while true; do 
if ping -c 1 $PINGADRESS > /dev/null 2>&1 ; then
	if [ $INET == 0 ] 
	then 
	  INET=1;
	  echo "Yes Internet again"  | gnokii --sendsms '+7905ХХХХХХХ'; # послать СМС
	fi;
	sleep 60
    else
       if [ $INET == 1 ] 
	then 
	 INET=0;
         echo "No Internet" | gnokii --sendsms '+7905ХХХХХХХ'; # послать СМС
	fi;	
    fi;
done

exit 0
...
Цитата:
И, кстати, пока в конфиге был указан модем ttyUSB0 - можно было только отправлять смс, читать из памяти не хотел, и принимать тоже. После того как указал ttyUSB2 - заработало.
У модема может быть несколько каналов (обычно 3). Один для управления, другой для модема, третий х.з... Так что все правильно опытным путем нашел - молодец!

Последний раз редактировалось andr128; 05.12.2012 в 09:59.
andr128 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 16:47. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика