前言

本人纯业余,欢迎专业人士提意见,文章中出现的错误请指正

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 overview​docs.docker.com2751ea3c6e81f00697becdb3648b7756.png

此外,群晖也有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-MagicMirror​github.com3cf5a0ece14cb2ecc2b7235cc8b42567.png

如果想了解更多参数,请参考作者说明文档

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

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐