MagicMirror² 一个开源的模块化智能镜子平台

《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的MagicMirror²是一个开源的模块化智能镜子平台。

MagicMirror² 一个开源的模块化智能镜子平台

MagicMirror 是一个开源的模块化智能镜子平台。随着可安装模块列表的增加, MagicMirror²可让您将走廊或浴室镜子转换为您的个人助理。

要求

硬件

MagicMirror² 是为在 Raspberry Pi 上运行而开发的。它可能(并且将会)在各种不同类型的硬件上运行,但新版本只能在 Raspberry Pi 上进行测试。

Electron是 MagicMirror² 的应用程序包装器,仅支持 Raspberry Pi 2、3 和 4。目前支持 Raspberry Pi 0/1。如果您想在 Raspberry Pi 1 上运行它,请使用仅服务器功能并自己设置全屏浏览器。

操作系统

请注意,您需要安装最新的完整版 Raspbian,不要使用 Lite 版本。

节点

虽然旧版本的 Node 可能会工作,但我们建议您使用 Node 16。

安装和使用

手动安装

  1. 下载并安装最新的Node.js版本:
  • curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash –
  • sudo apt install -y nodejs
  1. 克隆存储库并检查主分支:git clone https://github.com/MichMich/MagicMirror
  2. 进入仓库:cd MagicMirror/
  3. 安装应用程序:npm install –only=prod –omit=dev
  4. 制作配置示例文件的副本:cp config/config.js.sample config/config.js
  5. 启动应用程序:仅服务器npm run start
    使用:.npm run server

自动安装脚本

sudo apt install libffi-dev nginx-full -ypython3 -m pip install --upgrade --no-cache-dir mmpmmmpm --guided-setupecho 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc

码头工人形象

  • MagicMirror² 可以使用docker进行部署。

Kubernetes Helm 图表

  • 如果您想在 kubernetes 集群中运行 MagicMirror²(仅在服务器模式下),请查看此MagicMirror Helm Chart。

魔镜操作系统

这是一个基于 Raspbian 的完整操作系统。

  • 解压缩映像并将其安装到 SD 卡,就像任何其他 Raspberry Pi 映像一样
  • magicmirroros-wpa-supplicant.txt像闪存驱动器一样使用闪存卡时,通过在闪存卡的根目录进行编辑来配置您的 WiFi
  • 从 SD 卡启动 Pi
  • 主机名是magicmirroros(不像RaspberryPi往常那样),用户名:pi和初始密码是:raspberry
  • 您可以在位于的文件中更改 MagicMirror 的设置~/magicmirror/mounts/

要求

  • Docker 或 Vagrant,推荐使用 docker
  • Docker-compose – 如果使用 docker build 方法,建议使用,说明假设您拥有它
  • 已下载Raspbian Lite映像。
  • chroot 的根权限
  • 重击
  • sudo(脚本本身调用它,没有 sudo 以 root 身份运行将不起作用)

构建 MagicMirrorOS

MagicMirrorOS 可以使用在英特尔或 RaspberryPi 上运行的 docker 构建(列出了支持的)。构建需要大约 4.5 GB 的可用空间。您可以假设您已经安装了 docker 和 docker-compose 并发出以下命令来构建它:

git 克隆 https://github.com/guysoft/MagicMirrorOS.gitcd MagicMirrorOS/src/imagewget -c --trust-server-names 'https://downloads.raspberrypi.org/raspios_armhf_latest'光盘..sudo docker-compose up -dsudo docker exec -it magicmirroros-build build

构建 MagicMirrorOS 变体

MagicMirrorOS 支持构建变体,这些变体是在主版本构建中进行了更改的构建。文件夹中提供了示例和其他变体src/variants/example。

要构建变体,请使用:

sudo docker exec -it magicmirroros-build build [变体]

使用 Vagrant 构建

有一个 vagrant 机器配置可以让您构建 MagicMirrorOS,以防您的构建环境表现不同。除非您进行额外配置,否则 vagrant 必须以 root 身份运行才能使 nfs 文件夹同步工作。

要使用它:

sudo apt-get install vagrant nfs-kernel-serversudo vagrant 插件安装 vagrant-nfs_guestsudo modprobe nfscd MagicMirrorOS/src/vagrantsudo vagrant up

配置机器后,还可以运行从 devel 更新的每晚构建,使用:

cd MagicMirrorOS/src/vagrantrun_vagrant_build.sh

要在机器上构建一个变体,只需运行:

cd MagicMirrorOS/src/vagrantrun_vagrant_build.sh [变体]

用法

  • 如果需要,通过创建一个新文件来覆盖现有的配置设置src/config.local。您可以覆盖在 中找到的所有设置src/config。如果您需要覆盖 Raspbian 映像的路径以用于构建 MagicMirrorOS,请覆盖要在ZIP_IMG. 默认情况下,将使用*-raspbian.zip在 中找到的最新文件匹配。
  • src/build_dist以 root 身份运行。
  • 最终图像将在src/workspace

其他操作系统

视窗:

要让 MagicMirror 软件在 Windows 上运行,除了上述步骤之外,您还需要做两件事:

4a。在供应商和字体目录中安装依赖项:

电源外壳:

  • cd fonts; npm install; cd ..
  • cd vendor; npm install; cd ..

命令提示符

  • cd fonts && npm install && cd ..
  • cd vendor && npm install && cd ..

否则启动 MagicMirror 时屏幕将保持黑色。

5a。修复文件中的启动脚本package.json:

  • 导航到文件package.json
  • 找到它说的地方"start": "DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js", "start:dev": "DISPLAY="${DISPLAY:=:0}" ./node_modules/.bin/electron js/electron.js dev",
  • 并将其替换为"start": ".node_modules.binelectron jselectron.js", "start:dev": ".node_modules.binelectron jselectron.js dev",
  • 否则程序将无法启动,但会显示以下错误消息: "'DISPLAY' is not recognized as an internal or external command, operable program or batch file."

升级指南

如果您想将您的 MagicMirror² 更新到最新版本,请使用您的终端转到您的 Magic Mirror 文件夹并输入以下命令:

git pull && npm install --only=prod --omit=dev

键入git status以查看您的更改,如果有任何更改,您可以使用 重置它们git reset –hard。在那之后,git pull应该是可以的。

模块

该clock模块是魔镜的默认模块之一。此模块显示当前日期和时间。信息将实时更新。

截屏

MagicMirror² 一个开源的模块化智能镜子平台

使用模块

要使用此模块,请将其添加到config/config.js文件中的 modules 数组中:

modules: [ { module: "clock", position: "top_left", // This can be any of the regions. config: { // The config property is optional. // See 'Configuration options' for more information. }, },];

  • 日历

该calendar模块是魔镜的默认模块之一。此模块显示来自公共 .ical 日历的事件。它可以组合多个日历。

使用模块

要使用此模块,请将其添加到config/config.js文件中的 modules 数组中:

modules: [ { module: "calendar", position: "top_left", // This can be any of the regions. Best results in left or right regions. config: { // The config property is optional. // If no config is set, an example calendar is shown. // See 'Configuration options' for more information. }, },];

  • 当前天气

currentweather模块是魔镜的默认模块之一。该模块显示当前天气,包括风速、日落或日出时间、温度和显示当前状况的图标。

截屏

MagicMirror² 一个开源的模块化智能镜子平台

使用模块

要使用此模块,请将其添加到config/config.js文件中的 modules 数组中:

modules: [ { module: "currentweather", position: "top_right", // This can be any of the regions. // Best results in left or right regions. config: { // See 'Configuration options' for more information. location: "Amsterdam,Netherlands", locationID: "", //Location ID from https://bulk.openweathermap.org/sample/city.list.json.gz appid: "abcde12345abcde12345abcde12345ab", //openweathermap.org API key. }, },];

  • 天气预报

截图

MagicMirror² 一个开源的模块化智能镜子平台

使用模块

要使用此模块,请将其添加到config/config.js文件中的 modules 数组中:

modules: [ { module: "weatherforecast", position: "top_right", // This can be any of the regions. // Best results in left or right regions. config: { // See 'Configuration options' for more information. location: "Amsterdam,Netherlands", locationID: "", //Location ID from https://bulk.openweathermap.org/sample/city.list.json.gz appid: "abcde12345abcde12345abcde12345ab", //openweathermap.org API key. }, },];

模块开发文档

模块结构

所有模块都加载到modules文件夹中。modules/default默认模块在文件夹中组合在一起。您的模块应放置在modules. 请注意,您在文件夹中创建的任何文件或文件modules夹都将被 git 忽略,从而允许您升级 MagicMirror² 而不会丢失文件。

一个模块可以放在一个文件夹中。或者可以将多个模块分组到一个子文件夹中。请注意,模块的名称必须是唯一的。即使将具有相似名称的模块放在不同的文件夹中,也无法同时加载它们。

文件

  • modulename/modulename.js – 这是您的核心模块脚本。
  • modulename/node_helper.js – 这是一个可选的帮助器,将由节点脚本加载。节点助手和模块脚本可以使用集成的套接字系统相互通信。
  • modulename/public – 此文件夹中的任何文件都可以通过/modulename/filename.ext.
  • modulename/anyfileorfolder核心模块脚本可以使用模块文件夹中的任何其他文件或文件夹。例如:modulename/css/modulename.css将是您添加其他模块样式的好路径

—END—

开源协议:MIT License

开源地址:https://github.com/MichMich/MagicMirror

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年4月19日 上午9:46
下一篇 2023年4月19日 上午9:56

相关推荐

  • 科研项目劳务费扣税(科研项目劳务费比例)

    4月14日上午,省政府新闻办召开新闻发布会,解读《山东省人民政府办公厅关于改革完善省级财政科研经费管理的实施意见》,省委教育工委委员,省教育厅党组成员、副厅长邢顺峰出席发布会,并回…

    科研百科 2022年5月13日
    497
  • 科技论文检索报告范本(科技论文检索报告范本怎么写)

    大家好!我是一名科研机构的研究员,最近在进行职称评审时被要求提供一份科技论文检索报告。经过一番了解与选择,我最终在掌桥科研顺利开具了我的科技论文检索报告。 现在材料已经顺利提交了,…

    科研百科 2024年6月20日
    95
  • 研究课题能用书名号吗

    研究课题: 人工智能在医疗保健领域的应用 摘要:随着人工智能技术的不断发展,其在医疗保健领域的应用也越来越广泛。本文旨在探讨人工智能在医疗保健领域的应用,包括机器学习在疾病预测、诊…

    科研百科 2024年11月11日
    1
  • 造价咨询项目管理系统

    造价咨询项目管理系统: 提升造价咨询效率的利器 随着现代造价咨询行业的快速发展,造价咨询项目管理系统已经成为了造价咨询行业必不可少的工具之一。一个好的项目管理系统不仅可以提高造价咨…

    科研百科 2024年12月19日
    0
  • 海外博士科研项目有哪些

    海外博士科研项目有哪些 随着全球化的不断深入,越来越多的学生选择海外留学,获得海外博士学位。海外博士学位对于个人职业发展和社会经济发展都有着重要的意义。然而,申请海外博士学位需要经…

    科研百科 2025年4月9日
    0
  • 软考报名多少钱(软考报名多少钱-)

    全国软考报名费用大部分地区每人每科收费标准68元,也有部分地区收费标准有所不同。具体的报名费用要根据所在地区的软考报名收费标准,因为每个地区的报名费用可能会有所差异。但是一般也就是…

    科研百科 2022年7月26日
    199
  • “工程施工分包管理系统”助推工程项目管理转型升级(建设工程分包管理)

    导语:于工程施工企业而言,分包方的资审选择、企业信息管理、分包合同管理等都至关重要,但随着工程建设项目体量的增大和数量的增加,传统依靠人工管理方式已经无法满足新形势下的管理需求。“…

    科研百科 2022年5月23日
    268
  • 企业科研项目管理原则

    企业科研项目管理原则 随着科技的不断发展,企业科研项目已经成为企业科技创新的重要支撑。然而,在科研项目的管理过程中,还存在一些问题,如项目管理混乱、资金短缺、进度缓慢等。因此,本文…

    科研百科 2025年3月20日
    0
  • 城市社区网格化综合管理平台建设项目(城乡社区网格化服务管理)

    一、项目背景 随着市场经济的发展,大量“单位人”变成“社会人”,流动人口、出租房屋、居家老人、留守儿童等问题相继出现,社会管理的难度不断加大。“小政府、大社会”格局的演变,将许多社…

    科研百科 2022年7月23日
    367
  • 浅谈资金分配与仓位管理(仓位管理和资金管理)

    有四种情况: 1, 这是真的上涨趋势,你买了很多的仓位,赚大钱了; 2, 这是真的上涨趋势,你买了很少的仓位,赚了一点; 3, 这是假的上涨趋势,你买了很多的仓位,赔大钱了; 4,…

    科研百科 2022年7月25日
    205