树莓派构建智能家居控制系统 篇三:花花草草智能监测仪接入树莓派Domoticz
作为工科男,实在对花花草草没太多感觉。家里阳台养了盆植物——沙漠玫瑰,朋友送的。有天突然想到它来家里14年多呀,竟然在我们大部分时间不管不顾的情况下依然在茁壮成长、依然在花开花谢。顽强的生命呀!好吧,接下来的日子要好好养你,一起慢慢变老吧。作为工科男,所谓的要好好养,就是给你加上一套高科技的手段、全方位的数字化而于。仅此而于。
米家生态链企业的花花草草监测仪就这样来到它的土壤里。联机简单,读小学的女儿就搞定了,不细述。显示界面如下:
这对于承接养花任务的女儿来说是好玩了。而作为工科男却想着如何接入智能家居中心Domoticz来,一切要受控,要联网。
这玩意能检测四个值:光照监测、温度监测、土壤水分监测、养分监测
它使用蓝牙4.1 BLE(低功耗蓝牙)无线连接方式,因此你的树莓派必须是支持蓝牙4.0以上的树莓派3代才行。
目前只找到接入基于Linux 系统的Domoticz的教程。
一、Domoticz的准备工作:
1.1 新增一个硬件,类型选为Dummy,其它默认。
1.2 新增四个虚拟传感器:
在新增的这个“Mi Flora”硬件,点击“Create Virtual Sensors”创建虚拟传感器,新增四个虚拟传感器,名称自定,对应类型选择如下:
二、树莓派安装蓝牙
在开始之前检查更新、升级你的树莓派:
sudo apt-get update 更新列表
sudo apt-get upgrade 更新所有已安装的软件
我们要确保在树莓派上安装的bluez(Linux官方蓝牙协议栈)的版本在5.3以上。
sudo apt-get install libglib2.0-dev libdbus-1-dev libical-dev libreadline-dev libudev-dev
逐条运行以下命令:
cd /home/piwget http://www.kernel.org/pub/linux/bluetooth/bluez-5.44.tar.gz
tar-xvfbluez-5.44.tar.gz
cd bluez-5.44
sudo ./configure--prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-tools --disable-test --disable-systemd
--enable-deprecated
sudo makeall
sudo apt-get
install python-bluez python-requests
以上都正常运行后,再运行以下命令:
sudo cp attrib/gatttool /usr/bin/
export PATH=$PATH:~/bluez-5.44/attrib/
若以上运行都正常,你以安装好蓝牙,重启设备。
sudo shutdown -r now
三、与花花草草监测仪连接
通过python脚本直接与花花草草监测仪连接
3.1 我们通过git命令下载花草临测仪的python3脚本
sudo apt-get install -y git-core 如果你没安装过git,就先运行此命令
cd ~ && git clone https://github.com/Tristan79/miflora.git 下载脚本
cp -R ~/miflora/ ~/domoticz/scripts/python/miflora 复制目录
3.2 安装相关python3库
sudo aptitude install python3 python3-pip
sudo pip3 install pygatt
sudo pip3 install requests
3.3 搜索花草监测仪的蓝牙地址
先确保你树莓派的蓝牙是开启的
进入bluez目录下:
cd ~/bluez-5.44
逐条运行以下命令:
sudo tools/btmgmt le on
sudo tools/btmgmt connectable on
sudo tools/btmgmt power on
逐条运行以下命令,扫描你的花草监测仪:
sudo hciconfig hci0 down
sudo hciconfig hci0 up
hciconfig
sudo hcitool lescan
会看到类似结果:
其中注释为flower care的前面的蓝牙地址就是你的花草监测仪的蓝牙地址,记下来。
按ctrl-z 退出扫描命令。
3.4 修改花草监测仪的脚本(文件名domoticz.py)
脚本文件/home/pi/domoticz/scripts/python/miflora/domoticz.py,只需要修改你的花草监测仪的蓝牙地址及我们在1.2中新建的四个虚拟传感器的IDX号。
编辑脚本文件:
sudo nano /home/pi/domoticz/scripts/python/miflora/domoticz.py
第11行,是关于domoticz服务器的地址,看需要修改成你的树莓派IP;
再移到脚本的最后,有一大串的蓝牙地址,(这脚本作者是花花草草监测仪的大客户呀)
就看你有几个监测仪,有几个添几段 。我就一个,就将多余的全删了
注意大小写及标点符号。保存、退出编辑。
试运行下脚本:
/usr/bin/python3 /home/pi/domoticz/scripts/python/miflora/domoticz.py
OK!
3.5 设定脚本定时运行,定时获取花草监测仪的数据
sudo crontab -e
在最后增加一行:
0 0,12 * * * /usr/bin/python3 /home/pi/domoticz/scripts/python/miflora/domoticz.py
crontab中的每一行代表一个定期执行的任务,分为6个部分。前5个部分表示何时执行命令,最后一个部分表示执行的命令。每个部分以空格分隔,除了最后一个部分(命令)可以在内部使用空格之外,其他部分都不能使用空格。前5个部分分别代表:分钟,小时,天,月,星期。更详细的自行百度。
我们添加的这个定时任务就是每天的0点和12点运行一次命令。
好了,这时你的domoticz中的四个虚拟传感器应该都有数据了(如果你刚才有试运了脚本):
将这花花草草监测仪接入domoticz只是个开始,接下来才是你们要自由发挥的时候了,将这些数据与其它设备联动起来才是更有趣的。
参考Domoticz wiki: https://www.domoticz.com/wiki/Mi_Flora_Bluetooth_LE
fenggewo
校验提示文案
老虎哥哥
校验提示文案
愤怒的KEVIN
校验提示文案
jasy
校验提示文案
sx_wjl
校验提示文案
呐喊
校验提示文案
静若瘫痪
校验提示文案
值友201709021229
校验提示文案
BuenosAires
校验提示文案
zxw3081
校验提示文案
长江渔人
校验提示文案
辉辉1
校验提示文案
无尾熊xx
校验提示文案
刘星辉
校验提示文案
白马青蛙
校验提示文案
arli
校验提示文案
_小哥
校验提示文案
Mr_Qrz
校验提示文案
tizzybac
校验提示文案
真的不知道起啥
校验提示文案
qicheng2008
校验提示文案
roc634
校验提示文案
vipnec
校验提示文案
花蟋蟀
校验提示文案
clouit
cd /home/piwget 去看看
tar-xvfbluez-5.44.tar.gz
cd bluez-5.44
sudo ./configure--prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-tools --disable-test --disable-systemd --enable-deprecated
sudo makeall
sudo apt-get install python-bluez python-requests
这里很多命令不对啊 第一条是不是两条命令? 第二条是不是tar xvf blu.. 没有破折号 少个空格
到了第四条就完全看不懂了 也不知道怎么改
校验提示文案
真的不知道起啥
校验提示文案
tizzybac
校验提示文案
Mr_Qrz
校验提示文案
_小哥
校验提示文案
arli
校验提示文案
白马青蛙
校验提示文案
刘星辉
校验提示文案
老虎哥哥
校验提示文案
无尾熊xx
校验提示文案
辉辉1
校验提示文案
长江渔人
校验提示文案
zxw3081
校验提示文案
fenggewo
校验提示文案
BuenosAires
校验提示文案
值友201709021229
校验提示文案