项目作者: cheng-haha

项目描述 :
树莓派+nodemcu的智能家居
高级语言: Python
项目地址: git://github.com/cheng-haha/raspi-smarthome.git
创建时间: 2019-11-04T02:56:33Z
项目社区:https://github.com/cheng-haha/raspi-smarthome

开源协议:

下载


raspi-smarthome

树莓派+nodemcu的智能家居

1.emqx服务

下载emqx:

  1. wget https://www.emqx.io/downloads/broker/v3.2.3/emqx-ubuntu16.04-v3.2.3_amd64.deb

安装

  1. sudo dpkg -i emqx-ubuntu16.04-v3.2.3_amd64.deb

启动,查看emq服务

  1. sudo service emqttd start
  2. sudo service emqttd status

使用浏览器打开EMQ控制台,http://127.0.0.1:18083,输入默认用户名:admin,默认密码public。

2.树莓派安装mqtt

接下来需要在树莓派上装一个mqtt客户端:

  1. sudo apt-get install mosquitto-clients

发布主题测试:

  1. mosquitto_pub -h 服务器ip -t 主题 -m 消息

3.安装hass

为Ubuntu16.04安装homeassistant

安装python3.6(注意:这里新版hass可能要安装Python3.6才支持!)

  1. sudo add-apt-repository ppa:deadsnakes/ppa
  2. sudo apt-get update
  3. sudo apt-get install python3.6

安装python3.6-venv

  1. sudo apt-get install python3.6-venv

创建并启用虚拟环境

  1. cd /opt
  2. sudo mkdir hass
  3. cd /hass
  4. sudo python3.6 -m venv .
  5. source bin/activate

我创建在/opt/hass下,你也可以换一个目录

安装一个python包

  1. sudo python3.6 -m pip install wheel

安装并启动homeassistant的0.89.2版本

  1. sudo pip3 install homeassistant==0.89.2
  2. hass --open-ui

配置homeassistant:

  1. nano .homeassistant/configuration.yaml

添加:(注意冒号后加空格)

  1. http:
  2. api_password: 密码
  3. api:

启动:

  1. cd /opt/hass
  2. source bin/activate
  3. hass --open-ui

退出:

  1. deactivate

4.安装redpoint

使用:

将redpoint.py放置在~/.homeassistant/custom_components/目录下

配置文件:

  1. redpoint:
  2. mkdir ~/.homeassistant/custom_components
  3. cd ~/.homeassistant/custom_components
  4. git clone https://github.com/cheng-haha/raspi-smarthome.git

并修改配置文件:

  1. nano .homeassistant/configuration.yaml

加入:

  1. redpoint:

5.为NodeMCU刷入ESP Easy固件

下载固件下载链接,下载后解压,双击打开FlashESP8266.exe,选择对应COM-Port(电脑设备管理那里查看),版本选择normal 4096(没有的话从bin/里拉出来)。点击Flash

刷完后,把板子通电,然后搜索热点,你会看到有一个叫ESP_EASY_0的热点,连上,密码是configesp,之后打开浏览器,地址栏输入http://192.168.4.1 即可登陆到ESPEasy的管理界面。

然后输入自己家里WiFi和密码让nodemcu连接你家的路由器。20s之后会显示分配到的ip地址,如果没有的话,到路由器管理员界面查看一下分配给Nodemcu的IP地址,即可通过浏览器访问。

6.hass接入语音助手
第一步:

在 homeassistant 的 configuration.yaml 里添加:

添加:(注意冒号后加空格)

  1. http:
  2. api_password: 密码
  3. api:

如果你要接入悟空语音助手的话 按照官方文档 在hass目录下编辑这样一个文件:

第二步:

  1. homeassistant:
  2. url: "http://127.0.0.1" #切记加上http://,ip或者域名为你的homeassistant的主机
  3. port: "8123" # 端口为你的homeassistant的端口和网页端口一样
  4. password: "cxk" #改成你的密码

第三步:

如下是示例的部分配置:

sensor.tempareture:
friendly_name: “环境温度”
wukong: [“查看环境温度”, “当前环境温度”, “环境温度”]
sensor.humidity:
friendly_name: “环境湿度”
wukong: [“查看环境湿度度”, “当前环境湿度”, “环境湿度”]
switch.light:
friendly_name: “补光”
wukong: {“开始补光”:”turn_on”, “补光”:”turn_on”, “停止补光”:”turn_off”, “结束补光”:”turn_off”}
switch.pump:
friendly_name: “浇水”
wukong: {“开始浇水”:”turn_on”, “浇水”:”turn_on”, “停止浇水”:”turn_off”, “结束浇水”:”turn_off”}

我的配置是:

  1. sensor.tempareture:
  2. friendly_name: "环境温度"
  3. wukong: ["查看环境温度", "当前环境温度", "环境温度"]
  4. sensor.humidity:
  5. friendly_name: "环境湿度"
  6. wukong: ["查看环境湿度度", "当前环境湿度", "环境湿度"]
  7. switch.jidianqi:
  8. friendly_name: "电风扇"
  9. wukong: {"打开电风扇":"/14 -m 1", "打开风扇":"/14 -m 1", "关闭电风扇":"/14 -m 0", "关闭风扇":"/14 -m 0"}
  10. switch.yellow:
  11. friendly_name: "卧室灯"
  12. wukong: {"打开卧室的灯":"/16 -m 1", "打开卧室灯":"/16 -m 1", "关闭卧室的灯":"/16 -m 0", "关闭卧室灯":"/16 -m 0"}
  13. switch.kaiguan:
  14. friendly_name: "客厅灯"
  15. wukong: {"打开客厅的灯":"/12 -m 1", "打开客厅灯":"/12 -m 1", "关闭客厅的灯":"/12 -m 0", "关闭客厅灯":"/12 -m 0"}

接下来就用你的语音助手控制智能家居吧吧

作者:程东洲

禁止作为商业用途