コンテンツにスキップ

Hostapd sw2

stapdとWifiClientの切り替え(SwitchBrick(#117)使用)

前項: 「hostapdとWifiClientの切り替え」が行ってあることが前提です。

切り替えをSwitchBrick(#117)で行うことが出来るように、各種変更します。


切り替えの検出用スクリプト

~/.ap/toggle_sw.pyとして、切り替えをしたか判定するスクリプトを書いて配置します。

~/.ap/toggle_sw.py

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import RPi.GPIO as GPIO
import time
import os

LEDPIN = 4
SWPIN = 5   #LimitSwitch pin


GPIO.setwarnings(False)
GPIO.setmode( GPIO.BCM )
GPIO.setup( LEDPIN, GPIO.OUT )
GPIO.setup( SWPIN, GPIO.IN)

if(GPIO.input(SWPIN) ):
    os.system("echo 1 > /home/pi/.ap_mode")
else:
    os.system("echo 0 > /home/pi/.ap_mode")

これにより、~/.ap_modeをスイッチのON,OFFで書き換えれるようにします。


起動時に自動実行

これを/etc/rc.localに以下のように記述します

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
...

set -- $_IP
jupyter notebook --ip=$1 --notebook-dir=/home/pi --config=/home/pi/.jupyter/jupyter_notebook_config.py &

#### add this code !
python /home/pi/.ap/toggle_sw.py
####

bash /home/pi/.ap/toggle_ap_wifi.sh

exit 0

hostapdとWifiClientの切り替えを行った際に追加したbash /home/pi/.ap/toggle_ap_wifi.shの上に記述します。


使い方

スイッチをONないしはOFFにした後に再起動をかけることで、任意のモード(AP or Wifi)にすることが出来ます。