![]() |
|
|
#11 |
|
Senior Member
Регистрация: 30.05.2011
Возраст: 51
Сообщений: 291
Вес репутации: 0 ![]() |
Как правильней будет послать из openwrt команду (reboot) в роутер (192.168.1.1) для его перезагрузки?
У меня сейчас инет по DSL. На Windows в автозагрузке сейчас работает программа со следующим кодом: Код:
; Компилятор - PureBasic 4.51.
ProgramFilename.s=ProgramFilename() ; Имя и путь к исполняемому файлу данной программы
ProgName.s=GetFilePart(ProgramFilename)
a = CreateSemaphore_(#Null,0,1,@ProgName) ; Если прога уже запущена, то завершаем работу этой копии программы.
If a<>0 And GetLastError_()=#ERROR_ALREADY_EXISTS
MessageRequester(ProgName, "Программа уже запущена", #MB_OK|#MB_ICONWARNING)
CloseHandle_(a)
End
EndIf
InitNetwork()
Procedure.s SendModemData(Connect, Command.s)
Protected Result.s="", Count=0, x
Command=Command+Chr(13)+Chr(10)
SendNetworkData(Connect, @Command, Len(Command))
Repeat
Delay(20)
If NetworkClientEvent(Connect)=#PB_NetworkEvent_Data
*mem=AllocateMemory(10000)
If *mem
ReceiveNetworkData(Connect,*mem,10000)
In.s=PeekS(*mem)
FreeMemory(*mem)
Result=Result+In
EndIf
EndIf
Count+1
Until Count>=80
ProcedureReturn Result
EndProcedure
Procedure RestartModem()
Connect=OpenNetworkConnection("192.168.127.1", 23)
If Connect
Delay(100)
SendModemData(Connect, "admin") ; Логин модема.
Delay(1000)
SendModemData(Connect, "admin") ; Пароль модема.
Delay(1000)
SendModemData(Connect, "reboot") ; Команда перезагрузки модема.
Delay(4000)
CloseNetworkConnection(Connect)
EndIf
EndProcedure
Repeat
Delay(30000) ; 30 секунд ожидания.
x1=0 : x2=0
Connect=OpenNetworkConnection("www.google.com", 80)
If Connect
x1=1
CloseNetworkConnection(Connect)
EndIf
Delay(1000)
Connect=OpenNetworkConnection("www.ya.ru", 80)
If Connect
x2=1
CloseNetworkConnection(Connect)
EndIf
If x1=0 And x2=0
RestartModem()
For i=1 To 20
Delay(10000) ; 200 секунд ожидания. Необходимо чтобы модем успел перезагрузиться.
Next i
EndIf
ForEver
Последний раз редактировалось St@rz; 22.05.2013 в 12:36. |
|
|
|
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|