最近想给露台花园做个自动浇水,一般的解决方案是水泵+土壤湿度传感器+继电器,想了下,还是利用现有设备来做。
设备清单:树莓派+博联MP1+电磁阀
一、树莓派安装MOSSBIAN
比较了一下,选择MOSSBIAN作为树莓派的系统。Mossbian 是 Hassbian 的中文本地化改版,自带图形化操作界面和必要系统依赖文件,自带汉化版 Hassbian-scripts 工具包,自带 Pypi 阿里云源、npm 淘宝源与 Debian apt 中国源,自带中文系统、中文输入法与中文字体。
1、安装MOSSBIAN,安装方法见https://home-assistant.cc/mossbian/install/
2、开启VNC,方便部分操作
在终端输入以下命令进入配置界面。
sudo raspi-config
依次操作:Interfacing Options -> VNC -> Yes。之后系统会提示你是否要安装 VNC 服务,输入 y 之后回车,等待系统自动下载安装完成,一切顺利的话 VNC 服务就启动了!
3、修改时区
sudo dpkg-reconfigure tzdata
我选择的是亚洲ASIA,上海Shanghai
4、修改树莓派源为阿里源
sudo nano /etc/apt/sources.list
把原来第一行的#去掉,在第二行加上#
ctrl + x 然后 y 回车确认文件名 退出
sudo nano /etc/apt/sources.list.d/raspi.list
把“archive.raspberrypi.org/debian/”修改为“mirrors.ustc.edu.cn/archive.raspberrypi.org”,使用中科大的镜像源
5、然后就能愉快的更新树莓派了,等代码跑完就完成了源更新了
sudo apt-get update
sudo apt-get upgrade
6、安装samba,mariadb,mqtt(新版 Home Assistant 已经加入数据库定时清理机制,因此非高级玩家没有任何必要更换数据库,望周知)
sudo hassbian-config install samba
#sudo hassbian-config install mariadb
sudo hassbian-config install mosquitto
安装mqtt的时候会让输入帐号和密码,一定记住了,其他具体配置在后面
7、配置samba
#设置用户名和密码(下面示例用户名为pi,你可以改成自己的,但是要记住)
sudo smbpasswd -a pi
#编辑配置文件
sudo nano /etc/samba/smb.conf
将下列内容黏贴到配置文件中
[global]
netbios name = raspberrypi
server string = The Pi File Center
workgroup = WORKGROUP
hosts allow =
remote announce =
remote browse sync =
[HOME ASSISTANT]
path = /home/homeassistant/.homeassistant
comment = No comment
browsable = yes
read only = no
valid users =
writable = yes
guest ok = yes
public = yes
create mask = 0777
directory mask = 0777
force user = root
force create mode = 0777
force directory mode = 0777
hosts allow =
[PI]
path = /home/pi
comment = No comment
browsable = yes
read only = no
valid users =
writable = yes
guest ok = yes
public = yes
create mask = 0777
directory mask = 0777
force user = root
force create mode = 0777
force directory mode = 0777
hosts allow =
然后重启samba,samba就安装好了
sudo service smbd restart
8、配置Mariadb(新版 Home Assistant 已经加入数据库定时清理机制,因此非高级玩家没有任何必要更换数据库,望周知)
1)新建mariadb数据库
sudo mariadb -u root -p
你输入数据库密码
CREATE DATABASE hass_db;
CREATE USER 'hassuser'@'localhost' IDENTIFIED BY '你的密码';
GRANT ALL PRIVILEGES ON *.* TO 'hassuser'@'localhost';
FLUSH PRIVILEGES;
exit;
2)在你的configuration.yaml,增加下面代码
recorder:
purge_interval: 2 #每两天执行一次清理,重启会重置
purge_keep_days: 5 #历史数据保存的天数
db_url: mysql://smc326:5626151@localhost/hass_db?charset=utf8
9、添加花花草草检测仪
1)扫描蓝牙设备,获取花花草草mac地址
sudo hcitool lescan
记录Flower care前面的MAC地址
2)配置Yaml
sensor:
- platform: miflora
mac: '刚才获得的MAC地址'
name: my_plant
force_update: false
median: 3
monitored_conditions:
- moisture
- light
- temperature
- conductivity
- battery
group:
mi_plant:
name: "花花草草"
icon: mdi:flower
view: false
entities:
- sensor.my_plant_battery
- sensor.my_plant_conductivity
- sensor.my_plant_light_intensity
- sensor.my_plant_moisture
- sensor.my_plant_temperature
homeassistant:
customize:
sensor.my_plant_battery:
friendly_name: 花花草草电量
icon: mdi:battery
sensor.my_plant_conductivity:
friendly_name: 花花草草电导率
icon: mdi:earth
sensor.my_plant_light_intensity:
friendly_name: 花花草草光照度
icon: mdi:spotlight-beam
sensor.my_plant_moisture:
friendly_name: 花花草草湿度
icon: mdi:water-percent
sensor.my_plant_temperature:
friendly_name: 花花草草温度
icon: mdi:oil-temperature
10、添加博联MP1插座
switch:
- platform: broadlink
host: IP_ADDRESS
mac: 'MAC_ADDRESS'
type: mp1
friendly_name: 'MP1'
slots:
# friendly name of slots - optional
# if not set, slot name will be switch's friendly_name + 'slot {slot_index}'. e.g 'MP1 slot 1'
slot_1: 'TV slot'
slot_2: 'Xbox slot'
slot_3: 'Fan slot'
slot_4: 'Speaker slot'
变量说明:
host: 必填,设备 IP
mac: 必填,设备 mac,注意引号
type: 必填,设备型号
friendly_name: 可选,昵称,仅限英文!!!
slot_x:可选,各孔位昵称,仅限英文!!!。不设置的话,则设备默认昵称为 MP1 slot x
未经允许不得转载:聚友 » 树莓派+Home-Assistant智能家居折腾记