一連のPythonスクリプトに、それらのステータスを一連のマイクロコントローラーに報告させようとしています。
したがって、これについての私の考えは、Pythonスクリプトにそれぞれマイクロコントローラーで表示できる独自のWebページを作成させることですが、スクリプト自体がページの提供を維持するようにすることはできます。つまり、スクリプトがクラッシュした場合、またはが実行されていない場合、ページが提供されないか、スクリプトが実行されていない場合にページをデフォルト値にする方法が提供されません。
一連のPythonスクリプトに、それらのステータスを一連のマイクロコントローラーに報告させようとしています。
したがって、これについての私の考えは、Pythonスクリプトにそれぞれマイクロコントローラーで表示できる独自のWebページを作成させることですが、スクリプト自体がページの提供を維持するようにすることはできます。つまり、スクリプトがクラッシュした場合、またはが実行されていない場合、ページが提供されないか、スクリプトが実行されていない場合にページをデフォルト値にする方法が提供されません。
http://docs.python.org/library/simplehttpserver.html 、またはhttp://flask.pocoo.org/やhttp://www.cherrypy.org/などの最小限のhttpサーバーフレームワークを使用できます。
「ライブ」情報をマイクロコントローラーに送りたい場合は、コメットスタイルの長いポーリングリクエストもご覧ください。サーバーが「ページの終わり」に更新された情報を追加し続けている間、基本的に「ページ」を永久にダウンロードし続け、データストリームとして分析します。
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
(たとえば)