Raspberry Pi 2 Model B (以下RPi)
Raspbian Jessie
Python 2.7.9
症状
Raspberry PiのGPIO26をout方向にしたとたんにRaspberry Piがダウンする(モニタ画面が移らなくなる | ssh接続が切れる)。
google検索しても同様の症状は見つからない。
犯人は自分
swio=37(つまりはGPIO26)にIO監視機能を実装し、そのスクリプトshutdownButton.pyを自動実行するようにしていた。
https://github.com/yasokada/python-151205-shutdownButton
GPIO26のdirectionをout方向にしたとたんにその監視機能にひっかかり、shutdownするという状況だった(out方向設定時にLレベルになるため)。
shutdownButton.pyをkill -9した後は、GPIO26のH,L操作は問題ないことを確認した。
備考
- 標準からはずれたことをするときは、それが明示されるようにしましょう
- 自分が作ったものであっても、いろいろやっているうちにそれに気づかなくなります
セットアップやコーディングなどにおいて、標準からはずれる方法をするときはある。その時は、「標準からどのようにはずれているか」が明示されるような仕組みを作ることで、原因不明の症状の原因をつかめるようになるかもしれません。
対策案 > .bashrcでの明示
上記の症状の場合、shutdownButton.pyが実行されていることが明示されるといい。
.bashrcに以下を追加しておく。
### 2018/03/01 to notify that my Python scripts are running
echo "================================="
echo "following Python scripts are running"
ps aux | grep python | awk '{print "-",$11,$12}'
ssh接続時に以下が表示される。
$ ssh -C -X -l pi 192.168.7.9
pi@192.168.7.9's password:
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon Aug 28 02:57:07 2017 from 192.168.0.132
=================================
following Python scripts are running
- python ./IPadrDisplay.py
- python ./shutdownButton.py
- python ./logFolderCopier.py
- grep --color=auto