打造家庭五区域温度记录器及家居自动化新技术趋势
1. 五区域温度记录器的搭建
1.1 温度集线器配置
在温度集线器节点配置中,room_id 实际就是传感器 ID,后续需在 Grafana 中将传感器 ID 映射到实际房间 ID。同时,可从安装在车库的 BMP280 温度传感器获取蓝牙传感器的湿度信息。温度集线器节点配置完成后,会呈现特定的数据流。
1.2 数据存储至 InfluxDB 数据库的配置
最后一步配置是将之前创建的两个流连接起来,以将数据存储到 InfluxDB 数据库。Node - RED 有一个单一节点可完成此操作,即存储组下的 influxdb out 节点。具体操作如下:
1. 将之前创建的两个流的输出连接到 influxdb out 节点。
2. 双击该节点,按以下参数配置:
- 在 Name 字段填写友好名称 Temperatures。
- Measurement 字段填写 Temperature_sensors,此为 InfluxDB 数据库中存储数据的表。
- 在 Server 下拉框中选择 Add new influxdb,点击铅笔符号按钮,按如下信息填写:
- 服务器连接名称为 temperatures。
- Host 字段使用默认 InfluxDB 服务器 localhost,端口为 8086。
- Database 字段使用之前创建的 Temperatures。
- 用户名和密码分别为 your_name 和 your_password。
- 完成配置后点击 Add 按钮,此时可能会出现 401 未授权错误,这是因为未在 InfluxDB 中配置用户名和密码,后续会进行配置。
配置完成后,整个 Node - RED 流会呈现特定的完整形态。
1.3 InfluxDB 数据库存储数据的配置
要开始在 InfluxDB 数据库中存储温度数据,需配置两个参数:
- InfluxDB 数据库
- 访问数据库的用户
配置访问数据库的用户步骤如下:
1. 打开 Settings | Add - ons | InfluxDB,点击 OPEN WEB UI 按钮,打开 Chronograf 界面。
2. 在 Chronograf 侧边栏选择标题为 InfluxDB Admin 的皇冠图标。
3. 点击 Users 标签,再点击 + Create User 按钮。在 Create User 窗口中,User Name 字段填写 your_name,Password 字段填写 your_password,点击 Create 按钮创建用户。
4. 在下一屏幕,点击 WRITE 和 READ 按钮,确保为 Temperatures 数据库设置读写权限。
5. 点击屏幕右上角的 Apply Changes 按钮,再点击退出按钮。此时 Users 标签应显示创建的用户已具有对 Temperatures 数据库的读写访问权限。
完成上述配置后,返回 Node - RED 应不再收到 401 错误。
1.4 使用 Grafana 展示 InfluxDB 数据
首先配置数据库源,步骤如下:
1. 点击 Home Assistant 侧边栏的链接打开 Grafana,点击 Grafana 配置菜单(齿轮图标),再点击 Data sources。点击 InFluxDB 数据源,将 Name 字段重命名为 InFluxDB - Temperatures,确保 Database 字段为 Temperatures,User 和 Password 字段分别填写 your_name 和 your_password,点击 Save & test 按钮,若数据库有数据,应会显示数据源正常工作及找到 1 个测量值的消息。
2. 创建一个展示温度数据的仪表盘,包含四个图表:Inside Temperature、Outside Temperature、Inside Humidity 和 Outside Humidity。创建 Inside Temperature 图表的步骤如下:
- 点击 + Add visualization 按钮,在 Query 标签中选择 InfluxDB - Temperatures 数据源。
- 第一个查询命名为 KID1,各字段信息如下:
| 字段 | 内容 |
| ---- | ---- |
| FROM | Temperature_sensors |
| WHERE | room_id = ATC6570e7 |
| SELECT | field(temperature) mean() |
| GROUP BY | time(5m) |
| ORDER BY TIME | ascending |
| FORMAT AS | Time series |
| ALIAS | KID1_ROOM |
- 点击屏幕底部的 + Query 按钮,重复上述步骤创建另外三个查询,保持 FROM、SELECT、GROUP BY、ORDER BY TIME 和 FORMAT AS 字段相同,其余字段按以下表格填写:
| 查询名称 | WHERE | ALIAS |
| ---- | ---- | ---- |
| KID2 | Room_id = ATC969ab4 | KID2_ROOM |
| Kitchen | Room_id = ATCad7637 | KITCHEN |
| Master Bedroom | Room_id = ATC5d22d1 | MASTER BEDROOM |
- 创建完查询后,将面板标题命名为 Inside Temperature,点击屏幕右上角的 Save 按钮。
按照类似步骤创建 Inside Humidity 图表,只需将 SELECT 参数改为 field(humidity)。创建与室外测量相关的图表时,考虑车库不属于 HVAC 系统且车库温度传感器无湿度传感器,数据仅来自后院。创建室外温度和湿度图表的参数如下:
- FROM:Temperature_sensors
- WHERE:后院 room_id = ATC19F133,车库 room_id = garage
- SELECT:室外温度图表为 field(temperature) mean(),室外湿度图表为 field(humidity) mean()
- GROUP BY:time(5m)
- ORDER BY TIME:ascending
- FORMAT AS:Time series
- ALIAS:后院为 BACKYARD,车库为 GARAGE
创建完图表后,将面板和图表标题分别命名为 Outside temperature 和 Outside Humidity,点击 Save 按钮保存。点击 Save 按钮后再点击 Apply 按钮,可查看图表或面板的创建和数据展示情况。最后,点击仪表盘设置(齿轮图标),将 Name 参数改为 YourHome Temperature。
创建完成的仪表盘图表默认显示最近六小时的数据,可点击屏幕右上角的时钟图标调整显示时间间隔,时间范围从 5 分钟到一年以上或从开始保存数据的时间起。将鼠标光标移到图表上可查看更详细的值和时间。这些温度图表有助于根据室内外温度调整 HVAC 系统。
1.5 在 Home Assistant 中使用五区域温度传感器
最初创建温度记录器应用时,可使用 Tasmota 中的配置自动将数据发送到 Home Assistant,但该选项已弃用,现在需手动添加温度传感器。Tasmota 使用 MQTT JSON 消息报告传感器数据,格式如下:
tele/ESP32_TEMPERATURE_HUB/SENSOR = {"Time":"2023-05-15T06:15:49","ATC19f133":{"mac":"a4c13819f133","Temperature":25.7,"Humidity":30.0,"DewPoint":6.8,"Battery":43,"RSSI":-82},"ATC969ab4":{"mac":"a4c138969ab4","Temperature":24.6,"Humidity":41.1,"DewPoint":10.5,"Btn":0,"Battery":34,"RSSI":-78},"TempUnit":"C"}
手动添加传感器的方法是编辑 configuration.yaml 文件,从 MQTT JSON 消息中检索数据,使用以下格式的语句:
mqtt:
sensor:
- name: "Backyard Temperature"
state_topic: "tele/ESP32_TEMPERATURE_HUB/SENSOR"
value_template: '{{ value_json.ATC19f133.Temperature }}'
icon: mdi:thermometer-bluetooth
使用 Home Assistant 侧边栏的 File editor 插件将此 YAML 代码添加到 configuration.yaml 文件中。需创建五个相同代码实例以获取蓝牙传感器的所有五个温度测量值。
添加完传感器后,重启 Home Assistant,先点击 CHECK CONFIGURATION 按钮检查 configuration.yaml 文件是否有问题,再点击 RESTART 按钮。
最后,将温度传感器添加到 Home Assistant 仪表盘,创建两个 Entities 卡片,一个用于室内温度,一个用于室外温度,步骤如下:
1. 点击 Home Assistant 侧边栏的 Overview,在 Home 仪表盘点击右上角的省略号,选择 Edit Dashboard 选项,然后点击 + ADD CARD 按钮。
2. 选择 Entities 卡片,按以下内容填写字段:
- 室内温度卡片:
- Title:Inside Temperature
- Entity:Kid1_room Temperature
- Entity:Kid2_room Temperature
- Entity:kitchen Temperature
- Entity:Master Bedroom Temperature
- 点击 SAVE 按钮保存卡片并添加到仪表盘。
3. 重复上述步骤创建室外温度卡片,Title 为 Outside Temperature,Entities 为 Backyard Temperature 和 GarageTempPIR BMP280 Temperature。添加完成后,点击屏幕右上角的 DONE 按钮。
若要添加传感器的湿度数据,只需在 configuration.yaml 文件中添加五个更多的传感器实体,将 value_template 字段改为 value_json.sensor_id.Humidity。
2. 家居自动化的新技术与趋势
2.1 使用语音助手
语音助手如 Amazon Alexa、Google Assistant 和 Apple Siri 在家庭自动化领域已很受欢迎,随着自然语言处理的进一步发展,这一趋势将持续。用户可更有效地使用语音命令控制和与智能设备交互。许多传感器和执行器与这些流行语音助手兼容,即使是开源软件 Tasmota 也可启用语音助手功能,通过访问 Configuration | Configure Other 从 Tasmota 主菜单启用 Emulation 选项,根据选择的选项可模拟商业智能插头或智能灯,以便被语音助手检测和控制。
Home Assistant 通过名为 Assist 的间接功能支持语音助手。该功能于 2023 年 2 月发布,可在 Android 和 Apple 智能手机上使用设备的语音捕获功能。从 Home Assistant 2023.5.2 版本开始,可通过侧边栏菜单的选项进入 Settings | Voice Assistants 管理语音助手,目前使用 Nabu Casa 订阅可提供一个月免费试用。
2.2 使用 AI 和机器学习
AI 和机器学习技术越来越多地集成到家庭自动化系统中。这些技术使设备能够学习和适应用户偏好,预测需求并相应地自动化任务。AI 驱动的语音助手还能改善自然语言处理并提供更个性化的交互。
AI 和机器学习可利用家庭中收集的数据信息来优化家庭基础设施,降低水电费并改善服务,使日常生活更轻松高效。例如,可设想如何在 Home Assistant 中实现一个 AI 模型,根据多年来夏季和冬季的设置偏好以及分布在房屋内的温度传感器数据,自动建议甚至控制房屋内的温度。
有时会从手机上的 Alexa 应用收到类似建议,如因通常在周末晚上 9 点左右在卧室看电视,Alexa 会建议打开智能插头以打开电视。虽然 Alexa 还需更多数据来优化建议,但这已经是一个很好的示例。
另一种利用 AI 的方式是通过聊天机器人,如 ChatGPT。其工作方式简单,用户提问,ChatGPT 使用生成式预训练变换器(GPT)系列的大语言模型(LLMs)回答问题,可为家庭自动化项目提供满意的反馈。例如,向 ChatGPT 询问为 Home Assistant 创建一个 YAML 自动化,它会返回相应的 YAML 代码。
目前 Home Assistant 软件分发中尚未正式实现 AI 和机器学习算法,但数据会收集并存储在 Home Assistant Logbook 中,未来版本可能会根据日常例程分析数据并提出自动化建议。
以下是一个简单的 mermaid 流程图,展示了数据从传感器到最终在 Home Assistant 仪表盘展示的流程:
graph LR
A[传感器] --> B[Node - RED]
B --> C[InfluxDB]
C --> D[Grafana]
D --> E[Home Assistant 仪表盘]
家居自动化的发展涉及多个方面,从基础的温度记录器搭建到先进的新技术应用,不断为人们的生活带来便利和创新。通过合理运用这些技术和工具,可打造更加智能、舒适的家居环境。
打造家庭五区域温度记录器及家居自动化新技术趋势(续)
2. 家居自动化的新技术与趋势(续)
2.3 使用智能手表交互
除了语音助手、AI 和机器学习,智能手表也逐渐成为家居自动化交互的新方式。智能手表具有便携性和实时性的特点,用户可以随时随地通过手表与家中的智能设备进行交互。
例如,用户可以在外出时通过智能手表查看家中的温度、湿度等环境信息,也可以远程控制家中的灯光、电器等设备。一些智能手表还支持与智能家居系统的深度集成,能够接收系统发出的提醒和通知,如门窗未关闭、烟雾报警等。
要实现智能手表与家居自动化系统的交互,通常需要安装相应的应用程序,并将手表与智能家居平台进行绑定。不同的智能家居平台可能提供不同的智能手表应用,用户可以根据自己的需求进行选择。
以下是使用智能手表进行家居自动化交互的一般步骤:
1. 确保家中的智能家居设备已连接到智能家居平台,并且平台支持智能手表交互功能。
2. 在智能手表上下载并安装对应的智能家居应用程序。
3. 打开应用程序,按照提示进行注册和登录,绑定自己的智能家居账号。
4. 在应用程序中添加需要控制的智能家居设备,通常可以通过扫描设备二维码或手动输入设备信息的方式进行添加。
5. 添加完成后,即可在智能手表上查看设备状态并进行控制操作。
通过智能手表,用户可以更加便捷地管理家居设备,提高生活的便利性和舒适度。
3. 家居自动化常见问题解答及项目创意获取
3.1 家居自动化常见问题解答
在进行家居自动化的过程中,人们常常会遇到一些问题,以下是一些常见问题的解答:
| 问题 | 解答 |
| ---- | ---- |
| 家居自动化系统的安全性如何保障? | 可以通过设置强密码、定期更新系统软件、使用加密通信等方式保障系统的安全性。同时,选择可靠的智能家居品牌和产品也很重要。 |
| 不同品牌的智能家居设备能否兼容? | 部分智能家居平台支持多品牌设备的兼容,但也有一些设备可能存在兼容性问题。在购买设备前,建议了解设备是否支持自己使用的智能家居平台。 |
| 家居自动化系统的安装复杂吗? | 安装复杂度因系统和设备而异。一些简单的智能家居设备可以自行安装,而一些复杂的系统可能需要专业人员进行安装和调试。 |
| 家居自动化系统的维护成本高吗? | 维护成本主要包括设备的更换、软件的更新等。一般来说,合理选择设备和平台可以降低维护成本。 |
3.2 如何获取家居自动化项目创意
如果你想在家中实施更多的家居自动化项目,可以通过以下方式获取创意:
1. 关注行业动态:通过阅读科技新闻、参加行业展会等方式,了解家居自动化领域的最新技术和产品,从中获取灵感。
2. 参考他人经验:在社交媒体、论坛等平台上,与其他家居自动化爱好者交流,分享和借鉴他们的经验和项目案例。
3. 分析自身需求:结合自己的生活习惯和需求,思考哪些方面可以通过家居自动化来改善,例如提高安全性、提升舒适度、节约能源等。
4. 利用 AI 工具:如前面提到的 ChatGPT,可以向其询问家居自动化项目的创意和实现方案。
以下是一个 mermaid 流程图,展示了获取家居自动化项目创意的过程:
graph LR
A[关注行业动态] --> D[获取创意]
B[参考他人经验] --> D
C[分析自身需求] --> D
E[利用 AI 工具] --> D
4. 总结
家居自动化是一个不断发展和创新的领域,从打造家庭五区域温度记录器这样的基础项目,到应用语音助手、AI 和机器学习等新技术,都为我们的生活带来了更多的便利和舒适。通过合理运用各种技术和工具,我们可以根据自己的需求和喜好,打造一个个性化的智能家居环境。
在实施家居自动化项目的过程中,我们可能会遇到一些问题,但通过不断学习和探索,我们可以找到解决问题的方法。同时,关注行业的新技术和趋势,获取更多的项目创意,将有助于我们进一步提升家居自动化的水平。
希望大家能够积极参与到家居自动化的实践中,享受智能生活带来的乐趣。未来,家居自动化领域还将有更多的惊喜等待我们去发现。
超级会员免费看
4141

被折叠的 条评论
为什么被折叠?



