|
|
Строка 279: |
Строка 279: |
| ########################## | | ########################## |
| # end of wireless bits | | # end of wireless bits |
| </syntaxhighlight>
| |
|
| |
| === Автоматическое переподключение при проблемах с соединением ===
| |
|
| |
| Способ заимствован [http://alexba.in/blog/2015/01/14/automatically-reconnecting-wifi-on-a-raspberrypi/ на сайте alexba.in].
| |
|
| |
| Допустим, контроллер подключён к роутеру с адресом <code>192.168.0.1</code> через интерфейс <code>wlan1</code>:
| |
| # Создайте в папке <code>/root</code> скрипт <code>wifi_autoconnect.sh</code>:
| |
| #:<syntaxhighlight lang="bash">mcedit /root/wifi_autoconnect.sh</syntaxhighlight>
| |
| #:с содержанием:
| |
| #:<syntaxhighlight lang="bash">
| |
| #!/bin/bash
| |
|
| |
| # Подставьте имя интерфейса
| |
| WLANINTERFACE=wlan1
| |
| # Подставьте адрес роутера или сервера в интернете, доступ к которому будет проверяться
| |
| SERVER=192.168.0.1
| |
|
| |
| PATH="/bin:/sbin:/usr/local/sbin:/usr/sbin:$PATH"
| |
| # Only send two pings, sending output to /dev/null
| |
| ping -I ${WLANINTERFACE} -c2 ${SERVER} > /dev/null
| |
|
| |
| # If the return code from ping ($?) is not 0 (meaning there was an error)
| |
| if [ $? != 0 ]
| |
| then
| |
| # Restart the wireless interface
| |
| ifdown --force ${WLANINTERFACE}
| |
| ifup ${WLANINTERFACE}
| |
| fi
| |
| </syntaxhighlight>
| |
| # Сделайте файл исполняемым, выполнив команду
| |
| #:<syntaxhighlight lang="bash">
| |
| chmod +x /root/wifi_autoconnect.sh
| |
| </syntaxhighlight>
| |
| # Запланируйте выполнение скрипта каждую минуту:
| |
| #: Добавьте в конец файла <code>/etc/crontab</code> строку
| |
| #:<syntaxhighlight lang="bash">
| |
| * * * * * root /root/wifi_autoconnect.sh
| |
| # Обязательно добавьте пустую строку в конец файла
| |
| </syntaxhighlight> | | </syntaxhighlight> |
|
| |
|