【问题标题】:Do I want an embedded web-server, or what?我想要一个嵌入式网络服务器,还是什么?
【发布时间】:2011-02-11 10:01:26
【问题描述】:

所以,有人要我为他破解一些代码。他有一个 42" TFT 显示屏,他将在上面显示一些应用程序/业务相关的数据。

然而,75% 的屏幕空间未被使用,所以他想用“电视/广告/flash/你知道,那种东西……基于网络……”来填充它。

有什么建议吗?我想要一个嵌入式网络服务器吗?如果是这样,是哪个? (他想要免费和开源,或者尽可能便宜)我是否在浏览器中显示它? (呃!可能,伙计)但我不想要/不需要菜单、地址栏、工具栏等 - 它应该是全屏的(这是否意味着“信息亭模式”?)。

对不起,伙计们,要求不清楚,但我希望你能猜出他可能是什么意思(他不是很技术)。我应该如何处理这个?谢谢。

【问题讨论】:

  • 现有内容是否也是基于网络的?屏幕是否有互联网连接?
  • 可能与您的问题无关,但 Mozilla Prism 有帮助吗? (你仍然需要一个服务器,但显示部分对你来说会更容易)prism.mozillalabs.com
  • 现有系统通过 RS422 推送当前内容。计划是将接口更改为 TCP/IP,并利用它添加更多“内容”。
  • 棱镜看起来很有趣。谢谢。

标签: web-services apache embedded kiosk


【解决方案1】:

我正在开发这样一个显示系统,虽然我们的系统已经相当完善,支持多屏幕、多用户等等。

一些提示:

  1. 我们使用带有“全屏”扩展名 (https://addons.mozilla.org/fr/firefox/addon/1568) 的 Firefox,它允许不显示任何菜单栏、状态栏等,并在该模式下自动启动 Firefox。然后你只需要一个启动脚本来启动firefox,在机器启动时指定正确的URL。

  2. 我们的系统是基于 Web 的,但作为一个多屏幕系统,它有一台服务器和多台通过 HTTP 连接到服务器的客户端 PC,每台 PC 都通过 VGA 电缆连接到一个 TFT 屏幕。如果您只有一个屏幕,您可以将浏览器和 Web 服务器安装在同一台机器上。唯一的限制:我们使用从服务器到客户端的网络唤醒来每天早上自动启动显示。这对于单机系统是不可能的!

  3. 1234563是使用 Prototype.js 库编写的(只是一个指示,还有许多其他可能性)。然后客户端应用程序向服务器请求要显示的内容。该内容作为 JSON 流传递,表示对象(图像、视频、文本新闻等)的播放列表。客户端应用程序按顺序显示播放列表中的每个对象。对象会在特定的持续时间内保持显示(代码中有很多 setTimeout)。过渡使用 Scriptaculous 库中的效果(淡入、淡出...)。当所有对象都显示完毕后,客户端再次向服务器请求播放列表(以防发生更改),然后重新开始该过程。实际上永远不会完全重新加载页面。

然后我们还有一个多内容模式,屏幕被分隔成不同的区域,分别更新。

对于一台机器和一个真正静态的系统(即没有 GUI 来添加内容),也许您可​​以在通过 file:// 访问的本地站点中实现该机制......系统的整个“智能”将在的JavaScript。这将为您节省服务器部分。我看到了一个可能的限制:我认为 flash 无法播放来自客户端机器的视频文件(安全限制),所以如果您打算使用 flash 视频,请检查这个。

嗯,我希望这几个想法可以帮助到你。祝你好运!

【讨论】:

  • 嗯,我喜欢这样。只是有一个浏览器,所以服务器。没有菜单/状态栏等的全屏是必须的。将有多个物理屏幕,每个屏幕可能会显示相同的信息以及相同的电视/闪光灯等 - 或者,为了保持灵活性,我们可能会在每个屏幕上显示不同的信息和不同的电视/闪光灯/等(其中只是显示每个屏幕显示不同的页面)。想必你正在使用 HTTP 服务器推送? en.wikipedia.org/wiki/Push_technology#HTTP_server_push谢谢你的帮助!!! (我更喜欢 PHP 而不是 JS)
  • 其实我们不使用HTTP推送。正如我所说,我们有一个 Javascript 客户端应用程序,可以在需要时从服务器中提取数据。您打算如何在一台 PC 上插入多个屏幕?对于某些屏幕型号,我们已经很难在只有一个屏幕的情况下获得正确的屏幕分辨率......而且很少有显卡具有超过 2 个 VGA/DVI 端口。
【解决方案2】:

Get one these

他们提供了一个 VESA 支架,我想如果你使用的屏幕支持的话。

全屏 firefox 是一种选择。

更灵活的选择是使用您选择的语言编写的全屏 QT 应用程序,使用 webkit 小部件进行显示,这可能会使 Flash 内容更加困难。

至于内容,我会在适合的电脑上安装 LAMP。使用您想要的任何提要构建网页,然后只显示网页,也就是 http://localhost

或者,您可以将显示器的“Web 部件”托管在标准 Web 托管服务器上,并在单独的 QT 小部件中显示来自 RS-422 的数据。

【讨论】:

  • +1 一台不错的小机器,我可能会在其他项目中使用它。
猜你喜欢
  • 2014-12-01
  • 1970-01-01
  • 2016-11-15
  • 2017-01-11
  • 1970-01-01
  • 1970-01-01
  • 2016-06-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多