私の質問は本当に簡単かもしれませんが、私はちょうど始まっていますので、助けてください。TornadoウェブサーバでPythonスクリプトを実行する
私はホームオートメーションスクリプトを実行しており、それをTornadoウェブサーバーと組み合わせようとしています。
どのような方法が最適ですか?
基本トルネードサーバー:
import tornado.ioloop
import tornado.web
import os.path
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.render('index.html')
application = tornado.web.Application([
(r"/", MainHandler)
application = tornado.web.Application([
(r"/check", MainHandler)
])
if __name__ == "__main__":
print 'Starting Server'
print 'Press ctrl+c to close'
application.listen(8888)
tornado.ioloop.IOLoop.instance().start()
とPythonスクリプト:
import RPi.GPIO as GPIO
import time
import os
motion = 14
relay = 2
GPIO.setmode(GPIO.BCM)
GPIO.setup(motion, GPIO.IN, GPIO.PUD_DOWN)
GPIO.setup(relay, GPIO.OUT)
GPIO.output(relay, GPIO.HIGH)
previous = False
current = False
while True:
time.sleep(1)
previous = current
current = GPIO.input(motion)
if current != previous:
new = "HIGH"
GPIO.output(relay, GPIO.LOW)
print("GPIO pin %s is %s" % (motion, new))
os.system("sudo omxplayer ring.mp3 &")
time.sleep(5)
else:
GPIO.output(relay, GPIO.HIGH)
print("No motions")
スクリプトで定義した 'import'できる関数が必要です –
ありがとうございました!そして、私はそれをTornadoにどのように統合できますか? – Alekzz
'import my_func from my_file'を呼び出し、竜巻コードから' my_func() 'を呼び出します。ただし、while whileループのために別のスレッドが必要な場合があります。 –