我有一个项目,我正在把它放在一起,到目前为止运作良好。
但是我有点迷失了从哪里开始python的智慧。这些项目的基础是一个照明系统,由Arduino通过无线链接(已经设置)控制,通过xBee网络(这部分是编码和工作的)通过串行接收来自python程序的命令。我希望这个项目可以在互联网上控制。
我正在考虑运行它,这样python程序就可以运行一个非常容易设置的http服务器。
这就是我遇到麻烦的地方,因为我以前没有玩过python。如何让程序响应请求并根据页面上单击的内容运行代码?
有人能给我指个方向吗?
发布于 2012-09-09 18:21:17
您可以使用Tornado这样的框架编写服务器应用程序,该框架可以侦听任意端口上的消息。
然而,这听起来像是你想要构建一个web界面。要做到这一点,你应该选择一个web框架。我最喜欢的微框架是Flask。我刚刚链接到的快速入门展示了让一个简单的站点运行起来是多么容易。
然后,您将为用户界面中的每个操作编写一个函数。并且当用户点击访问相关URL的链接(或按钮)时,这些功能中的每一个都将被激活。
@app.route('/')
def index():
return render_template('index.html')
@app.route('/dim_lights/<room>')
def dim_lights(**kwargs):
dim_lights_for_room(kwargs['room'])
'index.html'
模板将包含像<a href="/dim_lights/lounge">Dim the Lights in the Lounge</a>.
这样的链接
这有意义吗?
发布于 2012-09-09 18:50:44
如果你在一个单独的python应用中使用串口和web应用,那么我会使用twisted。它的事件循环处理串行端口以及web请求等。它也是一种框架。大多数其他“框架”不支持串行端口(作为事件循环的一部分-即接收数据的回调)。http://twistedmatrix.com/trac/
发布于 2012-09-09 18:32:42
如果您正在尝试创建一个与您的项目链接的基于web的应用程序,您可以尝试使用Flask作为框架,或者使用Gunicorn作为http服务器。阅读Flask文档可以更好地理解Flask。在该站点上有一个针对python web开发新手的教程。
然后你需要为你的硬件编写一些脚本,你可以将它与你的web应用程序集成在一起。
https://stackoverflow.com/questions/12338017
复制相似问题