Python
Linux
RaspberryPi
RSSI

特定のSSIDの電波強度RSSIを表示する(raspberry pi(linux))

More than 1 year has passed since last update.

rasbperry piにはiwconfigがあるけど、現在接続してないSSIDの強度が欲しかったので作る。
:::cd ../../usr/local/bin
:::sudo nano getsi

getsi
#!/bin/sh
sudo iwlist wlan0 scan | grep -e ESSID -e Quality

:::sudo chmod a+x getsi
できてるはず。
  ↓もっと楽な方法 (私が作りたいシステムではaliasじゃ動かなかったため、上のも残しておく)

特定のSSIDの電波強度を表示する(mac)のコメントにて指摘があった方法、aliasコマンドを利用することで、上のコマンド登録作業は不必要になります。
alias getsi="sudo iwlist wlan0 scan | grep -e ESSID -e Quality"

はいおしまい これでgetsiの登録は完了(早)

getsi叩いて確認。

test.py
import subprocess as spc
res=spc.check_output("getsi")
lis=res.split()
ss=lis.index('ESSID:"探したいSSID"')
ss=ss-2
ra=lis[ss].split("=")
RSSI=abs(int(ra[1]))
print RSSI

macと同じで0に近い方が電波強度は良いということですな。

python上でコマンド動かして出力を整形してるだけ(強引)

aliasでうまく動かなかったときは、
unalias getsiでそのコマンドを消して、上にあるようにパスのところに書き込む方式にすればうまくいくはず。