在Tornado Web服务器中运行Python脚本

阿列克兹

我的问题对您来说可能很简单,但是我才刚刚开始,所以请帮助我。

我正在运行家庭自动化脚本,并尝试将其与Tornado Web服务器结合使用。

最好的方法是什么?

基本的龙卷风服务器:

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")
本·达内尔

如果您的脚本是作为函数编写的,则可以导入并调用它。但是,由于它包含同步代码,因此您需要使用aThreadPoolExecutor从Tornado进行调用。

或者,最好将它作为子进程启动。请参阅tornado.process.Subprocess和标准库的subprocess模块。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Tornado Web服务器中运行Python脚本

来自分类Dev

登录异步Tornado(python)服务器

来自分类Dev

在Tornado Web服务器中正确使用协程

来自分类Dev

从Tornado Web框架获取服务器URL和端口

来自分类Dev

从Tornado Web框架获取服务器URL和端口

来自分类Dev

在Heroku上托管Tornado服务器

来自分类Dev

链接HTML Tornado服务器和Python文件的方法

来自分类Dev

python-fontforge无法在Tornado服务器中解析svg文件

来自分类Dev

Python Tornado文件下载

来自分类Dev

Python 3 Tornado 网站

来自分类Dev

Python Tornado:记录信息

来自分类Dev

APScheduler在Tornado Python中运行异步功能

来自分类Dev

Py文件无法在Tornado服务器上自动编译

来自分类Dev

Tornado TCP服务器/客户端进程通信

来自分类Dev

无法使SSL在Tornado上运行

来自分类Dev

Tornado Web服务器无法与AngularJS运算符一起使用

来自分类Dev

Tornado Python作为守护程序

来自分类Dev

Python Tornado:缺少WSGI模块?

来自分类Dev

Python Tornado渲染静态目录

来自分类Dev

Python Tornado:如何使这个异步?

来自分类Dev

Python Tornado SSL websocket 连接

来自分类Dev

为什么Windows中的Tornado / Flask服务器遇到请求时会窒息而死?

来自分类Dev

从Tornado中的服务器将Content-Length标头写入客户端

来自分类Dev

Python Tornado Web服务Cron重新启动方式如何?

来自分类Dev

Python / Tornado类包装器缓存问题

来自分类Dev

Tornado 中的自定义装饰器

来自分类Dev

在Tornado Python中从RequestHandler访问URL

来自分类Dev

Tornado Websockets演示无法在OpenShift上运行

来自分类Dev

tornado.web.authenticated后退按钮问题