24 Listopada 2024 18:12:51
Nawigacja
· Strona Główna
· Forum

· Tomato by Shibby
· FreshTomato


Wątki na forum
Najnowsze dyskusje
· Nowe routery: UX, UC...
· DIR868l OFW asus vs ...
· [S] Asus RT-AC56U
· Szukam zaproszenia n...
· [MOD] FreshTomato-AR...
· Asus RT-AC5300 ,prob...
· archer c6 v3.20
· [S] Nighthawk R7000P...
· [S]Asus RT-AC5300 - ...
· Tanie N100 na promce...
· net z telefonu wifi+...
· Tomato - bugi/proble...
· HUAWEI z światłowodem
· Asus TUF-AX3000_V2 p...
· rt-ax88upro częste ...
· [Howto] Xpenology na...
· Jaki router pod Open...
· Ruter z tomato
· Czy to jeszcze NAS?
· RT AC66U B1
Najpopularniejsze obecnie wątki
· DIR868l OFW asus ... [10]
· Nowe routery: UX,... [0]
· [S] Asus RT-AC56U [0]
Ankieta
Jaki procesor posiada twój router?

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

Broadcom ARM
Broadcom ARM
52% [219 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: 419
Musisz zalogować się, aby móc zagłosować.
Rozpoczęto: 02/02/2015 09:38
Twoje IP
18.188.91.223
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
Router: Unifi Cloud Gateway Max
Switch: Netgear MS510TXPP
Switch: Unifi USW-Flex-Mini - szt. 2
Wi-Fi: Unifi U6-Lite - szt. 2
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM #1: Synology SA6400
VM #2: Debian, WWW
VM #3: Home Assistant OS
 
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
Router: Unifi Cloud Gateway Max
Switch: Netgear MS510TXPP
Switch: Unifi USW-Flex-Mini - szt. 2
Wi-Fi: Unifi U6-Lite - szt. 2
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM #1: Synology SA6400
VM #2: Debian, WWW
VM #3: Home Assistant OS
 
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.
Router: Unifi Cloud Gateway Max
Switch: Netgear MS510TXPP
Switch: Unifi USW-Flex-Mini - szt. 2
Wi-Fi: Unifi U6-Lite - szt. 2
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM #1: Synology SA6400
VM #2: Debian, WWW
VM #3: Home Assistant OS
 
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.
Router: Unifi Cloud Gateway Max
Switch: Netgear MS510TXPP
Switch: Unifi USW-Flex-Mini - szt. 2
Wi-Fi: Unifi U6-Lite - szt. 2
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM #1: Synology SA6400
VM #2: Debian, WWW
VM #3: Home Assistant OS
 
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
Router: Unifi Cloud Gateway Max
Switch: Netgear MS510TXPP
Switch: Unifi USW-Flex-Mini - szt. 2
Wi-Fi: Unifi U6-Lite - szt. 2
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM #1: Synology SA6400
VM #2: Debian, WWW
VM #3: Home Assistant OS
 
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: 93

· Użytkowników online: 1
tamtosiamto

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

Maniek91PL
06-11-2024 22:37
dzięki !Grin

maxikaaz
29-10-2024 14:27
@Maniek91PL - Administration=> Admin Access, i tam masz "Allow Wireless Access" do zaznaczenia

Maniek91PL
26-10-2024 22:07
siemka! ktoś przypomni co się ustawiało jeśli nie mogę wejść od strony wifi do tomato? od lan działa

overflow2
04-10-2024 17:34
Kupowałem Asusy n10u albo n12d1 ale nie widzę ich, chyba już nie produkują, Chodzi o coś nowego i taniego. Transfery niewielkie.

maxikaaz
04-10-2024 09:38
@overflow2 patrząc po dostępności funkcji w nowych kompilacjach, to chyba nawet WRT54G/GL jeszcze ma OpenVPN, albo jakiś odpowiednik... zależy, na jakie transfery liczysz.

overflow2
30-09-2024 20:53
Jaki aktualnie najtańszy router do tomato do openvpn?

maxikaaz
27-07-2024 15:07
@servee - na początek router do rozebrania i obejrzenia, ciężko wróżyć tak tylko po objawach

maxikaaz
27-07-2024 14:55
@servee - cały kontroler nie pada tak sobie z powodu "zbiegu okoliczności",
więc prawdopodobnie gdzieś przepięcie.

servee
25-07-2024 13:33
@maxikaaz: działało, aż pewnego pięknego dnia przestało działać. W tym dniu była też burza, ale to raczej zbieg okoliczności.

maxikaaz
25-07-2024 11:38
@servee - o ile problem jest w obrębie samych wyjść (dławiki, warystory), to naprawialne, ale jeśli w samym SoC - to nienaprawialne ze względu na koszta. A co było przyczyną?

95,601,920 unikalnych wizyt