0

我正在尝试让一组 python 脚本向一组微控制器报告它们的状态。

所以我的想法是让python脚本每个都创建自己的网页,可以由微控制器查看,但无论如何都要让脚本本身保持页面服务,即一个apache库,这样如果脚本崩溃或如果脚本未运行,则不提供页面或使页面具有默认值的方法。

4

2 回答 2

1

您可以使用http://docs.python.org/library/simplehttpserver.html或一些最小的 http 服务器框架,如http://flask.pocoo.org/http://www.cherrypy.org/

如果您想向您的微控制器提供“实时”信息,还可以查看彗星式长轮询请求。您基本上会一直下载“页面”并将其作为数据流进行分析,而服务器会不断在“页面末尾”添加更新的信息。

于 2012-05-16T17:27:07.323 回答
1

你也可以看看twisted.web

一个非常基本的例子:

from twisted.web.server     import Site
from twisted.web.resource   import Resource
from twisted.internet       import reactor

class StatusPageResource(Resource):
    isLeaf           = True

    def __init__(self, param1):
        self.param1 = param1
        # Call the constructor of the super class
        Resource.__init__(self)

    def render_GET(self, request):
        return "<html><body>%s</body></html>" % self.param1


my_res = Resource()
my_res.putChild('GetStatusPage1', StatusPageResource(param1='abc'))
my_res.putChild('GetStatusPage2', StatusPageResource(param1='xyz'))

factory = Site(my_res)
reactor.listenTCP(8080, factory)
print 'Runnning on port 8080'
reactor.run()

现在将您的浏览器指向http://localhost:8080/GetStatusPage1(例如)

于 2012-05-16T17:58:16.840 回答