将镜子改造成超科幻镜面显示屏.docx
《将镜子改造成超科幻镜面显示屏.docx》由会员分享,可在线阅读,更多相关《将镜子改造成超科幻镜面显示屏.docx(16页珍藏版)》请在冰点文库上搜索。
![将镜子改造成超科幻镜面显示屏.docx](https://file1.bingdoc.com/fileroot1/2023-5/10/d2e51e0e-6778-4253-85e8-938e3a6c05c1/d2e51e0e-6778-4253-85e8-938e3a6c05c11.gif)
将镜子改造成超科幻镜面显示屏
将镜子改造成超科幻镜面显示屏
为了打发无聊的时间,我喜欢到处观察新奇的东西然后构思很多有趣的想法。
有一次逛商城时我发现一种镜子显示器。
这东西不复杂啊,完全能自己做一面出来。
说动就动,我需要这些东西:
一面镜子,薄的那种,一个树莓派,一些木头和油漆,还需要大量空余时间。
首先是镜子
普通的镜子是不行,一定要单面透光的那种。
当后面屏幕黑屏时,它是一面镜子;而信息在屏幕上显示时就该像普通玻璃那样。
应该是和警察局审讯室那种镜子一样,里面看上去是一面镜子,外面则是透明玻璃。
这种镜子不好买,去建材市场淘了很久,最后还是选择万能的某宝。
其次,显示器
如何选择一台合适的显示器呢?
是买一台新的还是淘个二手的?
我需要什么尺寸?
屏幕最薄会是多少?
我如何移动控制按钮?
屏幕是否够亮来盖过镜子。
最后我决定使用24英寸显示器,而且基本上都有1080P的分辨率,这样镜子才有可能看起来高大上。
我几乎跑遍了华强北,大多数品牌立即否定了,因为它们的接线口都在背后,我需要是在侧面的那种。
最后我选择了饭山(iiyama)显示器,第一次听说这个牌子,不过它价格便宜,边框窄小,简单触控按钮,还有侧边接线口。
由于买的时候不能打开显示器外壳,所以买到这台合适的显示器纯属运气。
我订购了一台24英寸iiyamaE248HS-B1显示器。
为确保显示器和镜子之间气密性良好,我拆下了外壳。
可怜的显示器刚拆封就被我拆了,我小心翼翼的...勉强成功。
实际的显示板仅有9毫米厚,而小小的边框也只是10毫米宽。
加上显示控制器后,就是下列尺寸:
556毫米x323毫米x46毫米(外加6毫米的镜子厚度)。
这些尺寸构成新的木头外壳尺寸。
第三,外壳
我用松木做了个框架,用地板地脚线固定镜子和显示器的位置,那尺寸刚刚好(30毫米厚),还有圆角边框效果。
由于显示器会发热,需要预留一个通风口。
此外,在外壳的背后还加了几个即美观又结实的挂点。
补充一下,我在外壳底部开了条细缝作为电源线槽。
最后进行上色。
在涂抹油灰(我涂多了)、一些地漆及上土层后,新外壳完工。
另外,还需要做了4个小木块来固定显示器与镜子。
第四,硬件
先清点一下手上的零件:
●显示器
●树莓派
●一条HDMI线(连接树莓派和显示器)
●一条USB转microUSB转接线(用来为树莓派供电)
●一条显示器电源线
这里我遇到了一个问题:
在买显示器时,我完全忽略了USB接口,我以为现在的显示器都默认装有USB口,不过我错了,它没有。
因此我只能把电源分为两条线,一条给显示器一条给USB充电头。
因此我要对电源线进行小小的改造,在中间加一个USB充电头。
还好家里不用的USB充电头很多。
充电器很容易拆,不过我还是要做得美观一点。
经过试运行,电源线可以正常工作。
我将所有零件连接好,插好电源线,打开显示器。
树莓派连接正常,USB充电器没有发热过量。
简直太好了!
不过高兴的太早了....不到十分钟,在一声巨响、强烈闪光和一阵呛鼻味烟雾后,USB充电器永垂不朽了。
自制电源线根本不靠谱,最后我将电源接线换成这种双孔电源线,然后直接插在苹果官方充电器上,能直接插进去。
第二次试运行很完美:
没有烧坏任何元件,房间没跳闸,自己也没有触电,小小的奇迹啊!
接着组装所有零件,这次没有倒霉事件:
所有东西完美吻合。
第五,安装树莓派
要达到魔镜的所有需求,树莓派就要有以下功能:
●Wifi连接
●屏幕旋转90度,符合照镜方向
●本地网络服务维持界面
●在全屏幕下运行的浏览器,用于显示界面
因为Raspbian操作系统的灵活性和背后有开源设全支持,我就选了它。
安装树莓派花时间太久,这里就不详述了。
我最担心的问题是将屏幕顺时针旋转90度,最终显示分辨率为1080x1920。
树莓派的BIOS设置储存在系统启动分区中。
在这分区中,有一个Config.txt文件,载所有设置。
要旋转显示器,在这文件内加上一下一行代码:
display_rotate=1
要让显示器连接更加可靠,我就不解释为何加上下面允许HDMI线热插拔的代码了:
hdmi_force_hotplug=1
配置文件存盘后重启树莓派,不由得感叹,树莓派简直太好用了。
由于在镜子上显示的内容实际上是一个网页,因此我需要在树莓派安装上Apache服务器。
在这树莓派上是一个很常见的应用,安装过程简直行云流水。
然后是要确定树莓派能够显示我在信息模式(Kioskmode)下用Chromium浏览器显示的网页。
Chromium浏览器是个能在树莓派操作系统上运行的开源浏览器。
一如既往,安装很简单。
另外我还加了以下代码:
@xsetsoff@xset-dpms@xsetsnoblank@chromium-kiosk-incognitohttp:
//localhost
这样就能完全禁用所有屏保功能,及Chromium浏览器在开机后自动启动,开启全屏模式并导向本地主页。
第六,界面开发
首先,我在开发之初就已经确定好了,镜子不是触摸屏,不能直接进行交互,一方面会让镜子变得很脏,另外未来也可以加上类似于Kinect一类的手势识别装置来进行交互。
但现在,这个镜子只是一个展示信息的工具。
而更重要的是,镜子就是镜子,不应被大量(无用的)信息所填满。
只有边上能用来做摘要性显示。
以下是我对信息的需求:
●问候语
●天气
●时钟和日历
●新闻订阅(或其他消息订阅)
当然未来版本当中有大量的改进可能,现在列出的这些应该够用了。
由于所有展示的信息其实是个网页,因此我能用最简单的HTML、CSS和Ja*vascript开发,关键是现成的代码网上一大堆,比如:
●Jquery:
懒人最爱
●Moment***:
用来搞定时间戳
●FeedTojson:
将RSS订阅用JSON数据转成Ja*vascript的方便工具。
●iCalParser:
将iCal数据转化为JSON
作为一个资深果粉,那么在设计上一定要遵从苹果系的设计指标:
比如使用HelveticaNeue字体,还有各种苹果风格的天气图标。
tumblr_inline_n4kvdoTWra1s95p1z.jpg
关于各种数据获取,当然是使用开源的API,比如Openweathermap.org有很好的API接口,能够免费得到天气预报信息。
在这里我用了两个连接,一个是当前天气,另一个是预报天气。
另外,iCloud允许你以iCal格式获取日程表信息。
新闻订阅用到了荷兰公共广播公司的RSS订阅功能。
可是,他们不支持JSON格式数据,因此我用了FeedToJson插件来把RSS数据转为JSON格式的。
其他内容,例如当前日期与时间,还有问候语都只是一些简单地**********语句。
所有代码我都放到了git上面:
由于我是懒人,代码很少标注,基本上都是if、when等条件语句构成,小白都能看懂的。
viaXonayLabs|MichaelTeeuw
未来在镜子上面加一个高清摄像头,加入一些手势操作或者更复杂界面功能开发。
国内的宅男们,受到启发了吗?