2017-08-22 11 views
3

サーバーとして機能するラズベリーに接続するparamikoのPythonスクリプトを開始します。その後、ラズベリーにたった後、それは、このようなスクリプトは、(別のPCからのArduinoにデータを送信するために)を開始:SSHのシェルでPythonスクリプトを開始

import tty 
import sys 
import termios 
import serial 
import os 

arduino = serial.Serial('/dev/ttyUSB0' , 9600) 

x = "./mjpg_streamer -i \"./input_uvc.so -d /dev/video0 -y\" -o \"./output_http.so -w ./www\"" 
os.system(x) 


orig_settings = termios.tcgetattr(sys.stdin) 

tty.setraw(sys.stdin) 
x = 0 
while x != chr(27): # ESC 
    x=sys.stdin.read(1)[0] 
    arduino.write(x) 
termios.tcsetattr(sys.stdin, termios.TCSADRAIN, orig_settings) 

このコードは大丈夫働く、raw_inputの種類だけで簡単にします。

私はsshによってラズベリーに自動的に接続し、上のコードの入力を求めるPythonスクリプトを開始したいと思います。 私はすでに上記のスクリプトを使って新しいシェルを開くなどの何かを考えました...

答えて

4

クイックアンサー、パスワードをsshコマンドに挿入するのに役立つオプションはありません。パスワードプロンプトを表示せずにsshを使用するには、共有キーペアを設定する必要があります。インターネットで検索すると、次のような回答が得られます。http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id

最初に、キーペアを設定します。通常のsshを使って成功したかどうかを確認します。最後に、あなたのpythonスクリプトに、sshを扱ういくつかのコードを追加します。

関連する問題