『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 14057|回复: 12

[基础教程] 全新树莓派3b+安装操作系统和home assistant

[复制链接]

2

主题

24

帖子

138

积分

论坛分享达人

积分
138
金钱
114
HASS币
0
发表于 2018-10-25 21:24:02 | 显示全部楼层 |阅读模式
本帖最后由 zzzzzqf 于 2018-10-25 21:23 编辑

树莓派3b+安装homeassistant1.  安装树莓派操作系统
参考网站教程:https://blog.csdn.net/weixin_39449466/article/details/80686835
1.1. 下载操作系统
官网下载RASPBIAN STRETCH WITH DESKTOP版本
下载后文件为:2018-10-09-raspbian-stretch.zip,大小:1.33 GB
解压后文件为:2018-10-09-raspbian-stretch.img,大小:3.85 GB
1.2. 下载SD卡格式化软件
名称:SD card formatter , SD_CardFormatter0500SetupEN.exe
大小:6.67 MB
下载地址:https://www.sdcard.org/downloads/formatter_4/eula_windows/index.html
安装好后,选择sd卡后,直接点quick format就行。
1.3. 下载SD卡烧录软件
名称:win32diskimager , win32diskimager-1.0.0-install.exe
大小:11.9 MB
下载地址:
https://jaist.dl.sourceforge.net/project/win32diskimager/Archive/win32diskimager-1.0.0-install.exe
安装好后,选择sd卡,选择刚刚解压的img文件,直接点写入就行。
1.4. 修改配置,支持HDMI
SD卡的根目录下,找到config.txt,打开把下面的#注释取消就行了。
#uncomment if hdmi display is not detected and composite is being output
hdmi_force_hotplug=1#
1.5. 修改配置,支持SSH
打开cmd命令窗口,输入SD卡所在盘符,输入echo >ssh
因为目前官方系统默认不开启ssh,在根目录下建立这个文件可以ssh了。
1.6. 插入SD
SD拔出,插入树莓派中,上电启动树莓派。
2.  第一次启动配置2.1. 配置时区、语言、wifi
按照图形界面的提示,把这些都配置好就行了
2.2. 扩展系统空间
ssh中输入:
sudo raspi-config
然后选择第一个ExpandFilesystemOK
2.3. 更改密码
如果之前改过密码了,那么就不用改了,没改的话,按照下面改密码。
如果刚才的设置界面没退出 选择 2 ChangeUser Password就可以
如果刚才退出了 再次输入sudoraspi-config就行了
3.  更换系统国内源
参考地址:
https://bbs.hassbian.com/forum.php?mod=viewthread&tid=4013&highlight=%E6%A0%91%E8%8E%93%E6%B4%BE%2B%E7%B3%BB%E7%BB%9F
3.1. 修改树莓派Raspbian系统源
sudo nano /etc/apt/sources.list
如下:注意要看自己的系统版本(stretch
#deb http://raspbian.raspberrypi.org/raspbian/ stretchmain contrib non-free rpi
# Uncomment line below then 'apt-get update' toenable 'apt-get source'
#deb-src http://raspbian.raspberrypi.org/raspbian/ stretchmain contrib non-free rpi
#deb http://mirrors.aliyun.com/raspbian/raspbian/ stretchmain contrib non-free rpi
#科大源
deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretchmain contrib non-free rpi
3.2. 修改debian软件源
sudo nano /etc/apt/sources.list.d/raspi.list

如下:
# Uncomment line below then 'apt-get update' toenable 'apt-get source'
#科大源

3.3. 更改pip的国内的源
我的pip配置文件在/etc/pip.conf
pi@raspberrypi:~ $ nano /etc/pip.conf
把原来的用#注释掉,然后在配置文件中写入

[global]

[install]
trusted-host = pypi.mirrors.ustc.edu.cn
保存后,执行
sudo apt-get update
4.  配置VNC
按照树莓派官网教程来做
4.1. Enabling VNC Server(安装VNC服务端)
sudo apt-get update
sudo apt-get install realvnc-vnc-serverrealvnc-vnc-viewer
安装好之后,有两种开启模式,图形界面操作和命令行
4.1.1.  图形界面
1)     On your Raspberry Pi, boot intothe graphical desktop.
2)     Select Menu >Preferences > Raspberry Pi Configuration > Interfaces.
3)     Ensure VNC is Enabled.
4)     其实这个地方也可以开启SSH服务等
4.1.2.  命令行
1)     sudo raspi-config
2)     Navigate to InterfacingOptions.
3)     Scroll down and select VNC> Yes.
4.2. Windows
文件:VNC-Viewer-6.18.907-Windows.exe
大小:9.53 MB
安装好之后,直接在输入框中输入树莓派的ip地址,然后根据提示输入用户名和密码就可以远程控制树莓派了。
5.  安装HomeAssistant
我没有用hass.io的方式来安装
5.1. 前置条件
You must have Python 3.5.3 or later installed(including the package python3-dev) which is the case for RaspbianStretch.
我之前下载的系统就是官网最新的2018-10-9Raspbian Stretch,满足了这个python版本要求,它包含了两个版本的python2.73.5.3

pi@raspberrypi:~ $ python
Python 2.7.13 (default, Sep 26 2018, 18:42:22)
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright","credits" or "license" for more information.
>>>

pi@raspberrypi:~ $ python3
Python 3.5.3 (default, Sep 27 2018, 17:25:39)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright","credits" or "license" for more information.
>>>

5.2. 开始安装
1)     Update the system.
$ sudo apt-get update
$ sudo apt-get upgrade –y

2)     Install the dependencies.
$ sudo apt-get install python3 python3-venvpython3-pip

3)     创建homeassistant用户
$ sudo useradd -rm homeassistant -G dialout,gpio

4)     设置homeassistant用户密码
pi@raspberrypi:~ $ sudo passwd homeassistant

5)     创建homeassistant工作目录
$ cd /srv
$ sudo mkdir homeassistant
$ sudo chown homeassistant:homeassistanthomeassistant
$ sudo -u homeassistant -H –s

6)     创建python3虚拟环境
$ cd /srv/homeassistant
$ python3 -m venv .
$ source bin/activate
(homeassistant)homeassistant@raspberrypi:/srv/homeassistant $ python3 -m pip install wheel
(homeassistant)homeassistant@raspberrypi:/srv/homeassistant $ pip3 install homeassistant

5.3. 设置开机启动
这里我采用了init.d (Linux)的方式来设置

5.3.1.  创建脚本
pi@raspberrypi:~ $ cd /etc/init.d/
pi@raspberrypi:/etc/init.d $ nano hass-daemon
将以下脚本全部复制到hass-daemon
5.3.2.  脚本内容
#!/bin/sh
### BEGIN INIT INFO
# Provides:          hass
# Required-Start:    $local_fs $network $named $time $syslog
# Required-Stop:     $local_fs $network $named $time $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Description:       Home\ Assistant
### END INIT INFO

# /etc/init.d Service Script for Home Assistant
PRE_EXEC="cd /srv/homeassistant; python3 -mvenv .; source bin/activate;"
# Typically /usr/bin/hass
HASS_BIN="hass"
RUN_AS="homeassistant"
PID_DIR="/var/run/hass"
PID_FILE="$PID_DIR/hass.pid"
CONFIG_DIR="/home/$RUN_AS/.homeassistant"
LOG_DIR="/var/log/homeassistant"
LOG_FILE="$LOG_DIR/home-assistant.log"
FLAGS="-v --config $CONFIG_DIR --pid-file$PID_FILE --log-file $LOG_FILE --daemon"

start() {
create_piddir
  if [ -f$PID_FILE ] && kill -0 $(cat $PID_FILE) 2> /dev/null; then
    echo'Service already running' >&2
    return1
  fi
  echo -n'Starting service… ' >&2
  localCMD="$PRE_EXEC $HASS_BIN $FLAGS;"
  su -s/bin/bash -c "$CMD" $RUN_AS
  if [ $?-ne 0 ]; then
    echo"Failed" >&2
  else
    echo'Done' >&2
  fi
}

stop() {
  if [ !-f "$PID_FILE" ] || ! kill -0 $(cat "$PID_FILE") 2>/dev/null; then
    echo'Service not running' >&2
    return1
  fi
  echo -n'Stopping service… ' >&2
  kill$(cat "$PID_FILE")
  while ps-p $(cat "$PID_FILE") > /dev/null 2>&1; do sleep 1;done;
  rm -f$PID_FILE
  echo'Done' >&2
}

install() {
  echo"Installing Home Assistant Daemon (hass-daemon)"
update-rc.d hass-daemon defaults
create_piddir
  mkdir -p$CONFIG_DIR
  chown$RUN_AS $CONFIG_DIR
  mkdir -p$LOG_DIR
  chown$RUN_AS $LOG_DIR
}

uninstall() {
  echo"Are you really sure you want to uninstall this service? The INIT scriptwill"
  echo -n"also be deleted! That cannot be undone. [yes|No] "
  localSURE
  readSURE
  if ["$SURE" = "yes" ]; then
    stop
   remove_piddir
    echo"Notice: The config directory has not been removed"
    echo$CONFIG_DIR
    echo"Notice: The log directory has not been removed"
    echo$LOG_DIR
   update-rc.d -f hass-daemon remove
    rm -fv "$0"
    echo"Home Assistant Daemon has been removed. Home Assistant is stillinstalled."
  fi
}

create_piddir() {
  if [ !-d "$PID_DIR" ]; then
    mkdir-p $PID_DIR
    chown$RUN_AS "$PID_DIR"
  fi
}

remove_piddir() {
  if [ -d"$PID_DIR" ]; then
    if [-e "$PID_FILE" ]; then
      rm-fv "$PID_FILE"
    fi
    rmdir-fv "$PID_DIR"
  fi
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  install)
   install
    ;;
uninstall)
   uninstall
    ;;
  restart)
    stop
    start
    ;;
  *)
    echo"Usage: $0 {start|stop|restart|install|uninstall}"
esac

5.3.3.  注册自启动服务
$ sudo service hass-daemon install
5.3.4.  其他说明
1)      SELECT AUSER.(设置运行hass的用户)
Create or pick a user that the Home Assistantdaemon will run under. Update script to set RUN_AS to the username that should be used to execute hass.

2)     CHANGE HASS EXECUTABLE ANDOTHER VARIABLES IF REQUIRED. (设置运行hass的工作目录和其他变量)
Some installation environments may require achange in the Home Assistant executable hass. Update script to set HASS_BIN to the appropriate hass executable path. Please also check the other variables for theappropriate value. In general the defaults should work

3)     我不知道为什么在安装完之后,直接运行hass,web端就是不能访问hass,设置开启启动后就能访问了,奇怪。
5.4. 重启树莓派
pi@raspberrypi:~ $ reboot

6.  web访问Home Assistant
Windows上打开http://树莓派IP:8123
第一次访问的话,还需要设置用户名和密码。

                               
登录/注册后可看大图

QQ截图20181025211056.jpg
回复

使用道具 举报

8

主题

870

帖子

5218

积分

论坛元老

Rank: 8Rank: 8

积分
5218
金钱
4348
HASS币
0
发表于 2018-10-25 23:48:58 | 显示全部楼层
赞,谢谢分享
回复

使用道具 举报

34

主题

335

帖子

1848

积分

金牌会员

Rank: 6Rank: 6

积分
1848
金钱
1513
HASS币
0
发表于 2018-10-26 00:33:32 | 显示全部楼层
感谢分享!
回复

使用道具 举报

0

主题

56

帖子

282

积分

中级会员

Rank: 3Rank: 3

积分
282
金钱
226
HASS币
0
发表于 2018-10-26 08:22:24 | 显示全部楼层
感谢分享,很详细
回复

使用道具 举报

4

主题

303

帖子

1159

积分

金牌会员

Rank: 6Rank: 6

积分
1159
金钱
846
HASS币
40
发表于 2018-10-26 11:23:12 | 显示全部楼层
感谢分享,非常适合我等小白!
回复

使用道具 举报

2

主题

206

帖子

855

积分

论坛积极会员

积分
855
金钱
649
HASS币
0
发表于 2018-10-26 12:05:52 | 显示全部楼层
谢分享,非常适合小白
回复

使用道具 举报

0

主题

107

帖子

583

积分

高级会员

Rank: 4

积分
583
金钱
476
HASS币
0
发表于 2018-10-26 21:16:27 | 显示全部楼层
收藏
回复

使用道具 举报

0

主题

56

帖子

282

积分

中级会员

Rank: 3Rank: 3

积分
282
金钱
226
HASS币
0
发表于 2018-10-29 22:42:38 | 显示全部楼层
已收藏,值得学习一下
回复

使用道具 举报

1

主题

13

帖子

60

积分

注册会员

Rank: 2

积分
60
金钱
47
HASS币
0
发表于 2018-11-7 02:14:02 | 显示全部楼层
請問我目前已進入Hass.io已安裝Samba share
但是電腦win10無法連上共享資料夾,這樣就沒辦法增加小米網關
我一直打樹莓派的IP位置都無法開啟共享夾....該怎麼辦?
回复

使用道具 举报

2

主题

8

帖子

58

积分

注册会员

Rank: 2

积分
58
金钱
50
HASS币
0
发表于 2019-2-10 15:42:18 | 显示全部楼层
值得学习一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 20:48 , Processed in 0.062602 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表