如何使用Paramiko将参数从一个Python脚本远程传递到另一个Python脚本?

时间:2016-06-12 08:11:08

标签: python paramiko

我正在尝试将变量从Python代码传递给另一个。

这是我的测试代码(它在我的电脑上运行,在RaspberryPi上没有)

script.py

import paramiko
from flask import Flask
import sys

app = Flask(__name__)

@app.route('/')
def index():
    return "Index"

@app.route('/led')
#def led(state):
 def led():
     #state = 'on'
     ssh = paramiko.SSHClient()
     ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
     ssh.connect('myip', username = 'mypi', password = 'mypass')
     stdin, stdout, stderr = \
     ssh.exec_command('python /home/pi/Shield/led.py')
     return "LED ON"
    #return led(state)

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=5000)

if __name__ == "__led__":
    led()

这是我的RPi上的脚本:

led.py

import time
import os
import sys
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
GPIO.setup(11,GPIO.OUT)

state = sys.argv[1]

state = 'on'

if state == 'on'
     GPIO.output(11,True)
     time.sleep(1)
     GPIO.output(11,False)
     time.sleep(1)
GPIO.cleanup()

上面的代码有效(LED闪烁,如果我将我的URL更改为0.0.0.0:5000/led),但它根本不优雅,我需要做类似的事情来关闭它,这是愚蠢的。 / p>

可以将state变量从script.py传递到led.py吗?

我将有2个按钮,开/关。

0 个答案:

没有答案