专栏首页FreeBuf如何用树莓派和显示器制作一面“魔镜”

如何用树莓派和显示器制作一面“魔镜”

这篇文章介绍的是用树莓派、显示器、双面镜制作的一面镜子。这面镜子中包含了一个黑色背景的网页,可以显示天气预报、日期、时间以及一句随机生成的问候语。完成这个DIY制作无需修改硬件底层,只需一点点木工技能和修改一些代码。

所需要的材料

一台显示器 一块和显示器大小相同的双面镜 一些2*4米的细木条 树莓派机器必要组件(电源、HDMI线、usb无线网卡、键盘) 木工工具(锯子、磨砂机、螺丝刀) 螺丝、液态钉子

选一个合适的显示器

镜子的大小完全由显示器的类型和大小决定,所以我希望得到一个尽量大的显示器,最好还有一个可以移动的手臂,便于固定在箱子中。除此之外,还要确保你拿到的显示器能输出至中心显示器上而不是其他的显示器上。基于各种条件的限制,我最终选择了BENQ GL2760H 27英寸的显示器。

选一面镜子

镜子是最为关键的一个部分,需要双面镜,有点像水晶和塑料。它比一般的镜子要好操作,可以切成任意你想要的形状,所以如果买不到和显示器一样大的镜子,也可以买一块稍微大点的镜子。

裁剪掉显示器的边框(也可不裁掉)

为了能更好的切合箱子的大小,我去掉了显示器周围的塑料外壳。去壳时一定要细心,显示器的塑料外壳很薄,不要损坏了中间的金属部分。

制作箱子

这部分是最为有趣的部分,我选择了4块4*2的木板,裁剪成适合显示器大小的长度。将4块木块摆放成长方形盒子状,先用夹子固定住,然后再用螺丝固定。

木板盒子的上下两面各打了几个空,以给中间的树莓派输送流动的空气,因为每个人都不希望自己的树莓派在封闭的环境中变成“树莓干”。

还需要注意的是,最下面有一个空要比较大一点,大到可以穿过一个电源插头,因为之后需要接通显示器和树莓派的电源。

安装Chromium

wget http://ftp.us.debian.org/debian/pool/main/libg/libgcrypt11/libgcrypt11_1.5.0-5+deb7u3_armhf.deb wget http://launchpadlibrarian.net/218525709/chromium-browser_45.0.2454.85-0ubuntu0.14.04.1.1097_armhf.deb wget http://launchpadlibrarian.net/218525711/chromium-codecs-ffmpeg-extra_45.0.2454.85-0ubuntu0.14.04.1.1097_armhf.deb sudo dpkg -i libgcrypt11_1.5.0-5+deb7u3_armhf.deb sudo dpkg -i chromium-codecs-ffmpeg-extra_45.0.2454.85-0ubuntu0.14.04.1.1097_armhf.deb sudo dpkg -i chromium-browser_45.0.2454.85-0ubuntu0.14.04.1.1097_armhf.deb

Chromium 开机自启

现在已经安装了chromium,我们可以修改它的配置令其开机自动运行,并全屏显示:

修改autostart设置:

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

在这一行中添加 # 注释禁用屏保:

@xscreensaver -no-splash

在配置中增加:

@xset s off @xset -dpms @xset s noblank /usr/bin/chromium --noerrdialogs --kiosk --incognito "http://localhost"

保存并退出,现在我们已经禁用了屏保、禁用电源管理设置,chromium浏览器在本地打开了kiosk模式。

配置WIFI连接

有很多设置树莓派无线的教程,这里我们用终端编辑无线配置文件wpa_supplicant:

sudo nano /etc/network/interfaces

修改网络配置:

network={ ssid="无线SSID名称" psk="无线密码" }

建议不使用过时不安全的WEP加密。

使用下面的两个命令重启WIFI连接,使配置修改生效:

ifdown wlan0 ifup wlan0

如果遇到一些不起眼的报错,不要担心,我也碰到了,你可以通过测试来确定修改是否生效。

ifconfig

如果你的无线网卡wlan0已经分配到了一个IP地址,那么你可以断开树莓派的网线,然后安装好镜子的后盖了。这里我用四枚钉子把背板固定了一下:

设置WEB页面

接下来我决定使用PHP micro-framework搭配jQuery和MomentJs。

搭建WEB服务

接下来需要搭建一台WEb服务器,由于我们用的是Lumen,所以我们需要搭建PHP环境:

sudo apt-get update sudo apt-get install nginx php5-fpm php5-cli php5-mcrypt git

安装的过程会花费一些时间,安装完成以后你需要修改nginx的配置文件,让nginx知道MirrorMirror的路径:

sudo nano /etc/nginx/sites-available/mirror.conf

粘贴以下配置:

``` server { listen 80; server_name localhost; root /home/pi/projects/MirrorMirror/public;

index index.html index.htm index.php; charset utf-8; location / { try_files $uri $uri/ /index.php?$query_string; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } access_log off; error_log /var/log/nginx/myapp-error.log error; sendfile off; client_max_body_size 100m; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_intercept_errors off; fastcgi_buffer_size 16k; fastcgi_buffers 4 16k; } location ~ /\.ht { deny all; } } ```

执行下面的命令使配置生效:

sudo ln -s /etc/nginx/sites-available/mirror.conf /etc/nginx/sites-enabled/mirror.conf sudo service nginx reload

现在你的树莓派已经能过运行PHP环境了

安装MirrorMirror

项目的最后一步:新建一个文件夹、从GitHub上下载MirrorMirror项目代码:

mkdir /home/pi/projects cd /home/pi/projects git clone https://github.com/ctrlaltdylan/MirrorMirror.git

安装Composer Lumen的依赖:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer cd MirrorMirror composer install

在浏览器里打开:http://localhost,没有问题的话就能看到Mirror Mirror的版本,它已经运行了。

特性:

显示、预报天气; 显示日期时间; 随机显示问候语,目前只有一个问候语,后续会增加一些。

*原文地址:dylanjpierce,FB小编Cindy、0xroot编译,文章有修改,转载请注明来自Freebuf黑客与极客(FreeBuf.COM)

本文分享自微信公众号 - FreeBuf(freebuf),作者:Cindy、0xroot

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-01-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 用树莓派制作一台平板电脑

    我在使用树莓派时通常是用VGA或者HDMI接口和显示器相连,但是这样体积太大了,携带也不方便。如果使用液晶触摸屏的话应该会很酷吧?所以,我决定试试。 通过无线键...

    FB客服
  • 揭秘奸商的伎俩:利用树莓派自制“恶意充电宝”实验

    重温一遍今年的315晚会。看完只想骂一句奸商!晚会上披露了一个可以通过充电控制用户手机的内容,作为离了手机就丢了半条命的现代人,经常会遇到在外手机没电借别人充电...

    FB客服
  • 极客DIY:用树莓派制作低成本高清监控摄像机

    本文将为大家展示一款高清监控摄像机的DIY过程,且相较于其市场价,本次DIY的花费不到其十分之一。另外通过该摄像机,你可以随时从浏览器或者手机中查看监控区域的画...

    FB客服
  • 用树莓派制作一台平板电脑

    我在使用树莓派时通常是用VGA或者HDMI接口和显示器相连,但是这样体积太大了,携带也不方便。如果使用液晶触摸屏的话应该会很酷吧?所以,我决定试试。 通过无线键...

    FB客服
  • 树莓派与arduino通信

    (2)安装python的GPIO模块,用于控制LED、电机等: wget https://sourceforge.NET/projects/raspberry-...

    似水的流年
  • 树莓派与arduino通信

    (2)安装python的GPIO模块,用于控制LED、电机等: wget https://sourceforge.NET/projects/raspberry-...

    似水的流年
  • 树莓派与arduino通信

    一、安装树莓派及arduino开发环境 搭建树莓派串口通信开发环境 (1)安装Python: sudo apt-get update sudo ...

    似水的流年
  • 揭秘奸商的伎俩:利用树莓派自制“恶意充电宝”实验

    重温一遍今年的315晚会。看完只想骂一句奸商!晚会上披露了一个可以通过充电控制用户手机的内容,作为离了手机就丢了半条命的现代人,经常会遇到在外手机没电借别人充电...

    FB客服
  • 如何利用树莓派打造一款机器人

    作者/刘端阳,清华大学aminer.org研究者社交网络系统的R&D,参与过智谷睿拓公司(已经被小米收购)的专利挖掘,在大数据征信领域创业过,出过一本叫做《树莓...

    刘盼
  • 树莓派资源整理

    本文收集了树莓派使用过程中经常需要用到的资源,主要包括树莓派系统镜像、树莓派硬件介绍、树莓派GPIO引脚编号、树莓派电路原理图下载、树莓派应用等等,非常值得收藏...

    py3study

扫码关注云+社区

领取腾讯云代金券