Удаленное управление роутером D-link 2500u с помощью Arduino

Так случилось что мне стало необходимо удаленно управлять АДСЛ-роутером. Фактически было необходимо удалять и добавлять правило в фаервол по нажатию кнопки на устройстве. Причем устройство должно автоматически удалять правило через не более чем 20-ть минут. И показать состояние красный — добавлено, зеленый — удалено, мигает индикатор — идет удаление или добавление.

Дело в том, что народ тупо смотрит кино,а я просто не могу работать в это время. И мне не надо так часто пользоваться Интернетом, достаточно минут 10-20-ть, чтобы отправить-передать документы и просмотреть пару сайтов. Ну и я иногда забываю выключить правило в фаерволе, и у народа Интернет вообще пропадает, пока не напомнят.

Решил сделать устройство на основе Arduino, но для начала написал небольшой php-скрипт для отладки процесса. Оказалось, что роутером можно управлять с помощью get-запросов, указывая имя пользователя и пароль в строке подключения.

Вот строки для включения/выключения правила фильтра отключающего/включающего передачу по ай-пи 192.168.1.2 (ну или по диапазону адрессов, если захочется).

 

$str =  file_get_contents( "http://$user:$pass@$router_root/scoutflt.cmd?action=add&fltName=AUTO12&protocol=4&srcAddr=192.168.1.2-192.168.1.2" );  
 
$str =  file_get_contents( "http://$user:$pass@$router_root/scoutflt.cmd?action=remove&rmLst=AUTO12" );

Несколько запросов с добавлением не создают дублей правил в фаерволе. Индикатором выполнения может служить наличие строки AUTO12 в ответе запроса. Данные строки отлично работают с компьютера, теперь можно делать устройство.

Продолжение проекта следует.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *