多语言展示
当前在线:637今日阅读:39今日分享:10

自己动手,将一面镜子改造成超科幻镜面显示屏

作为一个宅男,跟女友逛街时,为了打发无聊的时间,我喜欢到处观察新奇的东西然后构思很多有趣的想法。有一次逛商城时我发现一种镜子显示器。这东西不复杂啊,完全能自己做一面出来。说动就动,我需要这些东西:一面镜子,薄的那种,一个树莓派,一些木头和油漆,还需要大量空余时间。
工具/原料
1

首先是镜子 普通的镜子是不行,一定要单面透光的那种。当后面屏幕黑屏时,它是一面镜子;而信息在屏幕上显示时就该像普通玻璃那样。 应该是和警察局审讯室那种镜子一样,里面看上去是一面镜子,外面则是透明玻璃。

2

树莓派 这就不用多说了

3

其次,显示器 如何选择一台合适的显示器呢?是买一台新的还是淘个二手的?我需要什么尺寸?屏幕最薄会是多少?我如何移动控制按钮?屏幕是否够亮来盖过镜子。 tumblr_inline_n2y35zdo781s95p1z.jpg 最后我决定使用24英寸显示器,而且基本上都有1080P的分辨率,这样镜子才有可能看起来高大上。 我几乎跑遍了华强北,大多数品牌立即否定了,因为它们的接线口都在背后,我需要是在侧面的那种。

4

第三,外壳 我用松木做了个框架,用地板地脚线固定镜子和显示器的位置,那尺寸刚刚好(30毫米厚),还有圆角边框效果。 由于显示器会发热,需要预留一个通风口。此外,在外壳的背后还加了几个即美观又结实的挂点。 补充一下,我在外壳底部开了条细缝作为电源线槽。 最后进行上色。在涂抹油灰(我涂多了)、一些地漆及上土层后,新外壳完工。 另外,还需要做了4个小木块来固定显示器与镜子。

方法/步骤
1

安装树莓派要达到魔镜的所有需求,树莓派就要有以下功能:Wifi连接屏幕旋转90度,符合照镜方向本地网络服务维持界面在全屏幕下运行的浏览器,用于显示界面因为Raspbian操作系统的灵活性和背后有开源设全支持,我就选了它。安装树莓派花时间太久,这里就不详述了。我最担心的问题是将屏幕顺时针旋转90度,最终显示分辨率为1080x1920。树莓派的BIOS设置储存在系统启动分区中。在这分区中,有一个Config.txt文件,载所有设置。要旋转显示器,在这文件内加上一下一行代码:display_rotate=1要让显示器连接更加可靠,我就不解释为何加上下面允许HDMI线热插拔的代码了:hdmi_force_hotplug=1配置文件存盘后重启树莓派,不由得感叹,树莓派简直太好用了。由于在镜子上显示的内容实际上是一个网页,因此我需要在树莓派安装上Apache服务器。在这树莓派上是一个很常见的应用,安装过程简直行云流水。然后是要确定树莓派能够显示我在信息模式(Kioskmode)下用Chromium浏览器显示的网页。Chromium浏览器是个能在树莓派操作系统上运行的开源浏览器。一如既往,安装很简单。另外我还加了以下代码:@xset s off@xset-dpms@xset s noblank@chromium-kiosk-incognito http://localhost这样就能完全禁用所有屏保功能,及Chromium浏览器在开机后自动启动,开启全屏模式并导向本地主页。

2

界面开发首先,我在开发之初就已经确定好了,镜子不是触摸屏,不能直接进行交互,一方面会让镜子变得很脏,另外未来也可以加上类似于Kinect一类的手势识别装置来进行交互。但现在,这个镜子只是一个展示信息的工具。而更重要的是,镜子就是镜子,不应被大量(无用的)信息所填满。只有边上能用来做摘要性显示。以下是我对信息的需求:问候语天气时钟和日历新闻订阅(或其他消息订阅)当然未来版本当中有大量的改进可能,现在列出的这些应该够用了。由于所有展示的信息其实是个网页,因此我能用最简单的HTML、CSS和Javascript开发,关键是现成的代码网上一大堆,比如:Jquery:懒人最爱Moment.js:用来搞定时间戳FeedTojson:将RSS订阅用JSON数据转成Javascript的方便工具。iCal Parser:将iCal数据转化为JSON作为一个资深果粉,那么在设计上一定要遵从苹果系的设计指标:比如使用Helvetica Neue字体,还有各种苹果风格的天气图标。关于各种数据获取,当然是使用开源的API,比如Openweathermap.org有很好的API接口,能够免费得到天气预报信息。在这里我用了两个连接,一个是当前天气,另一个是预报天气。另外,iCloud允许你以iCal格式获取日程表信息。新闻订阅用到了的RSS订阅功能。可是,他们不支持JSON格式数据,因此我用了FeedToJson插件来把RSS数据转为JSON格式的。其他内容,例如当前日期与时间,还有问候语都只是一些简单地javascript语句。所有代码我都放到了git上面:https://github.com/MichMich/MagicMirror由于我是懒人,代码很少标注,基本上都是if、when等条件语句构成,小白都能看懂的。

3

未来在镜子上面加一个高清摄像头,加入一些手势操作或者更复杂界面功能开发。宅男们,受到启发了吗?

注意事项
1

转载

2

转载

推荐信息