Raspberry Pi にREBOOTとSHUTDOWNのSWを付ける

RaspberryPiでEchoLinkが何とか動きそうだが
ハングアップしたときなどにいちいち電源を引き抜くのは精神衛生上良くないので
RebootとShutdown用のSwitchを付けようとググってみたら結構みなさん同じことを
考えてらっしゃいます。
で、プログラムもそのまま参考にさせていただきました。

sudo nano switch.py  で以下のプログラムを保存する。

 

import RPi.GPIO as GPIO
import time
import os

GPIO.setmode(GPIO.BCM)
GPIO.setup(6,GPIO.IN,pull_up_down=GPIO.PUD_UP)
GPIO.setup(5,GPIO.OUT)
GPIO.output(5,GPIO.LOW)

button_previous = 1
button_current = 1
brojac = 0
flag_pressed = 0

while True:
button_current = GPIO.input(6)
flag_pressed = button_previous + button_current

if (not(flag_pressed)):
brojac += 1
else:
brojac = 0

if(button_current and (not button_previous)):
GPIO.output(5,GPIO.HIGH)
os.system(“sudo shutdown -r now”)
if((not flag_pressed) and brojac >= 100):
GPIO.output(5,GPIO.HIGH)
os.system(“sudo shutdown -h now”)
break

button_previous = button_current
time.sleep(0.03)

GPIO.cleanup()

これで、保存する。

ここでスイッチを作る。

WS000260

完成したらRaspberryPiに繋いで下記コマンドで動作実験をする。

sudo python switch.py

そして一回ボタンを押すとLEDが数秒点灯してRebootします。
次に長押しすると終了します。
(2回目のとき実行するのを忘れないように)

OKだったら起動プログラムに登録しましょう。

sudo nano /etc/rc.local 本文の最後の exit 0 の前に書きます。

sudo python /home/pi/switch.py &

保存したら再起動して動作確認。

 

以下のサイトを参考にさせて貰いました
ありがとうございました。

Raspberry Piにシャットダウンとリブートボタンを設置する

SS Wiresをやってみた。結構便利。

最近、仕事での移動が半端無く多くなったので移動中どこでもWiresでQSOができるようにと「どこでもWires」に挑戦した。 現在の主流はWiresXだがせっかく先達が作ってくれた便利なものがあるのと、WiresXに移行して余っている機器が流用できるということでWiresⅡを使うことにした。 幸い、我々の運営している「東九州Wiresネットワーク」では WiesX↔WiresⅡ↔EchoLink とこの3つがGatewayされているのでWiresⅡでも問題なし。 その上、SSWiresを使えばHRI-100が不要でPCのみで完結する。WS000035 東九州QSOルームのGateway(WiresX↔WiresⅡ) なお、SSWiresについては全面的に開発者のJM7MUU局サイトを参考にした(TNX) 使えるための必須目標は次の3つだ。
①遊んでいるノートPCを使う。
②どこからでもアクセスできる様、携帯回線(LCC)を使う。
③無線用に車に取り付けたモービルマイクとスタンバイSWを使う。 またこのモービルマイクはTM-D710とIC-706ⅡGとも切替器で兼用する。 2015-08-16 10.02.20 2015-08-16 10.02.31
①は以前、「字が小さくて俺には使えん!」と言う友人からいただいたSONYのノートPC VAIO P-50が小さくて手頃。 WindowsXPと言うのも軽くていいね。 取り敢えずは余分に入ってるソフトを全て削除し軽~くする。 勿論、ウィルス対策ソフトも不要。 ただオーディオ入力のマイクが内蔵のみで外部入力できないのでUSB-Audio変換を使うことに。それと外部での送受切替用にUSB-serial変換も必要。 そうなるとUSBポートが2つしかないのでUSBハブを使うことになる。
 2015-08-15 18.52.51 2015-08-15 18.52.48
500円ぐらいで購入したUSBハブ  以前何かに使おうと購入しておいたUSB-Audio変換 真空管タイプで電源入るとブルーに光りカッコイイ(笑) ②はこれもいただきもののdocomoのUSBドングル「L-03D」を使用。これにGlobal-IPを付与してくれるBiglobeのデータSIMを使うことにする。設定等はネット上に転がってるので簡単に見つかる。 ③SSWiresにはありがたいことに外部スタンバイに対応する機能もある。 RS-232Cポートからのコントロールが可能。先に書いたように当PCには232C端子はないのでUSB変換で使うことにしたが外付けでリレーを使って簡単なスタンバイ回路を作ってモービルマイクと接続した。 PCが小さいためか本体の音量が小さかったのでアンプを組み込んだ。 下の写真の左上、外側の黄色いのはボリュームつまみ。 右側上のケーブルはアドニスのモービルマイクと繋ぐ切替器に行くRJ-45ケーブル。そのすぐ下の黒いケーブルはUSBからの電源用。 また右下はAudio変換からのマイクケーブル。 黒いケーブルと下のケーブルの間にRS232Cのコネクタがある。2015-08-15 18.52.42 WS000036
配線は上記の通り このスタンバイSWとマイクの配線はKenwood TM-D710と同様にしてありLANケーブル切替器(4P)で切り替えて使える。ICOM様にはICOMとKenwoodの端子を変換

2015-08-16 10.15.05
するケーブルを別途作成した。  上からSSWires用、1つ開けてIC-706、その下の黒いのがTM-D710 一番下がアドニスモービルマイクへつながる。 2015-08-16 10.14.19
設置は座席のすぐ横に。 ソフトウェアのインストールに特に難しいところはない。 ①HRI-100用のWiresⅡソフトウェア ②SSWiresソフトウェア ③com0com(バーチャルCOMソフト) ④docomo L-03D (これはドングルをUSBに指すと自動的にドライバが導入される)勿論、他のドングルでもOK。 以上をダウンロードしながらインストールしていくが以下を参考に進める。
SSWiresインストール方法

2015-08-15 19.00.35
com0comの設定画面 Com4がWires、5がSSWiresです。
com0comはちょっと癖がある。
wiresⅡとsswirs側でCOMを決めてその二つをつなぐ設定でcom0comでブリッジを作る。
com0comは最初に一回作ったらあとは全く何もしなくていい。
WiresⅡのCOM番号をcom0comの番号に合わせようとするとNGになる。
2015-08-15 18.59.37
WiresⅡの設定画面 Com4になっている。 2015-08-15 18.59.03
SSWiresの設定画面。 上がWiersとのリンク、Com5になっている。 下が外部スタンバイ用でCom19を使っている。 要はWiresⅡとSSWiresのそれぞれのCOMポートをcom0comで繋いで上げる設定になる。SSWiresの方はそれに外部コントロール用のポート設定が必要。 2015-08-15 19.02.20
L-03Dの方は付属のソフトウェアでは起動時の自動接続設定がうまく行かなかったのでダイヤルアップ接続のところに追加して作成した。 これだと途中電波の悪いところで接続が切れても直ぐに繋ぎ直してくれる。
2015-08-15 18.54.30
無事ルームに繋がった状態。 スタンバイSWをオンにすると左側SSWiresのPTT部分が黄色になり送信してくれる。 これで完成したが使い勝手はとても良好。 いつでもどこからでも繋がる新しいハムバンドのリグを一台追加購入した感じだ。 ただ私の場合、モービルマイクを使うことを前提としたのでマイク入力で苦労した。みなさんのレポートによるとマイクの声が小さく外部(車の騒音)ノイズがとても大きく走りだすと聞こえないとの事。 色々と調べてたどり着いたのはこのPCの内蔵マイクがUSB-Audioで外部マイクをつないでいるにも関わらず、WiresⅡでマイクにチェック入れると内蔵マイクも生きてしまうと言うこと。 この内臓マイクを切断することができず結局TiVSoundと言うフリーのミキサーソフトを導入してマイクキャンセルすることでやっと解決できた。 起動時の様子は下記から https://youtu.be/O2Kv7msYnC4 以上、備忘録としてUPする。