28 Marca 2024 18:14:06
Nawigacja
· Strona Główna
· Forum

· Tomato by Shibby
· FreshTomato


Wątki na forum
Najnowsze dyskusje
· [Howto] Xpenology na...
· [MOD] Tomato64 (x86-64)
· [MOD] FreshTomato-AR...
· Optware na CIFS
· RT-AX56U - Status kl...
· Asus TUF-AX3000_V2 p...
· [MOD] FreshTomato-MI...
· Multiroom N z wykorz...
· [S] Asus RT-AC68U E1
· [S] ASUS RT-AC68U
· Rozłączanie klient...
· serwer VPN za wan'em
· Przejscie z dyndns f...
· WDR3600 i problem z WAN
· Jaki USB hub do syno...
· [S] Karta sieciowa Q...
· Asus rt-n18u port fo...
· Netflix dzielenie ko...
· Nextcloud konfigurac...
· Netgear WNR3500L
Najpopularniejsze obecnie wątki
· [MOD] FreshTomato... [869]
· [MOD] Tomato64 (x... [27]
· [Howto] Xpenology... [14]
Ankieta
Jaki procesor posiada twój router?

Broadcom MIPSEL
Broadcom MIPSEL
36% [151 głosów]

Broadcom ARM
Broadcom ARM
52% [216 głosów]

Atheros
Atheros
5% [22 głosów]

Marvell
Marvell
1% [4 głosów]

Ralink
Ralink
1% [3 głosów]

Intel/AMD/VIA
Intel/AMD/VIA
1% [5 głosów]

Żaden z powyższych
Żaden z powyższych
4% [15 głosów]

Ogółem głosów: 416
Musisz zalogować się, aby móc zagłosować.
Rozpoczęto: 02/02/2015 09:38
Twoje IP
35.172.193.238
Zobacz wątek
OpenLinksys » :: PORTAL :: » Tutoriale
 Drukuj wątek
Smstools3 - sterowanie routerem za pomocą SMSów
shibby
Witajcie,

W temacie [url='https://openlinksys.info/forum/viewthread.php?thread_id=18449']Obsługa SMS przez modem 3G podlaczony pod Tomato[/url] rozwinęła się dość ciekawa rozmowa na temat możliwości wydawania routerowi komend za pomocą SMSów. To skłoniło mnie to próby skompilowania paczki smstools3 a oto efekty.

Tutorial jest wzorowany na opisie @obsego z forum [url='http://eko.one.pl/?p=openwrt-smstools3']eko.one.pl[/url]


Po wywołaniu komendy "switch3g" modem zostanie wykryty i pojawią się interfejsy /dev/ttyUSB0 (1/2/3/itd.). W moim przypadku odpowiednim interfejsem do komunikacji z modemem Huawei E173 jest interfejs /dev/ttyUSB0. Od razu uczulam o zapewnienie odpowiedniego zasilania dla modemu. Mój modem nie chciał stabilnie działać wpięty bezpośrednio do portu USB routera. Dopiero po zastosowaniu aktywnego HUBa USB modem zaczął pracować stabilnie.

Instalujemy paczkę z mojego repozytorium:

Cytat

ipkg update
ipkg install smstools3


W efekcie czego zainstalowane zostanie narzędzie "smsd".

Tworzymy katalogi to obsługi spoolera:

Cytat

mkdir /opt/var/spool/sms/outgoing
mkdir -p /opt/var/spool/sms/checked
mkdir -p /opt/var/spool/sms/failed
mkdir -p /opt/var/spool/sms/incoming
mkdir -p /opt/var/spool/sms/report
mkdir -p /opt/var/spool/sms/sent


Tworzymy plik konfiguracyjny

Cytat

devices = GSM1
outgoing = /opt/var/spool/sms/outgoing
checked = /opt/var/spool/sms/checked
failed = /opt/var/spool/sms/failed
incoming = /opt/var/spool/sms/incoming
report = /opt/var/spool/sms/report
sent = /opt/var/spool/sms/sent
eventhandler = /opt/bin/obsluga_sms

logfile = /var/log/smsd.log

[GSM1]
init = ATE0
device = /dev/ttyUSB0
incoming = yes
#pin = 1111
baudrate = 19200
rtscts = no


i zapisujemy go jako /opt/etc/smsd.conf

Jak widzimy ścieżki do spoolera się pokrywają. W device wpisujemy nasz interfejs do komunikacji z modemem. Jeżeli karta wymaga odblokowania kodem PIN to należy zmienić na właściwy i odkomentować linię. Linia "eventhandler" wskazuje na podprogram, który zostanie wykonany każdorazowo przy obsłudze SMSa. My zajmiemy się jedynie analizą przychodzących (RECEIVED) smsów.

Moja zawartość pliku /opt/bin/obsluga_sms jest następująca:

Cytat

#!/bin/sh

ADMINS="48xxxxxxxxx 48xxxxxxxxx"

if [ $1 != "RECEIVED" ]; then
exit 0
fi

TEL=$(awk '/^From:/ {print $2}' $2)

for CHECK in $ADMINS
do
if [ "$CHECK" == "$TEL" ]; then
ALLOWED=1
fi
done;

if [ "$ALLOWED" == "1" ]; then

if grep -q status $2; then
echo "To: $TEL" > /tmp/sms
echo "" >> /tmp/sms
echo `uptime` >> /tmp/sms
echo "WAN IP: `nvram get wan_ipaddr`" >> /tmp/sms
mv /tmp/sms /opt/var/spool/sms/outgoing
fi

if grep -q reboot $2; then
reboot
fi

fi

exit 0


Oczywiście plik musi mieć prawa execute:

Cytat

chmod +x /opt/bin/obsluga_sms


W polu ADMINS wpisujemy numery telefonów, które mogą "rozkazywać" naszemu routerowi. Jeżeli jest ich kilka to numery należy oddzielić spacją. Powyższy skrypt reaguje na dwie komendy:

Cytat

if grep -q status $2; then
if grep -q reboot $2; then


jak widać są to "status" i "reboot". Status wysyła uptime routera, obciążenie (CPU Load) oraz aktualny adres WAN IP. Reboot zwyczajnie restartuje router. Oczywiście skrypt można rozbudowywać o kolejne komendy. Na forum padały propozycje by np. za pomocą komend sms włączać i wyłączać dostęp SSH lub startować/wyłączać proces Transmission. Nic prostszego dla kogoś kto choć trochę lizną basha.

Na koniec pozostało uruchomić proces komendą:

Cytat

smsd -c/opt/etc/smsd.conf


by zautomatyzować proces w przypadku restartu routera można do skrytu INIT dodać:

Cytat

sleep 20
switch3g
sleep 10
smsd -c/opt/etc/smsd.conf


Oczywiście wcześniej musimy umieścić kod odpowiedzialny za montowanie dysku jako /opt.

Za pomocą tego programu możemy również wysyłać SMSy. W tym celu tworzymy plik /tmp/sms o zawartości

Cytat

echo "To: 48xxxxxxxxx" > /tmp/sms
echo "" >> /tmp/sms
echo "Wiadomosc testowa" >> /tmp/sms


w efekcie czego otrzymujemy plik o zawartości:

Cytat

To: 48xxxxxxxxx

Wiadomosc testowa


By ją wysłać wystarczy przenieść plik do katalogu wysyłkowego:

Cytat

mv /tmp/sms /var/spool/sms/outgoing


Jest to ciekawa opcja do użycia, którą można użyć w różnego rodzaju skryptach np. logwatchu, który może analizować nieudane próby logowania na router i poinformować nas o tym SMSem.
Edytowany przez shibby dnia 05-05-2015 19:56
Proxmox VE: i7-7700T, 48GB RAM, 3x2TB SSD, 1x1TB SSD, 512GB NVMe, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology DS920+
VM VPS: Debian, WWW, Home Assistant
Switch: Netgear MS510TXPP
Switch: Ubiquiti USW-Flex-mini - szt. 2
Wi-Fi: Ubiquiti U6-Lite - szt. 2
 
newcomer
Jestem zainteresowany opisaną tutaj funkcjonalnością. Mam jednak pytanie: czy zamiast dedykowanego modemu 3G można wykorzystać stary smartphone np. samsung galaxy S i9000?

Próbowałem ten telefon połączyć przez usb z routerem (Tomato)- ustawiłem poprawnie mode z PDA na USB korzystając z *#7284* jednak nie dało to zamierzonego efektu. Czy ktoś próbował podobnego tandemu i może nakierować na rozwiązanie?
 
shibby
nie próbowałem podpinać telefonu. Wszystko sprowadza się do pytania czy uda ci się sprawdzić by router wykrył telefon i dało się przez niego wykonywać komendy.

Ja powiem szczerze uwielbiam tą funkcjonalność, nawet w tak ograniczonej formie. Dziś zdalnie wykonałem niefortunną komendę iptables i zablokowałem sobie dostęp do routera. Wystarczył sms z komenda "reboot" i po chwili już miałem dostęp do routera Smile
Proxmox VE: i7-7700T, 48GB RAM, 3x2TB SSD, 1x1TB SSD, 512GB NVMe, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology DS920+
VM VPS: Debian, WWW, Home Assistant
Switch: Netgear MS510TXPP
Switch: Ubiquiti USW-Flex-mini - szt. 2
Wi-Fi: Ubiquiti U6-Lite - szt. 2
 
pit_i_mat
A jak to skonfigurować dla ZTE MF195?
Zmieniłem:

device = /dev/ttyUSB0

na

device = /dev/ttyACM0

Modem odpiera SMS'y i wykonuje skrypt-takie testowe polecenie. Ale nie wysyła wiadomości zwrotnej :(
 
shibby
zrób testówkę. Wykonaj kolejno komendy z konsoli:

Cytat

echo "To: $TEL" > /tmp/sms
echo "" >> /tmp/sms
echo "SMS testowy" >> /tmp/sms
mv /tmp/sms /opt/var/spool/sms/outgoing


oczywiście zamiast $TEL wstaw swój numer zaczynając od 48. Jeżeli ścieżka do outgoing jest inna to też ją popraw. Po wydaniu ostatniej komendy smsd powinno wysłać ci testowego smsa. Może to potrwać nawet minutę. Wtedy będziesz miał pewność czy to oby na pewno coś nie tak z usługą smsd.
Proxmox VE: i7-7700T, 48GB RAM, 3x2TB SSD, 1x1TB SSD, 512GB NVMe, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology DS920+
VM VPS: Debian, WWW, Home Assistant
Switch: Netgear MS510TXPP
Switch: Ubiquiti USW-Flex-mini - szt. 2
Wi-Fi: Ubiquiti U6-Lite - szt. 2
 
pit_i_mat
Niestety, ale nie działa :(
W logu znalazłem


Command is sent, waiting for the answer
GSM1: <- +CMS ERROR: 96  (Invalid mandatory information)
GSM1: The modem answer was not OK: +CMS ERROR: 96 (Invalid mandatory information)
Waiting 10 sec. before retrying
GSM1: Checking if modem is ready


EDIT
Dodałem numer centrum sms i program odżył i wygląda na to, że wszystko jest OK. Wielkie dzięki za skrypty :)

EDIT2
Zapytam tak przy okazji...
Chciałbym używać modemu USB ZTE MF195 do obsługi SMS'ów i tylko SMS'ów nic więcej.
Czy da się komendami AT ustawić modem tak aby:
-łączył się tylko poprzez GSM
-łączył się w roamingu (kartę mam w sieci Play)

Wirtualny CD-ROM już wyłączyłem. Chodzi mi o to aby modem "wykastrować" z wszystkich niepotrzebnych mi funkcji.
Edytowany przez shibby dnia 06-05-2015 12:05
 
przemasisko
Takie pytanko,... Karta SIM musi być typowo internetowa, czy wystarczy zwykły starter za 5 zł z ważnością odbieranych połączeń i SMSów na 12 m-cy?
 
pit_i_mat
Ja mam zwykłą kartę Play Fresh z roczną ważnością konta Smile
 
przemasisko

Cytat

pit_i_mat napisał(a):

Ja mam zwykłą kartę Play Fresh z roczną ważnością konta Smile


OK, dzięki za info Smile
 
shibby
ja mam nju mobile z usługą powieki Wink

karta wręcz nie może być kartą typu DATA (do internetu) bo będziesz bulił horrendalne opłaty za ewentualne SMSy. Zwykły starter z długim okresem ważności konta i po temacie.
Proxmox VE: i7-7700T, 48GB RAM, 3x2TB SSD, 1x1TB SSD, 512GB NVMe, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology DS920+
VM VPS: Debian, WWW, Home Assistant
Switch: Netgear MS510TXPP
Switch: Ubiquiti USW-Flex-mini - szt. 2
Wi-Fi: Ubiquiti U6-Lite - szt. 2
 
przemasisko

Cytat

shibby napisał(a):

ja mam nju mobile z usługą powieki Wink



Właśnie tak samo pomyślałem już wcześniej i tak zrobiłem. Starter zakupiony Smile
Dzięki za wskazówki. Jak dojdzie do mnie hub, bo już brakło portów to dam znać jak to hula Smile
 
overflow2
Z tymi powiekami to trzeba uważać, bo oni wysyłają co jakiś czas sms, na który trzeba odpisać. Taka weryfikacja czy używasz karty, inaczej go blokują. Był o tym gdzieś na necie artykuł i jest nawet o tym mowa w regulaminie.
Asus RT-AC56U FT-AIO
 
shibby
to nic. Jak zablokują to się kupi następny Smile Nic strategicznego toto nie robi przecież. A ogólnie każda oferta na kartę z roczną ważnością konta ma jakiś haczyk Smile

Można też pomyśleć i dopisać do eventhandle obsługę, że jak przyjdzie sms z taką weryfikacją to niech nam wyśle powiadomienie lub niech nawet automatycznie na nią odpowie Wink Nie widziałem jeszcze takiego smsa jak wygląda więc póki co to jak wróżenie z fusów.

Można też co jakiś czas zajrzeć sobie do katalogu incoming i przeczytać wszystkie smsy jakie przyszły Smile
Proxmox VE: i7-7700T, 48GB RAM, 3x2TB SSD, 1x1TB SSD, 512GB NVMe, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology DS920+
VM VPS: Debian, WWW, Home Assistant
Switch: Netgear MS510TXPP
Switch: Ubiquiti USW-Flex-mini - szt. 2
Wi-Fi: Ubiquiti U6-Lite - szt. 2
 
przemasisko
Jeśli ktoś nie chce pamiętać, aby komendy wysyłać zawsze z małej literki wystarczy lekko zmodyfikować skrypt. Tzn. te dwie linie dodając do grep przełącznik -i.

Cytat

if grep -i -q status $2; then
if grep -i -q reboot $2; then
 
Marco76

Cytat

shibby napisał(a):
[...] ogólnie każda oferta na kartę z roczną ważnością konta ma jakiś haczyk :)


Z tych nowych ofert zapewne tak, pewnie doszli do wniosku, że się im to nie opłaca. Dlatego jak wyczułem koniec Play Fresh to szybko kupiłem trzy startery ;o) Haczyków żadnych w tej ofercie nie widzę. Jak mało powiadomień idzie (zaniki zasilania serwera tylko) to ładuję 10 zł na rok ;-P

Plus miał opcję rocznej ważności, ale trza było zmienić taryfę na konkretną a potem jeszcze sms z kodem wysłać oraz doładować konto, dopiero zaskakiwała roczna ważność.

Orange wymagał po upływie rocznej ważności też jakichś zabiegów po doładowaniu, kod się jakiś wysyłało czy cuś - nie pamiętam jaką mam taryfę, stara jakaś.
[small]Pozdrawiam, Monter
Asus RT-N18 + FreshTomato 2019.3 K26ARM USB AIO-64K-NOSMP + ILHM v2
HTPC Chieftec FLYER FI-02BC-U3 + GA-H61N-USB3 + i3-3225 + 4GB RAM + LibreELEC + Xbox DVD Remot
 
belliash
W orange mozna miec konto wazne przez rok od momentu wyslania darmowego SMSa. Nic nie stoi na przeszkodzie aby tego SMSa wysylac cyklicznie z crona zapewniajac sobie w ten sposob nielimitowana waznosc konta (do czasu zakonczenia promocji). Majac starter z Orange mozna cieszyc sie Internetem (jakis failover mozna sobie ustawic) oraz odbierac i wysylac SMSy.
Linksys WRT1900AC: OpenWrt 19.07.2
Jetway JC390F841AA34B: OpenWrt 19.07.2
 
Steel_Rat
Pozwólcie, że trochę odświerze temat. Bo spodobało mi się sterowanie routerem z SMS. Tak, że nawet stworzyłem aplikację na Adroida przez, którą można wysyłać SMS do routera. Odpada pamiętanie wszystkich komend. Aplikacja ta jest stworzona w "MIT App Inventor 2 Beta" więc przy instalacji chce dosyć dużo praw. Jak by kogoś interesowała to tu można pobrać. http://ekssite.tk/RouterSMS.apk.
Umożliwia ona wysyłanie własnych komend do routera. Na początku w opcjach podajemy numer telefonu z kierunkowym do Polski bez plusa. W "Lista poleceń" tam definiujemy komendy. Naza koment i polecenie jakie ona wysyła np. Nazwa - "Restart routera" komenda -"rebbot".

Mam pytanie nie ma ktoś skrtypu, który umożliwia przeglądanie i wysyłanie SMS przez WWW routera?
WRT3200ACN (WRT32X) + OpenWRT 18.06+światełko 150/150 Mb/s
Asus RT-AC68UvE1 + RMerlin + Entware
Netgear WNR3500Lv2 + DDWRT
 
belliash
Wszystko smiga bardzo fajnie, ale... no wlasnie:
1) Mozna tu uzyc kodu USSD aby sprawdzic stan konta?
2) Jak wyslac SMSa na krotki numer?

Połączony z 19 luty 2016 20:11:50:
Ad2: Jezeli chcemy wyslac SMSa na krotki numer, to trzeba go poprzedzic literka "s", np:


To: sXXXX

Tresc SMSa


gdzie XXXX to krotki numer.

Pytanie co z kodami USSD? :)
Edytowany przez belliash dnia 19-02-2016 20:11
Linksys WRT1900AC: OpenWrt 19.07.2
Jetway JC390F841AA34B: OpenWrt 19.07.2
 
Robertus
troszkę odświeżę temat. Panowie jak odbierać smsy przychodzące na numer modemu w tomato bo coś mi postępując zgodnie z tą instrukcją nie działa
--------------------------------
Asus RT-AC68R/U
Tomato ver. 138 AIO
 
Steel_Rat
Jaki modem? To modem HI-LINK czy nie?
WRT3200ACN (WRT32X) + OpenWRT 18.06+światełko 150/150 Mb/s
Asus RT-AC68UvE1 + RMerlin + Entware
Netgear WNR3500Lv2 + DDWRT
 
Przejdź do forum
Zaloguj
Wprowadź adres e-mail lub nazwę użytkownika

Hasło



Nie masz jeszcze konta? Zarejestruj się.

Zapomniałeś/aś hasła?
Aktualnie online
· Gości online: 29

· Użytkowników online: 0

· Łącznie użytkowników: 24,117
· Najnowszy użytkownik: Ja
Czat
Musisz się zalogować, aby opublikować wiadomość.

Adooni
24-03-2024 13:16
Guest network is currently designed to allow the first set of each band (2.4G, 5G, 5G-1) available to the AiMesh node

tamtosiamto
24-03-2024 03:03
ale w 1 jest opcja do wyboru - dla calej sieci albo rutera only i wlasnie o tym mowie, ze nie dziala

Adooni
23-03-2024 16:31
w dokumencie asusa jest ze wlasnie dla 1 ma dzialac na nodach tez

tamtosiamto
23-03-2024 15:39
tak, ale nie zmienia to faktu, ze w pierwszej nie dziala wylaczanie aimesh dla goscinnej( a powinno), czyli jest jakis bug. Mam start soft, bo to dsl-ac68 ktory nie jest juz updateowany

Adooni
22-03-2024 18:07
nie, 1 wsza bedzie wszedzie trzeba 2ga zrobic dla kazdego pasma te nie sa przenoszone

tamtosiamto
19-03-2024 19:57
czyli jak mam jedna siec goscinna to powinno dzialac separowanie gosci od noda -a nie dziala Smile

tamtosiamto
19-03-2024 19:50
@Adooni 'Only one set is available for 1 band' i tak mam-1 set dla 2.4ghz i 1 dla 5ghz-czy czegos nie rozumiemW drugiej sieci goscinnej nie ma opcji wyboru Ruter only/ All nodes

Adooni
19-03-2024 19:14
no to przeczytaj to 2 pod - 1 stet z kazdego pasma jest dopuszczony na nody. zrob 2 siec jako goscinna na danym pasmie i wtedy sprawdz

tamtosiamto
19-03-2024 14:17
@Adooni 'Guest network on AiMesh - Router only'

Adooni
18-03-2024 19:20
Asus napisał coś takiego Note: Guest network is currently designed to allow the first set of each band (2.4G, 5G, 5G-1) available to the AiMesh node. Only one set is available for each band.

70,424,661 unikalnych wizyt