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

作者:小橘猫 | 创建时间: 2023-04-23
作为一个宅男,跟女友逛街时,为了打发无聊的时间,我喜欢到处观察新奇的东西然后构思很多有趣的想法。有一次逛商城时我发现一种镜子显示器。 这东西不复杂啊,完全能自己做一面出来。说动就动,我需要这些东西:一面镜子,薄的那种,一个树莓派,一些木头和...
自己动手,将一面镜子改造成超科幻镜面显示屏

操作方法

安装树莓派 要达到魔镜的所有需求,树莓派就要有以下功能: 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浏览器在开机后自动启动,开启全屏模式并导向本地主页。

界面开发 首先,我在开发之初就已经确定好了,镜子不是触摸屏,不能直接进行交互,一方面会让镜子变得很脏,另外未来也可以加上类似于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等条件语句构成,小白都能看懂的。

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

温馨提示

转载
点击展开全文

更多推荐