我家云Home Assistant智能家居系统的Modbus RTU通信
一、简介
使用我家云作为Home Assistant智能家居的控制中心,与Modbus RTU IO模块进行RS485串口通信,实现对传感器的信息采集和对灯的开关控制。
1.我家云
我家云采用了Cortex-A53的芯片架构,搭配8GB的ROM储存空间,以及1GB DDR3的内存,采用千兆网络,配备的一个USB3.0一个USB2.0的扩展接口。因为我家云的公司已经停止运营了,所以现在刷机使用开源的OMV操作系统。
2.Modbus IO输入输出模块
IO模块的种类很多,我选的有8路数字量输入,8路数字继电器输出,采用RS485 Modbus RTU通信标准。
3.USB转串口工具
因为我家云没有串口的接口,所以还需要一个USB转RS485串口才能与IO模块进行通信连接。连接情况如下图。
二、安装过程
1.我家云使用Docker安装Home Assistant智能家居系统
电脑和我我家云连接在同一个局域网中,使用SSH登录我家云的OMV操作系统,可以发现USB转串口位置为/dev/ttyUSB0
使用下面的命令安装Home Assistant,并将配置文件放在了/root/homeassistant目录。
docker run --init -d --name homeassistant --restart=unless-stopped -v /etc/localtime:/etc/localtime:ro -v /root/homeassistant:/config --device /dev/ttyUSB0:/dev/ttyUSB0 --network=host homeassistant/home-assistant:stable
2.Home Assistant初始设置
在电脑浏览器输入我家云的IP:8123,例如我的输入192.168.1.130:8123就可以打开Home Assistant的页面。
可以按照提示设置登录用户名及密码等。
三、IO模块接入Home Assistant
1.IO清单
根据IO模块的厂家资料,其默认RS485参数为,波特率9600,数据位8位,停止位1,奇偶校验无,slave地址1.
我的IO通道分配情况如下表:
2.将IO模块的通道接入Home Assistant智能家居系统
使用SSH登录我家云OMV操作系统,编辑/root/homeassistant/configuration.yaml文件就可以将IO模块接入Home Assistant智能家居系统。
在configuration.yaml中添加以下内容:
modbus:
- name: hub1
type: serial
baudrate: 9600
bytesize: 8
method: rtu
parity: N
port: /dev/ttyUSB0
stopbits: 1
lights:
- name: "主灯"
address: 0
write_type: coil
slave: 1
- name: "书桌灯"
address: 1
write_type: coil
slave: 1
- name: "工作台灯"
address: 2
write_type: coil
slave: 1
switches:
- name: "书桌插座"
address: 3
write_type: coil
slave: 1
- name: "工作台插座"
address: 4
write_type: coil
slave: 1
fans:
- name: "排风扇"
address: 5
write_type: coil
slave: 1
binary_sensors:
- name: "门口人体传感器"
address: 0
scan_interval: 2
slave: 1
input_type: discrete_input
- name: "工作台人体传感器"
address: 1
scan_interval: 2
slave: 1
input_type: discrete_input
3.登录Home Assistant测试功能
在浏览器输入我家云IP:8123,我在浏览器输入192.168.1.130:8123,登录后就可以看到添加的设备。
在Home Assistant的操作界面上控制灯的开关,查看IO模块对应的继电器是否有动作。给IO模块DI通道输入信号,在Home Assistant的界面上查看是否采集到状态。一切正常就可以将传感器、灯等设备连接到IO模块上。使用Home Assistant的自动化功能可以实现传感器对灯的自动控制。
文件添加的内容缺少了每行的空格,所以在这里补充上。 modbus: - name: hub1 type: serial baudrate: 9600 bytesize: 8 method: rtu parity: N port: /dev/ttyUSB0 stopbits: 1 lights: - name: "主灯" address: 0 write_type: coil slave: 1 - name: "书桌灯" address: 1 write_type: coil slave: 1 - name: "工作台灯" address: 2 write_type: coil slave: 1 switches: - name: "书桌插座" address: 3 write_type: coil slave: 1 - name: "工作台插座" address: 4 write_type: coil slave: 1 fans: - name: "排风扇" address: 5 write_type: coil slave: 1 binary_sensors: - name: "门口人体传感器" address: 0 scan_interval: 2 slave: 1 input_type: discrete_input - name: "工作台人体传感器" address: 1 scan_interval: 2 slave: 1 input_type: discrete_input
https://www.yuque.com/docs/share/95339e15-8e3d-4d64-84d3-f04f040e35b1?#







幕后者
校验提示文案
廖欣响
我感觉离弱电箱自带200smart的那一天不远了
校验提示文案
值友6517347556
校验提示文案
i小兴
校验提示文案
qinqinbaby
校验提示文案
空心A柱丰田
校验提示文案
雨大
校验提示文案
showma
校验提示文案
浮生行简
校验提示文案
stonecold
校验提示文案
leonromix
校验提示文案
刹那芳华念人间
校验提示文案
SS狙击手
校验提示文案
大李出奇迹
校验提示文案
jujusoft
校验提示文案
囚己困境
校验提示文案
值友8261520577
校验提示文案
wayes
校验提示文案
bpr123
校验提示文案
大河东去
校验提示文案
村长赵大宝
校验提示文案
大河东去
校验提示文案
bpr123
校验提示文案
幕后者
校验提示文案
wayes
校验提示文案
qinqinbaby
校验提示文案
i小兴
校验提示文案
值友8261520577
校验提示文案
囚己困境
校验提示文案
jujusoft
校验提示文案
廖欣响
我感觉离弱电箱自带200smart的那一天不远了
校验提示文案
大李出奇迹
校验提示文案
SS狙击手
校验提示文案
刹那芳华念人间
校验提示文案
leonromix
校验提示文案
stonecold
校验提示文案
浮生行简
校验提示文案
showma
校验提示文案
雨大
校验提示文案
空心A柱丰田
校验提示文案