我有一个项目,我正在整理它到目前为止运作良好。
但我有点迷失在哪里开始python明智。这些项目的基础是一个由Arduino通过无线链路(已经设置)控制的照明系统,它通过xBee网络上的串行接收来自python程序的命令(这部分是编码和工作的)。我希望这个项目可以在互联网上控制。
我正在考虑运行它,以便python程序运行一个相当容易设置的http服务器。
这是我遇到麻烦的地方,因为我过去没有玩过python。如何根据页面上点击的内容让程序响应请求并运行代码?
任何人都可以指出我正确的方向
答案 0 :(得分:4)
您可以使用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>.
这有意义吗?
答案 1 :(得分:1)
如果您在单个python应用程序中使用串行端口和Web应用程序,那么我会使用twisted。它的事件循环处理串行端口以及Web请求等....它也是各种各样的框架。大多数其他“框架”不支持串行端口(作为事件循环的一部分 - 即接收数据的回调)。 http://twistedmatrix.com/trac/
答案 2 :(得分:0)