我正在寻找一些Web开发建议。我是该地区的新手,但是我敢肯定那里有一些大师愿意分享一些智慧。

目标:我对从个人Web托管站点控制计算机上的Python应用程序感兴趣。我知道,这个问题之前曾被问过几次,但每种情况下的要求都与我的要求有所不同。为了减少这篇文章的篇幅,我将在几个要点中总结一下我的目标:

  • 个人网站由网络托管公司
  • 托管
  • 网站使用HTML,PHP,MySQL,Python和JavaScript,大部分内容都是由我从头开始编写的
  • 用Python编码的应用程序将在我家中的PC上运行,并与Arduino开发板进行通信
  • 该应用程序将从互联网接收命令以通过Arduino控制驱动,并将传感器数据传回现场(例如温度)。
  • 寻找双向,快速,安全的通信
  • 确保站点和Python应用程序之间的连接是最理想的
  • 我不希望直接连接到Python应用程序,Web服务器必须充当“中间人”

  • 到目前为止,我已经考虑过使用套接字(Python应用程序将作为网络服务器运行),IRC机器人以及对存储在网络服务器上的文本文件进行读写的HTTP Post和HTML表单。

    我还希望有一种方法可以与Python应用程序通信而无需刷新网页,也许使用AJAX或JavaScipt?也许使用Flash?

    有什么我不考虑的吗?我觉得我想念一些东西。在此先感谢您的建议!

    最佳答案

    只是大声思考我将如何开始。首先,关于网站本身,您可以使用最方便的方式,也可以使用您所处的环境。例如,基本的PHP页面就可以了,但是如果您也可以使网站运行在Python中,我更喜欢使用相同的语言。

    也就是说,我不确定为什么需要使用托管网站?鉴于您已经被迫在家中拥有一台可从外部访问的PC进行通信,为什么不直接在该PC上运行Web服务器(Apache,Nginx甚至是CherryPy之类的服务器)呢?然后,该网络服务器可以与正在运行以控制您的Arduino的python进程进行通信(通过使用例如Python的 xmlrpclib )。如果您要通过托管公司来运行服务器,您仍然需要一些可以安全地处理外部请求的流程... Web服务器非常擅长。自己运行即可为您提供所有想要的自由,并通过减少解决方案中的组件数量来简化事情。

    我会保持站点上的更新非常基本:只需运行相关的(xmlrpclib)调用,即可在Web服务器的请求处理程序中处理要运行的命令。我认为,最好通过一些AJAX调用来动态更新页面。根据您的故事,这些更新可以轻松地放入JSON对象中,适合仅定期更新页面的相关段。

    10-05 21:31