前言
本人纯业余,欢迎专业人士提意见,文章中出现的错误请指正
MagicMirror2下简称MM2,中文魔镜,主要作用是信息聚合显示以及交互
详情请阅读官方说明
MM2本质上分为后端和前端
后端其实是一个网页服务器,前端是浏览器
官网解释Raspberry Pi 2代以上可以直接安装运行,而0/1没有具体说明
// 0/1因为arm架构原因,node.js不支持,无法安装npm,所以安装比较麻烦,但已经有人在zero上成功部署MM2
笔者有一块Raspberry Pi zero w,但是在zero上安装完整的MM2机能太弱
所以只能把前后端分开,MM2服务跑在NAS上,而zero只做网页浏览器,就可以实现MM2的功能
部署后效果
Docker的安装与部署
首先Docker是可以安装在多平台的,如何部署Docker请参考官方文档Docker Engine overviewdocs.docker.com
此外,群晖也有Docker第三方插件可以快速安装,这里以群晖为例做个用群晖Docker插件安装MM2的教程
群晖安装Docker
在群晖的第三方套件中找到Doker,点击安装即可
安装完成后在菜单里面会出现Docker图标(右下角),直接点击进入
打开注册表,添加一个阿里镜像,否则下载镜像的速度会非常慢//此步骤按需修改
记得勾上信任SSL
注册表中搜索bastilimbach/docker-MagicMirror
直接下载
下载完成后在映像(image)页面就会出现上图这个镜像了
//部署前建议先在docker文件夹中新建两个文件夹和一个css文件作为MM2的配置文件,若不需要自定义CSS可忽略
分别是
/docker/magic_mirror/modules
/docker/magic_mirror/config
/docker/magic_mirror/config/custom.css //不需要可忽略
//名称和路径根据自己喜好可以随意修改,在下文中会用到
选择好点击启动,会有启动设置界面
根据github的作者说明,启动代码如下
docker run -d \
--publish 80:8080 \
--restart always \
--volume ~/magic_mirror/config:/opt/magic_mirror/config \
--volume ~/magic_mirror/modules:/opt/magic_mirror/modules \
--volume /etc/localtime:/etc/localtime:ro \
--name magic_mirror \
bastilimbach/docker-magicmirror
首先--restart always可以在页面中这样设置
映射端口根据需求//此处映射的端口指的是容器中的端口映射到主机hsot的端口上,如果你的群晖地址为http://192.168.1.100,此处映射在8888,可以在http://192.168.1.100:8888访问
映射卷点击添加文件夹选择之前创建的文件夹就可以了
装载路径分别为
/opt/magic_mirror/config
/opt/magic_mirror/modulescss是文件映射,不要错选成文件夹
注意!!!! 如果你不需要自定义CSS请不要映射此文件
根据说明文档,MM2有三个文件夹需要我们映射出来方便安装模组,设置文件和自定义css
最后在环境变量中增加词条//设置容器内的时区,避免时间错误
点击下一步,可看到上图,所有设置无误后点击应用可以启动容器
容器启动正常
在浏览器填入你的群晖IP地址,加上8888端口,就可以看到成果了
##如需使用custom.css,请在config.js中添加customCss: "config/custom.css"
bastilimbach/docker-MagicMirrorgithub.com
如果想了解更多参数,请参考作者说明文档
Raspberry Pi Zero/1 部署
//在你的win10PC上创建一个 wpa_supplicant.conf 文件,文件内容复制下文代码,注意格式和编码UTF-8
//Country为wifi地区的意思,因为笔者家里改过US所以这里用US,SSID,PSK为WIFI账号密码
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=US
network={
ssid="testing"
psk="testingPassword"
}
//创建一个SSH文件,你可以用txt创建一个文档另存为ssh无后缀,里面不需要任何东西
//在 https://www.raspberrypi.org/downloads/raspbian/ 下载最新镜像
//镜像版本为Raspbian Buster with desktop #后续研究下lite版本自制图形界面
//此处省略烧录镜像入SD卡的过程(偷下懒,后续补充)
//在烧录完成后,重新拔插SD,将SSH和wpa_supplicant.conf文件拷贝入Boost盘,直接插到Zero里面启动即可
//在电脑端打开putty,直接连接raspberrypi(可换成IP)即可通过SSH访问
//语言设置
sudo raspi-config
//进入语言选项后
//去掉 en_GB.UTF-8 UTF-8
//勾上“en_US.UTF-8 UTF-8”“zh_CN.UTF-8 UTF-8”“zh_CN.GBK GBK”
//默认语言选zh_CN.UTF-8
//安装字库,这个字库不好看,可以换成别的
sudo apt-get install ttf-wqy-zenhei
//自动登录
sudo raspi-config
//Boot Options -> B1 Desktop/CLI -> B2 Console Autologin
//最后选择Finnish重启设备
//安装光标隐藏
sudo apt-get install unclutter
//编辑启动文件,自动启动Chromium并全屏
sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
//在末尾添加下文
/usr/bin/chromium-browser --kiosk --app=http://MM2服务地址
//crtl+x保存
//重启你的Zero连接显示器就可以了,如果分辨率问题请google