【发布时间】:2015-06-17 18:14:15
【问题描述】:
我制作了一个 html 文件和一个 python 脚本来通过 websocket 和 Tornado Web 服务器来控制我的树莓派 GPIO 引脚。它工作得很好。为了提供我的静态 html 页面,我在 python 脚本中使用了以下代码:
application = tornado.web.Application([
(r'/escape/media/(.*)',tornado.web.StaticFileHandler,{"path":'/home/pi/myproject/media'}),
(r'/escape/(.*)',tornado.web.StaticFileHandler,{"path":'/home/pi/myproject'}),
(r'/mycode',WSHandler)
])
if __name__ == "__main__":
http_server = tornado.httpserver.HTTPServer(application)
http_server.listen(8888)
print 'Websocket Server Start ...'
tornado.ioloop.IOLoop.instance().start()
在 html 文件中我尝试加载一个外部 mp3 文件来播放:
function talk() {
text = encodeURI(document.getElementById("textinput").value);
mp3 = new Audio('http://translate.google.com/translate_tts?tl=en&q=' + text);
mp3.play();
}
如果我在 Windows 机器上从我自己的磁盘加载网页,但当 Tornado 将其作为来自树莓派的静态页面服务器时,这将有效。在 javascript 控制台中,我收到消息:“加载资源失败:服务器响应状态为 404(未找到)”。
我不明白为什么这是个问题,因为它是指向外部网站的绝对链接。有谁知道解决办法吗?
谢谢!
【问题讨论】:
标签: javascript python websocket raspberry-pi tornado