raspi2経由でraspi3へsshするには、
ssh-keygen -t rsa -b 4096 として、3回リターン
ssh-copy-id pi@raspi3のIPアドレス ここでyesのあと、ログインのためのパスワード
ssh pi@raspi3のIPアドレス パスワードなしでSSH使えるようになります。
ssh-keygen -t rsa -b 4096 として、3回リターン
ssh-copy-id pi@raspi3のIPアドレス ここでyesのあと、ログインのためのパスワード
ssh pi@raspi3のIPアドレス パスワードなしでSSH使えるようになります。
これを使って、raspi2からraspi3の操作(赤外線等)をすることに。
import subprocess
from bottle import route, run, template
@route('/***/***')
def index():
return '''
<h1>照明リモコン</h1>
<form action="/press_button" method="post">
<button type="submit" style="font-size:2em; padding:20px 40px;">
ON / OFF ボタンを押す
</button>
</form>
'''
@route('/press_button', method='POST')
def press_button():
cmd = ["ssh", "pi@アドレス", "python3 /home/pi/shomei.py"]
result = subprocess.run(cmd, capture_output=True, text=True)
raspi3_reply = result.stdout
raspi3_error = result.stderr
if result.returncode == 0:
return f"<h1>送信成功!</h1><p>Raspi3からの返事: {raspi3_reply}</p>"
else:
return f"<h1>エラー発生</h1><p>理由: {raspi3_error}</p>"
from bottle import route, run, template
@route('/***/***')
def index():
return '''
<h1>照明リモコン</h1>
<form action="/press_button" method="post">
<button type="submit" style="font-size:2em; padding:20px 40px;">
ON / OFF ボタンを押す
</button>
</form>
'''
@route('/press_button', method='POST')
def press_button():
cmd = ["ssh", "pi@アドレス", "python3 /home/pi/shomei.py"]
result = subprocess.run(cmd, capture_output=True, text=True)
raspi3_reply = result.stdout
raspi3_error = result.stderr
if result.returncode == 0:
return f"<h1>送信成功!</h1><p>Raspi3からの返事: {raspi3_reply}</p>"
else:
return f"<h1>エラー発生</h1><p>理由: {raspi3_error}</p>"
# Raspi 3側の /home/pi/shomei.py の中身
import subprocess
try:
cmd = ["sudo", "ir-ctl", "-s", "/home/pi/uoTo28.txt", "-d", "/dev/lirc0"]
subprocess.run(cmd, check=True)
print("HK9335の赤外線信号(uoTo28.txt)を送信しました。")
except subprocess.CalledProcessError as e:
print(f"ir-ctlの実行に失敗しました。エラーコード: {e.returncode}")
0 件のコメント:
コメントを投稿