使用树莓派打造个人助理

前期树莓派魔镜非常火,也非常的高科技。我手上有一块3.5英寸的显示屏,虽然没有魔镜的材料,但是想安装魔镜这个项目,把树莓派打造成一个私人助理。本文是具体的过程,因为也是第一次尝试,所以能不能成功还不知道,不过还是希望能够成功,以下是搭建的全过程记录。

一、用到的东西

树莓派一个(我的是树莓派2B),已经安装好操作系统了,系统信息为:

Linux raspberrypi 4.19.75-v7+ #1270 SMP Tue Sep 24 18:45:11 BST 2019 armv7l GNU/Linux

3.5英寸显示屏,已经安装好显示屏驱动(参考文章:树莓派3.5英寸屏幕安装显示驱动,解决白屏问题

软件:MagicMirror

二、开始安装

按照说明文档进行安装:https://docs.magicmirror.builders/。

记录下开始安装的时间,看到安装结束需要多长时间:

2020年 3月 9日 星期一 16时20分41秒 CST

要求

硬件方面:根据提示 ,“Electron是MagicMirror的应用程序包装器,仅支持Raspberry Pi 2、3和4。目前支持Raspberry Pi 0/1 。如果要在Raspberry Pi 1上运行此功能,请使用“ 仅服务器”功能并自行设置全屏浏览器。”所以只支持树莓派2、3、4.

操作系统:需要安装Raspbian的最新完整版本,不要使用Lite版本

Node要求:建议您使用Node 10。

手动安装

  1. 下载并安装最新的Node.js版本:
  • curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
  • sudo apt install -y nodejs
  1. 克隆存储库并检出master分支: git clone https://github.com/MichMich/MagicMirror
  2. 进入存储库: cd MagicMirror/
  3. 安装应用程序: npm install
  4. 启动应用程序:npm start
    对于服务器仅使用:node serveronly

注意

官方提示:“安装步骤npm install将花费很长的时间,通常很少或没有终端响应!对于树莓派3,这约为10分钟,对于树莓派2,则约为25分钟。”

实际安装中,16时38分38秒开始安装。

安装时间太长了,快要放弃了,现在都17时26分,过去50分钟了,依然没有安装好。

卡在这不动了

1个小时过去了。。。但是负载在1.7左右,应该还在安装。。。再等等

过去70分钟了,仍然没有反应,我准备control c结束了,重新安装。

17时54分,重启后开始重新安装。


重新安装后速度果然快了很多!

看来不能惯着?

18时02分,终于安装完成了!

第二遍只用了8分钟就安装成功了啊。但是提示有个错误:

found 3 moderate severity vulnerabilities
  run `npm audit fix` to fix them, or `npm audit` for details

那就按照提示,执行npm audit fix命令试试。

执行完之后还是有错误:

fixed 1 of 3 vulnerabilities in 2565 scanned packages
  1 vulnerability required manual review and could not be updated
  1 package update for 1 vulnerability involved breaking changes
  (use `npm audit fix --force` to install breaking changes; or refer to `npm audit` for steps to fix these manually)

再次使用npm audit fix --force命令强制解决。

好的,问题这次差不多解决了:

fixed 1 of 2 vulnerabilities in 2565 scanned packages
  1 vulnerability required manual review and could not be updated
  1 package update for 1 vulnerability involved breaking changes
  (installed due to `--force` option)

魔镜程序安装完成,接下来启动:npm start

欧吼,出错了!

看下错误信息:

Error: Electron failed to install correctly, please delete node_modules/electron and try installing again

好像是electron这个模块安装有问题,那就卸载重新安装一次。

npm remove electron
npm install electron@6.0.12

然后,又出错了?

Error: connect ETIMEDOUT 54.231.83.3:443
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)

重新安装,发现可以下载了,但是这速度,有点慢啊

想起来,npm速度慢可以通过更换国内的镜像源加快下载速度。

更换npm源方式:

这里以淘宝 npm 镜像源 https://registry.npm.taobao.org/ 为例。

1. 临时修改

npm install 软件名 --registry https://registry.npm.taobao.org/

2. 全局修改

npm config set registry https://registry.npm.taobao.org/

全局修改后再次下载,速度快了很多!

结果还是有问题:

Downloading tmp-1157-1-SHASUMS256.txt-6.0.12
Error: connect ETIMEDOUT 52.216.82.96:443
/home/pi/MagicMirror/node_modules/electron/install.js:53
  throw err
  ^

Error: connect ETIMEDOUT 52.216.82.96:443
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)

绝望。。。


再次修改镜像源,使用淘宝npm镜像来安装。

//首先安装cnpm
sudo npm install -g cnpm --registry=https://registry.npm.taobao.org

//使用cnpm进行安装,使用方法和npm相同
sudo cnpm install -g electron

终于将electron安装成功了,版本是8.1.0。

发现作者在求职哈哈?

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)

继续启动应用,失败,一样的错误。。。

然后删除electron,继续安装。

这次只安装6.0.12版本的。

sudo cnpm install -g electron@6.0.12

安装后再次启动,提示:

grep: config/config.js: No such file or directory

应该是没有配置文件导致的,感觉离成功很近了。


按照文档进行配置:

  1. 复制/home/pi/MagicMirror/config/config.js.sample/home/pi/MagicMirror/config/config.js
    ⚠️注意:如果您使用安装程序脚本。此步骤已经为您完成。

    cp /home/pi/MagicMirror/config/config.js.sample /home/pi/MagicMirror/config/config.js
  2. 修改所需的设置。
    ⚠️注意:您可以检查你的配置运行npm run config:check/home/pi/MagicMirror

然后,再次启动应用。

完美启动。

但是卡在获取新闻上,应该是网站被Q导致的,不慌,重新设置下配置文件。

sudo nano /home/pi/MagicMirror/config/config.js

删除关于获取新闻的部分内容。

再次启动,成功了!

虽然显示了很多内容,但是都重叠在一起。

应该是屏幕的分辨率没有设置好,接下来我们打开配置文件设置下分辨率。


设置显示分辨率

打开配置文件

sudo nano /home/pi/MagicMirror/config/config.js

配置屏幕的分辨率

electronOptions: { fullscreen: true, width: 480, height: 320 },

保存好再次启动应用。

还是重叠在一起,应该是屏幕太小导致的。要么减少显示内容,要么选择更大的屏幕。因为屏幕就这一个,所以说只能减少显示内容了。

默认配置是有以下几个模块的:

  • 时钟
  • 日历
  • 当前天气
  • 天气预报
  • 新闻提要
  • 表扬
  • 你好,世界
  • 警报

通过配置文件将“表扬”模块删除。只留下时间和天气模块,这样就不会显得局促。

设置为服务器模式

发现这分魔镜应用还可以配置为服务器模式,这样通过浏览器就可以访问了。

配置文件修改如下:

var config = {
        address: "0.0.0.0", // Address to listen on, can be:
                              // - "localhost", "127.0.0.1", "::1" to listen on loopback interface
                              // - another specific IPv4/6 to listen on a specific interface
                              // - "", "0.0.0.0", "::" to listen on any interface
                              // Default, when address config is left out, is "localhost"
        port: 8080,
        ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1","192.168.0.103"], // Set [] to allow all IP addresses
                                                               // or add a specific IPv4 of 192.168.1.5 :
                                                               // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.5"],
                                                               // or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format :
                                                               // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.3.0/28"],

保存后使用node serveronly命令启动应用程序,然后打开浏览器,输入树莓派的IP地址:8080即可访问。

效果如下图所示:

 

树莓派魔镜

好,树莓派个人助理搭建完成,总耗时大约5个小时,主要是下载软件速度太慢导致的。接下来可以进行个性化的配置,也可以在这个基础上打造树莓派魔镜。

原创文章,转载请注明: 转载自科技爱好者博客

本文链接地址: 使用树莓派打造个人助理 (https://www.lxx1.com/4262)

如果博客对您有帮助,请给我 赞助


热度:2,067℃

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据