是返乡过年?还是就地过年?最新一届#双面过节指南#开始啦!本次征稿活动分为A面返乡和B面就地,大家可以根据自己的情况,分享自己的春节攻略,优秀的投稿文章还有可能能获得优厚的大奖哦,快点击查看活动详情<<<创作立场声明:树莓派自费购入后就在家里落灰,所以不存在利益相关,仅仅为了记录折腾过程,并分享给值友们,希望对大家有所启发。
1、前言
这篇文章也许是这个系列的最后一篇了,但是也不一定。如你所料,我的树莓派也和你一样,一直在吃灰。
因为树莓派3B的性能有限,之前在树莓派上实现的功能已全部转到 sinoc 主机 黑群晖上了,见:
sinoc 主机 篇一:300元 Sinoc NAS主机整机——2020年第一辆矿车,能不能上?是返乡过年?还是就地过年?最新一届#双面过节指南#开始啦!本次征稿活动分为A面返乡和B面就地,大家可以根据自己的情况,分享自己的春节攻略,优秀的投稿文章还有可能能获得优厚的大奖哦,快点击查看活动详情mwh1987| 赞397 评论475 收藏1k查看详情
之前在树莓派上所实现的功能:
samba -----------------局域网文件共享
sshfs------------------广域网文件共享
ssh------------ -------远程管理
vnc/xrdp---------------远程桌面
aria2/transmission-----远程下载
nextcloud--------------私有云
syncthing---------------文件同步
nginx-------------------web服务
frp---------------------内网穿透
emby/jellyfin-----------视频管理
calibre-----------------电子书管理
以上功能全部迁移到群晖上,太简单了,基本上都有现成的教程,所以“sinoc 主机 ”系列的文章也不一定会有后续了,也许会有一两篇,记录我怎样在群晖上建立我的私人电子书网站:
https://kandou.cc
https://books.kandou.cc/
很早以前有使用树莓派安装 homeassistant 的经历,因为使用的是 docker 安装方式,可能是因为docker 安装方式比较占用存储空间,homeassistant 的日志文件太大了,于是将日志文件放在移动硬盘上,最后可能因为移动硬盘频繁写入日志,挂掉了,我的结论是 homeassistant 对硬盘是不友好的,于是没有打算使用群晖来安装 homeassistant ,于是又找到了落灰已久的树莓派,这次换了个32G 的 TF卡,写坏了也不心疼。
2、Home Assistan安装
方案选择
首先转载一张图,这张图是在树莓派上安装Home Assistant的不同方式。其中Hassbian没有图形界面,详见:https://www.home-assistant.io/blog/2019/10/26/rip-hassbian/
Mossbian是由Hassbian改版的本土版本,详情:https://home-assistant.cc/mossbian/ 目前已停止维护,遂放弃这两种方案。
这里不使用docker ,就直接在树莓派的系统Raspbian上通过手动的方式安装Home Assistant;
开始安装
安装Home Assistant过程以下内容参考官方指导页面: https://www.home-assistant.io/docs/installation/raspberry-pi/
个人建议在网速良好的环境下安装或者将软件源更换到国内,否则很有可能安装完之后无法打开页面,或者页面返回 404 错误
2.1 使用以下指令修改树莓派 pi 用户的默认密码,注意,一定要修改,否则安装会出错。
passwd
2.2 更新系统
sudo apt-get update
sudo apt-get upgrade -y
2.3 安装依赖
如果你是下载的最新的系统,此步骤应该会很快$ sudo apt-get install python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff5
pip国内镜像配置
这一步一定不能少
很多安装Home Assistant未成功的,往往都是因为python依赖模块无法成功安装,而其中由于网络不通也占比不少。
这里配置清华的源,可以参照:https://mirrors.tuna.tsinghua.edu.cn/help/pypi/
临时使用
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
注意,simple 不能少,是 https 而不是 http
设为默认
升级 pip 到最新的版本 (>=10.0.0) 后进行配置:
pip install pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
如果您到 pip 默认源的网络连接较差,临时使用本镜像站来升级 pip:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U
2.4 添加Home Assistant账号及安装目录
Home Assistant不能使用root运行,可以建个专用用户,然后顺便把GPIO的权限都给它,方便以后连接其它传感器。sudo useradd -rm homeassistant -G dialout,gpio,i2c
cd /opt && sudo mkdir homeassistant
sudo chown homeassistant:homeassistant homeassistant
但是这里我直接使用系统默认的 pi 用户来运行,只需执行以下命令:
cd /opt && sudo mkdir homeassistant
sudo chown pi:pi homeassistant
2.5 python虚拟容器创建及Home Assistant安装
cd /opt/homeassistant
python3 -m venv .
source bin/activate
python3 -m pip install wheel #这一条可以不执行,实测执行了反而又会变慢,多次重试才安装成功
cd /opt/homeassistant && pip3 install homeassistant
2.6 启动 homeassistant
使用下面的指令启动 Home Assistant ,在此过程中将会创建配置文件(配置文件位置位于/home/pi/.homeassistant/ 如果发生错误,可以将些文件夹下内容删除,再重新启动 homeassistant),并且安装所需要的一些软件。此过程实测在 3B 上大约耗时20-30 分钟。你可以打开浏览器,输入 ipaddress:8123(将 ipaddress 换成树莓派的 IP 地址),直到网页成功加载即可。
source /opt/homeassistant/bin/activate
hass
第一次访问需要创建一个用户。然后输入刚刚创建的用户名和密码登录Home Assistant
如果你可到网页加载成功加载了 homeassistant 的主页,那么切回命令行,先用 Ctrl + C 退出 homeassistant ,再输入如下指令退出 python 虚拟环境,因为我们还要设置开机启动。
(homeassistant) $ exit
我们使用Jupyter Notebook 来编辑Home Assistant 的配置文件。
2.7 安装jupyter notebook
推荐 python3 环境下安装 jupyter。树莓派3里面内置了 python3,所以直接安装 jupyter,如果系统 python 版本是 python2.7,可以使用 virtualenvwrapper 进行多版本python管理。下面使用pip来安装 jupyter notebook
sudo apt-get install python3-pip // 安装pip3
sudo pip3 install jupyter // 安装jupyter
注意:jupyter 是单用户服务,如果想使用多用户服务可以使用jupyterhub
2.8 配置 jupyter notebook
生成配置文件下面命令将在~/.jupyter目录下面生成jupyter notebook配置文件jupyter_notebook_config.py
sudo jupyter notebook --generate-config
修改jupyter_notebook_config.py文件中以下配置:
c.NotebookApp.ip = '*' // jupyter监控地址
c.NotebookApp.port = 8888 // jupyter监听端口
c.NotebookApp.allow_remote_access = True // 运行以非localhost/127.0.0.1访问
2.9 配置登录密码
jupyter启动服务时候,默认是使用一次性token进行登录验证的。我们需要使用以下命令来给jupyter服务配置登录密码:sudo jupyter notebook password
按照提示输入密码,再次确认密码就可以了。这条命令需要jupyter notebook版本不小于5.0才支持。若不支持可以按照下面方式来配置,详细见官方文档:
在python交互模式下,输入以下命令
>>> from notebook.auth import passwd
>>> passwd()
Enter password:
Verify password:
'sha1:5952f1c3c7ec:16852a1f8ee36f7cb716b74d3e0127efee106c1c'
然后复制上面的hash处理之后的字符串到~/jupyter_notebook_config.py
c.NotebookApp.password = u'sha1:5952f1c3c7ec:16852a1f8ee36f7cb716b74d3e0127efee106c1c'
2.10 启动服务并验证
配置完成之后我们可以使用 jupyter notebook来启动服务cd /home/pi/.homeassistant // 使用homeassistant 的配置目录作为jupyter的工作目录
jupyter notebook
完成上面操作,打开浏览器,地址栏输入 ipaddress:8888(将 ipaddress 换成树莓派的 IP 地址),即可打开jupyter ,这时候 Home Assistant 的目录是隐藏的,这时在新开的终端 输入
ln -s .homeassistant/ homeassistant
然后刷新 jupyter Notebook 就可以看到 Home Assistant 的目录了。
可直接编辑配置文件 configuration.yaml:
注意配置缩进,一定要注意。
到此已经介绍完 Home Assistant 在树莓派上的安装。但是关掉终端,就会发现Home Assistant 无法访问了。下面我就介绍一下如何把Home Assistant 安装成服务 进行自启动。
2.11 设置开机启动
sudo nano /etc/systemd/system/homeassistant.service编辑内容如下:
[Unit]
Description=Home Assistant
After=network-online.target
[Service]
Type=simple
User=pi
ExecStart=/opt/homeassistant/bin/hass -c "/home/pi/.homeassistant"
[Install]
WantedBy=multi-user.target
保存退出。
sudo systemctl daemon-reload
sudo systemctl enable homeassistant
同样也可以用相同的方式把 Jupyter Notebook 也安装成服务 自启动:
sudo nano /etc/systemd/system//jupyter-notebook.service
编辑内容如下:
[Unit]
Description=Jupyter Notebook
[Service]
Type=simple
ExecStart=/usr/local/bin/jupyter-notebook
User=pi
[Install]
WantedBy=multi-user.target
保存退出。
同样输入指令 sudo systemctl enable jupyter-notebook
手动启动 刚刚安装的两个服务:
sudo systemctl start homeassistant
sudo systemctl start jupyter-notebook
这样下次就不用在终端输入命令来启动服务了,直接开启树莓派就可以使用。
2.12 服务相关命令(以homeassistant服务为例)
重载服务配置: sudo systemctl --system daemon-reload将服务加入自启动: sudo systemctl enable homeassistant
将服务移除自启动: sudo systemctl disable homeassistant
手工启动服务: sudo systemctl start homeassistant
手工停止服务: sudo systemctl stop homeassistant
手工重启服务: sudo systemctl restart homeassistant
查看服务输出: sudo journalctl -f -u homeassistant
后记
树莓派的折腾就到此为止了,“sinoc 主机 ”系列的文章也不一定会有后续了,也许会有一两篇,记录我怎样在群晖上建立我的私人电子书网站:https://kandou.cc
https://books.kandou.cc/
码字太难了。
网友评论