From bef79be8779f9bb3702bd1692517ef3574234ed8 Mon Sep 17 00:00:00 2001
From: trphoenix <spd260@126.com>
Date: 星期日, 21 九月 2025 18:17:01 +0800
Subject: [PATCH] docker部署paddlespeech发布

---
 Help/site/node-reds/node-red常用组件列表/index.html                 |    2 
 Help/site/Usages/QA/errorsQA/index.html                       |    2 
 Help/site/Usages/QA/HA-如何实现状态反转/index.html                    |    2 
 Help/site/Usages/QA/如何快速部署frpc服务/index.html                   |   20 
 Help/site/Usages/QA/TS88透析机联机通信-中文版/index.html                |    2 
 Help/site/Usages/QA/透析中心HA环境温度发送到胜透的操作指南/index.html           |    2 
 Help/site/node-reds/如何把node-red安装到orangepiZero3/index.html    |    2 
 Help/site/Usages/QA/ubunte-desktop桌面系统如何配置开启远程协助/index.html   |    2 
 Help/site/Usages/QA/如厕风险-人存在传感器配置方法/index.html                |    2 
 Help/site/install-guide/configX86Bios/index.html              |    2 
 Help/docs/Usages/QA/语音合成与识别服务Docker-部署说明.md                   |   18 
 Help/site/Usages/backupAndRestore/BackupToFile/index.html     |    2 
 Help/site/index.html                                          |    4 
 Help/site/install-guide/LinuxInstall/index.html               |    2 
 Help/site/Usages/netconfig/netconfig/index.html               |    2 
 Help/site/Usages/QA/VMware-ESXi扩展HomeAssistant硬盘指南/index.html |    2 
 Help/site/about/index.html                                    |    2 
 Help/site/node-reds/ModbusPoll-v7.0.0使用教程/index.html          |    2 
 Help/site/Usages/QA/windows不能访问HA的共享配置目录的解决办法/index.html      |    6 
 Help/site/Usages/initConfig/initConfig/index.html             |    2 
 Help/site/Usages/initConfig/installHacs/index.html            |    2 
 Help/site/Usages/QA/如何离线安装Docker(ubunt24.04)/index.html       |    2 
 Help/site/Usages/QA/如何集成和风天气组件到HA/index.html                  |    2 
 Help/site/install-guide/vmwareExsi安装Ha/index.html             |    2 
 Help/site/search.html                                         |    2 
 Help/site/Usages/QA/如何在线Docker一键安装装HomeAssistant/index.html   |    2 
 Help/site/Usages/QA/如何把HAos的源换成国内源/index.html                 |    2 
 Help/site/node-reds/安装node-red记录/index.html                   |    6 
 Help/site/Usages/backupAndRestore/RestoreFromFile/index.html  |    2 
 Help/site/install-guide/installHa/index.html                  |    2 
 Help/site/node-reds/node-red如何连接modbus _slave设备/index.html    |    2 
 Help/site/404.html                                            |    2 
 Help/site/search/search_index.json                            |    2 
 Help/site/Usages/QA/如何离线Docker一键安装HomeAssistant/index.html    |    2 
 Help/site/install-guide/WinPeInstall/index.html               |    2 
 Help/site/Usages/QA/基于Docker的方式安装HomeAssistant/index.html     |    2 
 Help/site/Usages/QA/语音合成与识别服务Docker-部署说明/index.html           | 1172 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 Help/site/sitemap.xml.gz                                      |    0 
 Help/site/Usages/usage/index.html                             |    2 
 Help/site/install-guide/BackupAndRestore/index.html           |    2 
 40 files changed, 1,282 insertions(+), 10 deletions(-)

diff --git "a/Help/docs/Usages/QA/\350\257\255\351\237\263\345\220\210\346\210\220\344\270\216\350\257\206\345\210\253\346\234\215\345\212\241Docker-\351\203\250\347\275\262\350\257\264\346\230\216.md" "b/Help/docs/Usages/QA/\350\257\255\351\237\263\345\220\210\346\210\220\344\270\216\350\257\206\345\210\253\346\234\215\345\212\241Docker-\351\203\250\347\275\262\350\257\264\346\230\216.md"
index e30c74e..5d61c0a 100644
--- "a/Help/docs/Usages/QA/\350\257\255\351\237\263\345\220\210\346\210\220\344\270\216\350\257\206\345\210\253\346\234\215\345\212\241Docker-\351\203\250\347\275\262\350\257\264\346\230\216.md"
+++ "b/Help/docs/Usages/QA/\350\257\255\351\237\263\345\220\210\346\210\220\344\270\216\350\257\206\345\210\253\346\234\215\345\212\241Docker-\351\203\250\347\275\262\350\257\264\346\230\216.md"
@@ -1,15 +1,24 @@
 # 语音合成与识别服务Docker-部署说明
+<style>
+pre, code {
+  white-space: pre-wrap;
+  word-break: break-all;
+}
+</style>
 
 ## 一、简介
 语音合成与识别服务(以下简称“服务”)提供高质量的文本转语音(TTS)和语音转文本(ASR)功能。为了方便用户快速部署和使用该服务,我们提供了基于Docker的部署方案。本文档将详细介绍如何使用Docker部署该服务。
 本文提供的语音合成与识别服务,是基于paddlespeech开发的TTS和ASR服务(纯CPU服务),用户可以通过Docker快速部署并使用该服务。
+
 ## 二、环境准备
 在开始部署之前,请确保您的环境满足以下要求:
 1. 已安装Docker和Docker Compose。
 2. 具备一定的Linux命令行操作基础。
 3. 确保您的服务器具备足够的计算资源(CPU、内存、GPU等)。
+
 ## 三、获取Docker镜像
-我们提供了预构建的Docker镜像,地址位于七牛云,地址为:
+
+我们提供了预构建的Docker镜像,地址位于七牛云,[下载地址](https://datacdn.data-it.tech/HomeAssistant/dokerimages/paddlespeech1.1/paddlespeech.tar)为:
 
 ```
 https://datacdn.data-it.tech/HomeAssistant/dokerimages/paddlespeech1.1/paddlespeech.tar
@@ -73,12 +82,13 @@
 │   ├── home_dtuser_opt_paddlespeech_data_output.tar.gz
 │   ├── home_dtuser_opt_paddlespeech_data_paddlenlp_models.tar.gz
 │   └── home_dtuser_opt_paddlespeech_data_paddlespeech_models.tar.gz
+├── home_dtuser_opt_paddlespeech_data_paddlespeech_models.tar.gz
 └── install-paddlespeech-localh.sh
 
-2 directories, 6 files
+2 directories, 7 files
 ```
- 
-![](https://qncdn.tairongkj.com/docs/images/20250921171328.png)
+![](https://qncdn.tairongkj.com/docs/images/20250921180213.png) 
+
 
 ### 2. 给运行脚本添加执行权限
 
diff --git a/Help/site/404.html b/Help/site/404.html
index fbf0940..38bda97 100644
--- a/Help/site/404.html
+++ b/Help/site/404.html
@@ -84,6 +84,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="/Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="/Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git "a/Help/site/Usages/QA/HA-\345\246\202\344\275\225\345\256\236\347\216\260\347\212\266\346\200\201\345\217\215\350\275\254/index.html" "b/Help/site/Usages/QA/HA-\345\246\202\344\275\225\345\256\236\347\216\260\347\212\266\346\200\201\345\217\215\350\275\254/index.html"
index 831039a..6c6087d 100644
--- "a/Help/site/Usages/QA/HA-\345\246\202\344\275\225\345\256\236\347\216\260\347\212\266\346\200\201\345\217\215\350\275\254/index.html"
+++ "b/Help/site/Usages/QA/HA-\345\246\202\344\275\225\345\256\236\347\216\260\347\212\266\346\200\201\345\217\215\350\275\254/index.html"
@@ -91,6 +91,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git "a/Help/site/Usages/QA/TS88\351\200\217\346\236\220\346\234\272\350\201\224\346\234\272\351\200\232\344\277\241-\344\270\255\346\226\207\347\211\210/index.html" "b/Help/site/Usages/QA/TS88\351\200\217\346\236\220\346\234\272\350\201\224\346\234\272\351\200\232\344\277\241-\344\270\255\346\226\207\347\211\210/index.html"
index 91761cb..373d6bd 100644
--- "a/Help/site/Usages/QA/TS88\351\200\217\346\236\220\346\234\272\350\201\224\346\234\272\351\200\232\344\277\241-\344\270\255\346\226\207\347\211\210/index.html"
+++ "b/Help/site/Usages/QA/TS88\351\200\217\346\236\220\346\234\272\350\201\224\346\234\272\351\200\232\344\277\241-\344\270\255\346\226\207\347\211\210/index.html"
@@ -127,6 +127,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git "a/Help/site/Usages/QA/VMware-ESXi\346\211\251\345\261\225HomeAssistant\347\241\254\347\233\230\346\214\207\345\215\227/index.html" "b/Help/site/Usages/QA/VMware-ESXi\346\211\251\345\261\225HomeAssistant\347\241\254\347\233\230\346\214\207\345\215\227/index.html"
index 911214f..a36838a 100644
--- "a/Help/site/Usages/QA/VMware-ESXi\346\211\251\345\261\225HomeAssistant\347\241\254\347\233\230\346\214\207\345\215\227/index.html"
+++ "b/Help/site/Usages/QA/VMware-ESXi\346\211\251\345\261\225HomeAssistant\347\241\254\347\233\230\346\214\207\345\215\227/index.html"
@@ -135,6 +135,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git a/Help/site/Usages/QA/errorsQA/index.html b/Help/site/Usages/QA/errorsQA/index.html
index 35ea8db..f6d0831 100644
--- a/Help/site/Usages/QA/errorsQA/index.html
+++ b/Help/site/Usages/QA/errorsQA/index.html
@@ -95,6 +95,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git "a/Help/site/Usages/QA/ubunte-desktop\346\241\214\351\235\242\347\263\273\347\273\237\345\246\202\344\275\225\351\205\215\347\275\256\345\274\200\345\220\257\350\277\234\347\250\213\345\215\217\345\212\251/index.html" "b/Help/site/Usages/QA/ubunte-desktop\346\241\214\351\235\242\347\263\273\347\273\237\345\246\202\344\275\225\351\205\215\347\275\256\345\274\200\345\220\257\350\277\234\347\250\213\345\215\217\345\212\251/index.html"
index 9cddbb1..0d089ef 100644
--- "a/Help/site/Usages/QA/ubunte-desktop\346\241\214\351\235\242\347\263\273\347\273\237\345\246\202\344\275\225\351\205\215\347\275\256\345\274\200\345\220\257\350\277\234\347\250\213\345\215\217\345\212\251/index.html"
+++ "b/Help/site/Usages/QA/ubunte-desktop\346\241\214\351\235\242\347\263\273\347\273\237\345\246\202\344\275\225\351\205\215\347\275\256\345\274\200\345\220\257\350\277\234\347\250\213\345\215\217\345\212\251/index.html"
@@ -93,6 +93,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git "a/Help/site/Usages/QA/windows\344\270\215\350\203\275\350\256\277\351\227\256HA\347\232\204\345\205\261\344\272\253\351\205\215\347\275\256\347\233\256\345\275\225\347\232\204\350\247\243\345\206\263\345\212\236\346\263\225/index.html" "b/Help/site/Usages/QA/windows\344\270\215\350\203\275\350\256\277\351\227\256HA\347\232\204\345\205\261\344\272\253\351\205\215\347\275\256\347\233\256\345\275\225\347\232\204\350\247\243\345\206\263\345\212\236\346\263\225/index.html"
index 8be59bd..d7e7bea 100644
--- "a/Help/site/Usages/QA/windows\344\270\215\350\203\275\350\256\277\351\227\256HA\347\232\204\345\205\261\344\272\253\351\205\215\347\275\256\347\233\256\345\275\225\347\232\204\350\247\243\345\206\263\345\212\236\346\263\225/index.html"
+++ "b/Help/site/Usages/QA/windows\344\270\215\350\203\275\350\256\277\351\227\256HA\347\232\204\345\205\261\344\272\253\351\205\215\347\275\256\347\233\256\345\275\225\347\232\204\350\247\243\345\206\263\345\212\236\346\263\225/index.html"
@@ -117,6 +117,8 @@
     </li>
     </ul>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
@@ -359,7 +361,7 @@
           </div><footer>
     <div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
         <a href="../%E5%A6%82%E4%BD%95%E5%BF%AB%E9%80%9F%E9%83%A8%E7%BD%B2frpc%E6%9C%8D%E5%8A%A1/" class="btn btn-neutral float-left" title="如何快速部署frpc服务"><span class="icon icon-circle-arrow-left"></span> Previous</a>
-        <a href="../../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/" class="btn btn-neutral float-right" title="安装node-red记录">Next <span class="icon icon-circle-arrow-right"></span></a>
+        <a href="../%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/" class="btn btn-neutral float-right" title="语音合成与识别服务Docker-部署说明">Next <span class="icon icon-circle-arrow-right"></span></a>
     </div>
 
   <hr/>
@@ -389,7 +391,7 @@
       <span><a href="../%E5%A6%82%E4%BD%95%E5%BF%AB%E9%80%9F%E9%83%A8%E7%BD%B2frpc%E6%9C%8D%E5%8A%A1/" style="color: #fcfcfc">&laquo; Previous</a></span>
     
     
-      <span><a href="../../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/" style="color: #fcfcfc">Next &raquo;</a></span>
+      <span><a href="../%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/" style="color: #fcfcfc">Next &raquo;</a></span>
     
   </span>
 </div>
diff --git "a/Help/site/Usages/QA/\345\237\272\344\272\216Docker\347\232\204\346\226\271\345\274\217\345\256\211\350\243\205HomeAssistant/index.html" "b/Help/site/Usages/QA/\345\237\272\344\272\216Docker\347\232\204\346\226\271\345\274\217\345\256\211\350\243\205HomeAssistant/index.html"
index 9e62547..baba226 100644
--- "a/Help/site/Usages/QA/\345\237\272\344\272\216Docker\347\232\204\346\226\271\345\274\217\345\256\211\350\243\205HomeAssistant/index.html"
+++ "b/Help/site/Usages/QA/\345\237\272\344\272\216Docker\347\232\204\346\226\271\345\274\217\345\256\211\350\243\205HomeAssistant/index.html"
@@ -105,6 +105,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git "a/Help/site/Usages/QA/\345\246\202\344\275\225\345\234\250\347\272\277Docker\344\270\200\351\224\256\345\256\211\350\243\205\350\243\205HomeAssistant/index.html" "b/Help/site/Usages/QA/\345\246\202\344\275\225\345\234\250\347\272\277Docker\344\270\200\351\224\256\345\256\211\350\243\205\350\243\205HomeAssistant/index.html"
index 55eaf56..fc23318 100644
--- "a/Help/site/Usages/QA/\345\246\202\344\275\225\345\234\250\347\272\277Docker\344\270\200\351\224\256\345\256\211\350\243\205\350\243\205HomeAssistant/index.html"
+++ "b/Help/site/Usages/QA/\345\246\202\344\275\225\345\234\250\347\272\277Docker\344\270\200\351\224\256\345\256\211\350\243\205\350\243\205HomeAssistant/index.html"
@@ -101,6 +101,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git "a/Help/site/Usages/QA/\345\246\202\344\275\225\345\277\253\351\200\237\351\203\250\347\275\262frpc\346\234\215\345\212\241/index.html" "b/Help/site/Usages/QA/\345\246\202\344\275\225\345\277\253\351\200\237\351\203\250\347\275\262frpc\346\234\215\345\212\241/index.html"
index b13706b..9b90f6a 100644
--- "a/Help/site/Usages/QA/\345\246\202\344\275\225\345\277\253\351\200\237\351\203\250\347\275\262frpc\346\234\215\345\212\241/index.html"
+++ "b/Help/site/Usages/QA/\345\246\202\344\275\225\345\277\253\351\200\237\351\203\250\347\275\262frpc\346\234\215\345\212\241/index.html"
@@ -95,6 +95,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
@@ -176,6 +178,24 @@
 frpClient 安装完成并已启动。
 如需卸载,请运行: sudo bash ./install-frp-x86_64.sh uninstall
 </code></pre></div>
+
+<p>/etc/systemd/system/frpc.service</p>
+<div class="codehilite"><pre><span></span><code>[Unit]
+Description=frp Client Service
+After=network-online.target
+Wants=network-online.target
+
+[Service]
+Type=simple
+User=orangepi
+WorkingDirectory=/opt/frpc
+ExecStartPre=/bin/sleep 20
+ExecStart=/opt/frpc/frpc -c /opt/frpc/frpc.toml
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target
+</code></pre></div>
               
             </div>
           </div><footer>
diff --git "a/Help/site/Usages/QA/\345\246\202\344\275\225\346\212\212HAos\347\232\204\346\272\220\346\215\242\346\210\220\345\233\275\345\206\205\346\272\220/index.html" "b/Help/site/Usages/QA/\345\246\202\344\275\225\346\212\212HAos\347\232\204\346\272\220\346\215\242\346\210\220\345\233\275\345\206\205\346\272\220/index.html"
index 4481a69..24ee6f4 100644
--- "a/Help/site/Usages/QA/\345\246\202\344\275\225\346\212\212HAos\347\232\204\346\272\220\346\215\242\346\210\220\345\233\275\345\206\205\346\272\220/index.html"
+++ "b/Help/site/Usages/QA/\345\246\202\344\275\225\346\212\212HAos\347\232\204\346\272\220\346\215\242\346\210\220\345\233\275\345\206\205\346\272\220/index.html"
@@ -91,6 +91,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git "a/Help/site/Usages/QA/\345\246\202\344\275\225\347\246\273\347\272\277Docker\344\270\200\351\224\256\345\256\211\350\243\205HomeAssistant/index.html" "b/Help/site/Usages/QA/\345\246\202\344\275\225\347\246\273\347\272\277Docker\344\270\200\351\224\256\345\256\211\350\243\205HomeAssistant/index.html"
index 92eb29d..50aa3f1 100644
--- "a/Help/site/Usages/QA/\345\246\202\344\275\225\347\246\273\347\272\277Docker\344\270\200\351\224\256\345\256\211\350\243\205HomeAssistant/index.html"
+++ "b/Help/site/Usages/QA/\345\246\202\344\275\225\347\246\273\347\272\277Docker\344\270\200\351\224\256\345\256\211\350\243\205HomeAssistant/index.html"
@@ -103,6 +103,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git "a/Help/site/Usages/QA/\345\246\202\344\275\225\347\246\273\347\272\277\345\256\211\350\243\205Docker\050ubunt24.04\051/index.html" "b/Help/site/Usages/QA/\345\246\202\344\275\225\347\246\273\347\272\277\345\256\211\350\243\205Docker\050ubunt24.04\051/index.html"
index c6ff4a3..a4f3ea5 100644
--- "a/Help/site/Usages/QA/\345\246\202\344\275\225\347\246\273\347\272\277\345\256\211\350\243\205Docker\050ubunt24.04\051/index.html"
+++ "b/Help/site/Usages/QA/\345\246\202\344\275\225\347\246\273\347\272\277\345\256\211\350\243\205Docker\050ubunt24.04\051/index.html"
@@ -111,6 +111,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git "a/Help/site/Usages/QA/\345\246\202\344\275\225\351\233\206\346\210\220\345\222\214\351\243\216\345\244\251\346\260\224\347\273\204\344\273\266\345\210\260HA/index.html" "b/Help/site/Usages/QA/\345\246\202\344\275\225\351\233\206\346\210\220\345\222\214\351\243\216\345\244\251\346\260\224\347\273\204\344\273\266\345\210\260HA/index.html"
index 17f39c3..ae74f26 100644
--- "a/Help/site/Usages/QA/\345\246\202\344\275\225\351\233\206\346\210\220\345\222\214\351\243\216\345\244\251\346\260\224\347\273\204\344\273\266\345\210\260HA/index.html"
+++ "b/Help/site/Usages/QA/\345\246\202\344\275\225\351\233\206\346\210\220\345\222\214\351\243\216\345\244\251\346\260\224\347\273\204\344\273\266\345\210\260HA/index.html"
@@ -103,6 +103,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git "a/Help/site/Usages/QA/\345\246\202\345\216\225\351\243\216\351\231\251-\344\272\272\345\255\230\345\234\250\344\274\240\346\204\237\345\231\250\351\205\215\347\275\256\346\226\271\346\263\225/index.html" "b/Help/site/Usages/QA/\345\246\202\345\216\225\351\243\216\351\231\251-\344\272\272\345\255\230\345\234\250\344\274\240\346\204\237\345\231\250\351\205\215\347\275\256\346\226\271\346\263\225/index.html"
index 5452a36..e75c963 100644
--- "a/Help/site/Usages/QA/\345\246\202\345\216\225\351\243\216\351\231\251-\344\272\272\345\255\230\345\234\250\344\274\240\346\204\237\345\231\250\351\205\215\347\275\256\346\226\271\346\263\225/index.html"
+++ "b/Help/site/Usages/QA/\345\246\202\345\216\225\351\243\216\351\231\251-\344\272\272\345\255\230\345\234\250\344\274\240\346\204\237\345\231\250\351\205\215\347\275\256\346\226\271\346\263\225/index.html"
@@ -97,6 +97,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git "a/Help/site/Usages/QA/\350\257\255\351\237\263\345\220\210\346\210\220\344\270\216\350\257\206\345\210\253\346\234\215\345\212\241Docker-\351\203\250\347\275\262\350\257\264\346\230\216/index.html" "b/Help/site/Usages/QA/\350\257\255\351\237\263\345\220\210\346\210\220\344\270\216\350\257\206\345\210\253\346\234\215\345\212\241Docker-\351\203\250\347\275\262\350\257\264\346\230\216/index.html"
new file mode 100644
index 0000000..40678fc
--- /dev/null
+++ "b/Help/site/Usages/QA/\350\257\255\351\237\263\345\220\210\346\210\220\344\270\216\350\257\206\345\210\253\346\234\215\345\212\241Docker-\351\203\250\347\275\262\350\257\264\346\230\216/index.html"
@@ -0,0 +1,1172 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="author" content="岱特智能科技(上海)有限公司" />
+      <link rel="shortcut icon" href="../../../img/favicon.ico" />
+    <title>语音合成与识别服务Docker-部署说明 - DT-HA</title>
+    <link rel="stylesheet" href="../../../css/theme.css" />
+    <link rel="stylesheet" href="../../../css/theme_extra.css" />
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
+    
+      <script>
+        // Current page data
+        var mkdocs_page_name = "\u8bed\u97f3\u5408\u6210\u4e0e\u8bc6\u522b\u670d\u52a1Docker-\u90e8\u7f72\u8bf4\u660e";
+        var mkdocs_page_input_path = "Usages\\QA\\\u8bed\u97f3\u5408\u6210\u4e0e\u8bc6\u522b\u670d\u52a1Docker-\u90e8\u7f72\u8bf4\u660e.md";
+        var mkdocs_page_url = null;
+      </script>
+    
+    <!--[if lt IE 9]>
+      <script src="../../../js/html5shiv.min.js"></script>
+    <![endif]-->
+      <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
+      <script>hljs.highlightAll();</script> 
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
+    <div class="wy-side-scroll">
+      <div class="wy-side-nav-search">
+          <a href="../../.." class="icon icon-home"> DT-HA
+        </a><div role="search">
+  <form id ="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+      <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" />
+  </form>
+</div>
+      </div>
+
+      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul>
+                <li class="toctree-l1"><a class="reference internal" href="../../..">首页</a>
+                </li>
+              </ul>
+              <ul>
+                <li class="toctree-l1"><a class="reference internal" href="../../../about/">关于</a>
+                </li>
+              </ul>
+              <p class="caption"><span class="caption-text">使用教程</span></p>
+              <ul class="current">
+                  <li class="toctree-l1"><a class="reference internal" href="../../../install-guide/installHa/">安装</a>
+                  </li>
+                  <li class="toctree-l1"><a class="reference internal" >使用</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../usage/">使用概述</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../netconfig/netconfig/">配置网络</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../initConfig/initConfig/">系统初始化配置</a>
+                </li>
+    </ul>
+                  </li>
+                  <li class="toctree-l1 current"><a class="reference internal current" >Q/A</a>
+    <ul class="current">
+                <li class="toctree-l2"><a class="reference internal" href="../%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../ubunte-desktop%E6%A1%8C%E9%9D%A2%E7%B3%BB%E7%BB%9F%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AE%E5%BC%80%E5%90%AF%E8%BF%9C%E7%A8%8B%E5%8D%8F%E5%8A%A9/">Ubuntu-desktop桌面系统如何配置开启远程协助</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85Docker%28ubunt24.04%29/">如何离线安装Docker(ubuntu24.04)</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%A6%82%E4%BD%95%E5%9C%A8%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85%E8%A3%85HomeAssistant/">如何在线Docker一键安装HomeAssistant</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85HomeAssistant/">如何离线Docker一键安装HomeAssistant</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%9F%BA%E4%BA%8EDocker%E7%9A%84%E6%96%B9%E5%BC%8F%E5%AE%89%E8%A3%85HomeAssistant/">基于Docker的方式安装HomeAssistant</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%A6%82%E4%BD%95%E5%BF%AB%E9%80%9F%E9%83%A8%E7%BD%B2frpc%E6%9C%8D%E5%8A%A1/">如何快速部署frpc服务</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
+                </li>
+                <li class="toctree-l2 current"><a class="reference internal current" href="#">语音合成与识别服务Docker-部署说明</a>
+    <ul class="current">
+    <li class="toctree-l3"><a class="reference internal" href="#_1">一、简介</a>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_2">二、环境准备</a>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#docker">三、获取Docker镜像</a>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_3">四、在线部署步骤</a>
+        <ul>
+    <li class="toctree-l4"><a class="reference internal" href="#_4">执行一键安装脚本</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#_6">首次运行</a>
+    </li>
+        </ul>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_8">五、离线部署步骤</a>
+        <ul>
+    <li class="toctree-l4"><a class="reference internal" href="#_9">离线部署的相关文件下载地址</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#1-docker">1. 下载Docker镜像与数据卷文件</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#2">2. 给运行脚本添加执行权限</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#3">3. 执行安装脚本</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#4">4. 查看容器运行状态</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#5">5. 实时查看容器日志</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#6">6. 管理容器</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#7">7. 调整端口</a>
+    </li>
+        </ul>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_10">六、使用说明</a>
+        <ul>
+    <li class="toctree-l4"><a class="reference internal" href="#1-tts">1. 语音合成(TTS)服务</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#2-asr">2. 语音识别(ASR)服务</a>
+    </li>
+        </ul>
+    </li>
+    </ul>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" >Node-red相关</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+      </div>
+    </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+      <nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../..">DT-HA</a>
+        
+      </nav>
+      <div class="wy-nav-content">
+        <div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../.." class="icon icon-home" aria-label="Docs"></a></li>
+          <li class="breadcrumb-item">使用教程</li>
+          <li class="breadcrumb-item">Q/A</li>
+      <li class="breadcrumb-item active">语音合成与识别服务Docker-部署说明</li>
+    <li class="wy-breadcrumbs-aside">
+    </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+            <div class="section" itemprop="articleBody">
+              
+                <h1 id="docker-">语音合成与识别服务Docker-部署说明<a class="headerlink" href="#docker-" title="Permanent link">&para;</a></h1>
+<style>
+pre, code {
+  white-space: pre-wrap;
+  word-break: break-all;
+}
+</style>
+
+<h2 id="_1">一、简介<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h2>
+<p>语音合成与识别服务(以下简称“服务”)提供高质量的文本转语音(TTS)和语音转文本(ASR)功能。为了方便用户快速部署和使用该服务,我们提供了基于Docker的部署方案。本文档将详细介绍如何使用Docker部署该服务。
+本文提供的语音合成与识别服务,是基于paddlespeech开发的TTS和ASR服务(纯CPU服务),用户可以通过Docker快速部署并使用该服务。</p>
+<h2 id="_2">二、环境准备<a class="headerlink" href="#_2" title="Permanent link">&para;</a></h2>
+<p>在开始部署之前,请确保您的环境满足以下要求:
+1. 已安装Docker和Docker Compose。
+2. 具备一定的Linux命令行操作基础。
+3. 确保您的服务器具备足够的计算资源(CPU、内存、GPU等)。</p>
+<h2 id="docker">三、获取Docker镜像<a class="headerlink" href="#docker" title="Permanent link">&para;</a></h2>
+<p>我们提供了预构建的Docker镜像,地址位于七牛云,<a href="https://datacdn.data-it.tech/HomeAssistant/dokerimages/paddlespeech1.1/paddlespeech.tar">下载地址</a>为:</p>
+<div class="codehilite"><pre><span></span><code>https://datacdn.data-it.tech/HomeAssistant/dokerimages/paddlespeech1.1/paddlespeech.tar
+</code></pre></div>
+
+<h2 id="_3">四、在线部署步骤<a class="headerlink" href="#_3" title="Permanent link">&para;</a></h2>
+<h3 id="_4">执行一键安装脚本<a class="headerlink" href="#_4" title="Permanent link">&para;</a></h3>
+<div class="codehilite"><pre><span></span><code>curl -fsSL   https://datacdn.data-it.tech/HomeAssistant/dokerimages/paddlespeech1.1/install-paddlespeech.sh | sudo bash
+</code></pre></div>
+
+<h4 id="_5">如下图所示:<a class="headerlink" href="#_5" title="Permanent link">&para;</a></h4>
+<p><img alt="" src="https://qncdn.tairongkj.com/docs/images/20250921094451.png" />
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250921095852.png" /></p>
+<h3 id="_6">首次运行<a class="headerlink" href="#_6" title="Permanent link">&para;</a></h3>
+<p>使用TTS或asr服务,首次运行会自动下载模型文件,模型文件较大,<strong><em>下载过程约需10分钟</em></strong>,请耐心等待。</p>
+<h4 id="_7">如下所示<a class="headerlink" href="#_7" title="Permanent link">&para;</a></h4>
+<p>我们可以如用下命令实时查看运行日志:</p>
+<div class="codehilite"><pre><span></span><code>docker logs -f paddlespeech
+</code></pre></div>
+
+<p>TTS模型首次使用时侍自动从网络下载约2G的模型文件,下载完成后会自动启动服务。后续再次使用时,不会重复下载模型文件。
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250921093139.png" />
+Asr模型首次使用时侍自动从网络下载约1G的模型文件,下载完成后会自动启动服务。后续再次使用时,不会重复下载模型文件。
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250921093510.png" /></p>
+<h2 id="_8">五、离线部署步骤<a class="headerlink" href="#_8" title="Permanent link">&para;</a></h2>
+<h3 id="_9">离线部署的相关文件下载地址<a class="headerlink" href="#_9" title="Permanent link">&para;</a></h3>
+<ol>
+<li>Docker镜像文件: <a href="https://datacdn.data-it.tech/HomeAssistant/dokerimages/paddlespeech1.1/paddlespeech.tar">下载地址</a></li>
+<li>数据卷文件: 以下文件要下载并复制到目标机器临时认置的目录,与install-paddlespeech-localh.sh所在目录同级的子目录data目录下<ul>
+<li><a href="https://datacdn.data-it.tech/HomeAssistant/dokerimages/paddlespeech1.1/data/home_dtuser_opt_paddlespeech_data_logs.tar.gz">home_dtuser_opt_paddlespeech_data_logs.tar.gz</a></li>
+<li><a href="https://datacdn.data-it.tech/HomeAssistant/dokerimages/paddlespeech1.1/data/home_dtuser_opt_paddlespeech_data_nltk_data.tar.gz">home_dtuser_opt_paddlespeech_data_nltk_data.tar.gz</a></li>
+<li><a href="https://datacdn.data-it.tech/HomeAssistant/dokerimages/paddlespeech1.1/data/home_dtuser_opt_paddlespeech_data_output.tar.gz">home_dtuser_opt_paddlespeech_data_output.tar.gz</a></li>
+<li><a href="https://datacdn.data-it.tech/HomeAssistant/dokerimages/paddlespeech1.1/data/home_dtuser_opt_paddlespeech_data_paddlenlp_models.tar.gz">home_dtuser_opt_paddlespeech_data_paddlenlp_models.tar.gz</a></li>
+<li><a href="https://datacdn.data-it.tech/HomeAssistant/dokerimages/paddlespeech1.1/data/home_dtuser_opt_paddlespeech_data_paddlespeech_models.tar.gz">home_dtuser_opt_paddlespeech_data_paddlespeech_models.tar.gz</a></li>
+</ul>
+</li>
+<li>离线安装脚本: <a href="https://datacdn.data-it.tech/HomeAssistant/dokerimages/paddlespeech1.1/install-paddlespeech-localh.sh">下载地址</a></li>
+<li>测试演示使用网页: <a href="https://datacdn.data-it.tech/HomeAssistant/dokerimages/paddlespeech1.1/tts_demo.zip">下载地址</a></li>
+</ol>
+<p><strong><em>离线安装包分两部份,一部份是容器镜像,一部份是数据卷文件,安装启动容器前先替换对据卷绑定的目录,这样容器启动后无须下载模型,可以在无互联网的情况下直接使用</em></strong></p>
+<h3 id="1-docker">1. 下载Docker镜像与数据卷文件<a class="headerlink" href="#1-docker" title="Permanent link">&para;</a></h3>
+<p>如下示例,我们将文件放到用户目录的down下,请保持相应的目录结构,如下所示:</p>
+<div class="codehilite"><pre><span></span><code>tst@tst-VMware-Virtual-Platform:~/down$<span class="w"> </span><span class="nb">pwd</span>
+/home/tst/down
+tst@tst-VMware-Virtual-Platform:~/down$<span class="w"> </span>ls
+data<span class="w">  </span>install-paddlespeech-localh.sh
+tst@tst-VMware-Virtual-Platform:~/down$<span class="w"> </span>tree
+.
+├──<span class="w"> </span>data
+│<span class="w">   </span>├──<span class="w"> </span>home_dtuser_opt_paddlespeech_data_logs.tar.gz
+│<span class="w">   </span>├──<span class="w"> </span>home_dtuser_opt_paddlespeech_data_nltk_data.tar.gz
+│<span class="w">   </span>├──<span class="w"> </span>home_dtuser_opt_paddlespeech_data_output.tar.gz
+│<span class="w">   </span>├──<span class="w"> </span>home_dtuser_opt_paddlespeech_data_paddlenlp_models.tar.gz
+│<span class="w">   </span>└──<span class="w"> </span>home_dtuser_opt_paddlespeech_data_paddlespeech_models.tar.gz
+├──<span class="w"> </span>home_dtuser_opt_paddlespeech_data_paddlespeech_models.tar.gz
+└──<span class="w"> </span>install-paddlespeech-localh.sh
+
+<span class="m">2</span><span class="w"> </span>directories,<span class="w"> </span><span class="m">7</span><span class="w"> </span>files
+</code></pre></div>
+
+<p><img alt="" src="https://qncdn.tairongkj.com/docs/images/20250921180213.png" /> </p>
+<h3 id="2">2. 给运行脚本添加执行权限<a class="headerlink" href="#2" title="Permanent link">&para;</a></h3>
+<div class="codehilite"><pre><span></span><code>chmod<span class="w"> </span>+x<span class="w"> </span>install-paddlespeech-localh.sh
+</code></pre></div>
+
+<h3 id="3">3. 执行安装脚本<a class="headerlink" href="#3" title="Permanent link">&para;</a></h3>
+<div class="codehilite"><pre><span></span><code>sudo<span class="w"> </span>./install-paddlespeech-localh.sh
+</code></pre></div>
+
+<p>按装脚本将会先解压文件,并加载docker镜像,然后启动容器,启动完成后,可以使用docker ps命令查看运行状态,如下所示:</p>
+<div class="codehilite"><pre><span></span><code>tst@tst-VMware-Virtual-Platform:~/down$<span class="w"> </span>sudo<span class="w"> </span>./install-paddlespeech-localh.sh
+<span class="o">[</span>INFO<span class="o">]</span><span class="w"> </span>开始<span class="w"> </span>PaddleSpeech<span class="w"> </span>离线安装...
+<span class="o">[</span>SUCCESS<span class="o">]</span><span class="w"> </span>磁盘空间检查通过(55GB)
+<span class="o">[</span>INFO<span class="o">]</span><span class="w"> </span>检测网络连接...
+<span class="o">[</span>SUCCESS<span class="o">]</span><span class="w"> </span>网络连接正常
+<span class="o">[</span>INFO<span class="o">]</span><span class="w"> </span>创建目录结构...
+<span class="o">[</span>SUCCESS<span class="o">]</span><span class="w"> </span>目录结构创建完成
+<span class="o">[</span>INFO<span class="o">]</span><span class="w"> </span>解压数据卷...
+<span class="o">[</span>INFO<span class="o">]</span><span class="w"> </span>正在解压:<span class="w"> </span>/home/tst/down/data/home_dtuser_opt_paddlespeech_data_logs.tar.gz<span class="w"> </span>到<span class="w"> </span>/dt_opt/paddlespeech/data/logs
+./
+<span class="o">[</span>INFO<span class="o">]</span><span class="w"> </span>正在解压:<span class="w"> </span>/home/tst/down/data/home_dtuser_opt_paddlespeech_data_nltk_data.tar.gz<span class="w"> </span>到<span class="w"> </span>/dt_opt/paddlespeech/data/nltk_data
+./
+./taggers/
+./taggers/averaged_perceptron_tagger/
+./taggers/averaged_perceptron_tagger/averaged_perceptron_tagger.pickle
+./taggers/averaged_perceptron_tagger.zip
+./corpora/
+./corpora/cmudict/
+./corpora/cmudict/cmudict
+./corpora/cmudict/README
+./corpora/cmudict.zip
+<span class="o">[</span>INFO<span class="o">]</span><span class="w"> </span>正在解压:<span class="w"> </span>/home/tst/down/data/home_dtuser_opt_paddlespeech_data_output.tar.gz<span class="w"> </span>到<span class="w"> </span>/dt_opt/paddlespeech/data/output
+./
+./2753d658-b228-4ae6-94fc-3404a41f4526.wav
+./9f24d71e-9f29-4d60-aa13-677fd19bba46.wav
+./38ea94c6-e19b-4e41-8cca-454d8e374a15.wav
+./d44aa891-c36b-473f-aef3-44484f0cd74b.wav
+./c5ef53d3-502b-4f81-9fdd-583836ba7096.wav
+./3931cd47-e022-4385-b588-4a61e64e5eed.wav
+./1d213380-eee6-43ba-88db-99ba9b5609df.wav
+./c85f65de-a4c1-43aa-a251-52ce4e9df271.wav
+./7cd5fc65-665b-444c-9c9f-41f1ce8036f8.wav
+./f74dbda7-1cf8-4056-bd30-523b74af8b0e.wav
+<span class="o">[</span>INFO<span class="o">]</span><span class="w"> </span>正在解压:<span class="w"> </span>/home/tst/down/data/home_dtuser_opt_paddlespeech_data_paddlenlp_models.tar.gz<span class="w"> </span>到<span class="w"> </span>/dt_opt/paddlespeech/data/paddlenlp_models
+./
+./packages/
+./models/
+./models/bert-base-chinese/
+./models/bert-base-chinese/bert-base-chinese-vocab.txt
+./models/bert-base-chinese/tokenizer_config.json
+./models/bert-base-chinese/vocab.txt
+./models/bert-base-chinese/special_tokens_map.json
+./models/embeddings/
+./models/.locks/
+./models/.locks/bert-base-chinese/
+./datasets/
+<span class="o">[</span>INFO<span class="o">]</span><span class="w"> </span>正在解压:<span class="w"> </span>/home/tst/down/data/home_dtuser_opt_paddlespeech_data_paddlespeech_models.tar.gz<span class="w"> </span>到<span class="w"> </span>/dt_opt/paddlespeech/data/paddlespeech_models
+./
+./conf/
+./conf/cache.yaml
+./models/
+./models/G2PWModel_1.1/
+./models/G2PWModel_1.1/config.py
+./models/G2PWModel_1.1/MONOPHONIC_CHARS.txt
+./models/G2PWModel_1.1/__pycache__/
+./models/G2PWModel_1.1/__pycache__/config.cpython-39.pyc
+./models/G2PWModel_1.1/__pycache__/config.cpython-310.pyc
+./models/G2PWModel_1.1/record.log
+./models/G2PWModel_1.1/bopomofo_to_pinyin_wo_tune_dict.json
+./models/G2PWModel_1.1/POLYPHONIC_CHARS.txt
+./models/G2PWModel_1.1/char_bopomofo_dict.json
+./models/G2PWModel_1.1/g2pW.onnx
+./models/G2PWModel_1.1/version
+./models/G2PWModel_1.1.zip
+./models/conformer_wenetspeech-zh-16k/
+./models/conformer_wenetspeech-zh-16k/1.0/
+./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/
+./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/conf/
+./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/conf/preprocess.yaml
+./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/conf/tuning/
+./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/conf/tuning/decode.yaml
+./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/conf/conformer.yaml
+./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/conf/conformer_infer.yaml
+./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/data/
+./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/data/lang_char/
+./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/data/lang_char/vocab.txt
+./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/data/mean_std.json
+./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/model.yaml
+./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/exp/
+./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/exp/conformer/
+./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/exp/conformer/checkpoints/
+./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/exp/conformer/checkpoints/wenetspeech.pdparams
+./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar.gz
+./models/fastspeech2_csmsc-zh/
+./models/fastspeech2_csmsc-zh/1.0/
+./models/fastspeech2_csmsc-zh/1.0/fastspeech2_nosil_baker_ckpt_0.4.zip
+./models/fastspeech2_csmsc-zh/1.0/fastspeech2_nosil_baker_ckpt_0.4/
+./models/fastspeech2_csmsc-zh/1.0/fastspeech2_nosil_baker_ckpt_0.4/snapshot_iter_76000.pdz
+./models/fastspeech2_csmsc-zh/1.0/fastspeech2_nosil_baker_ckpt_0.4/phone_id_map.txt
+./models/fastspeech2_csmsc-zh/1.0/fastspeech2_nosil_baker_ckpt_0.4/default.yaml
+./models/fastspeech2_csmsc-zh/1.0/fastspeech2_nosil_baker_ckpt_0.4/speech_stats.npy
+./models/fastspeech2_csmsc-zh/1.0/fastspeech2_nosil_baker_ckpt_0.4/pitch_stats.npy
+./models/fastspeech2_csmsc-zh/1.0/fastspeech2_nosil_baker_ckpt_0.4/energy_stats.npy
+./models/hifigan_csmsc-zh/
+./models/hifigan_csmsc-zh/1.0/
+./models/hifigan_csmsc-zh/1.0/hifigan_csmsc_ckpt_0.1.1.zip
+./models/hifigan_csmsc-zh/1.0/hifigan_csmsc_ckpt_0.1.1/
+./models/hifigan_csmsc-zh/1.0/hifigan_csmsc_ckpt_0.1.1/default.yaml
+./models/hifigan_csmsc-zh/1.0/hifigan_csmsc_ckpt_0.1.1/snapshot_iter_2500000.pdz
+./models/hifigan_csmsc-zh/1.0/hifigan_csmsc_ckpt_0.1.1/feats_stats.npy
+./datasets/
+<span class="o">[</span>SUCCESS<span class="o">]</span><span class="w"> </span>数据卷解压完成
+<span class="o">[</span>INFO<span class="o">]</span><span class="w"> </span>解压镜像包...
+<span class="o">[</span>SUCCESS<span class="o">]</span><span class="w"> </span>镜像包已移动到<span class="w"> </span>/dt_opt/paddlespeech/images
+<span class="o">[</span>INFO<span class="o">]</span><span class="w"> </span>加载Docker镜像...
+daf557c4f08e:<span class="w"> </span>Loading<span class="w"> </span>layer<span class="w"> </span><span class="o">[==================================================</span>&gt;<span class="o">]</span><span class="w">  </span><span class="m">81</span>.04MB/81.04MB
+d593918d433d:<span class="w"> </span>Loading<span class="w"> </span>layer<span class="w"> </span><span class="o">[==================================================</span>&gt;<span class="o">]</span><span class="w">  </span><span class="m">4</span>.123MB/4.123MB
+7c4cff21e743:<span class="w"> </span>Loading<span class="w"> </span>layer<span class="w"> </span><span class="o">[==================================================</span>&gt;<span class="o">]</span><span class="w">  </span><span class="m">41</span>.36MB/41.36MB
+25f6bb353e99:<span class="w"> </span>Loading<span class="w"> </span>layer<span class="w"> </span><span class="o">[==================================================</span>&gt;<span class="o">]</span><span class="w">   </span><span class="m">5</span>.12kB/5.12kB
+bc3a46414f17:<span class="w"> </span>Loading<span class="w"> </span>layer<span class="w"> </span><span class="o">[==================================================</span>&gt;<span class="o">]</span><span class="w">  </span><span class="m">1</span>.536kB/1.536kB
+8fc7185920f1:<span class="w"> </span>Loading<span class="w"> </span>layer<span class="w"> </span><span class="o">[==================================================</span>&gt;<span class="o">]</span><span class="w">  </span><span class="m">3</span>.584kB/3.584kB
+bac2a7f893df:<span class="w"> </span>Loading<span class="w"> </span>layer<span class="w"> </span><span class="o">[==================================================</span>&gt;<span class="o">]</span><span class="w">    </span>847MB/847MB
+092bab498a3d:<span class="w"> </span>Loading<span class="w"> </span>layer<span class="w"> </span><span class="o">[==================================================</span>&gt;<span class="o">]</span><span class="w">  </span><span class="m">13</span>.31MB/13.31MB
+19db93cce63e:<span class="w"> </span>Loading<span class="w"> </span>layer<span class="w"> </span><span class="o">[==================================================</span>&gt;<span class="o">]</span><span class="w">   </span><span class="m">2</span>.56kB/2.56kB
+2fc7499dded4:<span class="w"> </span>Loading<span class="w"> </span>layer<span class="w"> </span><span class="o">[==================================================</span>&gt;<span class="o">]</span><span class="w">  </span><span class="m">3</span>.042GB/3.042GB
+7da6b60d7eb7:<span class="w"> </span>Loading<span class="w"> </span>layer<span class="w"> </span><span class="o">[==================================================</span>&gt;<span class="o">]</span><span class="w">   </span><span class="m">2</span>.53MB/2.53MB
+<span class="m">057242764992</span>:<span class="w"> </span>Loading<span class="w"> </span>layer<span class="w"> </span><span class="o">[==================================================</span>&gt;<span class="o">]</span><span class="w">  </span><span class="m">8</span>.704kB/8.704kB
+9a996f3d539d:<span class="w"> </span>Loading<span class="w"> </span>layer<span class="w"> </span><span class="o">[==================================================</span>&gt;<span class="o">]</span><span class="w">  </span><span class="m">3</span>.072kB/3.072kB
+4cdf0570391d:<span class="w"> </span>Loading<span class="w"> </span>layer<span class="w"> </span><span class="o">[==================================================</span>&gt;<span class="o">]</span><span class="w">  </span><span class="m">104</span>.2MB/104.2MB
+Loaded<span class="w"> </span>image:<span class="w"> </span>dt_iot/paddlespeech:latest
+<span class="o">[</span>SUCCESS<span class="o">]</span><span class="w"> </span>镜像加载成功
+<span class="o">[</span>INFO<span class="o">]</span><span class="w"> </span>生成docker-compose.yaml...
+<span class="o">[</span>SUCCESS<span class="o">]</span><span class="w"> </span>docker-compose.yaml创建完成
+<span class="o">[</span>INFO<span class="o">]</span><span class="w"> </span>启动容器...
+<span class="o">[</span>+<span class="o">]</span><span class="w"> </span>Running<span class="w"> </span><span class="m">2</span>/2
+<span class="w"> </span>✔<span class="w"> </span>Network<span class="w"> </span>dtnet<span class="w">           </span>Created<span class="w">                                                                                                                                  </span><span class="m">0</span>.5s<span class="w"> </span>
+<span class="w"> </span>✔<span class="w"> </span>Container<span class="w"> </span>paddlespeech<span class="w">  </span>Started<span class="w">                                                                                                                                  </span><span class="m">4</span>.6s<span class="w"> </span>
+<span class="o">[</span>SUCCESS<span class="o">]</span><span class="w"> </span>容器启动成功
+<span class="o">[</span>SUCCESS<span class="o">]</span><span class="w"> </span>PaddleSpeech<span class="w"> </span>离线安装完成!
+</code></pre></div>
+
+<h3 id="4">4. 查看容器运行状态<a class="headerlink" href="#4" title="Permanent link">&para;</a></h3>
+<div class="codehilite"><pre><span></span><code>docker<span class="w"> </span>ps
+</code></pre></div>
+
+<h3 id="5">5. 实时查看容器日志<a class="headerlink" href="#5" title="Permanent link">&para;</a></h3>
+<div class="codehilite"><pre><span></span><code>docker<span class="w"> </span>logs<span class="w"> </span>-f<span class="w"> </span>paddlespeech
+</code></pre></div>
+
+<p><img alt="" src="https://qncdn.tairongkj.com/docs/images/20250921171624.png" /></p>
+<h3 id="6">6. 管理容器<a class="headerlink" href="#6" title="Permanent link">&para;</a></h3>
+<p>进入容器器的部署目录:
+/dt_opt/paddlespeech</p>
+<div class="codehilite"><pre><span></span><code>docker<span class="w"> </span>ps<span class="w"> </span>up<span class="w"> </span>-d<span class="w">  </span><span class="c1"># 启动容器</span>
+docker<span class="w"> </span>ps<span class="w"> </span>down<span class="w"> </span><span class="c1"># 停止容器</span>
+docker<span class="w"> </span>ps<span class="w"> </span>restart<span class="w"> </span><span class="c1"># 重启容器</span>
+docker<span class="w"> </span>ps<span class="w"> </span>logs<span class="w"> </span>-f<span class="w"> </span>paddlespeech<span class="w"> </span><span class="c1"># 实时查看日志</span>
+docker<span class="w"> </span>ps<span class="w"> </span><span class="nb">exec</span><span class="w"> </span>-it<span class="w"> </span>paddlespeech<span class="w"> </span>/bin/bash<span class="w"> </span><span class="c1"># 进入容器</span>
+docker<span class="w"> </span>ps<span class="w"> </span>rm<span class="w"> </span>-f<span class="w"> </span>paddlespeech<span class="w"> </span><span class="c1"># 删除容器</span>
+docker<span class="w"> </span>rmi<span class="w"> </span>dt_iot/paddlespeech:latest<span class="w"> </span><span class="c1"># 删除镜像</span>
+docker<span class="w"> </span>volume<span class="w"> </span>rm<span class="w"> </span>paddlespeech_data<span class="w"> </span><span class="c1"># 删除数据卷</span>
+docker<span class="w"> </span>network<span class="w"> </span>rm<span class="w"> </span>dtnet<span class="w"> </span><span class="c1"># 删除网络</span>
+docker<span class="w"> </span>system<span class="w"> </span>prune<span class="w"> </span>-a<span class="w"> </span><span class="c1"># 清理无用的镜像、容器、数据卷、网络等</span>
+</code></pre></div>
+
+<p>以上是常用命令,使用时根据需要灵活使用。</p>
+<h3 id="7">7. 调整端口<a class="headerlink" href="#7" title="Permanent link">&para;</a></h3>
+<p>找到文件</p>
+<div class="codehilite"><pre><span></span><code>/dt_opt/paddlespeech/docker-compose.yaml
+</code></pre></div>
+
+<p>修改对应的端口号,如下所示:
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250921172307.png" />
+更改第一个端口为需要的端口号即可,如下所示:</p>
+<div class="codehilite"><pre><span></span><code>docker-compse<span class="w"> </span>down
+sudo<span class="w"> </span>nano<span class="w"> </span>./docker-compose.yaml
+<span class="c1"># 修改对应的端口号,第6行</span>
+<span class="w">    </span><span class="c1">#  - &quot;8001:8001&quot;</span>
+<span class="c1"># 保存退出,重启容器即可生效</span>
+docker-compose<span class="w"> </span>up<span class="w"> </span>-d
+</code></pre></div>
+
+<h2 id="_10">六、使用说明<a class="headerlink" href="#_10" title="Permanent link">&para;</a></h2>
+<p>为了方便的演示如何调用这个api,我们提供了一个测试网页,<a href="https://datacdn.data-it.tech/HomeAssistant/dokerimages/paddlespeech1.1/tts_demo.zip">下载地址</a>为:</p>
+<div class="codehilite"><pre><span></span><code>https://datacdn.data-it.tech/HomeAssistant/dokerimages/paddlespeech1.1/tts_demo.zip
+</code></pre></div>
+
+<p><img alt="" src="https://qncdn.tairongkj.com/docs/images/20250921170242.png" /></p>
+<h3 id="1-tts">1. 语音合成(TTS)服务<a class="headerlink" href="#1-tts" title="Permanent link">&para;</a></h3>
+<h5 id="curl">curl示例<a class="headerlink" href="#curl" title="Permanent link">&para;</a></h5>
+<div class="codehilite"><pre><span></span><code>curl --request POST \
+  --url http://ikuai.m-iot.tech:58150/tts \
+  --header &#39;content-type: application/x-www-form-urlencoded&#39; \
+  --data &#39;text=请张三到一室做检查&#39; \
+  --data lang=zh \
+  --data spk_id=0
+</code></pre></div>
+
+<h4 id="htttp-api">HTTTP API说明<a class="headerlink" href="#htttp-api" title="Permanent link">&para;</a></h4>
+<div class="codehilite"><pre><span></span><code><span class="nf">POST</span> <span class="nn">/tts</span> <span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span>
+<span class="na">Content-Type</span><span class="o">:</span> <span class="l">application/x-www-form-urlencoded</span>
+<span class="na">Host</span><span class="o">:</span> <span class="l">ikuai.m-iot.tech:58150</span>
+<span class="na">Content-Length</span><span class="o">:</span> <span class="l">103</span>
+
+<span class="nt">text</span><span class="o">=</span><span class="s">%E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5</span><span class="p">&amp;</span><span class="nt">lang</span><span class="o">=</span><span class="s">zh</span><span class="p">&amp;</span><span class="nt">spk_id</span><span class="o">=</span><span class="s">0</span>
+</code></pre></div>
+
+<h5 id="java">Java 示例<a class="headerlink" href="#java" title="Permanent link">&para;</a></h5>
+<div class="codehilite"><pre><span></span><code><span class="c1">//asynchttp</span>
+<span class="n">AsyncHttpClient</span><span class="w"> </span><span class="n">client</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">DefaultAsyncHttpClient</span><span class="p">();</span>
+<span class="n">client</span><span class="p">.</span><span class="na">prepare</span><span class="p">(</span><span class="s">&quot;POST&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;http://ikuai.m-iot.tech:58150/tts&quot;</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">setHeader</span><span class="p">(</span><span class="s">&quot;content-type&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;application/x-www-form-urlencoded&quot;</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">setBody</span><span class="p">(</span><span class="s">&quot;text=%E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5&amp;lang=zh&amp;spk_id=0&quot;</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">execute</span><span class="p">()</span>
+<span class="w">  </span><span class="p">.</span><span class="na">toCompletableFuture</span><span class="p">()</span>
+<span class="w">  </span><span class="p">.</span><span class="na">thenAccept</span><span class="p">(</span><span class="n">System</span><span class="p">.</span><span class="na">out</span><span class="p">::</span><span class="n">println</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">join</span><span class="p">();</span>
+
+<span class="n">client</span><span class="p">.</span><span class="na">close</span><span class="p">();</span>
+<span class="c1">//nethttp</span>
+<span class="n">HttpRequest</span><span class="w"> </span><span class="n">request</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">HttpRequest</span><span class="p">.</span><span class="na">newBuilder</span><span class="p">()</span>
+<span class="w">    </span><span class="p">.</span><span class="na">uri</span><span class="p">(</span><span class="n">URI</span><span class="p">.</span><span class="na">create</span><span class="p">(</span><span class="s">&quot;http://ikuai.m-iot.tech:58150/tts&quot;</span><span class="p">))</span>
+<span class="w">    </span><span class="p">.</span><span class="na">header</span><span class="p">(</span><span class="s">&quot;content-type&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;application/x-www-form-urlencoded&quot;</span><span class="p">)</span>
+<span class="w">    </span><span class="p">.</span><span class="na">method</span><span class="p">(</span><span class="s">&quot;POST&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">HttpRequest</span><span class="p">.</span><span class="na">BodyPublishers</span><span class="p">.</span><span class="na">ofString</span><span class="p">(</span><span class="s">&quot;text=%E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5&amp;lang=zh&amp;spk_id=0&quot;</span><span class="p">))</span>
+<span class="w">    </span><span class="p">.</span><span class="na">build</span><span class="p">();</span>
+<span class="n">HttpResponse</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span><span class="w"> </span><span class="n">response</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">HttpClient</span><span class="p">.</span><span class="na">newHttpClient</span><span class="p">().</span><span class="na">send</span><span class="p">(</span><span class="n">request</span><span class="p">,</span><span class="w"> </span><span class="n">HttpResponse</span><span class="p">.</span><span class="na">BodyHandlers</span><span class="p">.</span><span class="na">ofString</span><span class="p">());</span>
+<span class="n">System</span><span class="p">.</span><span class="na">out</span><span class="p">.</span><span class="na">println</span><span class="p">(</span><span class="n">response</span><span class="p">.</span><span class="na">body</span><span class="p">());</span>
+<span class="c1">//okhttp</span>
+<span class="n">OkHttpClient</span><span class="w"> </span><span class="n">client</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">OkHttpClient</span><span class="p">();</span>
+
+<span class="n">MediaType</span><span class="w"> </span><span class="n">mediaType</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">MediaType</span><span class="p">.</span><span class="na">parse</span><span class="p">(</span><span class="s">&quot;application/x-www-form-urlencoded&quot;</span><span class="p">);</span>
+<span class="n">RequestBody</span><span class="w"> </span><span class="n">body</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">RequestBody</span><span class="p">.</span><span class="na">create</span><span class="p">(</span><span class="n">mediaType</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;text=%E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5&amp;lang=zh&amp;spk_id=0&quot;</span><span class="p">);</span>
+<span class="n">Request</span><span class="w"> </span><span class="n">request</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Request</span><span class="p">.</span><span class="na">Builder</span><span class="p">()</span>
+<span class="w">  </span><span class="p">.</span><span class="na">url</span><span class="p">(</span><span class="s">&quot;http://ikuai.m-iot.tech:58150/tts&quot;</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">post</span><span class="p">(</span><span class="n">body</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">addHeader</span><span class="p">(</span><span class="s">&quot;content-type&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;application/x-www-form-urlencoded&quot;</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">build</span><span class="p">();</span>
+
+<span class="n">Response</span><span class="w"> </span><span class="n">response</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">client</span><span class="p">.</span><span class="na">newCall</span><span class="p">(</span><span class="n">request</span><span class="p">).</span><span class="na">execute</span><span class="p">();</span>
+<span class="c1">//unirest</span>
+<span class="n">HttpResponse</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span><span class="w"> </span><span class="n">response</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Unirest</span><span class="p">.</span><span class="na">post</span><span class="p">(</span><span class="s">&quot;http://ikuai.m-iot.tech:58150/tts&quot;</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">header</span><span class="p">(</span><span class="s">&quot;content-type&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;application/x-www-form-urlencoded&quot;</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">body</span><span class="p">(</span><span class="s">&quot;text=%E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5&amp;lang=zh&amp;spk_id=0&quot;</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">asString</span><span class="p">();</span>
+</code></pre></div>
+
+<h4 id="javascript">javaScript 示例<a class="headerlink" href="#javascript" title="Permanent link">&para;</a></h4>
+<div class="codehilite"><pre><span></span><code><span class="c1">//Xhr</span>
+<span class="kd">const</span><span class="w"> </span><span class="nx">data</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">&#39;text=%E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5&amp;lang=zh&amp;spk_id=0&#39;</span><span class="p">;</span>
+
+<span class="kd">const</span><span class="w"> </span><span class="nx">xhr</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ow">new</span><span class="w"> </span><span class="nx">XMLHttpRequest</span><span class="p">();</span>
+<span class="nx">xhr</span><span class="p">.</span><span class="nx">withCredentials</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span>
+
+<span class="nx">xhr</span><span class="p">.</span><span class="nx">addEventListener</span><span class="p">(</span><span class="s1">&#39;readystatechange&#39;</span><span class="p">,</span><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
+<span class="w">  </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">readyState</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="nx">DONE</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
+<span class="w">    </span><span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">responseText</span><span class="p">);</span>
+<span class="w">  </span><span class="p">}</span>
+<span class="p">});</span>
+
+<span class="nx">xhr</span><span class="p">.</span><span class="nx">open</span><span class="p">(</span><span class="s1">&#39;POST&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;http://ikuai.m-iot.tech:58150/tts&#39;</span><span class="p">);</span>
+<span class="nx">xhr</span><span class="p">.</span><span class="nx">setRequestHeader</span><span class="p">(</span><span class="s1">&#39;content-type&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;application/x-www-form-urlencoded&#39;</span><span class="p">);</span>
+
+<span class="nx">xhr</span><span class="p">.</span><span class="nx">send</span><span class="p">(</span><span class="nx">data</span><span class="p">);</span>
+
+<span class="c1">//Axios</span>
+<span class="k">import</span><span class="w"> </span><span class="nx">axios</span><span class="w"> </span><span class="kr">from</span><span class="w"> </span><span class="s1">&#39;axios&#39;</span><span class="p">;</span>
+
+<span class="kd">const</span><span class="w"> </span><span class="nx">encodedParams</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ow">new</span><span class="w"> </span><span class="nx">URLSearchParams</span><span class="p">();</span>
+<span class="nx">encodedParams</span><span class="p">.</span><span class="nx">set</span><span class="p">(</span><span class="s1">&#39;text&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;请张三到一室做检查&#39;</span><span class="p">);</span>
+<span class="nx">encodedParams</span><span class="p">.</span><span class="nx">set</span><span class="p">(</span><span class="s1">&#39;lang&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;zh&#39;</span><span class="p">);</span>
+<span class="nx">encodedParams</span><span class="p">.</span><span class="nx">set</span><span class="p">(</span><span class="s1">&#39;spk_id&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;0&#39;</span><span class="p">);</span>
+
+<span class="kd">const</span><span class="w"> </span><span class="nx">options</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span>
+<span class="w">  </span><span class="nx">method</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;POST&#39;</span><span class="p">,</span>
+<span class="w">  </span><span class="nx">url</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;http://ikuai.m-iot.tech:58150/tts&#39;</span><span class="p">,</span>
+<span class="w">  </span><span class="nx">headers</span><span class="o">:</span><span class="w"> </span><span class="p">{</span><span class="s1">&#39;content-type&#39;</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;application/x-www-form-urlencoded&#39;</span><span class="p">},</span>
+<span class="w">  </span><span class="nx">data</span><span class="o">:</span><span class="w"> </span><span class="nx">encodedParams</span><span class="p">,</span>
+<span class="p">};</span>
+
+<span class="k">try</span><span class="w"> </span><span class="p">{</span>
+<span class="w">  </span><span class="kd">const</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">data</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">await</span><span class="w"> </span><span class="nx">axios</span><span class="p">.</span><span class="nx">request</span><span class="p">(</span><span class="nx">options</span><span class="p">);</span>
+<span class="w">  </span><span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">data</span><span class="p">);</span>
+<span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="nx">error</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
+<span class="w">  </span><span class="nx">console</span><span class="p">.</span><span class="nx">error</span><span class="p">(</span><span class="nx">error</span><span class="p">);</span>
+<span class="p">}</span>
+<span class="c1">//Fetch</span>
+<span class="kd">const</span><span class="w"> </span><span class="nx">url</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">&#39;http://ikuai.m-iot.tech:58150/tts&#39;</span><span class="p">;</span>
+<span class="kd">const</span><span class="w"> </span><span class="nx">options</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span>
+<span class="w">  </span><span class="nx">method</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;POST&#39;</span><span class="p">,</span>
+<span class="w">  </span><span class="nx">headers</span><span class="o">:</span><span class="w"> </span><span class="p">{</span><span class="s1">&#39;content-type&#39;</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;application/x-www-form-urlencoded&#39;</span><span class="p">},</span>
+<span class="w">  </span><span class="nx">body</span><span class="o">:</span><span class="w"> </span><span class="ow">new</span><span class="w"> </span><span class="nx">URLSearchParams</span><span class="p">({</span><span class="nx">text</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;请张三到一室做检查&#39;</span><span class="p">,</span><span class="w"> </span><span class="nx">lang</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;zh&#39;</span><span class="p">,</span><span class="w"> </span><span class="nx">spk_id</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;0&#39;</span><span class="p">})</span>
+<span class="p">};</span>
+
+<span class="k">try</span><span class="w"> </span><span class="p">{</span>
+<span class="w">  </span><span class="kd">const</span><span class="w"> </span><span class="nx">response</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">await</span><span class="w"> </span><span class="nx">fetch</span><span class="p">(</span><span class="nx">url</span><span class="p">,</span><span class="w"> </span><span class="nx">options</span><span class="p">);</span>
+<span class="w">  </span><span class="kd">const</span><span class="w"> </span><span class="nx">data</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">await</span><span class="w"> </span><span class="nx">response</span><span class="p">.</span><span class="nx">json</span><span class="p">();</span>
+<span class="w">  </span><span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">data</span><span class="p">);</span>
+<span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="nx">error</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
+<span class="w">  </span><span class="nx">console</span><span class="p">.</span><span class="nx">error</span><span class="p">(</span><span class="nx">error</span><span class="p">);</span>
+<span class="p">}</span>
+<span class="c1">//JQuery</span>
+<span class="kd">const</span><span class="w"> </span><span class="nx">settings</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span>
+<span class="w">  </span><span class="k">async</span><span class="o">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
+<span class="w">  </span><span class="nx">crossDomain</span><span class="o">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
+<span class="w">  </span><span class="nx">url</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;http://ikuai.m-iot.tech:58150/tts&#39;</span><span class="p">,</span>
+<span class="w">  </span><span class="nx">method</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;POST&#39;</span><span class="p">,</span>
+<span class="w">  </span><span class="nx">headers</span><span class="o">:</span><span class="w"> </span><span class="p">{</span>
+<span class="w">    </span><span class="s1">&#39;content-type&#39;</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;application/x-www-form-urlencoded&#39;</span>
+<span class="w">  </span><span class="p">},</span>
+<span class="w">  </span><span class="nx">data</span><span class="o">:</span><span class="w"> </span><span class="p">{</span>
+<span class="w">    </span><span class="nx">text</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;请张三到一室做检查&#39;</span><span class="p">,</span>
+<span class="w">    </span><span class="nx">lang</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;zh&#39;</span><span class="p">,</span>
+<span class="w">    </span><span class="nx">spk_id</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;0&#39;</span>
+<span class="w">  </span><span class="p">}</span>
+<span class="p">};</span>
+
+<span class="nx">$</span><span class="p">.</span><span class="nx">ajax</span><span class="p">(</span><span class="nx">settings</span><span class="p">).</span><span class="nx">done</span><span class="p">(</span><span class="kd">function</span><span class="w"> </span><span class="p">(</span><span class="nx">response</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
+<span class="w">  </span><span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">response</span><span class="p">);</span>
+<span class="p">});</span>
+</code></pre></div>
+
+<h5 id="c">C# 示例<a class="headerlink" href="#c" title="Permanent link">&para;</a></h5>
+<div class="codehilite"><pre><span></span><code><span class="c1">//httpclient</span>
+<span class="k">using</span><span class="w"> </span><span class="nn">System.Net.Http.Headers</span><span class="p">;</span>
+<span class="kt">var</span><span class="w"> </span><span class="n">client</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">HttpClient</span><span class="p">();</span>
+<span class="kt">var</span><span class="w"> </span><span class="n">request</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">HttpRequestMessage</span>
+<span class="p">{</span>
+<span class="w">    </span><span class="n">Method</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">HttpMethod</span><span class="p">.</span><span class="n">Post</span><span class="p">,</span>
+<span class="w">    </span><span class="n">RequestUri</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Uri</span><span class="p">(</span><span class="s">&quot;http://ikuai.m-iot.tech:58150/tts&quot;</span><span class="p">),</span>
+<span class="w">    </span><span class="n">Content</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">FormUrlEncodedContent</span><span class="p">(</span><span class="k">new</span><span class="w"> </span><span class="n">Dictionary</span><span class="o">&lt;</span><span class="kt">string</span><span class="p">,</span><span class="w"> </span><span class="kt">string</span><span class="o">&gt;</span>
+<span class="w">    </span><span class="p">{</span>
+<span class="w">        </span><span class="p">{</span><span class="w"> </span><span class="s">&quot;text&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;请张三到一室做检查&quot;</span><span class="w"> </span><span class="p">},</span>
+<span class="w">        </span><span class="p">{</span><span class="w"> </span><span class="s">&quot;lang&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;zh&quot;</span><span class="w"> </span><span class="p">},</span>
+<span class="w">        </span><span class="p">{</span><span class="w"> </span><span class="s">&quot;spk_id&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;0&quot;</span><span class="w"> </span><span class="p">},</span>
+<span class="w">    </span><span class="p">}),</span>
+<span class="p">};</span>
+<span class="k">using</span><span class="w"> </span><span class="p">(</span><span class="kt">var</span><span class="w"> </span><span class="n">response</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">await</span><span class="w"> </span><span class="n">client</span><span class="p">.</span><span class="n">SendAsync</span><span class="p">(</span><span class="n">request</span><span class="p">))</span>
+<span class="p">{</span>
+<span class="w">    </span><span class="n">response</span><span class="p">.</span><span class="n">EnsureSuccessStatusCode</span><span class="p">();</span>
+<span class="w">    </span><span class="kt">var</span><span class="w"> </span><span class="n">body</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">await</span><span class="w"> </span><span class="n">response</span><span class="p">.</span><span class="n">Content</span><span class="p">.</span><span class="n">ReadAsStringAsync</span><span class="p">();</span>
+<span class="w">    </span><span class="n">Console</span><span class="p">.</span><span class="n">WriteLine</span><span class="p">(</span><span class="n">body</span><span class="p">);</span>
+<span class="p">}</span>
+<span class="c1">//restsharp</span>
+<span class="kt">var</span><span class="w"> </span><span class="n">client</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">RestClient</span><span class="p">(</span><span class="s">&quot;http://ikuai.m-iot.tech:58150/tts&quot;</span><span class="p">);</span>
+<span class="kt">var</span><span class="w"> </span><span class="n">request</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">RestRequest</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">Method</span><span class="p">.</span><span class="n">Post</span><span class="p">);</span>
+<span class="n">request</span><span class="p">.</span><span class="n">AddHeader</span><span class="p">(</span><span class="s">&quot;content-type&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;application/x-www-form-urlencoded&quot;</span><span class="p">);</span>
+<span class="n">request</span><span class="p">.</span><span class="n">AddParameter</span><span class="p">(</span><span class="s">&quot;application/x-www-form-urlencoded&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;text=%E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5&amp;lang=zh&amp;spk_id=0&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">ParameterType</span><span class="p">.</span><span class="n">RequestBody</span><span class="p">);</span>
+<span class="kt">var</span><span class="w"> </span><span class="n">response</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">client</span><span class="p">.</span><span class="n">Execute</span><span class="p">(</span><span class="n">request</span><span class="p">);</span>
+</code></pre></div>
+
+<h4 id="go">go 示例<a class="headerlink" href="#go" title="Permanent link">&para;</a></h4>
+<div class="codehilite"><pre><span></span><code><span class="kn">package</span><span class="w"> </span><span class="nx">main</span>
+
+<span class="kn">import</span><span class="w"> </span><span class="p">(</span>
+<span class="w">    </span><span class="s">&quot;fmt&quot;</span>
+<span class="w">    </span><span class="s">&quot;strings&quot;</span>
+<span class="w">    </span><span class="s">&quot;net/http&quot;</span>
+<span class="w">    </span><span class="s">&quot;io&quot;</span>
+<span class="p">)</span>
+
+<span class="kd">func</span><span class="w"> </span><span class="nx">main</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
+
+<span class="w">    </span><span class="nx">url</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="s">&quot;http://ikuai.m-iot.tech:58150/tts&quot;</span>
+
+<span class="w">    </span><span class="nx">payload</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="nx">strings</span><span class="p">.</span><span class="nx">NewReader</span><span class="p">(</span><span class="s">&quot;text=%E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5&amp;lang=zh&amp;spk_id=0&quot;</span><span class="p">)</span>
+
+<span class="w">    </span><span class="nx">req</span><span class="p">,</span><span class="w"> </span><span class="nx">_</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="nx">http</span><span class="p">.</span><span class="nx">NewRequest</span><span class="p">(</span><span class="s">&quot;POST&quot;</span><span class="p">,</span><span class="w"> </span><span class="nx">url</span><span class="p">,</span><span class="w"> </span><span class="nx">payload</span><span class="p">)</span>
+
+<span class="w">    </span><span class="nx">req</span><span class="p">.</span><span class="nx">Header</span><span class="p">.</span><span class="nx">Add</span><span class="p">(</span><span class="s">&quot;content-type&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;application/x-www-form-urlencoded&quot;</span><span class="p">)</span>
+
+<span class="w">    </span><span class="nx">res</span><span class="p">,</span><span class="w"> </span><span class="nx">_</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="nx">http</span><span class="p">.</span><span class="nx">DefaultClient</span><span class="p">.</span><span class="nx">Do</span><span class="p">(</span><span class="nx">req</span><span class="p">)</span>
+
+<span class="w">    </span><span class="k">defer</span><span class="w"> </span><span class="nx">res</span><span class="p">.</span><span class="nx">Body</span><span class="p">.</span><span class="nx">Close</span><span class="p">()</span>
+<span class="w">    </span><span class="nx">body</span><span class="p">,</span><span class="w"> </span><span class="nx">_</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="nx">io</span><span class="p">.</span><span class="nx">ReadAll</span><span class="p">(</span><span class="nx">res</span><span class="p">.</span><span class="nx">Body</span><span class="p">)</span>
+
+<span class="w">    </span><span class="nx">fmt</span><span class="p">.</span><span class="nx">Println</span><span class="p">(</span><span class="nx">res</span><span class="p">)</span>
+<span class="w">    </span><span class="nx">fmt</span><span class="p">.</span><span class="nx">Println</span><span class="p">(</span><span class="nb">string</span><span class="p">(</span><span class="nx">body</span><span class="p">))</span>
+
+<span class="p">}</span>
+</code></pre></div>
+
+<h5 id="_11">返回结果<a class="headerlink" href="#_11" title="Permanent link">&para;</a></h5>
+<div class="codehilite"><pre><span></span><code>Preparing request to http://ikuai.m-iot.tech:58150/tts
+Current time is 2025-09-21T07:49:17.236Z
+POST http://ikuai.m-iot.tech:58150/tts
+Accept: application/json, text/plain, */*
+Content-Type: application/x-www-form-urlencoded
+User-Agent: bruno-runtime/2.3.0
+text=%E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5&amp;lang=zh&amp;spk_id=0
+SSL validation: enabled
+HTTP/1.1 200 OK
+date: Sun, 21 Sep 2025 07:49:18 GMT
+server: uvicorn
+content-type: audio/wav
+content-disposition: attachment; filename=&quot;7b41c15b-e0a4-4ba5-aeb1-ceff058c90e6.wav&quot;
+content-length: 89444
+last-modified: Sun, 21 Sep 2025 07:49:20 GMT
+etag: d85eaa2cadf7182ac9b54763e6a97e2c
+request-duration: 2224
+Request completed in 2224 ms
+</code></pre></div>
+
+<p><img alt="" src="https://qncdn.tairongkj.com/docs/images/20250921160616.png" />
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250921160647.png" />
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250921160716.png" />
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250921160755.png" /></p>
+<h3 id="2-asr">2. 语音识别(ASR)服务<a class="headerlink" href="#2-asr" title="Permanent link">&para;</a></h3>
+<h4 id="_12">上传文件调用示例<a class="headerlink" href="#_12" title="Permanent link">&para;</a></h4>
+<h5 id="curl_1">curl示例<a class="headerlink" href="#curl_1" title="Permanent link">&para;</a></h5>
+<div class="codehilite"><pre><span></span><code>curl --request POST \
+  --url http://ikuai.m-iot.tech:58150/asr \
+  --header &#39;content-type: multipart/form-data&#39; \
+  --form &#39;file=@C:\Users\trphoenix\Documents\录音\录音 (6).m4a&#39; \
+  --form lang=zh \
+  --form format=wav \
+  --form sample_rate=16000
+</code></pre></div>
+
+<p>直接上传文件,文件格式支持wav、m4a、mp3等常见音频格式,服务端会自动转换为wav格式进行识别。</p>
+<div class="codehilite"><pre><span></span><code>curl --request POST \
+  --url http://ikuai.m-iot.tech:58150/asr \
+  --header &#39;content-type: multipart/form-data&#39; \
+  --form &#39;file=@C:\Users\trphoenix\Documents\录音\录音 (6).m4a&#39; \
+  --form lang=zh
+</code></pre></div>
+
+<p>传入参数可以只有file与lang这两个参数,其它参数,可以忽略,如下图所示
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250921162309.png" /></p>
+<h5 id="http">HTTP 示例说明<a class="headerlink" href="#http" title="Permanent link">&para;</a></h5>
+<div class="codehilite"><pre><span></span><code><span class="nf">POST</span> <span class="nn">/asr</span> <span class="kr">HTTP</span><span class="o">/</span><span class="m">1.1</span>
+<span class="na">Content-Type</span><span class="o">:</span> <span class="l">multipart/form-data; boundary=---011000010111000001101001</span>
+<span class="na">Host</span><span class="o">:</span> <span class="l">ikuai.m-iot.tech:58150</span>
+<span class="na">Content-Length</span><span class="o">:</span> <span class="l">239</span>
+
+-----011000010111000001101001
+Content-Disposition: form-data; name=&quot;file&quot;
+
+C:\Users\trphoenix\Documents\录音\录音 (6).m4a
+-----011000010111000001101001
+Content-Disposition: form-data; name=&quot;lang&quot;
+
+zh
+-----011000010111000001101001--
+</code></pre></div>
+
+<h5 id="java_1">java 示例<a class="headerlink" href="#java_1" title="Permanent link">&para;</a></h5>
+<div class="codehilite"><pre><span></span><code><span class="c1">// asynchttp</span>
+<span class="n">AsyncHttpClient</span><span class="w"> </span><span class="n">client</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">DefaultAsyncHttpClient</span><span class="p">();</span>
+<span class="n">client</span><span class="p">.</span><span class="na">prepare</span><span class="p">(</span><span class="s">&quot;POST&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;http://ikuai.m-iot.tech:58150/asr&quot;</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">setHeader</span><span class="p">(</span><span class="s">&quot;content-type&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;multipart/form-data; boundary=---011000010111000001101001&quot;</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">setBody</span><span class="p">(</span><span class="s">&quot;-----011000010111000001101001\r\nContent-Disposition: form-data; name=\&quot;file\&quot;\r\n\r\nC:\\Users\\trphoenix\\Documents\\录音\\录音 (6).m4a\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\&quot;lang\&quot;\r\n\r\nzh\r\n-----011000010111000001101001--\r\n\r\n&quot;</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">execute</span><span class="p">()</span>
+<span class="w">  </span><span class="p">.</span><span class="na">toCompletableFuture</span><span class="p">()</span>
+<span class="w">  </span><span class="p">.</span><span class="na">thenAccept</span><span class="p">(</span><span class="n">System</span><span class="p">.</span><span class="na">out</span><span class="p">::</span><span class="n">println</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">join</span><span class="p">();</span>
+
+<span class="n">client</span><span class="p">.</span><span class="na">close</span><span class="p">();</span>
+<span class="c1">// nethttp</span>
+
+<span class="n">HttpRequest</span><span class="w"> </span><span class="n">request</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">HttpRequest</span><span class="p">.</span><span class="na">newBuilder</span><span class="p">()</span>
+<span class="w">    </span><span class="p">.</span><span class="na">uri</span><span class="p">(</span><span class="n">URI</span><span class="p">.</span><span class="na">create</span><span class="p">(</span><span class="s">&quot;http://ikuai.m-iot.tech:58150/asr&quot;</span><span class="p">))</span>
+<span class="w">    </span><span class="p">.</span><span class="na">header</span><span class="p">(</span><span class="s">&quot;content-type&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;multipart/form-data; boundary=---011000010111000001101001&quot;</span><span class="p">)</span>
+<span class="w">    </span><span class="p">.</span><span class="na">method</span><span class="p">(</span><span class="s">&quot;POST&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">HttpRequest</span><span class="p">.</span><span class="na">BodyPublishers</span><span class="p">.</span><span class="na">ofString</span><span class="p">(</span><span class="s">&quot;-----011000010111000001101001\r\nContent-Disposition: form-data; name=\&quot;file\&quot;\r\n\r\nC:\\Users\\trphoenix\\Documents\\录音\\录音 (6).m4a\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\&quot;lang\&quot;\r\n\r\nzh\r\n-----011000010111000001101001--\r\n\r\n&quot;</span><span class="p">))</span>
+<span class="w">    </span><span class="p">.</span><span class="na">build</span><span class="p">();</span>
+<span class="n">HttpResponse</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span><span class="w"> </span><span class="n">response</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">HttpClient</span><span class="p">.</span><span class="na">newHttpClient</span><span class="p">().</span><span class="na">send</span><span class="p">(</span><span class="n">request</span><span class="p">,</span><span class="w"> </span><span class="n">HttpResponse</span><span class="p">.</span><span class="na">BodyHandlers</span><span class="p">.</span><span class="na">ofString</span><span class="p">());</span>
+<span class="n">System</span><span class="p">.</span><span class="na">out</span><span class="p">.</span><span class="na">println</span><span class="p">(</span><span class="n">response</span><span class="p">.</span><span class="na">body</span><span class="p">());</span>
+<span class="c1">// okhttp</span>
+<span class="n">OkHttpClient</span><span class="w"> </span><span class="n">client</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">OkHttpClient</span><span class="p">();</span>
+
+<span class="n">MediaType</span><span class="w"> </span><span class="n">mediaType</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">MediaType</span><span class="p">.</span><span class="na">parse</span><span class="p">(</span><span class="s">&quot;multipart/form-data; boundary=---011000010111000001101001&quot;</span><span class="p">);</span>
+<span class="n">RequestBody</span><span class="w"> </span><span class="n">body</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">RequestBody</span><span class="p">.</span><span class="na">create</span><span class="p">(</span><span class="n">mediaType</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;-----011000010111000001101001\r\nContent-Disposition: form-data; name=\&quot;file\&quot;\r\n\r\nC:\\Users\\trphoenix\\Documents\\录音\\录音 (6).m4a\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\&quot;lang\&quot;\r\n\r\nzh\r\n-----011000010111000001101001--\r\n\r\n&quot;</span><span class="p">);</span>
+<span class="n">Request</span><span class="w"> </span><span class="n">request</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Request</span><span class="p">.</span><span class="na">Builder</span><span class="p">()</span>
+<span class="w">  </span><span class="p">.</span><span class="na">url</span><span class="p">(</span><span class="s">&quot;http://ikuai.m-iot.tech:58150/asr&quot;</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">post</span><span class="p">(</span><span class="n">body</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">addHeader</span><span class="p">(</span><span class="s">&quot;content-type&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;multipart/form-data; boundary=---011000010111000001101001&quot;</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">build</span><span class="p">();</span>
+
+<span class="n">Response</span><span class="w"> </span><span class="n">response</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">client</span><span class="p">.</span><span class="na">newCall</span><span class="p">(</span><span class="n">request</span><span class="p">).</span><span class="na">execute</span><span class="p">();</span>
+<span class="c1">// unirest</span>
+<span class="n">HttpResponse</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span><span class="w"> </span><span class="n">response</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Unirest</span><span class="p">.</span><span class="na">post</span><span class="p">(</span><span class="s">&quot;http://ikuai.m-iot.tech:58150/asr&quot;</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">header</span><span class="p">(</span><span class="s">&quot;content-type&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;multipart/form-data; boundary=---011000010111000001101001&quot;</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">body</span><span class="p">(</span><span class="s">&quot;-----011000010111000001101001\r\nContent-Disposition: form-data; name=\&quot;file\&quot;\r\n\r\nC:\\Users\\trphoenix\\Documents\\录音\\录音 (6).m4a\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\&quot;lang\&quot;\r\n\r\nzh\r\n-----011000010111000001101001--\r\n\r\n&quot;</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">asString</span><span class="p">();</span>
+</code></pre></div>
+
+<h5 id="javascript_1">javascript 示例<a class="headerlink" href="#javascript_1" title="Permanent link">&para;</a></h5>
+<div class="codehilite"><pre><span></span><code><span class="c1">//xhr</span>
+<span class="kd">const</span><span class="w"> </span><span class="nx">data</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ow">new</span><span class="w"> </span><span class="nx">FormData</span><span class="p">();</span>
+<span class="nx">data</span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="s1">&#39;file&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;C:\Users\trphoenix\Documents\录音\录音 (6).m4a&#39;</span><span class="p">);</span>
+<span class="nx">data</span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="s1">&#39;lang&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;zh&#39;</span><span class="p">);</span>
+
+<span class="kd">const</span><span class="w"> </span><span class="nx">xhr</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ow">new</span><span class="w"> </span><span class="nx">XMLHttpRequest</span><span class="p">();</span>
+<span class="nx">xhr</span><span class="p">.</span><span class="nx">withCredentials</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span>
+
+<span class="nx">xhr</span><span class="p">.</span><span class="nx">addEventListener</span><span class="p">(</span><span class="s1">&#39;readystatechange&#39;</span><span class="p">,</span><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
+<span class="w">  </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">readyState</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="nx">DONE</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
+<span class="w">    </span><span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="k">this</span><span class="p">.</span><span class="nx">responseText</span><span class="p">);</span>
+<span class="w">  </span><span class="p">}</span>
+<span class="p">});</span>
+
+<span class="nx">xhr</span><span class="p">.</span><span class="nx">open</span><span class="p">(</span><span class="s1">&#39;POST&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;http://ikuai.m-iot.tech:58150/asr&#39;</span><span class="p">);</span>
+
+<span class="nx">xhr</span><span class="p">.</span><span class="nx">send</span><span class="p">(</span><span class="nx">data</span><span class="p">);</span>
+<span class="c1">// Axios</span>
+<span class="k">import</span><span class="w"> </span><span class="nx">axios</span><span class="w"> </span><span class="kr">from</span><span class="w"> </span><span class="s1">&#39;axios&#39;</span><span class="p">;</span>
+
+<span class="kd">const</span><span class="w"> </span><span class="nx">form</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ow">new</span><span class="w"> </span><span class="nx">FormData</span><span class="p">();</span>
+<span class="nx">form</span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="s1">&#39;file&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;C:\Users\trphoenix\Documents\录音\录音 (6).m4a&#39;</span><span class="p">);</span>
+<span class="nx">form</span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="s1">&#39;lang&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;zh&#39;</span><span class="p">);</span>
+
+<span class="kd">const</span><span class="w"> </span><span class="nx">options</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span>
+<span class="w">  </span><span class="nx">method</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;POST&#39;</span><span class="p">,</span>
+<span class="w">  </span><span class="nx">url</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;http://ikuai.m-iot.tech:58150/asr&#39;</span><span class="p">,</span>
+<span class="w">  </span><span class="nx">headers</span><span class="o">:</span><span class="w"> </span><span class="p">{</span><span class="s1">&#39;content-type&#39;</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;multipart/form-data; boundary=---011000010111000001101001&#39;</span><span class="p">},</span>
+<span class="w">  </span><span class="nx">data</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;[form]&#39;</span>
+<span class="p">};</span>
+
+<span class="k">try</span><span class="w"> </span><span class="p">{</span>
+<span class="w">  </span><span class="kd">const</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">data</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">await</span><span class="w"> </span><span class="nx">axios</span><span class="p">.</span><span class="nx">request</span><span class="p">(</span><span class="nx">options</span><span class="p">);</span>
+<span class="w">  </span><span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">data</span><span class="p">);</span>
+<span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="nx">error</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
+<span class="w">  </span><span class="nx">console</span><span class="p">.</span><span class="nx">error</span><span class="p">(</span><span class="nx">error</span><span class="p">);</span>
+<span class="p">}</span>
+<span class="c1">// fetch</span>
+<span class="kd">const</span><span class="w"> </span><span class="nx">url</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">&#39;http://ikuai.m-iot.tech:58150/asr&#39;</span><span class="p">;</span>
+<span class="kd">const</span><span class="w"> </span><span class="nx">form</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ow">new</span><span class="w"> </span><span class="nx">FormData</span><span class="p">();</span>
+<span class="nx">form</span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="s1">&#39;file&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;C:\Users\trphoenix\Documents\录音\录音 (6).m4a&#39;</span><span class="p">);</span>
+<span class="nx">form</span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="s1">&#39;lang&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;zh&#39;</span><span class="p">);</span>
+
+<span class="kd">const</span><span class="w"> </span><span class="nx">options</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span><span class="nx">method</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;POST&#39;</span><span class="p">};</span>
+
+<span class="nx">options</span><span class="p">.</span><span class="nx">body</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">form</span><span class="p">;</span>
+
+<span class="k">try</span><span class="w"> </span><span class="p">{</span>
+<span class="w">  </span><span class="kd">const</span><span class="w"> </span><span class="nx">response</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">await</span><span class="w"> </span><span class="nx">fetch</span><span class="p">(</span><span class="nx">url</span><span class="p">,</span><span class="w"> </span><span class="nx">options</span><span class="p">);</span>
+<span class="w">  </span><span class="kd">const</span><span class="w"> </span><span class="nx">data</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">await</span><span class="w"> </span><span class="nx">response</span><span class="p">.</span><span class="nx">json</span><span class="p">();</span>
+<span class="w">  </span><span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">data</span><span class="p">);</span>
+<span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="nx">error</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
+<span class="w">  </span><span class="nx">console</span><span class="p">.</span><span class="nx">error</span><span class="p">(</span><span class="nx">error</span><span class="p">);</span>
+<span class="p">}</span>
+<span class="c1">//jquery</span>
+<span class="kd">const</span><span class="w"> </span><span class="nx">form</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="ow">new</span><span class="w"> </span><span class="nx">FormData</span><span class="p">();</span>
+<span class="nx">form</span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="s1">&#39;file&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;C:\Users\trphoenix\Documents\录音\录音 (6).m4a&#39;</span><span class="p">);</span>
+<span class="nx">form</span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="s1">&#39;lang&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;zh&#39;</span><span class="p">);</span>
+
+<span class="kd">const</span><span class="w"> </span><span class="nx">settings</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span>
+<span class="w">  </span><span class="k">async</span><span class="o">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
+<span class="w">  </span><span class="nx">crossDomain</span><span class="o">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
+<span class="w">  </span><span class="nx">url</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;http://ikuai.m-iot.tech:58150/asr&#39;</span><span class="p">,</span>
+<span class="w">  </span><span class="nx">method</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;POST&#39;</span><span class="p">,</span>
+<span class="w">  </span><span class="nx">headers</span><span class="o">:</span><span class="w"> </span><span class="p">{},</span>
+<span class="w">  </span><span class="nx">processData</span><span class="o">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
+<span class="w">  </span><span class="nx">contentType</span><span class="o">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
+<span class="w">  </span><span class="nx">mimeType</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;multipart/form-data&#39;</span><span class="p">,</span>
+<span class="w">  </span><span class="nx">data</span><span class="o">:</span><span class="w"> </span><span class="nx">form</span>
+<span class="p">};</span>
+
+<span class="nx">$</span><span class="p">.</span><span class="nx">ajax</span><span class="p">(</span><span class="nx">settings</span><span class="p">).</span><span class="nx">done</span><span class="p">(</span><span class="kd">function</span><span class="w"> </span><span class="p">(</span><span class="nx">response</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
+<span class="w">  </span><span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">response</span><span class="p">);</span>
+<span class="p">});</span>
+</code></pre></div>
+
+<h5 id="c_1">C# 示例<a class="headerlink" href="#c_1" title="Permanent link">&para;</a></h5>
+<div class="codehilite"><pre><span></span><code><span class="c1">//httpclient</span>
+<span class="k">using</span><span class="w"> </span><span class="nn">System.Net.Http.Headers</span><span class="p">;</span>
+<span class="kt">var</span><span class="w"> </span><span class="n">client</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">HttpClient</span><span class="p">();</span>
+<span class="kt">var</span><span class="w"> </span><span class="n">request</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">HttpRequestMessage</span>
+<span class="p">{</span>
+<span class="w">    </span><span class="n">Method</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">HttpMethod</span><span class="p">.</span><span class="n">Post</span><span class="p">,</span>
+<span class="w">    </span><span class="n">RequestUri</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Uri</span><span class="p">(</span><span class="s">&quot;http://ikuai.m-iot.tech:58150/asr&quot;</span><span class="p">),</span>
+<span class="w">    </span><span class="n">Content</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">MultipartFormDataContent</span>
+<span class="w">    </span><span class="p">{</span>
+<span class="w">        </span><span class="k">new</span><span class="w"> </span><span class="nf">StringContent</span><span class="p">([</span><span class="s">&quot;C:\\Users\\trphoenix\\Documents\\录音\\录音 (6).m4a&quot;</span><span class="p">])</span>
+<span class="w">        </span><span class="p">{</span>
+<span class="w">            </span><span class="n">Headers</span><span class="w"> </span><span class="o">=</span>
+<span class="w">            </span><span class="p">{</span>
+<span class="w">                </span><span class="n">ContentDisposition</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">ContentDispositionHeaderValue</span><span class="p">(</span><span class="s">&quot;form-data&quot;</span><span class="p">)</span>
+<span class="w">                </span><span class="p">{</span>
+<span class="w">                    </span><span class="n">Name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;file&quot;</span><span class="p">,</span>
+<span class="w">                    </span><span class="n">FileName</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;C:\Users\trphoenix\Documents\录音\录音 (6).m4a&quot;</span><span class="p">,</span>
+<span class="w">                </span><span class="p">}</span>
+<span class="w">            </span><span class="p">}</span>
+<span class="w">        </span><span class="p">},</span>
+<span class="w">        </span><span class="k">new</span><span class="w"> </span><span class="nf">StringContent</span><span class="p">(</span><span class="s">&quot;zh&quot;</span><span class="p">)</span>
+<span class="w">        </span><span class="p">{</span>
+<span class="w">            </span><span class="n">Headers</span><span class="w"> </span><span class="o">=</span>
+<span class="w">            </span><span class="p">{</span>
+<span class="w">                </span><span class="n">ContentDisposition</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">ContentDispositionHeaderValue</span><span class="p">(</span><span class="s">&quot;form-data&quot;</span><span class="p">)</span>
+<span class="w">                </span><span class="p">{</span>
+<span class="w">                    </span><span class="n">Name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;lang&quot;</span><span class="p">,</span>
+<span class="w">                </span><span class="p">}</span>
+<span class="w">            </span><span class="p">}</span>
+<span class="w">        </span><span class="p">},</span>
+<span class="w">    </span><span class="p">},</span>
+<span class="p">};</span>
+<span class="k">using</span><span class="w"> </span><span class="p">(</span><span class="kt">var</span><span class="w"> </span><span class="n">response</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">await</span><span class="w"> </span><span class="n">client</span><span class="p">.</span><span class="n">SendAsync</span><span class="p">(</span><span class="n">request</span><span class="p">))</span>
+<span class="p">{</span>
+<span class="w">    </span><span class="n">response</span><span class="p">.</span><span class="n">EnsureSuccessStatusCode</span><span class="p">();</span>
+<span class="w">    </span><span class="kt">var</span><span class="w"> </span><span class="n">body</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">await</span><span class="w"> </span><span class="n">response</span><span class="p">.</span><span class="n">Content</span><span class="p">.</span><span class="n">ReadAsStringAsync</span><span class="p">();</span>
+<span class="w">    </span><span class="n">Console</span><span class="p">.</span><span class="n">WriteLine</span><span class="p">(</span><span class="n">body</span><span class="p">);</span>
+<span class="p">}</span>
+<span class="c1">//Restsharp </span>
+<span class="kt">var</span><span class="w"> </span><span class="n">client</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">RestClient</span><span class="p">(</span><span class="s">&quot;http://ikuai.m-iot.tech:58150/asr&quot;</span><span class="p">);</span>
+<span class="kt">var</span><span class="w"> </span><span class="n">request</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">RestRequest</span><span class="p">(</span><span class="s">&quot;&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">Method</span><span class="p">.</span><span class="n">Post</span><span class="p">);</span>
+<span class="n">request</span><span class="p">.</span><span class="n">AddHeader</span><span class="p">(</span><span class="s">&quot;content-type&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;multipart/form-data; boundary=---011000010111000001101001&quot;</span><span class="p">);</span>
+<span class="n">request</span><span class="p">.</span><span class="n">AddParameter</span><span class="p">(</span><span class="s">&quot;multipart/form-data; boundary=---011000010111000001101001&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;-----011000010111000001101001\r\nContent-Disposition: form-data; name=\&quot;file\&quot;\r\n\r\nC:\\Users\\trphoenix\\Documents\\录音\\录音 (6).m4a\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\&quot;lang\&quot;\r\n\r\nzh\r\n-----011000010111000001101001--\r\n\r\n&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">ParameterType</span><span class="p">.</span><span class="n">RequestBody</span><span class="p">);</span>
+<span class="kt">var</span><span class="w"> </span><span class="n">response</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">client</span><span class="p">.</span><span class="n">Execute</span><span class="p">(</span><span class="n">request</span><span class="p">);</span><span class="w"> </span>
+</code></pre></div>
+
+<h5 id="go_1">go 示例<a class="headerlink" href="#go_1" title="Permanent link">&para;</a></h5>
+<div class="codehilite"><pre><span></span><code><span class="kn">package</span><span class="w"> </span><span class="nx">main</span>
+
+<span class="kn">import</span><span class="w"> </span><span class="p">(</span>
+<span class="w">    </span><span class="s">&quot;fmt&quot;</span>
+<span class="w">    </span><span class="s">&quot;strings&quot;</span>
+<span class="w">    </span><span class="s">&quot;net/http&quot;</span>
+<span class="w">    </span><span class="s">&quot;io&quot;</span>
+<span class="p">)</span>
+
+<span class="kd">func</span><span class="w"> </span><span class="nx">main</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
+
+<span class="w">    </span><span class="nx">url</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="s">&quot;http://ikuai.m-iot.tech:58150/asr&quot;</span>
+
+<span class="w">    </span><span class="nx">payload</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="nx">strings</span><span class="p">.</span><span class="nx">NewReader</span><span class="p">(</span><span class="s">&quot;-----011000010111000001101001\r\nContent-Disposition: form-data; name=\&quot;file\&quot;\r\n\r\nC:\\Users\\trphoenix\\Documents\\录音\\录音 (6).m4a\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\&quot;lang\&quot;\r\n\r\nzh\r\n-----011000010111000001101001--\r\n\r\n&quot;</span><span class="p">)</span>
+
+<span class="w">    </span><span class="nx">req</span><span class="p">,</span><span class="w"> </span><span class="nx">_</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="nx">http</span><span class="p">.</span><span class="nx">NewRequest</span><span class="p">(</span><span class="s">&quot;POST&quot;</span><span class="p">,</span><span class="w"> </span><span class="nx">url</span><span class="p">,</span><span class="w"> </span><span class="nx">payload</span><span class="p">)</span>
+
+<span class="w">    </span><span class="nx">req</span><span class="p">.</span><span class="nx">Header</span><span class="p">.</span><span class="nx">Add</span><span class="p">(</span><span class="s">&quot;content-type&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;multipart/form-data; boundary=---011000010111000001101001&quot;</span><span class="p">)</span>
+
+<span class="w">    </span><span class="nx">res</span><span class="p">,</span><span class="w"> </span><span class="nx">_</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="nx">http</span><span class="p">.</span><span class="nx">DefaultClient</span><span class="p">.</span><span class="nx">Do</span><span class="p">(</span><span class="nx">req</span><span class="p">)</span>
+
+<span class="w">    </span><span class="k">defer</span><span class="w"> </span><span class="nx">res</span><span class="p">.</span><span class="nx">Body</span><span class="p">.</span><span class="nx">Close</span><span class="p">()</span>
+<span class="w">    </span><span class="nx">body</span><span class="p">,</span><span class="w"> </span><span class="nx">_</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="nx">io</span><span class="p">.</span><span class="nx">ReadAll</span><span class="p">(</span><span class="nx">res</span><span class="p">.</span><span class="nx">Body</span><span class="p">)</span>
+
+<span class="w">    </span><span class="nx">fmt</span><span class="p">.</span><span class="nx">Println</span><span class="p">(</span><span class="nx">res</span><span class="p">)</span>
+<span class="w">    </span><span class="nx">fmt</span><span class="p">.</span><span class="nx">Println</span><span class="p">(</span><span class="nb">string</span><span class="p">(</span><span class="nx">body</span><span class="p">))</span>
+
+<span class="p">}</span>
+</code></pre></div>
+
+<h5 id="java_2">java 示例<a class="headerlink" href="#java_2" title="Permanent link">&para;</a></h5>
+<div class="codehilite"><pre><span></span><code><span class="c1">// asynchttp</span>
+<span class="n">AsyncHttpClient</span><span class="w"> </span><span class="n">client</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">DefaultAsyncHttpClient</span><span class="p">();</span>
+<span class="n">client</span><span class="p">.</span><span class="na">prepare</span><span class="p">(</span><span class="s">&quot;POST&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;http://ikuai.m-iot.tech:58150/asr&quot;</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">setHeader</span><span class="p">(</span><span class="s">&quot;content-type&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;multipart/form-data; boundary=---011000010111000001101001&quot;</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">setBody</span><span class="p">(</span><span class="s">&quot;-----011000010111000001101001\r\nContent-Disposition: form-data; name=\&quot;file\&quot;\r\n\r\nC:\\Users\\trphoenix\\Documents\\录音\\录音 (6).m4a\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\&quot;lang\&quot;\r\n\r\nzh\r\n-----011000010111000001101001--\r\n\r\n&quot;</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">execute</span><span class="p">()</span>
+<span class="w">  </span><span class="p">.</span><span class="na">toCompletableFuture</span><span class="p">()</span>
+<span class="w">  </span><span class="p">.</span><span class="na">thenAccept</span><span class="p">(</span><span class="n">System</span><span class="p">.</span><span class="na">out</span><span class="p">::</span><span class="n">println</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">join</span><span class="p">();</span>
+
+<span class="n">client</span><span class="p">.</span><span class="na">close</span><span class="p">();</span>
+
+<span class="c1">// nethttp</span>
+<span class="n">HttpRequest</span><span class="w"> </span><span class="n">request</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">HttpRequest</span><span class="p">.</span><span class="na">newBuilder</span><span class="p">()</span>
+<span class="w">    </span><span class="p">.</span><span class="na">uri</span><span class="p">(</span><span class="n">URI</span><span class="p">.</span><span class="na">create</span><span class="p">(</span><span class="s">&quot;http://ikuai.m-iot.tech:58150/asr&quot;</span><span class="p">))</span>
+<span class="w">    </span><span class="p">.</span><span class="na">header</span><span class="p">(</span><span class="s">&quot;content-type&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;multipart/form-data; boundary=---011000010111000001101001&quot;</span><span class="p">)</span>
+<span class="w">    </span><span class="p">.</span><span class="na">method</span><span class="p">(</span><span class="s">&quot;POST&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">HttpRequest</span><span class="p">.</span><span class="na">BodyPublishers</span><span class="p">.</span><span class="na">ofString</span><span class="p">(</span><span class="s">&quot;-----011000010111000001101001\r\nContent-Disposition: form-data; name=\&quot;file\&quot;\r\n\r\nC:\\Users\\trphoenix\\Documents\\录音\\录音 (6).m4a\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\&quot;lang\&quot;\r\n\r\nzh\r\n-----011000010111000001101001--\r\n\r\n&quot;</span><span class="p">))</span>
+<span class="w">    </span><span class="p">.</span><span class="na">build</span><span class="p">();</span>
+<span class="n">HttpResponse</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span><span class="w"> </span><span class="n">response</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">HttpClient</span><span class="p">.</span><span class="na">newHttpClient</span><span class="p">().</span><span class="na">send</span><span class="p">(</span><span class="n">request</span><span class="p">,</span><span class="w"> </span><span class="n">HttpResponse</span><span class="p">.</span><span class="na">BodyHandlers</span><span class="p">.</span><span class="na">ofString</span><span class="p">());</span>
+<span class="n">System</span><span class="p">.</span><span class="na">out</span><span class="p">.</span><span class="na">println</span><span class="p">(</span><span class="n">response</span><span class="p">.</span><span class="na">body</span><span class="p">());</span>
+<span class="c1">// okhttp</span>
+<span class="n">OkHttpClient</span><span class="w"> </span><span class="n">client</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">OkHttpClient</span><span class="p">();</span>
+
+<span class="n">MediaType</span><span class="w"> </span><span class="n">mediaType</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">MediaType</span><span class="p">.</span><span class="na">parse</span><span class="p">(</span><span class="s">&quot;multipart/form-data; boundary=---011000010111000001101001&quot;</span><span class="p">);</span>
+<span class="n">RequestBody</span><span class="w"> </span><span class="n">body</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">RequestBody</span><span class="p">.</span><span class="na">create</span><span class="p">(</span><span class="n">mediaType</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;-----011000010111000001101001\r\nContent-Disposition: form-data; name=\&quot;file\&quot;\r\n\r\nC:\\Users\\trphoenix\\Documents\\录音\\录音 (6).m4a\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\&quot;lang\&quot;\r\n\r\nzh\r\n-----011000010111000001101001--\r\n\r\n&quot;</span><span class="p">);</span>
+<span class="n">Request</span><span class="w"> </span><span class="n">request</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Request</span><span class="p">.</span><span class="na">Builder</span><span class="p">()</span>
+<span class="w">  </span><span class="p">.</span><span class="na">url</span><span class="p">(</span><span class="s">&quot;http://ikuai.m-iot.tech:58150/asr&quot;</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">post</span><span class="p">(</span><span class="n">body</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">addHeader</span><span class="p">(</span><span class="s">&quot;content-type&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;multipart/form-data; boundary=---011000010111000001101001&quot;</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">build</span><span class="p">();</span>
+
+<span class="n">Response</span><span class="w"> </span><span class="n">response</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">client</span><span class="p">.</span><span class="na">newCall</span><span class="p">(</span><span class="n">request</span><span class="p">).</span><span class="na">execute</span><span class="p">();</span>
+
+<span class="c1">// unirest</span>
+<span class="n">HttpResponse</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span><span class="w"> </span><span class="n">response</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Unirest</span><span class="p">.</span><span class="na">post</span><span class="p">(</span><span class="s">&quot;http://ikuai.m-iot.tech:58150/asr&quot;</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">header</span><span class="p">(</span><span class="s">&quot;content-type&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;multipart/form-data; boundary=---011000010111000001101001&quot;</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">body</span><span class="p">(</span><span class="s">&quot;-----011000010111000001101001\r\nContent-Disposition: form-data; name=\&quot;file\&quot;\r\n\r\nC:\\Users\\trphoenix\\Documents\\录音\\录音 (6).m4a\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\&quot;lang\&quot;\r\n\r\nzh\r\n-----011000010111000001101001--\r\n\r\n&quot;</span><span class="p">)</span>
+<span class="w">  </span><span class="p">.</span><span class="na">asString</span><span class="p">();</span>
+</code></pre></div>
+
+<h5 id="_13">返回结果<a class="headerlink" href="#_13" title="Permanent link">&para;</a></h5>
+<div class="codehilite"><pre><span></span><code><span class="p">{</span>
+<span class="w">  </span><span class="nt">&quot;result&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;喂语音测试语音测试录音测试录音测试&quot;</span><span class="p">,</span>
+<span class="w">  </span><span class="nt">&quot;file_size&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">185334</span><span class="p">,</span>
+<span class="w">  </span><span class="nt">&quot;wav_info&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
+<span class="w">    </span><span class="nt">&quot;n_channels&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span>
+<span class="w">    </span><span class="nt">&quot;sample_width&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span>
+<span class="w">    </span><span class="nt">&quot;framerate&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">16000</span><span class="p">,</span>
+<span class="w">    </span><span class="nt">&quot;n_frames&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">115029</span><span class="p">,</span>
+<span class="w">    </span><span class="nt">&quot;duration&quot;</span><span class="p">:</span><span class="w"> </span><span class="mf">7.1893125</span>
+<span class="w">  </span><span class="p">},</span>
+<span class="w">  </span><span class="nt">&quot;ffmpeg_log&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span>
+<span class="p">}</span>
+</code></pre></div>
+
+<p><img alt="" src="https://qncdn.tairongkj.com/docs/images/20250921164758.png" /></p>
+<p><strong><em>body</em></strong> </p>
+<div class="codehilite"><pre><span></span><code><span class="p">{</span>
+<span class="w">  </span><span class="nt">&quot;_overheadLength&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">252</span><span class="p">,</span>
+<span class="w">  </span><span class="nt">&quot;_valueLength&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span>
+<span class="w">  </span><span class="nt">&quot;_valuesToMeasure&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
+<span class="w">    </span><span class="p">{</span>
+<span class="w">      </span><span class="nt">&quot;fd&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
+<span class="w">      </span><span class="nt">&quot;path&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;C:\\Users\\trphoenix\\Documents\\录音\\录音 (6).m4a&quot;</span><span class="p">,</span>
+<span class="w">      </span><span class="nt">&quot;flags&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;r&quot;</span><span class="p">,</span>
+<span class="w">      </span><span class="nt">&quot;mode&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">438</span><span class="p">,</span>
+<span class="w">      </span><span class="nt">&quot;end&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
+<span class="w">      </span><span class="nt">&quot;bytesRead&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
+<span class="w">      </span><span class="nt">&quot;_events&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span>
+<span class="w">      </span><span class="nt">&quot;_readableState&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
+<span class="w">        </span><span class="nt">&quot;highWaterMark&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">65536</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;buffer&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
+<span class="w">        </span><span class="nt">&quot;bufferIndex&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;length&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;pipes&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
+<span class="w">        </span><span class="nt">&quot;awaitDrainWriters&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span>
+<span class="w">      </span><span class="p">},</span>
+<span class="w">      </span><span class="nt">&quot;_eventsCount&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span>
+<span class="w">    </span><span class="p">}</span>
+<span class="w">  </span><span class="p">],</span>
+<span class="w">  </span><span class="nt">&quot;writable&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
+<span class="w">  </span><span class="nt">&quot;readable&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
+<span class="w">  </span><span class="nt">&quot;dataSize&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
+<span class="w">  </span><span class="nt">&quot;maxDataSize&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">2097152</span><span class="p">,</span>
+<span class="w">  </span><span class="nt">&quot;pauseStreams&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
+<span class="w">  </span><span class="nt">&quot;_released&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
+<span class="w">  </span><span class="nt">&quot;_streams&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
+<span class="w">    </span><span class="s2">&quot;----------------------------147555471668548578107544\r\nContent-Disposition: form-data; name=\&quot;file\&quot;; filename=\&quot;录音 (6).m4a\&quot;\r\nContent-Type: wav\r\n\r\n&quot;</span><span class="p">,</span>
+<span class="w">    </span><span class="p">{</span>
+<span class="w">      </span><span class="nt">&quot;source&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;[Circular]&quot;</span><span class="p">,</span>
+<span class="w">      </span><span class="nt">&quot;dataSize&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
+<span class="w">      </span><span class="nt">&quot;maxDataSize&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
+<span class="w">      </span><span class="nt">&quot;pauseStream&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
+<span class="w">      </span><span class="nt">&quot;_maxDataSizeExceeded&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
+<span class="w">      </span><span class="nt">&quot;_released&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
+<span class="w">      </span><span class="nt">&quot;_bufferedEvents&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
+<span class="w">        </span><span class="p">{</span>
+<span class="w">          </span><span class="nt">&quot;0&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;pause&quot;</span>
+<span class="w">        </span><span class="p">}</span>
+<span class="w">      </span><span class="p">],</span>
+<span class="w">      </span><span class="nt">&quot;_events&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span>
+<span class="w">      </span><span class="nt">&quot;_eventsCount&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span>
+<span class="w">    </span><span class="p">},</span>
+<span class="w">    </span><span class="kc">null</span><span class="p">,</span>
+<span class="w">    </span><span class="s2">&quot;----------------------------147555471668548578107544\r\nContent-Disposition: form-data; name=\&quot;lang\&quot;\r\n\r\n&quot;</span><span class="p">,</span>
+<span class="w">    </span><span class="s2">&quot;zh&quot;</span><span class="p">,</span>
+<span class="w">    </span><span class="kc">null</span>
+<span class="w">  </span><span class="p">],</span>
+<span class="w">  </span><span class="nt">&quot;_currentStream&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
+<span class="w">  </span><span class="nt">&quot;_insideLoop&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
+<span class="w">  </span><span class="nt">&quot;_pendingNext&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
+<span class="w">  </span><span class="nt">&quot;_boundary&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;--------------------------147555471668548578107544&quot;</span>
+<span class="p">}</span>
+</code></pre></div>
+
+<p><img alt="" src="https://qncdn.tairongkj.com/docs/images/20250921164909.png" />
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250921164934.png" /></p>
+<p>***Network Logs ***</p>
+<div class="codehilite"><pre><span></span><code>Preparing request to http://ikuai.m-iot.tech:58150/asr
+Current time is 2025-09-21T08:22:20.590Z
+POST http://ikuai.m-iot.tech:58150/asr
+Accept: application/json, text/plain, */*
+Content-Type: multipart/form-data; boundary=--------------------------147555471668548578107544
+User-Agent: bruno-runtime/2.3.0
+{
+  &quot;_overheadLength&quot;: 252,
+  &quot;_valueLength&quot;: 2,
+  &quot;_valuesToMeasure&quot;: [
+    {
+      &quot;fd&quot;: null,
+      &quot;path&quot;: &quot;C:\\Users\\trphoenix\\Documents\\录音\\录音 (6).m4a&quot;,
+      &quot;flags&quot;: &quot;r&quot;,
+      &quot;mode&quot;: 438,
+      &quot;end&quot;: null,
+      &quot;bytesRead&quot;: 0,
+      &quot;_events&quot;: {},
+      &quot;_readableState&quot;: {
+        &quot;highWaterMark&quot;: 65536,
+        &quot;buffer&quot;: [],
+        &quot;bufferIndex&quot;: 0,
+        &quot;length&quot;: 0,
+        &quot;pipes&quot;: [],
+        &quot;awaitDrainWriters&quot;: null
+      },
+      &quot;_eventsCount&quot;: 3
+    }
+  ],
+  &quot;writable&quot;: false,
+  &quot;readable&quot;: true,
+  &quot;dataSize&quot;: 0,
+  &quot;maxDataSize&quot;: 2097152,
+  &quot;pauseStreams&quot;: true,
+  &quot;_released&quot;: false,
+  &quot;_streams&quot;: [
+    &quot;----------------------------147555471668548578107544\r\nContent-Disposition: form-data; name=\&quot;file\&quot;; filename=\&quot;录音 (6).m4a\&quot;\r\nContent-Type: wav\r\n\r\n&quot;,
+    {
+      &quot;source&quot;: {
+        &quot;fd&quot;: null,
+        &quot;path&quot;: &quot;C:\\Users\\trphoenix\\Documents\\录音\\录音 (6).m4a&quot;,
+        &quot;flags&quot;: &quot;r&quot;,
+        &quot;mode&quot;: 438,
+        &quot;end&quot;: null,
+        &quot;bytesRead&quot;: 0,
+        &quot;_events&quot;: {},
+        &quot;_readableState&quot;: {
+          &quot;highWaterMark&quot;: 65536,
+          &quot;buffer&quot;: [],
+          &quot;bufferIndex&quot;: 0,
+          &quot;length&quot;: 0,
+          &quot;pipes&quot;: [],
+          &quot;awaitDrainWriters&quot;: null
+        },
+        &quot;_eventsCount&quot;: 3
+      },
+      &quot;dataSize&quot;: 0,
+      &quot;maxDataSize&quot;: null,
+      &quot;pauseStream&quot;: true,
+      &quot;_maxDataSizeExceeded&quot;: false,
+      &quot;_released&quot;: false,
+      &quot;_bufferedEvents&quot;: [
+        {
+          &quot;0&quot;: &quot;pause&quot;
+        }
+      ],
+      &quot;_events&quot;: {},
+      &quot;_eventsCount&quot;: 1
+    },
+    null,
+    &quot;----------------------------147555471668548578107544\r\nContent-Disposition: form-data; name=\&quot;lang\&quot;\r\n\r\n&quot;,
+    &quot;zh&quot;,
+    null
+  ],
+  &quot;_currentStream&quot;: null,
+  &quot;_insideLoop&quot;: false,
+  &quot;_pendingNext&quot;: false,
+  &quot;_boundary&quot;: &quot;--------------------------147555471668548578107544&quot;
+}
+SSL validation: enabled
+HTTP/1.1 200 OK
+date: Sun, 21 Sep 2025 08:22:21 GMT
+server: uvicorn
+content-length: 201
+content-type: application/json
+request-duration: 6989
+Request completed in 6989 ms
+</code></pre></div>
+
+<h4 id="_14">浏览器录音识别示例<a class="headerlink" href="#_14" title="Permanent link">&para;</a></h4>
+<p><img alt="" src="https://qncdn.tairongkj.com/docs/images/20250921165339.png" />
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250921165403.png" />
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250921165449.png" />
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250921165607.png" />
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250921165632.png" />
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250921165652.png" /></p>
+<p><strong><em>说明</em></strong></p>
+<p>paddlespeech中用的一个库有可能是单线程的,所以在高并发场景下,可能会出现响应变慢的情况,这个时候,可以考虑增加实例来解决这个问题。
+实际使用时,如果想提高并发能力,可以尝试更改环境变量中的PYTHONUNBUFFFERED=4,或更高一个适合的数字,来提高并发能力。
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250921172804.png" /></p>
+<p><strong><em>《完》</em></strong></p>
+              
+            </div>
+          </div><footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
+        <a href="../windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/" class="btn btn-neutral float-left" title="windows不能访问HA的共享配置目录的解决办法"><span class="icon icon-circle-arrow-left"></span> Previous</a>
+        <a href="../../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/" class="btn btn-neutral float-right" title="安装node-red记录">Next <span class="icon icon-circle-arrow-right"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <!-- Copyright etc -->
+  </div>
+
+  Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+</footer>
+          
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+
+  <div class="rst-versions" role="note" aria-label="Versions">
+  <span class="rst-current-version" data-toggle="rst-current-version">
+    
+        <span>
+          <a href="http://dh.leon056.com:7499/r/Embedded/HomeAssistantPtoject.git" class="fa fa-code-fork" style="color: #fcfcfc"> Dh</a>
+        </span>
+    
+    
+      <span><a href="../windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/" style="color: #fcfcfc">&laquo; Previous</a></span>
+    
+    
+      <span><a href="../../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/" style="color: #fcfcfc">Next &raquo;</a></span>
+    
+  </span>
+</div>
+    <script src="../../../js/jquery-3.6.0.min.js"></script>
+    <script>var base_url = "../../..";</script>
+    <script src="../../../js/theme_extra.js"></script>
+    <script src="../../../js/theme.js"></script>
+      <script src="../../../search/main.js"></script>
+    <script>
+        jQuery(function () {
+            SphinxRtdTheme.Navigation.enable(true);
+        });
+    </script>
+
+</body>
+</html>
diff --git "a/Help/site/Usages/QA/\351\200\217\346\236\220\344\270\255\345\277\203HA\347\216\257\345\242\203\346\270\251\345\272\246\345\217\221\351\200\201\345\210\260\350\203\234\351\200\217\347\232\204\346\223\215\344\275\234\346\214\207\345\215\227/index.html" "b/Help/site/Usages/QA/\351\200\217\346\236\220\344\270\255\345\277\203HA\347\216\257\345\242\203\346\270\251\345\272\246\345\217\221\351\200\201\345\210\260\350\203\234\351\200\217\347\232\204\346\223\215\344\275\234\346\214\207\345\215\227/index.html"
index 193a621..af1f7ed 100644
--- "a/Help/site/Usages/QA/\351\200\217\346\236\220\344\270\255\345\277\203HA\347\216\257\345\242\203\346\270\251\345\272\246\345\217\221\351\200\201\345\210\260\350\203\234\351\200\217\347\232\204\346\223\215\344\275\234\346\214\207\345\215\227/index.html"
+++ "b/Help/site/Usages/QA/\351\200\217\346\236\220\344\270\255\345\277\203HA\347\216\257\345\242\203\346\270\251\345\272\246\345\217\221\351\200\201\345\210\260\350\203\234\351\200\217\347\232\204\346\223\215\344\275\234\346\214\207\345\215\227/index.html"
@@ -115,6 +115,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git a/Help/site/Usages/backupAndRestore/BackupToFile/index.html b/Help/site/Usages/backupAndRestore/BackupToFile/index.html
index 3b24762..5c4a65a 100644
--- a/Help/site/Usages/backupAndRestore/BackupToFile/index.html
+++ b/Help/site/Usages/backupAndRestore/BackupToFile/index.html
@@ -91,6 +91,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../../QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git a/Help/site/Usages/backupAndRestore/RestoreFromFile/index.html b/Help/site/Usages/backupAndRestore/RestoreFromFile/index.html
index 99281ad..c688943 100644
--- a/Help/site/Usages/backupAndRestore/RestoreFromFile/index.html
+++ b/Help/site/Usages/backupAndRestore/RestoreFromFile/index.html
@@ -91,6 +91,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../../QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git a/Help/site/Usages/initConfig/initConfig/index.html b/Help/site/Usages/initConfig/initConfig/index.html
index 0a91c5e..41f9ff9 100644
--- a/Help/site/Usages/initConfig/initConfig/index.html
+++ b/Help/site/Usages/initConfig/initConfig/index.html
@@ -163,6 +163,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../../QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git a/Help/site/Usages/initConfig/installHacs/index.html b/Help/site/Usages/initConfig/installHacs/index.html
index 20a8faf..dff1eb1 100644
--- a/Help/site/Usages/initConfig/installHacs/index.html
+++ b/Help/site/Usages/initConfig/installHacs/index.html
@@ -91,6 +91,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../../QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git a/Help/site/Usages/netconfig/netconfig/index.html b/Help/site/Usages/netconfig/netconfig/index.html
index 1190d45..04cb741 100644
--- a/Help/site/Usages/netconfig/netconfig/index.html
+++ b/Help/site/Usages/netconfig/netconfig/index.html
@@ -99,6 +99,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../../QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git a/Help/site/Usages/usage/index.html b/Help/site/Usages/usage/index.html
index 29f7c43..7689aae 100644
--- a/Help/site/Usages/usage/index.html
+++ b/Help/site/Usages/usage/index.html
@@ -97,6 +97,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git a/Help/site/about/index.html b/Help/site/about/index.html
index b23769b..6d36471 100644
--- a/Help/site/about/index.html
+++ b/Help/site/about/index.html
@@ -111,6 +111,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git a/Help/site/index.html b/Help/site/index.html
index 8a4bc4a..43b088b 100644
--- a/Help/site/index.html
+++ b/Help/site/index.html
@@ -93,6 +93,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
@@ -194,5 +196,5 @@
 
 <!--
 MkDocs version : 1.6.1
-Build Date UTC : 2025-09-09 04:03:06.538920+00:00
+Build Date UTC : 2025-09-21 10:05:36.467366+00:00
 -->
diff --git a/Help/site/install-guide/BackupAndRestore/index.html b/Help/site/install-guide/BackupAndRestore/index.html
index 99739ed..d5be4ce 100644
--- a/Help/site/install-guide/BackupAndRestore/index.html
+++ b/Help/site/install-guide/BackupAndRestore/index.html
@@ -91,6 +91,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git a/Help/site/install-guide/LinuxInstall/index.html b/Help/site/install-guide/LinuxInstall/index.html
index cb7cd0b..ea5e1f4 100644
--- a/Help/site/install-guide/LinuxInstall/index.html
+++ b/Help/site/install-guide/LinuxInstall/index.html
@@ -91,6 +91,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git a/Help/site/install-guide/WinPeInstall/index.html b/Help/site/install-guide/WinPeInstall/index.html
index b68d84e..086370d 100644
--- a/Help/site/install-guide/WinPeInstall/index.html
+++ b/Help/site/install-guide/WinPeInstall/index.html
@@ -91,6 +91,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git a/Help/site/install-guide/configX86Bios/index.html b/Help/site/install-guide/configX86Bios/index.html
index 5f1379a..b9ea978 100644
--- a/Help/site/install-guide/configX86Bios/index.html
+++ b/Help/site/install-guide/configX86Bios/index.html
@@ -91,6 +91,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git a/Help/site/install-guide/installHa/index.html b/Help/site/install-guide/installHa/index.html
index f0f785f..9234038 100644
--- a/Help/site/install-guide/installHa/index.html
+++ b/Help/site/install-guide/installHa/index.html
@@ -111,6 +111,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git "a/Help/site/install-guide/vmwareExsi\345\256\211\350\243\205Ha/index.html" "b/Help/site/install-guide/vmwareExsi\345\256\211\350\243\205Ha/index.html"
index 6a63478..1a3c92b 100644
--- "a/Help/site/install-guide/vmwareExsi\345\256\211\350\243\205Ha/index.html"
+++ "b/Help/site/install-guide/vmwareExsi\345\256\211\350\243\205Ha/index.html"
@@ -91,6 +91,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git "a/Help/site/node-reds/ModbusPoll-v7.0.0\344\275\277\347\224\250\346\225\231\347\250\213/index.html" "b/Help/site/node-reds/ModbusPoll-v7.0.0\344\275\277\347\224\250\346\225\231\347\250\213/index.html"
index 3c65b35..d0fdfa7 100644
--- "a/Help/site/node-reds/ModbusPoll-v7.0.0\344\275\277\347\224\250\346\225\231\347\250\213/index.html"
+++ "b/Help/site/node-reds/ModbusPoll-v7.0.0\344\275\277\347\224\250\346\225\231\347\250\213/index.html"
@@ -91,6 +91,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git "a/Help/site/node-reds/node-red\345\246\202\344\275\225\350\277\236\346\216\245modbus _slave\350\256\276\345\244\207/index.html" "b/Help/site/node-reds/node-red\345\246\202\344\275\225\350\277\236\346\216\245modbus _slave\350\256\276\345\244\207/index.html"
index 3af30f1..dcdc33d 100644
--- "a/Help/site/node-reds/node-red\345\246\202\344\275\225\350\277\236\346\216\245modbus _slave\350\256\276\345\244\207/index.html"
+++ "b/Help/site/node-reds/node-red\345\246\202\344\275\225\350\277\236\346\216\245modbus _slave\350\256\276\345\244\207/index.html"
@@ -91,6 +91,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git "a/Help/site/node-reds/node-red\345\270\270\347\224\250\347\273\204\344\273\266\345\210\227\350\241\250/index.html" "b/Help/site/node-reds/node-red\345\270\270\347\224\250\347\273\204\344\273\266\345\210\227\350\241\250/index.html"
index aac84e7..f874bfe 100644
--- "a/Help/site/node-reds/node-red\345\270\270\347\224\250\347\273\204\344\273\266\345\210\227\350\241\250/index.html"
+++ "b/Help/site/node-reds/node-red\345\270\270\347\224\250\347\273\204\344\273\266\345\210\227\350\241\250/index.html"
@@ -91,6 +91,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git "a/Help/site/node-reds/\345\246\202\344\275\225\346\212\212node-red\345\256\211\350\243\205\345\210\260orangepiZero3/index.html" "b/Help/site/node-reds/\345\246\202\344\275\225\346\212\212node-red\345\256\211\350\243\205\345\210\260orangepiZero3/index.html"
index 39628c8..e6bea4a 100644
--- "a/Help/site/node-reds/\345\246\202\344\275\225\346\212\212node-red\345\256\211\350\243\205\345\210\260orangepiZero3/index.html"
+++ "b/Help/site/node-reds/\345\246\202\344\275\225\346\212\212node-red\345\256\211\350\243\205\345\210\260orangepiZero3/index.html"
@@ -91,6 +91,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git "a/Help/site/node-reds/\345\256\211\350\243\205node-red\350\256\260\345\275\225/index.html" "b/Help/site/node-reds/\345\256\211\350\243\205node-red\350\256\260\345\275\225/index.html"
index 1e6b233..9a992fd 100644
--- "a/Help/site/node-reds/\345\256\211\350\243\205node-red\350\256\260\345\275\225/index.html"
+++ "b/Help/site/node-reds/\345\256\211\350\243\205node-red\350\256\260\345\275\225/index.html"
@@ -91,6 +91,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
@@ -193,7 +195,7 @@
             </div>
           </div><footer>
     <div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
-        <a href="../../Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/" class="btn btn-neutral float-left" title="windows不能访问HA的共享配置目录的解决办法"><span class="icon icon-circle-arrow-left"></span> Previous</a>
+        <a href="../../Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/" class="btn btn-neutral float-left" title="语音合成与识别服务Docker-部署说明"><span class="icon icon-circle-arrow-left"></span> Previous</a>
         <a href="../%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/" class="btn btn-neutral float-right" title="如何把node-red安装到orangepiZero">Next <span class="icon icon-circle-arrow-right"></span></a>
     </div>
 
@@ -221,7 +223,7 @@
         </span>
     
     
-      <span><a href="../../Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/" style="color: #fcfcfc">&laquo; Previous</a></span>
+      <span><a href="../../Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/" style="color: #fcfcfc">&laquo; Previous</a></span>
     
     
       <span><a href="../%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/" style="color: #fcfcfc">Next &raquo;</a></span>
diff --git a/Help/site/search.html b/Help/site/search.html
index 345ae2a..b2133ed 100644
--- a/Help/site/search.html
+++ b/Help/site/search.html
@@ -84,6 +84,8 @@
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="./Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/">windows不能访问HA的共享配置目录的解决办法</a>
                 </li>
+                <li class="toctree-l2"><a class="reference internal" href="./Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/">语音合成与识别服务Docker-部署说明</a>
+                </li>
     </ul>
                   </li>
               </ul>
diff --git a/Help/site/search/search_index.json b/Help/site/search/search_index.json
index 6c0c24e..2f585c7 100644
--- a/Help/site/search/search_index.json
+++ b/Help/site/search/search_index.json
@@ -1 +1 @@
-{"config":{"indexing":"full","lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"HomeAssistant\u672c\u5730\u90e8\u7f72\u53ca\u88c5\u8c03\u8bd5\u8bf4\u660e \u00b6 \u7b80\u8981\u8bf4\u660e \u5b89\u88c5HomeAssistant linux \u4e0b\u5b89\u88c5","title":"\u9996\u9875"},{"location":"#homeassistant","text":"\u7b80\u8981\u8bf4\u660e \u5b89\u88c5HomeAssistant linux \u4e0b\u5b89\u88c5","title":"HomeAssistant\u672c\u5730\u90e8\u7f72\u53ca\u88c5\u8c03\u8bd5\u8bf4\u660e"},{"location":"about/","text":"\u5173\u4e8e\u6211\u4eec \u00b6 \u5cb1\u7279\u667a\u80fd\u79d1\u6280\uff08\u4e0a\u6d77\uff09\u6709\u9650\u516c\u53f8 \u00b6 \u6570\u636e\u6d41\u52a8\u4e4b\u5904\uff0c\u6548\u7387\u81ea\u7136\u53d1\u751f\u3002 \u00b6 DATA\u4ee3\u8868\u611f\u77e5\u3001\u8fde\u63a5\u4e0e\u667a\u80fd\u3002\u5728\u7e41\u6742\u7684\u533b\u7597\u6570\u636e\u4e2d\uff0c\u4e00\u573a\u6570\u5b57\u5316\u9769\u547d\u6b63\u5728\u53d1\u751f\uff0c\u6211\u4eec\u5b88\u62a4\u7684\u4e0d\u6b62\u662f\u6570\u636e\uff0c\u66f4\u662f\u60a3\u8005\u7684\u6bcf\u4e00\u5206\u949f\u3002\u5cb1\u7279\u667a\u80fd\u2013\u8ba9\u6bcf\u4e00\u53f0\u8bbe\u5907\u6210\u4e3a\u667a\u6167\u533b\u7597\u7684\u795e\u7ecf\u5143\u3002 25\u5e74\u533b\u7597\u4fe1\u606f\u5316\u6df1\u8015\u8005\uff0c\u56e2\u961f\u81ea2000\u5e74\u8d77\u6301\u7eed\u63a2\u7d22\u4fe1\u606f\u5316\u5728\u533b\u7597\u573a\u666f\u7684\u6df1\u5ea6\u5e94\u7528 \u00b6 \u6700\u4f73\u5b9e\u8df5\uff1a\u670d\u52a1\u5168\u7403\u8d85\u8fc7600+\u533b\u7597\u673a\u6784\uff0c\u7eed\u7ea6\u7387\u8d8597% \u5168\u7403\u670d\u52a1\uff1a\u72ec\u7acb\u7684\u82f1/\u65e5/\u9a6c\u6765\u8bed\u7248\u672c\uff0c\u9002\u914d\u5f53\u5730\u4e34\u5e8a\u8def\u5f84 \u6784\u5efa\u6807\u51c6\uff1a\u4e3b\u5bfc\u5236\u5b9a\u591a\u9879\u6807\u51c6\uff0c\u300c\u8840\u6db2\u900f\u6790\u8f6f\u4ef6\u6280\u672f\u8981\u6c42\u300d \u6570\u636e\u4e3b\u6743\uff1a\u5373\u4f7f\u7ec8\u6b62\u5408\u4f5c\uff0c\u4ecd\u7136\u4fdd\u8bc1\u7528\u6237\u4e0d\u53d7\u9650\u5236\u7684\u8bbf\u95ee \u56de\u5f52\u672c\u8d28 \u00b6 \u4e0d\u662f\u7528\u6280\u672f\u66ff\u4ee3\u4eba,\u800c\u662f\u8ba9\u800c\u662f\u8ba9\u4eba\u4ece\u91cd\u590d\u52b3\u52a8\u4e2d\u89e3\u653e\uff0c\u56de\u5f52\u533b\u7597\u670d\u52a1\u7684\u672c\u8d28\u3002 \u77e5\u8bc6\u53cd\u54fa \u00b6 \u57fa\u5c42\u533b\u9662\u6848\u4f8b\u81ea\u52a8\u6c89\u6dc0\u4e3a\u4e09\u7532\u4f18\u5316\u7b56\u7565\uff0c\u8bc6\u522b\u79d1\u5ba4\u5de5\u4f5c\u6d41\u5dee\u5f02\uff0c\u751f\u6210\u5b9a\u5236\u65b9\u6848\u3002 \u5f00\u653e\u751f\u6001 \u00b6 \u5f00\u653eAPI\uff0c\u96c6\u6210100+\u7b2c\u4e09\u65b9\u89e3\u51b3\u65b9\u6848\uff0c\u5171\u5efa\u533b\u7597\u6570\u636e\u4ea4\u4e92\u6807\u51c6\u3002 \u4e3a\u60a8\u6784\u5efa\u53ef\u751f\u957f\u7684\u6280\u672f\u751f\u6001\u548c\u53ef\u6301\u7eed\u7684\u4e1a\u52a1 \u00b6 \u50cf\u642d\u79ef\u6728\u822c\u81ea\u7531\u6269\u5c55\uff0c\u7834\u9664\u201d\u6570\u5b57\u5316=\u9ad8\u6295\u5165\uff0c\u4ece\u57fa\u7840\u7269\u8054\u5230AI\u51b3\u7b56\uff0c\u5206\u9636\u6bb5\u5efa\u8bbe\u907f\u514d\u4e00\u6b21\u6027\u8fc7\u8f7d\u6295\u5165\u3002\u4e0d\u662f\u63a8\u7ffb\u91cd\u5efa\u7cfb\u7edf\uff0c\u800c\u662f\u8ba9\u73b0\u6709\u8d44\u4ea7\u6301\u7eed\u4ea7\u751f\u6307\u6570\u7ea7\u4ef7\u503c\u2014\u2014\u8fd9\u624d\u662f\u533b\u7597\u6570\u5b57\u5316\u7684\u7ec8\u6781\u4f7f\u547d\u3002","title":"\u5173\u4e8e"},{"location":"about/#_1","text":"","title":"\u5173\u4e8e\u6211\u4eec"},{"location":"about/#_2","text":"","title":"\u5cb1\u7279\u667a\u80fd\u79d1\u6280\uff08\u4e0a\u6d77\uff09\u6709\u9650\u516c\u53f8"},{"location":"about/#_3","text":"DATA\u4ee3\u8868\u611f\u77e5\u3001\u8fde\u63a5\u4e0e\u667a\u80fd\u3002\u5728\u7e41\u6742\u7684\u533b\u7597\u6570\u636e\u4e2d\uff0c\u4e00\u573a\u6570\u5b57\u5316\u9769\u547d\u6b63\u5728\u53d1\u751f\uff0c\u6211\u4eec\u5b88\u62a4\u7684\u4e0d\u6b62\u662f\u6570\u636e\uff0c\u66f4\u662f\u60a3\u8005\u7684\u6bcf\u4e00\u5206\u949f\u3002\u5cb1\u7279\u667a\u80fd\u2013\u8ba9\u6bcf\u4e00\u53f0\u8bbe\u5907\u6210\u4e3a\u667a\u6167\u533b\u7597\u7684\u795e\u7ecf\u5143\u3002","title":"\u6570\u636e\u6d41\u52a8\u4e4b\u5904\uff0c\u6548\u7387\u81ea\u7136\u53d1\u751f\u3002"},{"location":"about/#252000","text":"\u6700\u4f73\u5b9e\u8df5\uff1a\u670d\u52a1\u5168\u7403\u8d85\u8fc7600+\u533b\u7597\u673a\u6784\uff0c\u7eed\u7ea6\u7387\u8d8597% \u5168\u7403\u670d\u52a1\uff1a\u72ec\u7acb\u7684\u82f1/\u65e5/\u9a6c\u6765\u8bed\u7248\u672c\uff0c\u9002\u914d\u5f53\u5730\u4e34\u5e8a\u8def\u5f84 \u6784\u5efa\u6807\u51c6\uff1a\u4e3b\u5bfc\u5236\u5b9a\u591a\u9879\u6807\u51c6\uff0c\u300c\u8840\u6db2\u900f\u6790\u8f6f\u4ef6\u6280\u672f\u8981\u6c42\u300d \u6570\u636e\u4e3b\u6743\uff1a\u5373\u4f7f\u7ec8\u6b62\u5408\u4f5c\uff0c\u4ecd\u7136\u4fdd\u8bc1\u7528\u6237\u4e0d\u53d7\u9650\u5236\u7684\u8bbf\u95ee","title":"25\u5e74\u533b\u7597\u4fe1\u606f\u5316\u6df1\u8015\u8005\uff0c\u56e2\u961f\u81ea2000\u5e74\u8d77\u6301\u7eed\u63a2\u7d22\u4fe1\u606f\u5316\u5728\u533b\u7597\u573a\u666f\u7684\u6df1\u5ea6\u5e94\u7528"},{"location":"about/#_4","text":"\u4e0d\u662f\u7528\u6280\u672f\u66ff\u4ee3\u4eba,\u800c\u662f\u8ba9\u800c\u662f\u8ba9\u4eba\u4ece\u91cd\u590d\u52b3\u52a8\u4e2d\u89e3\u653e\uff0c\u56de\u5f52\u533b\u7597\u670d\u52a1\u7684\u672c\u8d28\u3002","title":"\u56de\u5f52\u672c\u8d28"},{"location":"about/#_5","text":"\u57fa\u5c42\u533b\u9662\u6848\u4f8b\u81ea\u52a8\u6c89\u6dc0\u4e3a\u4e09\u7532\u4f18\u5316\u7b56\u7565\uff0c\u8bc6\u522b\u79d1\u5ba4\u5de5\u4f5c\u6d41\u5dee\u5f02\uff0c\u751f\u6210\u5b9a\u5236\u65b9\u6848\u3002","title":"\u77e5\u8bc6\u53cd\u54fa"},{"location":"about/#_6","text":"\u5f00\u653eAPI\uff0c\u96c6\u6210100+\u7b2c\u4e09\u65b9\u89e3\u51b3\u65b9\u6848\uff0c\u5171\u5efa\u533b\u7597\u6570\u636e\u4ea4\u4e92\u6807\u51c6\u3002","title":"\u5f00\u653e\u751f\u6001"},{"location":"about/#_7","text":"\u50cf\u642d\u79ef\u6728\u822c\u81ea\u7531\u6269\u5c55\uff0c\u7834\u9664\u201d\u6570\u5b57\u5316=\u9ad8\u6295\u5165\uff0c\u4ece\u57fa\u7840\u7269\u8054\u5230AI\u51b3\u7b56\uff0c\u5206\u9636\u6bb5\u5efa\u8bbe\u907f\u514d\u4e00\u6b21\u6027\u8fc7\u8f7d\u6295\u5165\u3002\u4e0d\u662f\u63a8\u7ffb\u91cd\u5efa\u7cfb\u7edf\uff0c\u800c\u662f\u8ba9\u73b0\u6709\u8d44\u4ea7\u6301\u7eed\u4ea7\u751f\u6307\u6570\u7ea7\u4ef7\u503c\u2014\u2014\u8fd9\u624d\u662f\u533b\u7597\u6570\u5b57\u5316\u7684\u7ec8\u6781\u4f7f\u547d\u3002","title":"\u4e3a\u60a8\u6784\u5efa\u53ef\u751f\u957f\u7684\u6280\u672f\u751f\u6001\u548c\u53ef\u6301\u7eed\u7684\u4e1a\u52a1"},{"location":"Usages/usage/","text":"\u4f7f\u7528\u6559\u7a0b \u00b6 \u57fa\u7840\u914d\u7f6e \u00b6 \u914d\u7f6e\u7f51\u7edc \u521d\u59cb\u5316\u914d\u7f6e \u5fc5\u88c5\u63d2\u4ef6\u6216\u7ec4\u4ef6 \u00b6 - HACS \u00b6","title":"\u4f7f\u7528\u6982\u8ff0"},{"location":"Usages/usage/#_1","text":"","title":"\u4f7f\u7528\u6559\u7a0b"},{"location":"Usages/usage/#_2","text":"\u914d\u7f6e\u7f51\u7edc \u521d\u59cb\u5316\u914d\u7f6e","title":"\u57fa\u7840\u914d\u7f6e"},{"location":"Usages/usage/#_3","text":"","title":"\u5fc5\u88c5\u63d2\u4ef6\u6216\u7ec4\u4ef6"},{"location":"Usages/usage/#-hacs","text":"","title":"- HACS"},{"location":"Usages/QA/HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/","text":"\u9996\u5148\uff0c\u5728\u5c0f\u7c73\u7684\u8bbe\u5907\u91cc\uff0c\u627e\u5230\u4f60\u8981\u53cd\u8f6c\u72b6\u8bb0\u7684\u4f20\u611f\u5668\u7684 ID, \u4ee5\u5927\u8fde\u4e3a\u4f8b\uff0c\u51b0\u7bb1\u95e8\u7684\u4f20\u611f\u5668\u72b6\u6001\u662f\u53cd\u7684\uff0c\u95e8\u5f00\u65f6\u663e\u793a\u5173\u7684\uff0c\u95e8\u5173\u65f6\u663e\u793a\u5f00\u7684\uff0c\u9700\u8981\u53cd\u8f6c\u663e \u6cd5\uff0c\u6b64\u8bbe\u5907\u7684\u4f20\u611f\u5668 ID \u4e3a\uff1a \u201cbinary_sensor.isa_cn_blt_3_1lqaf2rrgco01_dw2hl_contact_state_p_2_2 \u8bb0\u4f4f\u8fd9\u4e2a ID \u627e\u5230\u914d\u7f6e\u6587\u4ef6 \u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u589e\u52a0\u5982\u4e0b\u683c\u5f0f\u7684\u4f20\u611f\u5668\u53cd\u8f6c\u914d\u7f6e\uff0c\u6ce8\u610f\uff0c\u6b64\u914d\u7f6e\u8981\u4e25\u683c\u9075\u5b88 YML \u683c\u5f0f\uff0c\u4e0d\u61c2 \u7684\u53ef\u4ee5\u767e\u5ea6\u5b66\u4e00\u4e0b\uff0c \u5185\u5bb9\u4e3a\uff1a - binary_sensor: - name: \"\u5927\u8fde\u51b0\u7bb1\u95e8-1 (\u72b6\u6001\u53cd\u8f6c)\" unique_id: \"reversed_\u5927\u8fde\u51b0\u7bb1\u95e8_1\" state: > {{ is_state('binary_sensor.isa_cn_blt_3_1lqaf2rrgco01_dw2hl_contact_state_p_2_2', 'off') }} \u6ce8\u610f\uff0cstate \u540e\u9762\u7684\u683c\u5f0f\u8981\u5bf9\uff0c\u4f20\u611f\u5668 ID \u8981\u6362\u6210\u521a\u8bb0\u4e0b\u7684\u4f20\u611f\u5668 ID \u8fd9\u6837\u4f60\u5c31\u591a\u4e86\u4e00\u4e2a\u540d\u79f0\u4e3a\uff1a\u201c\u5927\u8fde\u51b0\u7bb1\u95e8-1 (\u72b6\u6001\u53cd\u8f6c)\u201d\u7684\u4f20\u611f\u5668 \u7136\u540e\uff0c\u5230\u4eea\u8868\u76d8\uff0c\u5bf9\u5e94\u7684\u7ec4\u4ef6\u4e2d \u9009\u4e2d \u5927\u8fde\u51b0\u7bb1\u95e8-1 (\u72b6\u6001\u53cd\u8f6c) \u4fdd\u5b58\u5373\u53ef \u8fd9\u6837\u5c31\u5b9e\u73b0\u4e86\u53cd\u8f6c\uff0c\u4eea\u8868\u76d8\u4e2d\uff0c\u4e0d\u8981\u518d\u4f7f\u7528\u539f\u6765\u7684 ID\uff0c\u8981\u4f7f\u7528\u4f60\u914d\u7f6e\u6587\u4ef6\u4e2d\u65b0\u589e\u7684 id \u6ce8\u610f\uff1a \u5982\u679c\uff0c\u72b6\u6001\u6ca1\u6709\u53cd\u8f6c\uff0c\u53ef\u4ee5\u4ece\u5f00\u53d1\u8005\u5de5\u5177\u4e2d\u67e5\u770b\u4f20\u611f\u5668\u7684\u72b6\u6001\uff0c\u786e\u8ba4\u662f\u5426\u6b63\u786e\u53cd\u8f6c\u3002","title":"HA-\u5982\u4f55\u5b9e\u73b0\u72b6\u6001\u53cd\u8f6c"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/","text":"TQS-88 \u5355\u4eba\u8840\u6db2\u900f\u6790\u673a-\u6570\u636e\u901a\u4fe1\u64cd\u4f5c\u624b\u518c \u00b6 \u6ce8\u610f\u4e8b\u9879 \u00b6 \u5728\u5f00\u59cb\u4f7f\u7528\u900f\u6790\u673a\u524d\u8bf7\u4ed4\u7ec6\u9605\u8bfb\u672c\u64cd\u4f5c\u624b\u518c\u3002 \u4efb\u4f55\u4e0d\u5f53\u64cd\u4f5c\u90fd\u53ef\u80fd\u4f1a\u5bfc\u81f4\u4e8b\u6545\u3002\u4f7f\u7528\u7b26\u5408\u672c\u8bf4\u660e\u7684\u900f\u6790\u673a\u3002 \u8bf7\u5c06\u672c\u64cd\u4f5c\u624b\u518c\u7f6e\u4e8e\u6613\u4e8e\u83b7\u53d6\u7684\u4f4d\u7f6e\uff0c\u4ee5\u4fbf\u5728\u9700\u8981\u65f6\u53ef\u968f\u65f6\u53c2\u9605\u3002 \u672c\u64cd\u4f5c\u624b\u518c\u65e8\u5728\u4e3a\u64cd\u4f5c\u4eba\u5458\u63d0\u4f9b\u4f7f\u7528\"\u6570\u636e\u901a\u4fe1\"\u6240\u9700\u7684\u4fe1\u606f\u3002 \u672c\u64cd\u4f5c\u624b\u518c\u4e3b\u8981\u6db5\u76d6\u4ee5\u4e0b\u6709\u5173\"\u6570\u636e\u901a\u4fe1\"\u7684\u5185\u5bb9\uff1a 1. \u89c4\u683c 2. \u4e0ePC\u7684\u8fde\u63a5 \u6b63\u6587\u4e2d\u8b66\u793a\u5b9a\u4e49\u5982\u4e0b\uff1a - \u6ce8\u610f \uff1a\u6b64\u6807\u5fd7\u540e\u7684\u63cf\u8ff0\u662f\u4f7f\u7528\u8bf4\u660e\u3002\u60a8\u5fc5\u987b\u9075\u5b88\u4f7f\u7528\u8bf4\u660e\u3002 - \u9644\u6ce8 \uff1a\u6b64\u6807\u5fd7\u540e\u7684\u63cf\u8ff0\u662f\u4e3a\u4e86\u8ba9\u60a8\u589e\u8fdb\u7406\u89e3\u7684\u6709\u7528\u4fe1\u606f\u6216\u8865\u5145\u8bf4\u660e\u4e8b\u9879\u3002 \u7b80\u4ecb \u00b6 \u64cd\u4f5c\u6b64\u9009\u914d\u4ef6\uff08\"\u6570\u636e\u901a\u4fe1\"\u529f\u80fd\uff09\u65f6\uff0c\u8bf7\u52a1\u5fc5\u5145\u5206\u7406\u89e3\u548c\u7279\u522b\u6ce8\u610f\u4ee5\u4e0b\u4e8b\u9879\u3002\u4f7f\u7528\u524d\u5fc5\u987b\u5145\u5206\u4e86\u89e3\u5185\u5bb9\u3002 1. \u64cd\u4f5c\u624b\u518c \u00b6 (1) \u672c\u64cd\u4f5c\u624b\u518c\u4ecb\u7ecd\u4e86\u6b63\u786e\u4f7f\u7528\"\u6570\u636e\u901a\u4fe1\"\u6240\u9700\u7684\u4fe1\u606f\u548c\u5b89\u5168\u7684\u64cd\u4f5c\u65b9\u6cd5\uff0c\u5e76\u975e\u65e8\u5728\u8bf4\u660e\u5bf9\u60a3\u8005\u7684\u6cbb\u7597\u3002 (2) \u53ea\u6709\u4ed4\u7ec6\u9605\u8bfb\u5e76\u5145\u5206\u7406\u89e3\u672c\u64cd\u4f5c\u624b\u518c\u4e2d\u6240\u542b\u7684\u8bf4\u660e\u540e\uff0c\u624d\u80fd\u4f7f\u7528\u8bbe\u5907\u5e76\u8fdb\u884c\u64cd\u4f5c\u4ee5\u53ca\u7ef4\u62a4\u3002 (3) \u672c\u64cd\u4f5c\u624b\u518c\u4e2d\u7684\u64cd\u4f5c\u65b9\u6cd5\u548c\u5b89\u5168\u6ce8\u610f\u4e8b\u9879\u9002\u7528\u4e8e\u8fdb\u884c\u7279\u5b9a\u76ee\u7684\u7684\"\u6570\u636e\u901a\u4fe1\"\u4f7f\u7528\u3002\u8bf7\u52ff\u5c1d\u8bd5\u4ee5\u672c\u624b\u518c\u4e2d\u6240\u5217\u4ee5\u5916\u7684\u4efb\u4f55\u65b9\u5f0f\u4f7f\u7528\u8bbe\u5907\u3002 \u672c\u624b\u518c\u7684\u5185\u5bb9\u53d7\u4e1c\u4e3d\u533b\u7597\u79d1\u6280\uff08\u9752\u5c9b\uff09\u80a1\u4efd\u6709\u9650\u516c\u53f8\u7248\u6743\u4fdd\u62a4\uff0c\u4e1c\u4e3d\u533b\u7597\u79d1\u6280\uff08\u9752\u5c9b\uff09\u80a1\u4efd\u6709\u9650\u516c\u53f8\u4fdd\u7559\u6240\u6709\u6743\u5229\u3002\u672a\u7ecf\u4e1c\u4e3d\u533b\u7597\u79d1\u6280\uff08\u9752\u5c9b\uff09\u80a1\u4efd\u6709\u9650\u516c\u53f8\u4e8b\u5148\u4e66\u9762\u540c\u610f\uff0c\u4e0d\u5f97\u4ee5\u4efb\u4f55\u5f62\u5f0f\u590d\u5236\u3001\u8f6c\u8f7d\u672c\u624b\u518c\u4e2d\u7684\u4efb\u4f55\u5185\u5bb9\uff0c\u6216\u5c06\u5176\u8bd1\u4e3a\u5176\u4ed6\u8bed\u8a00\u3002 2. \u8d23\u4efb\u9650\u5236 \u00b6 \u6211\u4eec\u5e0c\u671b\u60a8\u4e8b\u524d\u4e86\u89e3\uff0c\u5bf9\u7531\u4e8e\u64cd\u4f5c\u6b64\u900f\u6790\u673a\u6240\u9020\u6210\u7684\u4efb\u4f55\u53ef\u80fd\u7684\u635f\u5bb3\u6216\u5229\u76ca\u635f\u5931\uff0c\u6211\u4eec\u4e0d\u627f\u62c5\u4efb\u4f55\u8d23\u4efb\u3002 \u8bf7\u52ff\u62c6\u5378\u6216\u6539\u9020\u900f\u6790\u673a\uff0c\u5426\u5219\u5c06\u4e0d\u5728\u5236\u9020\u5546\u4fdd\u4fee\u8303\u56f4\u4e4b\u5185\u3002 \u7531\u4e8e\u5ba2\u6237\u62c6\u5378\u3001\u6539\u9020\u3001\u5206\u89e3\u6216\u4f7f\u7528\u4e0d\u5f53\u4ee5\u53ca\u5b89\u88c5\u73af\u5883\u3001\u642c\u8fd0\u4e0d\u5f53\u7b49\u9020\u6210\u7684\u635f\u5bb3\uff0c\u6211\u4eec\u4e0d\u627f\u62c5\u4efb\u4f55\u8d23\u4efb\u3002 \u5982\u679c\u65e0\u6cd5\u53d1\u6325\u56fa\u6709\u529f\u80fd\uff0c\u5219\u4e0d\u5f97\u7528\u4e8e\u6cbb\u7597\u7528\u9014\u3002\u5bf9\u6b64\u7c7b\u60c5\u5f62\u4e0b\u9020\u6210\u7684\u4efb\u4f55\u635f\u5bb3\u6216\u5bf9\u60a3\u8005\u7684\u635f\u4f24\uff0c\u6211\u4eec\u4e0d\u627f\u62c5\u4efb\u4f55\u8d23\u4efb\u3002 \u900f\u6790\u673a\u7684\u65e5\u5e38\u7ef4\u62a4\u548c\u68c0\u67e5\u5e94\u6839\u636e\"\u7ef4\u62a4\u68c0\u67e5\u624b\u518c\"\u8fdb\u884c\u3002 \u7b2c1\u7ae0 \u89c4\u683c \u00b6 1.1 \u6570\u636e\u901a\u4fe1\u529f\u80fd\u7684\u63cf\u8ff0 \u00b6 \u900f\u6790\u673a\u7684\u6cbb\u7597\u6570\u636e\u548c\u8bbe\u7f6e\u6570\u636e\u53ef\u4ece\u4ee5\u592a\u7f51\u63a5\u53e3\u4f20\u8f93\u5230\u8ba1\u7b97\u673a\u4e2d\u3002 1.2 \u901a\u4fe1\u89c4\u683c \u00b6 1.2.1 LAN\u53c2\u6570 \u00b6 \u7f16\u53f7 \u9879\u76ee \u63cf\u8ff0 1 \u4ee5\u592a\u7f51\u63a5\u53e3 10Base-T \u6216 100Base-TX\uff08\u81ea\u52a8\u611f\u5e94\uff09 2 \u4e32\u53e3 RJ45 3 \u7f51\u7edc\u914d\u7f6e \u53ef\u81ea\u5b9a\u4e49 1.2.2 \u900f\u6790\u673a\u901a\u4fe1\u6b65\u9aa4 \u00b6 \u900f\u6790\u673a\u7aef\u7ba1\u7406\u7684\u6570\u636e\u901a\u8fc7PC\u7aef\u7684\u6570\u636e\u4f20\u8f93\u8bf7\u6c42\u8fdb\u884c\u4f20\u8f93\u3002 graph TD A[PC] -->|\u6570\u636e\u4f20\u8f93\u8bf7\u6c42| B[\u900f\u6790\u673a] B -->|\u6570\u636e\u4f20\u8f93| A B -->|\u4e34\u5e8a\u6570\u636e\u4f20\u8f93| A [1] PC\u7aef\u4f20\u8f93\u6570\u636e\u8bf7\u6c42\u4fe1\u53f7\uff08\u53c2\u9605\u7b2c1.2.3\u8282\uff09\u3002 [2] \u900f\u6790\u673a\u63a5\u6536PC\u7684\u6570\u636e\u8bf7\u6c42\u4fe1\u53f7\uff0c\u5e76\u53d1\u9001\u5404\u79cd\u76f8\u5e94\u7684\u6570\u636e\uff08\u53c2\u9605\u7b2c1.2.4\u8282\u548c\u7b2c1.2.5\u8282\uff09\u3002 1.2.3 \u4ecePC\u4f20\u8f93\u5230\u900f\u6790\u673a\u7684\u6570\u636e\u53ca\u5176\u683c\u5f0f \u00b6 \u6570\u636e\u4f20\u8f93\u8bf7\u6c42\uff083\u4e2a\u5b57\u8282\uff09 \"K\"\uff084BH\uff09 CR\uff080DH\uff09 LF\uff080AH\uff09 1.2.4 \u4ece\u900f\u6790\u673a\u4f20\u8f93\u5230PC\u7684\u6570\u636e\u683c\u5f0f \u00b6 \u4e34\u5e8a\u6570\u636e \u00b6 \u5f00\u59cb [1] \u6570\u636e\u957f\u5ea6 [2] \u6570\u636e [3] \u603b\u6570 [4] \u7ed3\u675f [5] \u6570\u636e\u7ec4\u6210 \u00b6 \u7f16\u53f7 \u5b57\u8282\u6570 \u63cf\u8ff0 [1] 2 \u6570\u636e\u5f00\u59cb\u4ee3\u7801\uff08ASCII\uff09 \"K\"\"1\" [2] 3 \u6570\u636e\u957f\u5ea6\uff08ASCII\uff09 \u91c7\u75283\u4f4d\u6570\u7684\u5f62\u5f0f\u8868\u793a\u7b2c\u4e09\u9879\u4e2d\u8ba1\u7b97\u7684\u6240\u6709\u5b57\u8282\u7684\u603b\u548c\u3002 \u4f8b\u5982\uff09\u5982\u679c\u603b\u6570\u4e3a123\u4e2a\u5b57\u8282\uff0c\u5219\u663e\u793a\u4e3a\uff1a\"1\",\"2\",\"3\" [3] 1 \u6570\u636e\u9a8c\u8bc1\u4ee3\u7801\uff08ASCII\uff09 \uff08\u8bf7\u53c2\u96051.2.5\u3002\uff09 * \u6309\u6570\u636e\u7c7b\u578b\u7684\u7f16\u53f7\u53cd\u590d\u4f20\u8f93\u3002 [3] \u5355\u4e2a \u6570\u636e\uff08ASCII\uff09 \uff08\u8bf7\u53c2\u96051.2.5\u3002\uff09 * \u6309\u6570\u636e\u7c7b\u578b\u7684\u7f16\u53f7\u53cd\u590d\u4f20\u8f93\u3002 [4] 2 \u7528\u4e8e\u548c\u6570\u6821\u9a8c\u7684\u6570\u636e \u8ba1\u7b97[1]\uff5e[3]\u603b\u548c\uff0c\u8f83\u4f4e\u7684\u5341\u516d\u8fdb\u52362\u4f4d\u6570\u4f1a\u8f6c\u6362\u6210ASCII\u4ee3\u7801\u3002 \u4f8b\u5982\uff09\u603b\u51715aH\u5b57\u8282\uff0c\u5219\u663e\u793a\u4e3a\uff1a\"5\"\u3001\"A\" [5] 2 \u6570\u636e\u7ed3\u675f\u4ee3\u7801 CR\u3001LF 1.2.5 \u4ece\u900f\u6790\u673a\u4f20\u8f93\u5230PC\u7684\u6570\u636e \u00b6 \u6570\u636e\u5217\u8868 \u00b6 \u7f16\u53f7 \u6570\u636e\u540d\u79f0 \u6570\u636e\u6807\u8bc6\u4ee3\u7801 \u5b57\u8282\u6570 \u5355\u4f4d 1 UF\u76ee\u6807 \"A\" 5 L 2 UF\u91cf \"B\" 5 L 3 UF\u901f\u7387 \"C\" 5 L/hr 4 \u8840\u6db2\u6d41\u901f \"D\" 5 mL/min 5 \u6ce8\u5c04\u5668\u6d41\u901f \"E\" 5 mL/h 6 \u900f\u6790\u6db2\u6e29\u5ea6 \"F\" 5 \u6444\u6c0f\u5ea6 7 \u900f\u6790\u6db2\u7535\u5bfc\u5ea6 \"G\" 5 mS/cm 8 \u9759\u8109\u538b \"H\" 5 mmHg 9 \u900f\u6790\u6db2\u538b \"I\" 5 mmHg 10 TMP \"J\" 5 mmHg 11 \u900f\u6790\u65f6\u95f4 \"K\" 5 min 12 \u900f\u6790\u6db2\u6e29\u5ea6\u8b66\u62a5 \"a\" 1 \u2014 13 \u7535\u5bfc\u5ea6\u8b66\u62a5 \"b\" 1 \u2014 14 \u9759\u8109\u538b\u8b66\u62a5 \"c\" 1 \u2014 15 \u900f\u6790\u6db2\u538b\u529b\u8b66\u62a5 \"d\" 1 \u2014 16 TMP\u8b66\u62a5 \"e\" 1 \u2014 17 \u6c14\u6ce1\u4fa6\u6d4b\u5668\u8b66\u62a5 \"f\" 1 \u2014 18 \u6f0f\u8840\u8b66\u62a5 \"g\" 1 \u2014 19 \u5176\u4ed6\u8b66\u62a5 \"h\" 1 \u2014 20 \u900f\u6790\u6db2\u6d41\u901f \"L\" 5 mL/min 21 BPM\u68c0\u6d4b\u65f6\u95f4 \"M\" 5 \u65f6\u95f4 22 BPM\u6700\u9ad8\u8840\u538b \"N\" 5 mmHg 23 BPM\u6700\u4f4e\u8840\u538b \"O\" 5 mmHg 24 BPM\u8109\u51b2 \"P\" 5 \u8109\u51b2 25 BPM\u6536\u7f29\u4e0a\u9650\u8b66\u62a5 \"Q\" 5 mmHg 26 BPM\u6536\u7f29\u4e0b\u9650\u8b66\u62a5 \"R\" 5 mmHg 27 BPM\u538b\u8109\u5e26\u538b\u529b \"S\" 5 mmHg 28 BPM\u68c0\u6d4b\u95f4\u9694\u65f6\u95f4 \"T\" 5 min 29 \u603b\u8840\u6db2\u6d41\u91cf \"U\" 5 L 30 \u9759\u8109\u538b\u4e0a\u9650\u8b66\u62a5 \"V\" 5 mmHg 31 \u9759\u8109\u538b\u4e0b\u9650\u8b66\u62a5 \"W\" 5 mmHg 32 \u603b\u6ce8\u5c04\u6d41\u91cf \"X\" 5 mL 33 \u900f\u6790\u6db2\u538b\u4e0a\u9650\u8b66\u62a5 \"Y\" 5 mmHg 34 \u900f\u6790\u6db2\u538b\u4e0b\u9650\u8b66\u62a5 \"Z\" 5 mmHg 35 NaCl\u6ce8\u5165\u7ea7\u522b \"i\" 5 \u2014 36 UF\u4e2a\u6027\u5316\u7a0b\u5e8f \"j\" 1 \u2014 37 \u900f\u6790\u6db2\u9009\u62e9 \"k\" 1 \u2014 38 \u7535\u5bfc\u5ea6\u7ea7\u522b \"l\" 1 \u2014 39 \u6570\u636e\u901a\u4fe1\u72b6\u6001 \"m\" 1 \u2014 40 \u5e8f\u5217\u53f7 \"n\" 8 \u2014 41 \u52a8\u8109\u538b \"o\" 5 mmHg 42 \u52a8\u8109\u538b\u8b66\u62a5 \"p\" 1 \u2014 43 \u52a8\u8109\u538b\u4e0a\u9650\u8b66\u62a5 \"q\" 5 mmHg 44 \u52a8\u8109\u538b\u4e0b\u9650\u8b66\u62a5 \"r\" 5 mmHg 45 TMP\u4e0a\u9650\u8b66\u62a5 \"s\" 5 mmHg 46 TMP\u4e0b\u9650\u8b66\u62a5 \"t\" 5 mmHg 47 \u7f6e\u6362\u7387 \"u\" 5 L/hr 48 \u7f6e\u6362\u76ee\u6807\u91cf \"v\" 5 L 49 \u7f6e\u6362\u6db2\u8fdb\u7a0b\u91cf \"w\" 5 L 50 Na\u4e2a\u6027\u5316\u7a0b\u5e8f \"x\" 1 \u2014 51 \u8840\u6db2\u6cf5\u4e2a\u6027\u5316\u7a0b\u5e8f \"y\" 1 \u2014 52 \u6ce8\u5c04\u6cf5\u4e2a\u6027\u5316\u7a0b\u5e8f \"z\" 1 \u2014 53 \u900f\u6790\u6db2\u4e2a\u6027\u5316\u7a0b\u5e8f \"!\" 1 \u2014 54 \u900f\u6790\u6db2\u6e29\u5ea6\u8bbe\u7f6e\u503c \"#\" 5 \u6444\u6c0f\u5ea6 55 \u7f3a\u6c342\u8b66\u62a5 \"$\" 1 \u2014 \u6570\u636e\u8bf4\u660e \u00b6 1) \u672a\u6307\u5b9a\u6570\u636e\u4f20\u8f93\u7684\u987a\u5e8f\u3002 2) \u7b2c1\u523011\u9879\u300120\u523035\u9879\u300141\u9879\u300143\u523049\u9879\u548c54\u9879\u7684\u6570\u636e\u4ee55\u4f4d\u6570\u8868\u793a\u3002 - \u5982\u679c\u5305\u542b\u5c0f\u6570\u70b9\uff0c\u52195\u4f4d\u6570\u5305\u542b\u4e86\u5c0f\u6570\u70b9\u3002 - \u5982\u679c\u6570\u636e\u4e3a\u8d1f\u6570\uff0c\u6570\u5b57\u5c06\u4ee5\u51cf\u53f7\u6807\u5fd7\"-\"\u5f00\u5934\u3002 - \u5982\u679c\u9ad8\u4f4d\u5b57\u8282\u4e3a\u96f6\uff0c\u5219\u663e\u793a\"0\"\u3002 - \u4f8b\u5982\uff09\u76ee\u6807UF\u91cf\u4e3a2.35L\uff0c\u5219\u8f93\u5165\"0\"\u3001\"2\"\u3001\".\"\u3001\"3\"\u548c\"5\"\u3002 3) \u7b2c12\u81f319\u9879\u300142\u9879\u548c55\u9879\u7684\u8b66\u62a5\u503c\u4e3a\"1\"\uff08\u5df2\u8b66\u62a5\uff09\u6216\"0\"\uff08\u672a\u8b66\u62a5\uff09\u3002 4) \u7b2c19\u9879\u5176\u4ed6\u8b66\u62a5\u662f\u9664\u7b2c12\u81f318\u9879\u300142\u9879\u548c55\u9879\u4ee5\u5916\u7684\u8b66\u62a5\u3002 5) \u7b2c40\u9879\u6570\u636e\u662f\u5e8f\u5217\u53f7\uff08\u5de6\u5bf9\u9f50\uff09\u3002 6) \u7b2c21\u9879\"\u8840\u538b\u68c0\u6d4b\u65f6\u95f4\"\u6307\u662f\u5426\u5bf9\u8840\u538b\u8fdb\u884c\u68c0\u6d4b\u7684\u5224\u65ad\u3002 7) \u7b2c25\u81f328\u9879\u662f\u4e0e\u8840\u538b\u76f8\u5173\u7684\u8bbe\u7f6e\u3002 - \u8bbe\u7f6e\u66f4\u6539\u540e\uff0c\u6700\u65b0\u8bbe\u7f6e\u4f1a\u5728\u4e0b\u4e00\u6b21\u6570\u636e\u4f20\u8f93\u8bf7\u6c42\u65f6\u4f20\u8f93\u3002 \u7b2c2\u7ae0 \u4e0ePC\u7684\u8fde\u63a5 \u00b6 2.1 \u8fde\u63a5\u900f\u6790\u673a\u548cPC \u00b6 \u7f16\u53f7 \u540d\u79f0 \u529f\u80fd 1 LAN - \u901a\u8fc7\u672c\u900f\u6790\u673a\u80cc\u9762\u63d0\u4f9b\u7684LAN\u63a5\u53e3\uff0c\u8fde\u63a5\u6b64\u900f\u6790\u673a\u548cPC\u3002 - LAN\uff1aRJ-45\u4e32\u53e3\u3002 2.2 \u901a\u4fe1\u57fa\u677fIP\u7684\u8bbe\u5b9a \u00b6 2.2.1 \u6253\u5f00\"\u641c\u7d22\u5de5\u5177\"\u5e94\u7528\u7a0b\u5e8f \u00b6 \u5982\u4e0b\u56fe\u6240\u793a\uff1a 2.2.2 \u641c\u7d22\u901a\u4fe1\u57fa\u677f \u00b6 \u5728\u6253\u5f00\u7684\"\u641c\u7d22\u5de5\u5177\"\u754c\u9762\u4e0b\uff0c\u70b9\u51fb\u5de6\u4e0a\u89d2\u7c7b\u4f3c\u671b\u8fdc\u955c\u6807\u5fd7\u7684\"\u641c\u7d22\"\u6309\u94ae\uff0c\u641c\u7d22\u5df2\u7ecf\u8fde\u63a5\u5230\u7535\u8111\u7684\u901a\u4fe1\u57fa\u677f\u3002 2.2.3 \u8bbe\u5b9aPC\u7f51\u7edc\u53c2\u6570 \u00b6 \u4e3a\u786e\u4fddPC\u548c\u901a\u4fe1\u57fa\u677f\u7684\u6b63\u5e38\u901a\u4fe1\uff0c\u6839\u636e\u641c\u7d22\u5230\u7684\u901a\u4fe1\u57fa\u677f\u7684IP\u5bf9\u901a\u4fe1\u7528PC\u8fdb\u884c\u53c2\u6570\u8bbe\u5b9a\uff08IP\u5730\u5740\u3001\u5b50\u7f51\u63a9\u7801\u3001\u9ed8\u8ba4\u7f51\u5173\uff09\u3002 IP\u5730\u5740\u3001\u5b50\u7f51\u63a9\u7801\u3001\u9ed8\u8ba4\u7f51\u5173\u7684\u8bbe\u5b9a\uff1a 1) \u786e\u4fdd\u548c\u901a\u4fe1\u57fa\u677fIP\u5730\u5740\u5728\u540c\u4e00\u57df\u5185\uff0c\u4e14\u8bbe\u5b9a\u7684IP\u548c\u540c\u4e00\u57df\u5185\u5176\u4ed6\u8bbe\u5907\u7684IP\u4e0d\u51b2\u7a81\u3002 2) PC\u7684IP\u5730\u5740\u8bbe\u5b9a\u5b8c\u6210\u540e\uff0c\u9f20\u6807\u70b9\u51fb\u5b50\u7f51\u63a9\u7801\u8f93\u5165\u680f\uff0c\u5b50\u7f51\u63a9\u7801\u4f1a\u81ea\u52a8\u751f\u6210\uff08\u539f\u5219\u4e0a\u81ea\u52a8\u751f\u6210\u7684\u5b50\u7f51\u63a9\u7801\u548c\u901a\u4fe1\u57fa\u677f\u7684\u5b50\u7f51\u63a9\u7801\u662f\u76f8\u540c\u7684\uff0c\u53c2\u80032.2.4\u5bf9\u5b50\u7f51\u63a9\u7801\u8fdb\u884c\u786e\u8ba4\uff09\u3002 3) PC\u7684\u9ed8\u8ba4\u7f51\u5173\u548c\u901a\u4fe1\u57fa\u677f\u76f8\u540c\uff08\u53c2\u80032.2.4\u5bf9\u9ed8\u8ba4\u7f51\u5173\u8fdb\u884c\u786e\u8ba4\uff09\u3002 2.2.4 \u8fdb\u5165IP\u8bbe\u5b9a\u754c\u9762 \u00b6 \u9009\u4e2d\u641c\u7d22\u5230\u7684\u76ee\u6807IP\uff0c\u70b9\u51fb\"\u8bbe\u7f6e\"\u6309\u94ae\uff0c\u8fdb\u5165IP\u8bbe\u5b9a\u754c\u9762\u3002\u5728IP\u8bbe\u5b9a\u754c\u9762\u4e0b\uff0c\u6839\u636e\u9700\u8981\uff0c\u91cd\u65b0\u8bbe\u5b9a\u901a\u4fe1\u57fa\u677f\u7684IP\uff0c\u5e76\u70b9\u51fb\"\u4fdd\u5b58\"\u952e\uff0c\u5b8c\u6210\u65b0IP\u7684\u8bbe\u5b9a\u3002 \u6ce8\u610f \uff1a\u901a\u4fe1\u57fa\u677fIP\u8bbe\u5b9a\u754c\u9762\u4e5f\u53ef\u4ee5\u4e0d\u7528\"\u641c\u7d22\u5de5\u5177\"\u8f6f\u4ef6\u800c\u76f4\u63a5\u5728IE\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165 http://192.168.0.233/ \u76f4\u63a5\u6253\u5f00\u3002 2.3 \u901a\u4fe1\u57fa\u677f\u4e34\u65f6IP\u7684\u8bbe\u5b9a\u65b9\u6cd5 \u00b6 2.3.1 \u8bbe\u7f6e\u4e34\u65f6IP \u00b6 \u70b9\u51fb\"\u641c\u7d22\"\u6309\u94ae\u5bf9\u8fde\u63a5\u5230PC\u7684\u901a\u4fe1\u8bbe\u5907\u8fdb\u884c\u641c\u7d22\uff0c\u9009\u4e2d\u76ee\u6807IP\uff0c\u70b9\u51fb\"\u8bbe\u7f6e\u4e34\u65f6IP\uff08F\uff09\"\u6309\u94ae\u3002 2.3.2 \u914d\u7f6e\u4e34\u65f6IP \u00b6 \u5728\u6253\u5f00\u7684\"\u8bbe\u7f6e\u4e34\u65f6IP\uff08F\uff09\"\u754c\u9762\u4e0b\uff0c\u5373\u53ef\u6839\u636e\u9700\u8981\u5bf9\u76ee\u6807IP\u8fdb\u884c\u4e34\u65f6\u8bbe\u5b9a\u3002 \u6ce8\u610f \uff1a\u8bbe\u5b9a\u7684IP\u53ea\u6709\u5728\u8bbe\u5907\u672a\u65ad\u7535\u548c\u672a\u91cd\u542f\u65f6\u6709\u6548\uff0c\u5982\u679c\u8bbe\u5907\u91cd\u542f\u6216\u8005\u65ad\u7535\uff0cIP\u7684\u8bbe\u5b9a\u4f1a\u81ea\u52a8\u6062\u590d\u5230\u51fa\u5382\u8bbe\u7f6e\u3002 2.4 \u901a\u4fe1\u57fa\u677f\u7684\u91cd\u7f6e\u529f\u80fd \u00b6 2.4.1 \u6253\u5f00\u57fa\u677f\u7ba1\u7406\u754c\u9762 \u00b6 \u5728PC\u7684IE\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165\u901a\u4fe1\u57fa\u677f\u7684IP\u5730\u5740\u8fdb\u884c\u641c\u7d22\uff08\u4ee5IP\u5730\u5740\u4e3a192.168.0.233\u4e3a\u4f8b\uff0c\u5728IE\u6d4f\u89c8\u5668\u4e2d\u5e94\u8f93\u5165 http://192.168.0.233/ \uff09\u6253\u5f00\u5982\u4e0b\u7684\u753b\u9762\u3002 2.4.2 \u6267\u884c\u6062\u590d\u51fa\u5382\u8bbe\u7f6e \u00b6 \u70b9\u51fb\u753b\u9762\u5de6\u4fa7\u7684\"\u6062\u590d\u51fa\u5382\u8bbe\u7f6e\"\u9879\uff0c\u8fdb\u5165\"\u6062\u590d\u51fa\u5382\u8bbe\u7f6e\"\u754c\u9762\u3002\u70b9\u51fb\"\u6062\u590d\"\u952e\u5373\u53ef\u6062\u590d\u51fa\u5382\u8bbe\u7f6e\u3002 \u6587\u6863\u4fe1\u606f \u00b6 \u5355\u4eba\u8840\u6db2\u900f\u6790\u673a TQS-88 \u9009\u914d \u6570\u636e\u901a\u4fe1\u64cd\u4f5c\u624b\u518c 00\u7248\u53d1\u5e03 2019/01/11 \u4e1c\u4e3d\u533b\u7597\u79d1\u6280\uff08\u9752\u5c9b\uff09\u80a1\u4efd\u6709\u9650\u516c\u53f8 \u9752\u5c9b\u5e02\u5373\u58a8\u533a\u670d\u88c5\u5de5\u4e1a\u56ed\u5185\u5b54\u96c0\u6cb3\u56db\u8def63\u53f7 \u7535\u8bdd\uff1a0532-81721030 \u4f20\u771f\uff1a0532-81721025 \u90ae\u653f\u7f16\u7801\uff1a266200 \u2611 \u539f\u7248\u53d1\u884c \u25a1 \u539f\u7248\u8bd1\u672c \u9644\u5f55 \u00b6","title":"TS88\u900f\u6790\u673a\u8054\u673a\u901a\u4fe1-\u4e2d\u6587\u7248"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#tqs-88-","text":"","title":"TQS-88 \u5355\u4eba\u8840\u6db2\u900f\u6790\u673a-\u6570\u636e\u901a\u4fe1\u64cd\u4f5c\u624b\u518c"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#_1","text":"\u5728\u5f00\u59cb\u4f7f\u7528\u900f\u6790\u673a\u524d\u8bf7\u4ed4\u7ec6\u9605\u8bfb\u672c\u64cd\u4f5c\u624b\u518c\u3002 \u4efb\u4f55\u4e0d\u5f53\u64cd\u4f5c\u90fd\u53ef\u80fd\u4f1a\u5bfc\u81f4\u4e8b\u6545\u3002\u4f7f\u7528\u7b26\u5408\u672c\u8bf4\u660e\u7684\u900f\u6790\u673a\u3002 \u8bf7\u5c06\u672c\u64cd\u4f5c\u624b\u518c\u7f6e\u4e8e\u6613\u4e8e\u83b7\u53d6\u7684\u4f4d\u7f6e\uff0c\u4ee5\u4fbf\u5728\u9700\u8981\u65f6\u53ef\u968f\u65f6\u53c2\u9605\u3002 \u672c\u64cd\u4f5c\u624b\u518c\u65e8\u5728\u4e3a\u64cd\u4f5c\u4eba\u5458\u63d0\u4f9b\u4f7f\u7528\"\u6570\u636e\u901a\u4fe1\"\u6240\u9700\u7684\u4fe1\u606f\u3002 \u672c\u64cd\u4f5c\u624b\u518c\u4e3b\u8981\u6db5\u76d6\u4ee5\u4e0b\u6709\u5173\"\u6570\u636e\u901a\u4fe1\"\u7684\u5185\u5bb9\uff1a 1. \u89c4\u683c 2. \u4e0ePC\u7684\u8fde\u63a5 \u6b63\u6587\u4e2d\u8b66\u793a\u5b9a\u4e49\u5982\u4e0b\uff1a - \u6ce8\u610f \uff1a\u6b64\u6807\u5fd7\u540e\u7684\u63cf\u8ff0\u662f\u4f7f\u7528\u8bf4\u660e\u3002\u60a8\u5fc5\u987b\u9075\u5b88\u4f7f\u7528\u8bf4\u660e\u3002 - \u9644\u6ce8 \uff1a\u6b64\u6807\u5fd7\u540e\u7684\u63cf\u8ff0\u662f\u4e3a\u4e86\u8ba9\u60a8\u589e\u8fdb\u7406\u89e3\u7684\u6709\u7528\u4fe1\u606f\u6216\u8865\u5145\u8bf4\u660e\u4e8b\u9879\u3002","title":"\u6ce8\u610f\u4e8b\u9879"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#_2","text":"\u64cd\u4f5c\u6b64\u9009\u914d\u4ef6\uff08\"\u6570\u636e\u901a\u4fe1\"\u529f\u80fd\uff09\u65f6\uff0c\u8bf7\u52a1\u5fc5\u5145\u5206\u7406\u89e3\u548c\u7279\u522b\u6ce8\u610f\u4ee5\u4e0b\u4e8b\u9879\u3002\u4f7f\u7528\u524d\u5fc5\u987b\u5145\u5206\u4e86\u89e3\u5185\u5bb9\u3002","title":"\u7b80\u4ecb"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#1","text":"(1) \u672c\u64cd\u4f5c\u624b\u518c\u4ecb\u7ecd\u4e86\u6b63\u786e\u4f7f\u7528\"\u6570\u636e\u901a\u4fe1\"\u6240\u9700\u7684\u4fe1\u606f\u548c\u5b89\u5168\u7684\u64cd\u4f5c\u65b9\u6cd5\uff0c\u5e76\u975e\u65e8\u5728\u8bf4\u660e\u5bf9\u60a3\u8005\u7684\u6cbb\u7597\u3002 (2) \u53ea\u6709\u4ed4\u7ec6\u9605\u8bfb\u5e76\u5145\u5206\u7406\u89e3\u672c\u64cd\u4f5c\u624b\u518c\u4e2d\u6240\u542b\u7684\u8bf4\u660e\u540e\uff0c\u624d\u80fd\u4f7f\u7528\u8bbe\u5907\u5e76\u8fdb\u884c\u64cd\u4f5c\u4ee5\u53ca\u7ef4\u62a4\u3002 (3) \u672c\u64cd\u4f5c\u624b\u518c\u4e2d\u7684\u64cd\u4f5c\u65b9\u6cd5\u548c\u5b89\u5168\u6ce8\u610f\u4e8b\u9879\u9002\u7528\u4e8e\u8fdb\u884c\u7279\u5b9a\u76ee\u7684\u7684\"\u6570\u636e\u901a\u4fe1\"\u4f7f\u7528\u3002\u8bf7\u52ff\u5c1d\u8bd5\u4ee5\u672c\u624b\u518c\u4e2d\u6240\u5217\u4ee5\u5916\u7684\u4efb\u4f55\u65b9\u5f0f\u4f7f\u7528\u8bbe\u5907\u3002 \u672c\u624b\u518c\u7684\u5185\u5bb9\u53d7\u4e1c\u4e3d\u533b\u7597\u79d1\u6280\uff08\u9752\u5c9b\uff09\u80a1\u4efd\u6709\u9650\u516c\u53f8\u7248\u6743\u4fdd\u62a4\uff0c\u4e1c\u4e3d\u533b\u7597\u79d1\u6280\uff08\u9752\u5c9b\uff09\u80a1\u4efd\u6709\u9650\u516c\u53f8\u4fdd\u7559\u6240\u6709\u6743\u5229\u3002\u672a\u7ecf\u4e1c\u4e3d\u533b\u7597\u79d1\u6280\uff08\u9752\u5c9b\uff09\u80a1\u4efd\u6709\u9650\u516c\u53f8\u4e8b\u5148\u4e66\u9762\u540c\u610f\uff0c\u4e0d\u5f97\u4ee5\u4efb\u4f55\u5f62\u5f0f\u590d\u5236\u3001\u8f6c\u8f7d\u672c\u624b\u518c\u4e2d\u7684\u4efb\u4f55\u5185\u5bb9\uff0c\u6216\u5c06\u5176\u8bd1\u4e3a\u5176\u4ed6\u8bed\u8a00\u3002","title":"1. \u64cd\u4f5c\u624b\u518c"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#2","text":"\u6211\u4eec\u5e0c\u671b\u60a8\u4e8b\u524d\u4e86\u89e3\uff0c\u5bf9\u7531\u4e8e\u64cd\u4f5c\u6b64\u900f\u6790\u673a\u6240\u9020\u6210\u7684\u4efb\u4f55\u53ef\u80fd\u7684\u635f\u5bb3\u6216\u5229\u76ca\u635f\u5931\uff0c\u6211\u4eec\u4e0d\u627f\u62c5\u4efb\u4f55\u8d23\u4efb\u3002 \u8bf7\u52ff\u62c6\u5378\u6216\u6539\u9020\u900f\u6790\u673a\uff0c\u5426\u5219\u5c06\u4e0d\u5728\u5236\u9020\u5546\u4fdd\u4fee\u8303\u56f4\u4e4b\u5185\u3002 \u7531\u4e8e\u5ba2\u6237\u62c6\u5378\u3001\u6539\u9020\u3001\u5206\u89e3\u6216\u4f7f\u7528\u4e0d\u5f53\u4ee5\u53ca\u5b89\u88c5\u73af\u5883\u3001\u642c\u8fd0\u4e0d\u5f53\u7b49\u9020\u6210\u7684\u635f\u5bb3\uff0c\u6211\u4eec\u4e0d\u627f\u62c5\u4efb\u4f55\u8d23\u4efb\u3002 \u5982\u679c\u65e0\u6cd5\u53d1\u6325\u56fa\u6709\u529f\u80fd\uff0c\u5219\u4e0d\u5f97\u7528\u4e8e\u6cbb\u7597\u7528\u9014\u3002\u5bf9\u6b64\u7c7b\u60c5\u5f62\u4e0b\u9020\u6210\u7684\u4efb\u4f55\u635f\u5bb3\u6216\u5bf9\u60a3\u8005\u7684\u635f\u4f24\uff0c\u6211\u4eec\u4e0d\u627f\u62c5\u4efb\u4f55\u8d23\u4efb\u3002 \u900f\u6790\u673a\u7684\u65e5\u5e38\u7ef4\u62a4\u548c\u68c0\u67e5\u5e94\u6839\u636e\"\u7ef4\u62a4\u68c0\u67e5\u624b\u518c\"\u8fdb\u884c\u3002","title":"2. \u8d23\u4efb\u9650\u5236"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#1_1","text":"","title":"\u7b2c1\u7ae0 \u89c4\u683c"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#11","text":"\u900f\u6790\u673a\u7684\u6cbb\u7597\u6570\u636e\u548c\u8bbe\u7f6e\u6570\u636e\u53ef\u4ece\u4ee5\u592a\u7f51\u63a5\u53e3\u4f20\u8f93\u5230\u8ba1\u7b97\u673a\u4e2d\u3002","title":"1.1 \u6570\u636e\u901a\u4fe1\u529f\u80fd\u7684\u63cf\u8ff0"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#12","text":"","title":"1.2 \u901a\u4fe1\u89c4\u683c"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#121-lan","text":"\u7f16\u53f7 \u9879\u76ee \u63cf\u8ff0 1 \u4ee5\u592a\u7f51\u63a5\u53e3 10Base-T \u6216 100Base-TX\uff08\u81ea\u52a8\u611f\u5e94\uff09 2 \u4e32\u53e3 RJ45 3 \u7f51\u7edc\u914d\u7f6e \u53ef\u81ea\u5b9a\u4e49","title":"1.2.1 LAN\u53c2\u6570"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#122","text":"\u900f\u6790\u673a\u7aef\u7ba1\u7406\u7684\u6570\u636e\u901a\u8fc7PC\u7aef\u7684\u6570\u636e\u4f20\u8f93\u8bf7\u6c42\u8fdb\u884c\u4f20\u8f93\u3002 graph TD A[PC] -->|\u6570\u636e\u4f20\u8f93\u8bf7\u6c42| B[\u900f\u6790\u673a] B -->|\u6570\u636e\u4f20\u8f93| A B -->|\u4e34\u5e8a\u6570\u636e\u4f20\u8f93| A [1] PC\u7aef\u4f20\u8f93\u6570\u636e\u8bf7\u6c42\u4fe1\u53f7\uff08\u53c2\u9605\u7b2c1.2.3\u8282\uff09\u3002 [2] \u900f\u6790\u673a\u63a5\u6536PC\u7684\u6570\u636e\u8bf7\u6c42\u4fe1\u53f7\uff0c\u5e76\u53d1\u9001\u5404\u79cd\u76f8\u5e94\u7684\u6570\u636e\uff08\u53c2\u9605\u7b2c1.2.4\u8282\u548c\u7b2c1.2.5\u8282\uff09\u3002","title":"1.2.2 \u900f\u6790\u673a\u901a\u4fe1\u6b65\u9aa4"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#123-pc","text":"\u6570\u636e\u4f20\u8f93\u8bf7\u6c42\uff083\u4e2a\u5b57\u8282\uff09 \"K\"\uff084BH\uff09 CR\uff080DH\uff09 LF\uff080AH\uff09","title":"1.2.3 \u4ecePC\u4f20\u8f93\u5230\u900f\u6790\u673a\u7684\u6570\u636e\u53ca\u5176\u683c\u5f0f"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#124-pc","text":"","title":"1.2.4 \u4ece\u900f\u6790\u673a\u4f20\u8f93\u5230PC\u7684\u6570\u636e\u683c\u5f0f"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#_3","text":"\u5f00\u59cb [1] \u6570\u636e\u957f\u5ea6 [2] \u6570\u636e [3] \u603b\u6570 [4] \u7ed3\u675f [5]","title":"\u4e34\u5e8a\u6570\u636e"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#_4","text":"\u7f16\u53f7 \u5b57\u8282\u6570 \u63cf\u8ff0 [1] 2 \u6570\u636e\u5f00\u59cb\u4ee3\u7801\uff08ASCII\uff09 \"K\"\"1\" [2] 3 \u6570\u636e\u957f\u5ea6\uff08ASCII\uff09 \u91c7\u75283\u4f4d\u6570\u7684\u5f62\u5f0f\u8868\u793a\u7b2c\u4e09\u9879\u4e2d\u8ba1\u7b97\u7684\u6240\u6709\u5b57\u8282\u7684\u603b\u548c\u3002 \u4f8b\u5982\uff09\u5982\u679c\u603b\u6570\u4e3a123\u4e2a\u5b57\u8282\uff0c\u5219\u663e\u793a\u4e3a\uff1a\"1\",\"2\",\"3\" [3] 1 \u6570\u636e\u9a8c\u8bc1\u4ee3\u7801\uff08ASCII\uff09 \uff08\u8bf7\u53c2\u96051.2.5\u3002\uff09 * \u6309\u6570\u636e\u7c7b\u578b\u7684\u7f16\u53f7\u53cd\u590d\u4f20\u8f93\u3002 [3] \u5355\u4e2a \u6570\u636e\uff08ASCII\uff09 \uff08\u8bf7\u53c2\u96051.2.5\u3002\uff09 * \u6309\u6570\u636e\u7c7b\u578b\u7684\u7f16\u53f7\u53cd\u590d\u4f20\u8f93\u3002 [4] 2 \u7528\u4e8e\u548c\u6570\u6821\u9a8c\u7684\u6570\u636e \u8ba1\u7b97[1]\uff5e[3]\u603b\u548c\uff0c\u8f83\u4f4e\u7684\u5341\u516d\u8fdb\u52362\u4f4d\u6570\u4f1a\u8f6c\u6362\u6210ASCII\u4ee3\u7801\u3002 \u4f8b\u5982\uff09\u603b\u51715aH\u5b57\u8282\uff0c\u5219\u663e\u793a\u4e3a\uff1a\"5\"\u3001\"A\" [5] 2 \u6570\u636e\u7ed3\u675f\u4ee3\u7801 CR\u3001LF","title":"\u6570\u636e\u7ec4\u6210"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#125-pc","text":"","title":"1.2.5 \u4ece\u900f\u6790\u673a\u4f20\u8f93\u5230PC\u7684\u6570\u636e"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#_5","text":"\u7f16\u53f7 \u6570\u636e\u540d\u79f0 \u6570\u636e\u6807\u8bc6\u4ee3\u7801 \u5b57\u8282\u6570 \u5355\u4f4d 1 UF\u76ee\u6807 \"A\" 5 L 2 UF\u91cf \"B\" 5 L 3 UF\u901f\u7387 \"C\" 5 L/hr 4 \u8840\u6db2\u6d41\u901f \"D\" 5 mL/min 5 \u6ce8\u5c04\u5668\u6d41\u901f \"E\" 5 mL/h 6 \u900f\u6790\u6db2\u6e29\u5ea6 \"F\" 5 \u6444\u6c0f\u5ea6 7 \u900f\u6790\u6db2\u7535\u5bfc\u5ea6 \"G\" 5 mS/cm 8 \u9759\u8109\u538b \"H\" 5 mmHg 9 \u900f\u6790\u6db2\u538b \"I\" 5 mmHg 10 TMP \"J\" 5 mmHg 11 \u900f\u6790\u65f6\u95f4 \"K\" 5 min 12 \u900f\u6790\u6db2\u6e29\u5ea6\u8b66\u62a5 \"a\" 1 \u2014 13 \u7535\u5bfc\u5ea6\u8b66\u62a5 \"b\" 1 \u2014 14 \u9759\u8109\u538b\u8b66\u62a5 \"c\" 1 \u2014 15 \u900f\u6790\u6db2\u538b\u529b\u8b66\u62a5 \"d\" 1 \u2014 16 TMP\u8b66\u62a5 \"e\" 1 \u2014 17 \u6c14\u6ce1\u4fa6\u6d4b\u5668\u8b66\u62a5 \"f\" 1 \u2014 18 \u6f0f\u8840\u8b66\u62a5 \"g\" 1 \u2014 19 \u5176\u4ed6\u8b66\u62a5 \"h\" 1 \u2014 20 \u900f\u6790\u6db2\u6d41\u901f \"L\" 5 mL/min 21 BPM\u68c0\u6d4b\u65f6\u95f4 \"M\" 5 \u65f6\u95f4 22 BPM\u6700\u9ad8\u8840\u538b \"N\" 5 mmHg 23 BPM\u6700\u4f4e\u8840\u538b \"O\" 5 mmHg 24 BPM\u8109\u51b2 \"P\" 5 \u8109\u51b2 25 BPM\u6536\u7f29\u4e0a\u9650\u8b66\u62a5 \"Q\" 5 mmHg 26 BPM\u6536\u7f29\u4e0b\u9650\u8b66\u62a5 \"R\" 5 mmHg 27 BPM\u538b\u8109\u5e26\u538b\u529b \"S\" 5 mmHg 28 BPM\u68c0\u6d4b\u95f4\u9694\u65f6\u95f4 \"T\" 5 min 29 \u603b\u8840\u6db2\u6d41\u91cf \"U\" 5 L 30 \u9759\u8109\u538b\u4e0a\u9650\u8b66\u62a5 \"V\" 5 mmHg 31 \u9759\u8109\u538b\u4e0b\u9650\u8b66\u62a5 \"W\" 5 mmHg 32 \u603b\u6ce8\u5c04\u6d41\u91cf \"X\" 5 mL 33 \u900f\u6790\u6db2\u538b\u4e0a\u9650\u8b66\u62a5 \"Y\" 5 mmHg 34 \u900f\u6790\u6db2\u538b\u4e0b\u9650\u8b66\u62a5 \"Z\" 5 mmHg 35 NaCl\u6ce8\u5165\u7ea7\u522b \"i\" 5 \u2014 36 UF\u4e2a\u6027\u5316\u7a0b\u5e8f \"j\" 1 \u2014 37 \u900f\u6790\u6db2\u9009\u62e9 \"k\" 1 \u2014 38 \u7535\u5bfc\u5ea6\u7ea7\u522b \"l\" 1 \u2014 39 \u6570\u636e\u901a\u4fe1\u72b6\u6001 \"m\" 1 \u2014 40 \u5e8f\u5217\u53f7 \"n\" 8 \u2014 41 \u52a8\u8109\u538b \"o\" 5 mmHg 42 \u52a8\u8109\u538b\u8b66\u62a5 \"p\" 1 \u2014 43 \u52a8\u8109\u538b\u4e0a\u9650\u8b66\u62a5 \"q\" 5 mmHg 44 \u52a8\u8109\u538b\u4e0b\u9650\u8b66\u62a5 \"r\" 5 mmHg 45 TMP\u4e0a\u9650\u8b66\u62a5 \"s\" 5 mmHg 46 TMP\u4e0b\u9650\u8b66\u62a5 \"t\" 5 mmHg 47 \u7f6e\u6362\u7387 \"u\" 5 L/hr 48 \u7f6e\u6362\u76ee\u6807\u91cf \"v\" 5 L 49 \u7f6e\u6362\u6db2\u8fdb\u7a0b\u91cf \"w\" 5 L 50 Na\u4e2a\u6027\u5316\u7a0b\u5e8f \"x\" 1 \u2014 51 \u8840\u6db2\u6cf5\u4e2a\u6027\u5316\u7a0b\u5e8f \"y\" 1 \u2014 52 \u6ce8\u5c04\u6cf5\u4e2a\u6027\u5316\u7a0b\u5e8f \"z\" 1 \u2014 53 \u900f\u6790\u6db2\u4e2a\u6027\u5316\u7a0b\u5e8f \"!\" 1 \u2014 54 \u900f\u6790\u6db2\u6e29\u5ea6\u8bbe\u7f6e\u503c \"#\" 5 \u6444\u6c0f\u5ea6 55 \u7f3a\u6c342\u8b66\u62a5 \"$\" 1 \u2014","title":"\u6570\u636e\u5217\u8868"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#_6","text":"1) \u672a\u6307\u5b9a\u6570\u636e\u4f20\u8f93\u7684\u987a\u5e8f\u3002 2) \u7b2c1\u523011\u9879\u300120\u523035\u9879\u300141\u9879\u300143\u523049\u9879\u548c54\u9879\u7684\u6570\u636e\u4ee55\u4f4d\u6570\u8868\u793a\u3002 - \u5982\u679c\u5305\u542b\u5c0f\u6570\u70b9\uff0c\u52195\u4f4d\u6570\u5305\u542b\u4e86\u5c0f\u6570\u70b9\u3002 - \u5982\u679c\u6570\u636e\u4e3a\u8d1f\u6570\uff0c\u6570\u5b57\u5c06\u4ee5\u51cf\u53f7\u6807\u5fd7\"-\"\u5f00\u5934\u3002 - \u5982\u679c\u9ad8\u4f4d\u5b57\u8282\u4e3a\u96f6\uff0c\u5219\u663e\u793a\"0\"\u3002 - \u4f8b\u5982\uff09\u76ee\u6807UF\u91cf\u4e3a2.35L\uff0c\u5219\u8f93\u5165\"0\"\u3001\"2\"\u3001\".\"\u3001\"3\"\u548c\"5\"\u3002 3) \u7b2c12\u81f319\u9879\u300142\u9879\u548c55\u9879\u7684\u8b66\u62a5\u503c\u4e3a\"1\"\uff08\u5df2\u8b66\u62a5\uff09\u6216\"0\"\uff08\u672a\u8b66\u62a5\uff09\u3002 4) \u7b2c19\u9879\u5176\u4ed6\u8b66\u62a5\u662f\u9664\u7b2c12\u81f318\u9879\u300142\u9879\u548c55\u9879\u4ee5\u5916\u7684\u8b66\u62a5\u3002 5) \u7b2c40\u9879\u6570\u636e\u662f\u5e8f\u5217\u53f7\uff08\u5de6\u5bf9\u9f50\uff09\u3002 6) \u7b2c21\u9879\"\u8840\u538b\u68c0\u6d4b\u65f6\u95f4\"\u6307\u662f\u5426\u5bf9\u8840\u538b\u8fdb\u884c\u68c0\u6d4b\u7684\u5224\u65ad\u3002 7) \u7b2c25\u81f328\u9879\u662f\u4e0e\u8840\u538b\u76f8\u5173\u7684\u8bbe\u7f6e\u3002 - \u8bbe\u7f6e\u66f4\u6539\u540e\uff0c\u6700\u65b0\u8bbe\u7f6e\u4f1a\u5728\u4e0b\u4e00\u6b21\u6570\u636e\u4f20\u8f93\u8bf7\u6c42\u65f6\u4f20\u8f93\u3002","title":"\u6570\u636e\u8bf4\u660e"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#2-pc","text":"","title":"\u7b2c2\u7ae0 \u4e0ePC\u7684\u8fde\u63a5"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#21-pc","text":"\u7f16\u53f7 \u540d\u79f0 \u529f\u80fd 1 LAN - \u901a\u8fc7\u672c\u900f\u6790\u673a\u80cc\u9762\u63d0\u4f9b\u7684LAN\u63a5\u53e3\uff0c\u8fde\u63a5\u6b64\u900f\u6790\u673a\u548cPC\u3002 - LAN\uff1aRJ-45\u4e32\u53e3\u3002","title":"2.1 \u8fde\u63a5\u900f\u6790\u673a\u548cPC"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#22-ip","text":"","title":"2.2 \u901a\u4fe1\u57fa\u677fIP\u7684\u8bbe\u5b9a"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#221","text":"\u5982\u4e0b\u56fe\u6240\u793a\uff1a","title":"2.2.1 \u6253\u5f00\"\u641c\u7d22\u5de5\u5177\"\u5e94\u7528\u7a0b\u5e8f"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#222","text":"\u5728\u6253\u5f00\u7684\"\u641c\u7d22\u5de5\u5177\"\u754c\u9762\u4e0b\uff0c\u70b9\u51fb\u5de6\u4e0a\u89d2\u7c7b\u4f3c\u671b\u8fdc\u955c\u6807\u5fd7\u7684\"\u641c\u7d22\"\u6309\u94ae\uff0c\u641c\u7d22\u5df2\u7ecf\u8fde\u63a5\u5230\u7535\u8111\u7684\u901a\u4fe1\u57fa\u677f\u3002","title":"2.2.2 \u641c\u7d22\u901a\u4fe1\u57fa\u677f"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#223-pc","text":"\u4e3a\u786e\u4fddPC\u548c\u901a\u4fe1\u57fa\u677f\u7684\u6b63\u5e38\u901a\u4fe1\uff0c\u6839\u636e\u641c\u7d22\u5230\u7684\u901a\u4fe1\u57fa\u677f\u7684IP\u5bf9\u901a\u4fe1\u7528PC\u8fdb\u884c\u53c2\u6570\u8bbe\u5b9a\uff08IP\u5730\u5740\u3001\u5b50\u7f51\u63a9\u7801\u3001\u9ed8\u8ba4\u7f51\u5173\uff09\u3002 IP\u5730\u5740\u3001\u5b50\u7f51\u63a9\u7801\u3001\u9ed8\u8ba4\u7f51\u5173\u7684\u8bbe\u5b9a\uff1a 1) \u786e\u4fdd\u548c\u901a\u4fe1\u57fa\u677fIP\u5730\u5740\u5728\u540c\u4e00\u57df\u5185\uff0c\u4e14\u8bbe\u5b9a\u7684IP\u548c\u540c\u4e00\u57df\u5185\u5176\u4ed6\u8bbe\u5907\u7684IP\u4e0d\u51b2\u7a81\u3002 2) PC\u7684IP\u5730\u5740\u8bbe\u5b9a\u5b8c\u6210\u540e\uff0c\u9f20\u6807\u70b9\u51fb\u5b50\u7f51\u63a9\u7801\u8f93\u5165\u680f\uff0c\u5b50\u7f51\u63a9\u7801\u4f1a\u81ea\u52a8\u751f\u6210\uff08\u539f\u5219\u4e0a\u81ea\u52a8\u751f\u6210\u7684\u5b50\u7f51\u63a9\u7801\u548c\u901a\u4fe1\u57fa\u677f\u7684\u5b50\u7f51\u63a9\u7801\u662f\u76f8\u540c\u7684\uff0c\u53c2\u80032.2.4\u5bf9\u5b50\u7f51\u63a9\u7801\u8fdb\u884c\u786e\u8ba4\uff09\u3002 3) PC\u7684\u9ed8\u8ba4\u7f51\u5173\u548c\u901a\u4fe1\u57fa\u677f\u76f8\u540c\uff08\u53c2\u80032.2.4\u5bf9\u9ed8\u8ba4\u7f51\u5173\u8fdb\u884c\u786e\u8ba4\uff09\u3002","title":"2.2.3 \u8bbe\u5b9aPC\u7f51\u7edc\u53c2\u6570"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#224-ip","text":"\u9009\u4e2d\u641c\u7d22\u5230\u7684\u76ee\u6807IP\uff0c\u70b9\u51fb\"\u8bbe\u7f6e\"\u6309\u94ae\uff0c\u8fdb\u5165IP\u8bbe\u5b9a\u754c\u9762\u3002\u5728IP\u8bbe\u5b9a\u754c\u9762\u4e0b\uff0c\u6839\u636e\u9700\u8981\uff0c\u91cd\u65b0\u8bbe\u5b9a\u901a\u4fe1\u57fa\u677f\u7684IP\uff0c\u5e76\u70b9\u51fb\"\u4fdd\u5b58\"\u952e\uff0c\u5b8c\u6210\u65b0IP\u7684\u8bbe\u5b9a\u3002 \u6ce8\u610f \uff1a\u901a\u4fe1\u57fa\u677fIP\u8bbe\u5b9a\u754c\u9762\u4e5f\u53ef\u4ee5\u4e0d\u7528\"\u641c\u7d22\u5de5\u5177\"\u8f6f\u4ef6\u800c\u76f4\u63a5\u5728IE\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165 http://192.168.0.233/ \u76f4\u63a5\u6253\u5f00\u3002","title":"2.2.4 \u8fdb\u5165IP\u8bbe\u5b9a\u754c\u9762"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#23-ip","text":"","title":"2.3 \u901a\u4fe1\u57fa\u677f\u4e34\u65f6IP\u7684\u8bbe\u5b9a\u65b9\u6cd5"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#231-ip","text":"\u70b9\u51fb\"\u641c\u7d22\"\u6309\u94ae\u5bf9\u8fde\u63a5\u5230PC\u7684\u901a\u4fe1\u8bbe\u5907\u8fdb\u884c\u641c\u7d22\uff0c\u9009\u4e2d\u76ee\u6807IP\uff0c\u70b9\u51fb\"\u8bbe\u7f6e\u4e34\u65f6IP\uff08F\uff09\"\u6309\u94ae\u3002","title":"2.3.1 \u8bbe\u7f6e\u4e34\u65f6IP"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#232-ip","text":"\u5728\u6253\u5f00\u7684\"\u8bbe\u7f6e\u4e34\u65f6IP\uff08F\uff09\"\u754c\u9762\u4e0b\uff0c\u5373\u53ef\u6839\u636e\u9700\u8981\u5bf9\u76ee\u6807IP\u8fdb\u884c\u4e34\u65f6\u8bbe\u5b9a\u3002 \u6ce8\u610f \uff1a\u8bbe\u5b9a\u7684IP\u53ea\u6709\u5728\u8bbe\u5907\u672a\u65ad\u7535\u548c\u672a\u91cd\u542f\u65f6\u6709\u6548\uff0c\u5982\u679c\u8bbe\u5907\u91cd\u542f\u6216\u8005\u65ad\u7535\uff0cIP\u7684\u8bbe\u5b9a\u4f1a\u81ea\u52a8\u6062\u590d\u5230\u51fa\u5382\u8bbe\u7f6e\u3002","title":"2.3.2 \u914d\u7f6e\u4e34\u65f6IP"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#24","text":"","title":"2.4 \u901a\u4fe1\u57fa\u677f\u7684\u91cd\u7f6e\u529f\u80fd"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#241","text":"\u5728PC\u7684IE\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165\u901a\u4fe1\u57fa\u677f\u7684IP\u5730\u5740\u8fdb\u884c\u641c\u7d22\uff08\u4ee5IP\u5730\u5740\u4e3a192.168.0.233\u4e3a\u4f8b\uff0c\u5728IE\u6d4f\u89c8\u5668\u4e2d\u5e94\u8f93\u5165 http://192.168.0.233/ \uff09\u6253\u5f00\u5982\u4e0b\u7684\u753b\u9762\u3002","title":"2.4.1 \u6253\u5f00\u57fa\u677f\u7ba1\u7406\u754c\u9762"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#242","text":"\u70b9\u51fb\u753b\u9762\u5de6\u4fa7\u7684\"\u6062\u590d\u51fa\u5382\u8bbe\u7f6e\"\u9879\uff0c\u8fdb\u5165\"\u6062\u590d\u51fa\u5382\u8bbe\u7f6e\"\u754c\u9762\u3002\u70b9\u51fb\"\u6062\u590d\"\u952e\u5373\u53ef\u6062\u590d\u51fa\u5382\u8bbe\u7f6e\u3002","title":"2.4.2 \u6267\u884c\u6062\u590d\u51fa\u5382\u8bbe\u7f6e"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#_7","text":"\u5355\u4eba\u8840\u6db2\u900f\u6790\u673a TQS-88 \u9009\u914d \u6570\u636e\u901a\u4fe1\u64cd\u4f5c\u624b\u518c 00\u7248\u53d1\u5e03 2019/01/11 \u4e1c\u4e3d\u533b\u7597\u79d1\u6280\uff08\u9752\u5c9b\uff09\u80a1\u4efd\u6709\u9650\u516c\u53f8 \u9752\u5c9b\u5e02\u5373\u58a8\u533a\u670d\u88c5\u5de5\u4e1a\u56ed\u5185\u5b54\u96c0\u6cb3\u56db\u8def63\u53f7 \u7535\u8bdd\uff1a0532-81721030 \u4f20\u771f\uff1a0532-81721025 \u90ae\u653f\u7f16\u7801\uff1a266200 \u2611 \u539f\u7248\u53d1\u884c \u25a1 \u539f\u7248\u8bd1\u672c","title":"\u6587\u6863\u4fe1\u606f"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#_8","text":"","title":"\u9644\u5f55"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/","text":"VMware ESXi\u4e2d\u6269\u5c55Home Assistant OS\u786c\u76d8\u7a7a\u95f4\u6307\u5357 \u00b6 \u6982\u8ff0 \u00b6 \u672c\u6587\u6863\u4ecb\u7ecd\u5982\u4f55\u5728VMware ESXi\u73af\u5883\u4e2d\u5c06\u901a\u8fc7OVA\u65b9\u5f0f\u5b89\u88c5\u7684Home Assistant OS\u865a\u62df\u673a\u786c\u76d8\u4ece32GB\u6269\u5c55\u5230500GB\u3002 \u524d\u63d0\u6761\u4ef6 \u00b6 VMware ESXi 5.5 \u6216\u66f4\u9ad8\u7248\u672c \u5df2\u5b89\u88c5\u7684Home Assistant OS\u865a\u62df\u673a ESXi\u4e3b\u673a\u6709\u8db3\u591f\u7684\u5b58\u50a8\u7a7a\u95f4\uff08\u81f3\u5c11500GB\u53ef\u7528\uff09 \u7ba1\u7406\u5458\u6743\u9650\u8bbf\u95eeESXi Web\u754c\u9762 \u64cd\u4f5c\u6b65\u9aa4 \u00b6 \u6b65\u9aa41\uff1a\u51c6\u5907\u5de5\u4f5c \u00b6 \u521b\u5efa\u865a\u62df\u673a\u5feb\u7167 \uff08\u5f3a\u70c8\u5efa\u8bae\uff09 \u5728ESXi Web\u754c\u9762\u4e2d\u9009\u62e9Home Assistant\u865a\u62df\u673a \u70b9\u51fb\"\u64cd\u4f5c\" \u2192 \"\u521b\u5efa\u5feb\u7167\" \u8f93\u5165\u5feb\u7167\u540d\u79f0\uff1a \u6269\u5bb9\u524d\u5907\u4efd_YYYY-MM-DD \u70b9\u51fb\"\u521b\u5efa\u5feb\u7167\" \u5b8c\u5168\u5173\u95ed\u865a\u62df\u673a \u5728Home Assistant\u754c\u9762\u4e2d\u9009\u62e9\"\u7cfb\u7edf\" \u2192 \"\u91cd\u542f\u7cfb\u7edf\" \u9009\u62e9\"\u5173\u673a\"\u9009\u9879 \u6216\u5728ESXi\u754c\u9762\u4e2d\u9009\u62e9\u865a\u62df\u673a\uff0c\u70b9\u51fb\"\u5173\u95ed\u7535\u6e90\" \u26a0\ufe0f \u91cd\u8981 \uff1a\u786e\u4fdd\u662f\u5b8c\u5168\u5173\u95ed\uff0c\u4e0d\u662f\u6302\u8d77\u72b6\u6001 \u6b65\u9aa42\uff1a\u5728ESXi\u4e2d\u6269\u5c55\u786c\u76d8 \u00b6 \u8fdb\u5165\u865a\u62df\u673a\u7f16\u8f91\u6a21\u5f0f \u5728ESXi Web\u754c\u9762\u4e2d\u53f3\u952e\u70b9\u51fbHome Assistant\u865a\u62df\u673a \u9009\u62e9\"\u7f16\u8f91\u8bbe\u7f6e\" \u4fee\u6539\u786c\u76d8\u5bb9\u91cf \u5728\u865a\u62df\u786c\u4ef6\u5217\u8868\u4e2d\u627e\u5230\"\u786c\u76d81\" \u5f53\u524d\u663e\u793a\u4e3a\"32 GB\" \u5c06\u6570\u503c\u6539\u4e3a\"500\"\uff0c\u5355\u4f4d\u4fdd\u6301\"GB\" \u70b9\u51fb\"\u4fdd\u5b58\" \u786e\u8ba4\u66f4\u6539 \u68c0\u67e5\u865a\u62df\u673a\u8bbe\u7f6e\u4e2d\u786c\u76d8\u5bb9\u91cf\u5df2\u663e\u793a\u4e3a500GB \u5173\u95ed\u7f16\u8f91\u7a97\u53e3 \u6b65\u9aa43\uff1a\u542f\u52a8\u865a\u62df\u673a \u00b6 \u542f\u52a8Home Assistant \u70b9\u51fb\u865a\u62df\u673a\u7684\"\u5f00\u542f\u7535\u6e90\"\u6309\u94ae \u7b49\u5f85Home Assistant\u5b8c\u5168\u542f\u52a8 \u901a\u8fc7Web\u754c\u9762\u786e\u8ba4\u7cfb\u7edf\u6b63\u5e38\u8fd0\u884c \u6b65\u9aa44\uff1a\u6269\u5c55\u6587\u4ef6\u7cfb\u7edf \u00b6 \u865a\u62df\u786c\u76d8\u5df2\u6269\u5c55\uff0c\u4f46\u64cd\u4f5c\u7cfb\u7edf\u8fd8\u9700\u8981\u8bc6\u522b\u5e76\u4f7f\u7528\u65b0\u589e\u7a7a\u95f4\u3002 \u65b9\u6cd51\uff1a\u4f7f\u7528Home Assistant\u5185\u7f6e\u5de5\u5177\uff08\u63a8\u8350\uff09 \u00b6 \u8bbf\u95eeHome Assistant\u7ec8\u7aef \u5728Home Assistant Web\u754c\u9762\u4e2d \u8fdb\u5165\"\u8bbe\u7f6e\" \u2192 \"\u9644\u52a0\u7ec4\u4ef6\" \u2192 \"Advanced SSH & Web Terminal\" \u5982\u679c\u6ca1\u6709\u5b89\u88c5\uff0c\u9700\u8981\u5148\u5b89\u88c5SSH\u9644\u52a0\u7ec4\u4ef6 \u6267\u884c\u6269\u5c55\u547d\u4ee4 ```bash # \u67e5\u770b\u5f53\u524d\u78c1\u76d8\u4f7f\u7528\u60c5\u51b5 df -h # \u6269\u5c55\u6839\u5206\u533a\uff08\u901a\u5e38\u662f/dev/sda8\uff09 resize2fs /dev/sda8 # \u518d\u6b21\u67e5\u770b\u78c1\u76d8\u4f7f\u7528\u60c5\u51b5\uff0c\u786e\u8ba4\u6269\u5c55\u6210\u529f df -h ``` \u65b9\u6cd52\uff1a\u4f7f\u7528SSH\u8fde\u63a5\uff08\u5907\u9009\uff09 \u00b6 \u542f\u7528SSH \u5728Home Assistant Web\u754c\u9762\u4e2d\u542f\u7528SSH\u529f\u80fd \u901a\u8fc7SSH\u8fde\u63a5 ```bash # \u8fde\u63a5\u5230Home Assistant ssh root@[Home_Assistant_IP] # \u67e5\u770b\u78c1\u76d8\u5206\u533a fdisk -l # \u6269\u5c55\u6587\u4ef6\u7cfb\u7edf resize2fs /dev/sda8 ``` \u6b65\u9aa45\uff1a\u9a8c\u8bc1\u6269\u5c55\u7ed3\u679c \u00b6 \u68c0\u67e5\u5b58\u50a8\u7a7a\u95f4 \u901a\u8fc7SSH\u6216\u7ec8\u7aef\u6267\u884c\u547d\u4ee4\uff1a df -h \u6216\u5728Home Assistant Web\u754c\u9762\u4e2d\u8fdb\u5165\"\u8bbe\u7f6e\" \u2192 \"\u7cfb\u7edf\" \u2192 \"\u5b58\u50a8\" \u786e\u8ba4\u53ef\u7528\u7a7a\u95f4\u63a5\u8fd1500GB \u6210\u529f\u6848\u4f8b\u8f93\u51fa\u793a\u4f8b\uff1a bash \u279c ~ df -h Filesystem Size Used Available Use% Mounted on /dev/sda8 491.4G 5.4G 466.0G 1% /homeassistant /dev/sda8 491.4G 5.4G 466.0G 1% /data /dev/sda8 491.4G 5.4G 466.0G 1% /backup /dev/sda8 491.4G 5.4G 466.0G 1% /media /dev/sda8 491.4G 5.4G 466.0G 1% /share \u53ef\u4ee5\u770b\u5230 /dev/sda8 \u5206\u533a\u5df2\u6210\u529f\u6269\u5c55\u5230 491.4GB \uff0c\u53ef\u7528\u7a7a\u95f4 466.0GB \u3002 \u9a8c\u8bc1\u7cfb\u7edf\u7a33\u5b9a\u6027 \u91cd\u542fHome Assistant\u7cfb\u7edf \u786e\u8ba4\u6240\u6709\u529f\u80fd\u6b63\u5e38\u5de5\u4f5c \u68c0\u67e5\u65e5\u5fd7\u4e2d\u65e0\u9519\u8bef\u4fe1\u606f \u6545\u969c\u6392\u9664 \u00b6 \u95ee\u98981\uff1a\u865a\u62df\u673a\u65e0\u6cd5\u542f\u52a8 \u00b6 \u89e3\u51b3\u65b9\u6848\uff1a - \u68c0\u67e5ESXi\u4e3b\u673a\u5b58\u50a8\u7a7a\u95f4\u662f\u5426\u5145\u8db3 - \u6062\u590d\u5230\u6269\u5bb9\u524d\u7684\u5feb\u7167 - \u91cd\u65b0\u6267\u884c\u6269\u5bb9\u6b65\u9aa4 \u95ee\u98982\uff1a\u6587\u4ef6\u7cfb\u7edf\u6269\u5c55\u5931\u8d25 \u00b6 \u89e3\u51b3\u65b9\u6848\uff1a # \u68c0\u67e5\u6587\u4ef6\u7cfb\u7edf fsck /dev/sda8 # \u5f3a\u5236\u6269\u5c55 resize2fs -f /dev/sda8 \u95ee\u98983\uff1a\u6269\u5c55\u540e\u7a7a\u95f4\u672a\u663e\u793a \u00b6 \u89e3\u51b3\u65b9\u6848\uff1a - \u91cd\u542fHome Assistant\u7cfb\u7edf - \u68c0\u67e5\u5206\u533a\u8868\uff1a fdisk -l - \u624b\u52a8\u6269\u5c55\u5206\u533a\uff1a parted /dev/sda resizepart 8 100% \u6ce8\u610f\u4e8b\u9879 \u00b6 \u26a0\ufe0f \u5b89\u5168\u8b66\u544a \u00b6 \u5fc5\u987b \u5728\u64cd\u4f5c\u524d\u521b\u5efa\u865a\u62df\u673a\u5feb\u7167 \u786e\u4fdd\u5728\u7ef4\u62a4\u7a97\u53e3\u671f\u95f4\u6267\u884c\u6b64\u64cd\u4f5c \u5efa\u8bae\u5728\u6d4b\u8bd5\u73af\u5883\u4e2d\u5148\u9a8c\u8bc1\u6b65\u9aa4 \ud83d\udca1 \u6700\u4f73\u5b9e\u8df5 \u00b6 \u5b9a\u671f\u5907\u4efdHome Assistant\u914d\u7f6e \u76d1\u63a7ESXi\u4e3b\u673a\u5b58\u50a8\u4f7f\u7528\u60c5\u51b5 \u8003\u8651\u4f7f\u7528\u7cbe\u7b80\u914d\u7f6e\u78c1\u76d8\u4ee5\u8282\u7701\u7a7a\u95f4 \ud83d\udccb \u9a8c\u8bc1\u6e05\u5355 \u00b6 \u521b\u5efa\u865a\u62df\u673a\u5feb\u7167 \u5b8c\u5168\u5173\u95ed\u865a\u62df\u673a \u4fee\u6539\u865a\u62df\u786c\u76d8\u5927\u5c0f\u4e3a500GB \u542f\u52a8\u865a\u62df\u673a\u5e76\u786e\u8ba4\u6b63\u5e38\u8fd0\u884c \u6267\u884c\u6587\u4ef6\u7cfb\u7edf\u6269\u5c55\u547d\u4ee4 \u9a8c\u8bc1\u5b58\u50a8\u7a7a\u95f4\u663e\u793a\u63a5\u8fd1500GB \u6d4b\u8bd5Home Assistant\u6240\u6709\u529f\u80fd \u5220\u9664\u4e0d\u9700\u8981\u7684\u5feb\u7167\uff08\u53ef\u9009\uff09 \u76f8\u5173\u6587\u6863 \u00b6 Home Assistant\u5907\u4efd\u548c\u6062\u590d\u6307\u5357 VMware ESXi\u865a\u62df\u673a\u7ba1\u7406\u6307\u5357 \u66f4\u65b0\u8bb0\u5f55 \u00b6 2025-07-17\uff1a\u521d\u59cb\u7248\u672c\u521b\u5efa 2025-07-17\uff1a\u6dfb\u52a0\u6210\u529f\u6848\u4f8b\u9a8c\u8bc1\uff0c\u786e\u8ba432GB\u2192500GB\u6269\u5c55\u5b8c\u5168\u6210\u529f \u5305\u542b\u4ece32GB\u6269\u5c55\u5230500GB\u7684\u5b8c\u6574\u6b65\u9aa4\u548c\u5b9e\u9645\u9a8c\u8bc1\u7ed3\u679c \u6587\u6863\u4f5c\u8005 \uff1a\u6280\u672f\u56e2\u961f \u6700\u540e\u66f4\u65b0 \uff1a2025\u5e747\u670817\u65e5 \u9002\u7528\u7248\u672c \uff1aVMware ESXi 5.5+, Home Assistant OS \u6240\u6709\u7248\u672c","title":"VMware-ESXi\u6269\u5c55HomeAssistant\u786c\u76d8\u6307\u5357"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#vmware-esxihome-assistant-os","text":"","title":"VMware ESXi\u4e2d\u6269\u5c55Home Assistant OS\u786c\u76d8\u7a7a\u95f4\u6307\u5357"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_1","text":"\u672c\u6587\u6863\u4ecb\u7ecd\u5982\u4f55\u5728VMware ESXi\u73af\u5883\u4e2d\u5c06\u901a\u8fc7OVA\u65b9\u5f0f\u5b89\u88c5\u7684Home Assistant OS\u865a\u62df\u673a\u786c\u76d8\u4ece32GB\u6269\u5c55\u5230500GB\u3002","title":"\u6982\u8ff0"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_2","text":"VMware ESXi 5.5 \u6216\u66f4\u9ad8\u7248\u672c \u5df2\u5b89\u88c5\u7684Home Assistant OS\u865a\u62df\u673a ESXi\u4e3b\u673a\u6709\u8db3\u591f\u7684\u5b58\u50a8\u7a7a\u95f4\uff08\u81f3\u5c11500GB\u53ef\u7528\uff09 \u7ba1\u7406\u5458\u6743\u9650\u8bbf\u95eeESXi Web\u754c\u9762","title":"\u524d\u63d0\u6761\u4ef6"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_3","text":"","title":"\u64cd\u4f5c\u6b65\u9aa4"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#1","text":"\u521b\u5efa\u865a\u62df\u673a\u5feb\u7167 \uff08\u5f3a\u70c8\u5efa\u8bae\uff09 \u5728ESXi Web\u754c\u9762\u4e2d\u9009\u62e9Home Assistant\u865a\u62df\u673a \u70b9\u51fb\"\u64cd\u4f5c\" \u2192 \"\u521b\u5efa\u5feb\u7167\" \u8f93\u5165\u5feb\u7167\u540d\u79f0\uff1a \u6269\u5bb9\u524d\u5907\u4efd_YYYY-MM-DD \u70b9\u51fb\"\u521b\u5efa\u5feb\u7167\" \u5b8c\u5168\u5173\u95ed\u865a\u62df\u673a \u5728Home Assistant\u754c\u9762\u4e2d\u9009\u62e9\"\u7cfb\u7edf\" \u2192 \"\u91cd\u542f\u7cfb\u7edf\" \u9009\u62e9\"\u5173\u673a\"\u9009\u9879 \u6216\u5728ESXi\u754c\u9762\u4e2d\u9009\u62e9\u865a\u62df\u673a\uff0c\u70b9\u51fb\"\u5173\u95ed\u7535\u6e90\" \u26a0\ufe0f \u91cd\u8981 \uff1a\u786e\u4fdd\u662f\u5b8c\u5168\u5173\u95ed\uff0c\u4e0d\u662f\u6302\u8d77\u72b6\u6001","title":"\u6b65\u9aa41\uff1a\u51c6\u5907\u5de5\u4f5c"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#2esxi","text":"\u8fdb\u5165\u865a\u62df\u673a\u7f16\u8f91\u6a21\u5f0f \u5728ESXi Web\u754c\u9762\u4e2d\u53f3\u952e\u70b9\u51fbHome Assistant\u865a\u62df\u673a \u9009\u62e9\"\u7f16\u8f91\u8bbe\u7f6e\" \u4fee\u6539\u786c\u76d8\u5bb9\u91cf \u5728\u865a\u62df\u786c\u4ef6\u5217\u8868\u4e2d\u627e\u5230\"\u786c\u76d81\" \u5f53\u524d\u663e\u793a\u4e3a\"32 GB\" \u5c06\u6570\u503c\u6539\u4e3a\"500\"\uff0c\u5355\u4f4d\u4fdd\u6301\"GB\" \u70b9\u51fb\"\u4fdd\u5b58\" \u786e\u8ba4\u66f4\u6539 \u68c0\u67e5\u865a\u62df\u673a\u8bbe\u7f6e\u4e2d\u786c\u76d8\u5bb9\u91cf\u5df2\u663e\u793a\u4e3a500GB \u5173\u95ed\u7f16\u8f91\u7a97\u53e3","title":"\u6b65\u9aa42\uff1a\u5728ESXi\u4e2d\u6269\u5c55\u786c\u76d8"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#3","text":"\u542f\u52a8Home Assistant \u70b9\u51fb\u865a\u62df\u673a\u7684\"\u5f00\u542f\u7535\u6e90\"\u6309\u94ae \u7b49\u5f85Home Assistant\u5b8c\u5168\u542f\u52a8 \u901a\u8fc7Web\u754c\u9762\u786e\u8ba4\u7cfb\u7edf\u6b63\u5e38\u8fd0\u884c","title":"\u6b65\u9aa43\uff1a\u542f\u52a8\u865a\u62df\u673a"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#4","text":"\u865a\u62df\u786c\u76d8\u5df2\u6269\u5c55\uff0c\u4f46\u64cd\u4f5c\u7cfb\u7edf\u8fd8\u9700\u8981\u8bc6\u522b\u5e76\u4f7f\u7528\u65b0\u589e\u7a7a\u95f4\u3002","title":"\u6b65\u9aa44\uff1a\u6269\u5c55\u6587\u4ef6\u7cfb\u7edf"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#1home-assistant","text":"\u8bbf\u95eeHome Assistant\u7ec8\u7aef \u5728Home Assistant Web\u754c\u9762\u4e2d \u8fdb\u5165\"\u8bbe\u7f6e\" \u2192 \"\u9644\u52a0\u7ec4\u4ef6\" \u2192 \"Advanced SSH & Web Terminal\" \u5982\u679c\u6ca1\u6709\u5b89\u88c5\uff0c\u9700\u8981\u5148\u5b89\u88c5SSH\u9644\u52a0\u7ec4\u4ef6 \u6267\u884c\u6269\u5c55\u547d\u4ee4 ```bash # \u67e5\u770b\u5f53\u524d\u78c1\u76d8\u4f7f\u7528\u60c5\u51b5 df -h # \u6269\u5c55\u6839\u5206\u533a\uff08\u901a\u5e38\u662f/dev/sda8\uff09 resize2fs /dev/sda8 # \u518d\u6b21\u67e5\u770b\u78c1\u76d8\u4f7f\u7528\u60c5\u51b5\uff0c\u786e\u8ba4\u6269\u5c55\u6210\u529f df -h ```","title":"\u65b9\u6cd51\uff1a\u4f7f\u7528Home Assistant\u5185\u7f6e\u5de5\u5177\uff08\u63a8\u8350\uff09"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#2ssh","text":"\u542f\u7528SSH \u5728Home Assistant Web\u754c\u9762\u4e2d\u542f\u7528SSH\u529f\u80fd \u901a\u8fc7SSH\u8fde\u63a5 ```bash # \u8fde\u63a5\u5230Home Assistant ssh root@[Home_Assistant_IP] # \u67e5\u770b\u78c1\u76d8\u5206\u533a fdisk -l # \u6269\u5c55\u6587\u4ef6\u7cfb\u7edf resize2fs /dev/sda8 ```","title":"\u65b9\u6cd52\uff1a\u4f7f\u7528SSH\u8fde\u63a5\uff08\u5907\u9009\uff09"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#5","text":"\u68c0\u67e5\u5b58\u50a8\u7a7a\u95f4 \u901a\u8fc7SSH\u6216\u7ec8\u7aef\u6267\u884c\u547d\u4ee4\uff1a df -h \u6216\u5728Home Assistant Web\u754c\u9762\u4e2d\u8fdb\u5165\"\u8bbe\u7f6e\" \u2192 \"\u7cfb\u7edf\" \u2192 \"\u5b58\u50a8\" \u786e\u8ba4\u53ef\u7528\u7a7a\u95f4\u63a5\u8fd1500GB \u6210\u529f\u6848\u4f8b\u8f93\u51fa\u793a\u4f8b\uff1a bash \u279c ~ df -h Filesystem Size Used Available Use% Mounted on /dev/sda8 491.4G 5.4G 466.0G 1% /homeassistant /dev/sda8 491.4G 5.4G 466.0G 1% /data /dev/sda8 491.4G 5.4G 466.0G 1% /backup /dev/sda8 491.4G 5.4G 466.0G 1% /media /dev/sda8 491.4G 5.4G 466.0G 1% /share \u53ef\u4ee5\u770b\u5230 /dev/sda8 \u5206\u533a\u5df2\u6210\u529f\u6269\u5c55\u5230 491.4GB \uff0c\u53ef\u7528\u7a7a\u95f4 466.0GB \u3002 \u9a8c\u8bc1\u7cfb\u7edf\u7a33\u5b9a\u6027 \u91cd\u542fHome Assistant\u7cfb\u7edf \u786e\u8ba4\u6240\u6709\u529f\u80fd\u6b63\u5e38\u5de5\u4f5c \u68c0\u67e5\u65e5\u5fd7\u4e2d\u65e0\u9519\u8bef\u4fe1\u606f","title":"\u6b65\u9aa45\uff1a\u9a8c\u8bc1\u6269\u5c55\u7ed3\u679c"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_4","text":"","title":"\u6545\u969c\u6392\u9664"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#1_1","text":"\u89e3\u51b3\u65b9\u6848\uff1a - \u68c0\u67e5ESXi\u4e3b\u673a\u5b58\u50a8\u7a7a\u95f4\u662f\u5426\u5145\u8db3 - \u6062\u590d\u5230\u6269\u5bb9\u524d\u7684\u5feb\u7167 - \u91cd\u65b0\u6267\u884c\u6269\u5bb9\u6b65\u9aa4","title":"\u95ee\u98981\uff1a\u865a\u62df\u673a\u65e0\u6cd5\u542f\u52a8"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#2","text":"\u89e3\u51b3\u65b9\u6848\uff1a # \u68c0\u67e5\u6587\u4ef6\u7cfb\u7edf fsck /dev/sda8 # \u5f3a\u5236\u6269\u5c55 resize2fs -f /dev/sda8","title":"\u95ee\u98982\uff1a\u6587\u4ef6\u7cfb\u7edf\u6269\u5c55\u5931\u8d25"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#3_1","text":"\u89e3\u51b3\u65b9\u6848\uff1a - \u91cd\u542fHome Assistant\u7cfb\u7edf - \u68c0\u67e5\u5206\u533a\u8868\uff1a fdisk -l - \u624b\u52a8\u6269\u5c55\u5206\u533a\uff1a parted /dev/sda resizepart 8 100%","title":"\u95ee\u98983\uff1a\u6269\u5c55\u540e\u7a7a\u95f4\u672a\u663e\u793a"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_5","text":"","title":"\u6ce8\u610f\u4e8b\u9879"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_6","text":"\u5fc5\u987b \u5728\u64cd\u4f5c\u524d\u521b\u5efa\u865a\u62df\u673a\u5feb\u7167 \u786e\u4fdd\u5728\u7ef4\u62a4\u7a97\u53e3\u671f\u95f4\u6267\u884c\u6b64\u64cd\u4f5c \u5efa\u8bae\u5728\u6d4b\u8bd5\u73af\u5883\u4e2d\u5148\u9a8c\u8bc1\u6b65\u9aa4","title":"\u26a0\ufe0f \u5b89\u5168\u8b66\u544a"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_7","text":"\u5b9a\u671f\u5907\u4efdHome Assistant\u914d\u7f6e \u76d1\u63a7ESXi\u4e3b\u673a\u5b58\u50a8\u4f7f\u7528\u60c5\u51b5 \u8003\u8651\u4f7f\u7528\u7cbe\u7b80\u914d\u7f6e\u78c1\u76d8\u4ee5\u8282\u7701\u7a7a\u95f4","title":"\ud83d\udca1 \u6700\u4f73\u5b9e\u8df5"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_8","text":"\u521b\u5efa\u865a\u62df\u673a\u5feb\u7167 \u5b8c\u5168\u5173\u95ed\u865a\u62df\u673a \u4fee\u6539\u865a\u62df\u786c\u76d8\u5927\u5c0f\u4e3a500GB \u542f\u52a8\u865a\u62df\u673a\u5e76\u786e\u8ba4\u6b63\u5e38\u8fd0\u884c \u6267\u884c\u6587\u4ef6\u7cfb\u7edf\u6269\u5c55\u547d\u4ee4 \u9a8c\u8bc1\u5b58\u50a8\u7a7a\u95f4\u663e\u793a\u63a5\u8fd1500GB \u6d4b\u8bd5Home Assistant\u6240\u6709\u529f\u80fd \u5220\u9664\u4e0d\u9700\u8981\u7684\u5feb\u7167\uff08\u53ef\u9009\uff09","title":"\ud83d\udccb \u9a8c\u8bc1\u6e05\u5355"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_9","text":"Home Assistant\u5907\u4efd\u548c\u6062\u590d\u6307\u5357 VMware ESXi\u865a\u62df\u673a\u7ba1\u7406\u6307\u5357","title":"\u76f8\u5173\u6587\u6863"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_10","text":"2025-07-17\uff1a\u521d\u59cb\u7248\u672c\u521b\u5efa 2025-07-17\uff1a\u6dfb\u52a0\u6210\u529f\u6848\u4f8b\u9a8c\u8bc1\uff0c\u786e\u8ba432GB\u2192500GB\u6269\u5c55\u5b8c\u5168\u6210\u529f \u5305\u542b\u4ece32GB\u6269\u5c55\u5230500GB\u7684\u5b8c\u6574\u6b65\u9aa4\u548c\u5b9e\u9645\u9a8c\u8bc1\u7ed3\u679c \u6587\u6863\u4f5c\u8005 \uff1a\u6280\u672f\u56e2\u961f \u6700\u540e\u66f4\u65b0 \uff1a2025\u5e747\u670817\u65e5 \u9002\u7528\u7248\u672c \uff1aVMware ESXi 5.5+, Home Assistant OS \u6240\u6709\u7248\u672c","title":"\u66f4\u65b0\u8bb0\u5f55"},{"location":"Usages/QA/errorsQA/","text":"\u5e38\u89c1\u9519\u8bef \u00b6 \u914d\u7f6e\u6587\u4ef6\u51fa\u9519 \u00b6 \u5f53\u51fa\u73b0\u8fd9\u79cd\u56fe,\u4f30\u8ba1\u662f\u914d\u7f6e\u6587\u4ef6\u683c\u5f0f\u51fa\u9519,\u4e0d\u7b26\u5408yam\u683c\u5f0f,\u8bf7\u7528\u5171\u4eab\u76ee\u5f55smb\u6216ssh\u6253\u5f00\u914d\u7f6e\u6587\u4ef6\u4fee\u6b63\u683c\u5f0f\u540e,\u91cd\u542f\u518d\u8bd5","title":"errorsQA"},{"location":"Usages/QA/errorsQA/#_1","text":"","title":"\u5e38\u89c1\u9519\u8bef"},{"location":"Usages/QA/errorsQA/#_2","text":"\u5f53\u51fa\u73b0\u8fd9\u79cd\u56fe,\u4f30\u8ba1\u662f\u914d\u7f6e\u6587\u4ef6\u683c\u5f0f\u51fa\u9519,\u4e0d\u7b26\u5408yam\u683c\u5f0f,\u8bf7\u7528\u5171\u4eab\u76ee\u5f55smb\u6216ssh\u6253\u5f00\u914d\u7f6e\u6587\u4ef6\u4fee\u6b63\u683c\u5f0f\u540e,\u91cd\u542f\u518d\u8bd5","title":"\u914d\u7f6e\u6587\u4ef6\u51fa\u9519"},{"location":"Usages/QA/ubunte-desktop%E6%A1%8C%E9%9D%A2%E7%B3%BB%E7%BB%9F%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AE%E5%BC%80%E5%90%AF%E8%BF%9C%E7%A8%8B%E5%8D%8F%E5%8A%A9/","text":"\u5b89\u88c5curl \u00b6 \u5148\u68c0\u67e5\u662f\u5426\u5b89\u88c5curl\u5982\u679c\u6ca1\u88c5\uff0c\u5219\u5148\u7528\u4ee5\u4e0b\u6307\u4ee4\u5b89\u88c5 sudo apt update sudo apt install curl \u914d\u7f6e\u8fdc\u7a0b\u534f\u52a9\u5f00\u673a\u52a8\u767b\u5f55\u4e0eedge\u81ea\u542f \u00b6 \u6253\u5f00\u7ec8\u7aef,\u590d\u5236\u4e0b\u9762\u547d\u4ee4\uff0c\u6267\u884c\uff0c\u5b8c\u6210\u540e\u91cd\u542f\u7535\u8111\u5373\u53ef\u3002 curl -fsSL http://datacdn.data-it.tech/HomeAssistant/tools/install-uds.sh | bash \u8fd9\u4e2a\u8fc7\u7a0b\u53ef\u80fd\u6bd4\u8f83\u4e45\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\u3002 \u672c\u811a\u672c\u5b9e\u5b9e\u73b0\u7684\u529f\u80fd \u00b6 SSH\u670d\u52a1 - \u81ea\u52a8\u5b89\u88c5\u5e76\u542f\u7528SSH\u670d\u52a1 \u7cfb\u7edf\u66f4\u65b0 - \u66f4\u65b0\u7cfb\u7edf\u8f6f\u4ef6\u5305\u5230\u6700\u65b0\u7248\u672c \u7981\u7528\u81ea\u52a8\u5f85\u673a - \u963b\u6b62\u7cfb\u7edfAC\u7535\u6e90\u548c\u7535\u6c60\u6a21\u5f0f\u4e0b\u81ea\u52a8\u7761\u7720 \u7981\u7528\u5c4f\u5e55\u9501\u5b9a - \u53d6\u6d88\u5c4f\u5e55\u4fdd\u62a4\u7a0b\u5e8f\u9501\u5b9a\u529f\u80fd \u7981\u7528\u5c4f\u5e55\u81ea\u52a8\u5173\u95ed - \u9632\u6b62\u663e\u793a\u5668\u81ea\u52a8\u5173\u95ed \u7981\u7528\u81ea\u52a8\u66f4\u65b0 - \u914d\u7f6eAPT\u7b56\u7565\u963b\u6b62\u7cfb\u7edf\u81ea\u52a8\u66f4\u65b0 \u7981\u7528MOTD\u901a\u77e5 - \u5173\u95ed\u767b\u5f55\u65f6\u7684\u65b0\u95fb\u901a\u77e5 Microsoft Edge\u5b89\u88c5 - \u81ea\u52a8\u4e0b\u8f7d\u5b89\u88c5\u6700\u65b0\u7248Edge\u6d4f\u89c8\u5668 \u81ea\u52a8\u767b\u5f55\u914d\u7f6e - \u8bbe\u7f6eGDM\u81ea\u52a8\u767b\u5f55\uff0c\u91cd\u542f\u540e\u65e0\u9700\u5bc6\u7801 XRDP\u8fdc\u7a0b\u684c\u9762 - \u5b89\u88c5\u914d\u7f6eRDP\u8fdc\u7a0b\u684c\u9762\u670d\u52a1\uff08\u7aef\u53e33389\uff09 Polkit\u7b56\u7565\u914d\u7f6e - \u89e3\u51b3\u8fdc\u7a0b\u684c\u9762\u6743\u9650\u8ba4\u8bc1\u95ee\u9898 \u9632\u706b\u5899\u914d\u7f6e - \u667a\u80fd\u68c0\u6d4bUFW\u72b6\u6001\u5e76\u914d\u7f6e\u5fc5\u8981\u7aef\u53e3 \u4e2d\u6587\u8f93\u5165\u6cd5 - \u5b89\u88c5ibus-pinyin\u4e2d\u6587\u62fc\u97f3\u8f93\u5165\u6cd5 NoMachine\u8fdc\u7a0b\u8f6f\u4ef6 - \u667a\u80fd\u68c0\u6d4b\u5b89\u88c5NoMachine\uff08\u7aef\u53e34000\uff09 Edge Kiosk\u81ea\u542f\u52a8 - \u914d\u7f6eEdge\u5168\u5c4f\u6a21\u5f0f\u81ea\u52a8\u542f\u52a8\u6307\u5b9a\u7f51\u9875 \u5bc6\u94a5\u73af\u5904\u7406 - \u914d\u7f6e\u542f\u52a8\u53c2\u6570\u907f\u514d\u5bc6\u94a5\u73af\u5bc6\u7801\u63d0\u793a \u684c\u9762\u81ea\u542f\u52a8\u6587\u4ef6 - \u521b\u5efaautostart\u684c\u9762\u6587\u4ef6\u5b9e\u73b0\u81ea\u542f\u52a8 \u5907\u7528\u542f\u52a8\u811a\u672c - \u63d0\u4f9bbackup\u542f\u52a8\u811a\u672c\u4f5c\u4e3a\u5907\u7528\u65b9\u6848 \u670d\u52a1\u6e05\u7406 - \u81ea\u52a8\u6e05\u7406\u51b2\u7a81\u7684systemd\u670d\u52a1 \u5b8c\u6574\u65e5\u5fd7\u8bb0\u5f55 - \u8bb0\u5f55\u6240\u6709\u64cd\u4f5c\u5230\u65e5\u5fd7\u6587\u4ef6 \u9519\u8bef\u5904\u7406\u673a\u5236 - \u6bcf\u6b65\u9aa4\u5b8c\u5584\u7684\u9519\u8bef\u68c0\u6d4b\u5904\u7406 \u65e0\u4ea4\u4e92\u6a21\u5f0f - \u652f\u6301curl\u8fdc\u7a0b\u6267\u884c\u65e0\u9700\u7528\u6237\u8f93\u5165 \u73af\u5883\u53d8\u91cf\u652f\u6301 - \u53ef\u901a\u8fc7KIOSK_URL\u81ea\u5b9a\u4e49\u542f\u52a8\u9875\u9762 \u9632\u706b\u5899\u7aef\u53e3\u7ba1\u7406 - \u81ea\u52a8\u5f00\u653eSSH/RDP/NoMachine\u7aef\u53e3 \u5b89\u5168\u53c2\u6570\u914d\u7f6e - Edge\u542f\u52a8\u5305\u542b\u5b89\u5168\u548c\u517c\u5bb9\u6027\u53c2\u6570 \u4fee\u6539\u5927\u5c4f\u6253\u5f00\u7684\u5730\u5740 \u00b6 \u627e\u5230\u811a\u672c\u7684\u7b2c192\u884c\uff0c\u4fee\u6539\u5ba2\u6237\u4ee3\u7801\uff0c \u627e\u5230\u811a\u672c\u7684\u7b2c193\u884c\uff0c\u4fee\u6539\u7b2c\u9875\u663e\u793a\u6570\u91cf \u5982\u4e0b\u56fe\u6240\u793a","title":"Ubuntu-desktop\u684c\u9762\u7cfb\u7edf\u5982\u4f55\u914d\u7f6e\u5f00\u542f\u8fdc\u7a0b\u534f\u52a9"},{"location":"Usages/QA/ubunte-desktop%E6%A1%8C%E9%9D%A2%E7%B3%BB%E7%BB%9F%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AE%E5%BC%80%E5%90%AF%E8%BF%9C%E7%A8%8B%E5%8D%8F%E5%8A%A9/#curl","text":"\u5148\u68c0\u67e5\u662f\u5426\u5b89\u88c5curl\u5982\u679c\u6ca1\u88c5\uff0c\u5219\u5148\u7528\u4ee5\u4e0b\u6307\u4ee4\u5b89\u88c5 sudo apt update sudo apt install curl","title":"\u5b89\u88c5curl"},{"location":"Usages/QA/ubunte-desktop%E6%A1%8C%E9%9D%A2%E7%B3%BB%E7%BB%9F%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AE%E5%BC%80%E5%90%AF%E8%BF%9C%E7%A8%8B%E5%8D%8F%E5%8A%A9/#edge","text":"\u6253\u5f00\u7ec8\u7aef,\u590d\u5236\u4e0b\u9762\u547d\u4ee4\uff0c\u6267\u884c\uff0c\u5b8c\u6210\u540e\u91cd\u542f\u7535\u8111\u5373\u53ef\u3002 curl -fsSL http://datacdn.data-it.tech/HomeAssistant/tools/install-uds.sh | bash \u8fd9\u4e2a\u8fc7\u7a0b\u53ef\u80fd\u6bd4\u8f83\u4e45\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\u3002","title":"\u914d\u7f6e\u8fdc\u7a0b\u534f\u52a9\u5f00\u673a\u52a8\u767b\u5f55\u4e0eedge\u81ea\u542f"},{"location":"Usages/QA/ubunte-desktop%E6%A1%8C%E9%9D%A2%E7%B3%BB%E7%BB%9F%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AE%E5%BC%80%E5%90%AF%E8%BF%9C%E7%A8%8B%E5%8D%8F%E5%8A%A9/#_1","text":"SSH\u670d\u52a1 - \u81ea\u52a8\u5b89\u88c5\u5e76\u542f\u7528SSH\u670d\u52a1 \u7cfb\u7edf\u66f4\u65b0 - \u66f4\u65b0\u7cfb\u7edf\u8f6f\u4ef6\u5305\u5230\u6700\u65b0\u7248\u672c \u7981\u7528\u81ea\u52a8\u5f85\u673a - \u963b\u6b62\u7cfb\u7edfAC\u7535\u6e90\u548c\u7535\u6c60\u6a21\u5f0f\u4e0b\u81ea\u52a8\u7761\u7720 \u7981\u7528\u5c4f\u5e55\u9501\u5b9a - \u53d6\u6d88\u5c4f\u5e55\u4fdd\u62a4\u7a0b\u5e8f\u9501\u5b9a\u529f\u80fd \u7981\u7528\u5c4f\u5e55\u81ea\u52a8\u5173\u95ed - \u9632\u6b62\u663e\u793a\u5668\u81ea\u52a8\u5173\u95ed \u7981\u7528\u81ea\u52a8\u66f4\u65b0 - \u914d\u7f6eAPT\u7b56\u7565\u963b\u6b62\u7cfb\u7edf\u81ea\u52a8\u66f4\u65b0 \u7981\u7528MOTD\u901a\u77e5 - \u5173\u95ed\u767b\u5f55\u65f6\u7684\u65b0\u95fb\u901a\u77e5 Microsoft Edge\u5b89\u88c5 - \u81ea\u52a8\u4e0b\u8f7d\u5b89\u88c5\u6700\u65b0\u7248Edge\u6d4f\u89c8\u5668 \u81ea\u52a8\u767b\u5f55\u914d\u7f6e - \u8bbe\u7f6eGDM\u81ea\u52a8\u767b\u5f55\uff0c\u91cd\u542f\u540e\u65e0\u9700\u5bc6\u7801 XRDP\u8fdc\u7a0b\u684c\u9762 - \u5b89\u88c5\u914d\u7f6eRDP\u8fdc\u7a0b\u684c\u9762\u670d\u52a1\uff08\u7aef\u53e33389\uff09 Polkit\u7b56\u7565\u914d\u7f6e - \u89e3\u51b3\u8fdc\u7a0b\u684c\u9762\u6743\u9650\u8ba4\u8bc1\u95ee\u9898 \u9632\u706b\u5899\u914d\u7f6e - \u667a\u80fd\u68c0\u6d4bUFW\u72b6\u6001\u5e76\u914d\u7f6e\u5fc5\u8981\u7aef\u53e3 \u4e2d\u6587\u8f93\u5165\u6cd5 - \u5b89\u88c5ibus-pinyin\u4e2d\u6587\u62fc\u97f3\u8f93\u5165\u6cd5 NoMachine\u8fdc\u7a0b\u8f6f\u4ef6 - \u667a\u80fd\u68c0\u6d4b\u5b89\u88c5NoMachine\uff08\u7aef\u53e34000\uff09 Edge Kiosk\u81ea\u542f\u52a8 - \u914d\u7f6eEdge\u5168\u5c4f\u6a21\u5f0f\u81ea\u52a8\u542f\u52a8\u6307\u5b9a\u7f51\u9875 \u5bc6\u94a5\u73af\u5904\u7406 - \u914d\u7f6e\u542f\u52a8\u53c2\u6570\u907f\u514d\u5bc6\u94a5\u73af\u5bc6\u7801\u63d0\u793a \u684c\u9762\u81ea\u542f\u52a8\u6587\u4ef6 - \u521b\u5efaautostart\u684c\u9762\u6587\u4ef6\u5b9e\u73b0\u81ea\u542f\u52a8 \u5907\u7528\u542f\u52a8\u811a\u672c - \u63d0\u4f9bbackup\u542f\u52a8\u811a\u672c\u4f5c\u4e3a\u5907\u7528\u65b9\u6848 \u670d\u52a1\u6e05\u7406 - \u81ea\u52a8\u6e05\u7406\u51b2\u7a81\u7684systemd\u670d\u52a1 \u5b8c\u6574\u65e5\u5fd7\u8bb0\u5f55 - \u8bb0\u5f55\u6240\u6709\u64cd\u4f5c\u5230\u65e5\u5fd7\u6587\u4ef6 \u9519\u8bef\u5904\u7406\u673a\u5236 - \u6bcf\u6b65\u9aa4\u5b8c\u5584\u7684\u9519\u8bef\u68c0\u6d4b\u5904\u7406 \u65e0\u4ea4\u4e92\u6a21\u5f0f - \u652f\u6301curl\u8fdc\u7a0b\u6267\u884c\u65e0\u9700\u7528\u6237\u8f93\u5165 \u73af\u5883\u53d8\u91cf\u652f\u6301 - \u53ef\u901a\u8fc7KIOSK_URL\u81ea\u5b9a\u4e49\u542f\u52a8\u9875\u9762 \u9632\u706b\u5899\u7aef\u53e3\u7ba1\u7406 - \u81ea\u52a8\u5f00\u653eSSH/RDP/NoMachine\u7aef\u53e3 \u5b89\u5168\u53c2\u6570\u914d\u7f6e - Edge\u542f\u52a8\u5305\u542b\u5b89\u5168\u548c\u517c\u5bb9\u6027\u53c2\u6570","title":"\u672c\u811a\u672c\u5b9e\u5b9e\u73b0\u7684\u529f\u80fd"},{"location":"Usages/QA/ubunte-desktop%E6%A1%8C%E9%9D%A2%E7%B3%BB%E7%BB%9F%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AE%E5%BC%80%E5%90%AF%E8%BF%9C%E7%A8%8B%E5%8D%8F%E5%8A%A9/#_2","text":"\u627e\u5230\u811a\u672c\u7684\u7b2c192\u884c\uff0c\u4fee\u6539\u5ba2\u6237\u4ee3\u7801\uff0c \u627e\u5230\u811a\u672c\u7684\u7b2c193\u884c\uff0c\u4fee\u6539\u7b2c\u9875\u663e\u793a\u6570\u91cf \u5982\u4e0b\u56fe\u6240\u793a","title":"\u4fee\u6539\u5927\u5c4f\u6253\u5f00\u7684\u5730\u5740"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/","text":"Win11/10\u8bbf\u95eeSamba\u5171\u4eab\u548cVSCode SSH\u8bbf\u95ee\u89e3\u51b3\u65b9\u6848 \u00b6 \u95ee\u9898\u63cf\u8ff0 \u00b6 Docker\u5b89\u88c5\u7684HomeAssistant\u4f7f\u7528Samba\u5171\u4eab\u914d\u7f6e\u76ee\u5f55\uff0c\u4f46Win11/10\u6709\u65f6\u65e0\u6cd5\u6b63\u5e38\u8bbf\u95ee\u65e0\u5bc6\u7801\u7684Samba\u5171\u4eab\u3002 \u89e3\u51b3\u65b9\u6848 \u00b6 \u65b9\u6848\u4e00\uff1a\u4fee\u590dWin11/10 Samba\u8bbf\u95ee\u95ee\u9898 \u00b6 1. \u542f\u7528SMB1.0\u534f\u8bae\uff08\u4e0d\u63a8\u8350\uff0c\u5b89\u5168\u6027\u8f83\u4f4e\uff09 \u00b6 # \u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884cPowerShell Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol 2. \u4fee\u6539\u672c\u5730\u5b89\u5168\u7b56\u7565\uff08\u63a8\u8350\uff09 \u00b6 \u6309 Win+R \u6253\u5f00\u8fd0\u884c\u5bf9\u8bdd\u6846\uff0c\u8f93\u5165 gpedit.msc \u5bfc\u822a\u5230\uff1a \u8ba1\u7b97\u673a\u914d\u7f6e > Windows\u8bbe\u7f6e > \u5b89\u5168\u8bbe\u7f6e > \u672c\u5730\u7b56\u7565 > \u5b89\u5168\u9009\u9879 \u627e\u5230\u5e76\u4fee\u6539\u4ee5\u4e0b\u7b56\u7565\uff1a \u7f51\u7edc\u5b89\u5168: LAN Manager\u8eab\u4efd\u9a8c\u8bc1\u7ea7\u522b \u8bbe\u7f6e\u4e3a \u53d1\u9001LM\u548cNTLM\u54cd\u5e94 \u7f51\u7edc\u5b89\u5168: \u5bf9\u4e8eNTLM SSP(\u5305\u62ec\u5b89\u5168RPC)\u7684\u6700\u5c0f\u4f1a\u8bdd\u5b89\u5168 \u8bbe\u7f6e\u4e3a \u65e0\u8981\u6c42 3. \u4fee\u6539\u6ce8\u518c\u8868\uff08\u9ad8\u7ea7\u7528\u6237\uff09 \u00b6 # \u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884ccmd reg add HKLM\\SYSTEM\\CurrentControlSet\\Services\\lanmanserver\\parameters /v RequireSecuritySignature /t REG_DWORD /d 0 /f reg add HKLM\\SYSTEM\\CurrentControlSet\\Services\\lanmanworkstation\\parameters /v RequireSecuritySignature /t REG_DWORD /d 0 /f reg add HKLM\\SYSTEM\\CurrentControlSet\\Services\\lanmanworkstation\\parameters /v EnableSecuritySignature /t REG_DWORD /d 0 /f 4. \u6dfb\u52a0\u7f51\u7edc\u51ed\u636e \u00b6 \u6253\u5f00 \u63a7\u5236\u9762\u677f > \u7528\u6237\u8d26\u6237 > \u51ed\u636e\u7ba1\u7406\u5668 \u9009\u62e9 Windows\u51ed\u636e \u70b9\u51fb \u6dfb\u52a0Windows\u51ed\u636e \u8f93\u5165\uff1a \u4e92\u8054\u7f51\u6216\u7f51\u7edc\u5730\u5740\uff1a \\\\\u4f60\u7684\u670d\u52a1\u5668IP \u7528\u6237\u540d\uff1a\u7559\u7a7a\u6216\u8f93\u5165 guest \u5bc6\u7801\uff1a\u7559\u7a7a 5. \u4f7f\u7528Windows\u5ba2\u6237\u7aef\u5f3a\u5236\u65e0\u5bc6\u7801\u8bbf\u95ee\uff08\u63a8\u8350\u89e3\u51b3\u65b9\u6848\uff09 \u00b6 \u7531\u4e8ecompose-all.yaml\u6587\u4ef6\u4e0d\u80fd\u4fee\u6539\uff0c\u6211\u4eec\u901a\u8fc7Windows\u5ba2\u6237\u7aef\u914d\u7f6e\u6765\u89e3\u51b3\u8bbf\u95ee\u95ee\u9898\uff1a \u65b9\u6cd5A\uff1a\u81ea\u52a8\u4fee\u590d\u811a\u672c\uff08\u6700\u63a8\u8350\uff09 \u6211\u4eec\u63d0\u4f9b\u4e86\u4e00\u4e2aPowerShell\u81ea\u52a8\u4fee\u590d\u811a\u672c\uff0c\u53ef\u4ee5\u4e00\u952e\u5b8c\u6210\u6240\u6709\u914d\u7f6e\uff1a \u89c2\u770b\u89c6\u9891\uff1a\u4fee\u590d Windows SMB \u9519\u8bef \u4fee\u590dWindows SMB \u9519\u8bef\u811a\u672c\u4e0b\u8f7d\u5730\u5740 \uff1a http://datacdn.data-it.tech/HomeAssistant/tools/fixwindows.ps1 \u4e0b\u8f7d\u811a\u672c\u6587\u4ef6 fixwindows.ps1 curl -o fixwindows.ps1 http://datacdn.data-it.tech/HomeAssistant/tools/fixwindows.ps1 \u5c06\u811a\u672c\u4fdd\u5b58\u5230\u672c\u5730\uff08\u5982c\u76d8\u7684\u6839\u76ee\u5f55\uff09 \u53f3\u952e\u70b9\u51fb\u811a\u672c\uff0c\u9009\u62e9\"\u4f7f\u7528PowerShell\u8fd0\u884c\" \u9009\u62e9\"\u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884c\" # \u5982\u679c\u63d0\u793a\u7981\u6b62\u8fd0\u884c\u811a\u672c\uff0c\u8bf7\u5148\u6267\u884c\u5982\u4e0b\u6307\u4ee4\u540e\uff0c\u518d\u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884c Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process #\u7136\u540e\u518d\u8fd0\u884c\u811a\u672c .\\fixwindows.ps1 \u6309\u63d0\u793a\u8f93\u5165\u670d\u52a1\u5668IP\u5730\u5740 \u4f7f\u7528\u65b9\u6cd5\uff1a # \u65b9\u5f0f1\uff1a\u76f4\u63a5\u8fd0\u884c\uff08\u4ea4\u4e92\u5f0f\u8f93\u5165IP\uff09 .\\ fixwindows . ps1 # \u65b9\u5f0f2\uff1a\u5e26\u53c2\u6570\u8fd0\u884c .\\ fixwindows . ps1 -ServerIP \"192.168.1.100\" # \u65b9\u5f0f3\uff1a\u5b8c\u6574\u53c2\u6570 .\\ fixwindows . ps1 -ServerIP \"192.168.1.100\" -ShareName \"HAConfig\" -DriveLetter \"Z\" \u811a\u672c\u529f\u80fd\uff1a \u81ea\u52a8\u4fee\u6539\u6ce8\u518c\u8868\u8bbe\u7f6e \u8c03\u6574Windows\u5b89\u5168\u7b56\u7565 \u5efa\u7acbSamba\u8fde\u63a5\u5e76\u6620\u5c04\u9a71\u52a8\u5668 \u6d4b\u8bd5\u8fde\u63a5\u72b6\u6001 \u53ef\u9009\u521b\u5efa\u684c\u9762\u5feb\u6377\u65b9\u5f0f \u65b9\u6cd5B\uff1a\u901a\u8fc7\u6620\u5c04\u7f51\u7edc\u9a71\u52a8\u5668 \u6253\u5f00\u6587\u4ef6\u8d44\u6e90\u7ba1\u7406\u5668 \u53f3\u952e\u70b9\u51fb\"\u6b64\u7535\u8111\"\uff0c\u9009\u62e9\"\u6620\u5c04\u7f51\u7edc\u9a71\u52a8\u5668\" \u9a71\u52a8\u5668\u9009\u62e9\u4e00\u4e2a\u53ef\u7528\u76d8\u7b26\uff08\u5982Z:\uff09 \u6587\u4ef6\u5939\u8f93\u5165\uff1a \\\\\u4f60\u7684\u670d\u52a1\u5668IP\\HAConfig \u53d6\u6d88\u52fe\u9009 \"\u767b\u5f55\u65f6\u91cd\u65b0\u8fde\u63a5\" \u70b9\u51fb\"\u4f7f\u7528\u5176\u4ed6\u51ed\u636e\u8fde\u63a5\" \u7528\u6237\u540d\u7559\u7a7a\u6216\u8f93\u5165 guest \uff0c\u5bc6\u7801\u7559\u7a7a \u52fe\u9009\"\u8bb0\u4f4f\u6211\u7684\u51ed\u636e\" \u65b9\u6cd5C\uff1a\u901a\u8fc7\u547d\u4ee4\u884c\u5f3a\u5236\u8fde\u63a5 \u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884ccmd\uff0c\u6267\u884c\uff1a net use \\\\\u4f60\u7684\u670d\u52a1\u5668IP\\HAConfig \"\" /user:\"\" \u65b9\u6cd5D\uff1a\u4fee\u6539Windows\u672c\u5730\u7ec4\u7b56\u7565 \u8fd0\u884c gpedit.msc \u5bfc\u822a\u5230\uff1a \u8ba1\u7b97\u673a\u914d\u7f6e > Windows\u8bbe\u7f6e > \u5b89\u5168\u8bbe\u7f6e > \u672c\u5730\u7b56\u7565 > \u5b89\u5168\u9009\u9879 \u4fee\u6539\uff1a \u7f51\u7edc\u5b89\u5168: \u5bf9\u533f\u540dSID/\u540d\u79f0\u7ffb\u8bd1\u7684\u9650\u5236 \u8bbe\u7f6e\u4e3a \u65e0 \u4fee\u6539\uff1a \u7f51\u7edc\u8bbf\u95ee: \u4e0d\u5141\u8bb8SAM\u8d26\u6237\u7684\u533f\u540d\u679a\u4e3e \u8bbe\u7f6e\u4e3a \u5df2\u7981\u7528 \u65b9\u6848\u4e8c\uff1a\u4f7f\u7528VSCode SSH\u8bbf\u95eeHomeAssistant\u6302\u8f7d\u76ee\u5f55 \u00b6 1. \u786e\u4fddSSH\u670d\u52a1\u8fd0\u884c \u00b6 \u5728HomeAssistant\u4e3b\u673a\u4e0a\u786e\u4fddSSH\u670d\u52a1\u5df2\u542f\u52a8\uff1a # \u68c0\u67e5SSH\u670d\u52a1\u72b6\u6001 sudo systemctl status ssh # \u5982\u679c\u672a\u542f\u52a8\uff0c\u542f\u7528\u5e76\u542f\u52a8SSH sudo systemctl enable ssh sudo systemctl start ssh 2. \u5b89\u88c5VSCode\u6269\u5c55 \u00b6 \u5728VSCode\u4e2d\u5b89\u88c5\u4ee5\u4e0b\u6269\u5c55\uff1a - Remote - SSH - Remote - SSH: Editing Configuration Files 3. \u914d\u7f6eSSH\u8fde\u63a5 \u00b6 \u6309 Ctrl+Shift+P \u6253\u5f00\u547d\u4ee4\u9762\u677f \u8f93\u5165 Remote-SSH: Connect to Host \u9009\u62e9 Configure SSH Hosts \u9009\u62e9\u914d\u7f6e\u6587\u4ef6\uff08\u901a\u5e38\u662f C:\\Users\\\u7528\u6237\u540d\\.ssh\\config \uff09 \u6dfb\u52a0\u4ee5\u4e0b\u914d\u7f6e\uff1a Host homeassistant HostName \u4f60\u7684HomeAssistant\u670d\u52a1\u5668IP User dtuser Port 22 4. \u8fde\u63a5\u5230\u670d\u52a1\u5668 \u00b6 \u5728VSCode\u4e2d\u6309 Ctrl+Shift+P \u8f93\u5165 Remote-SSH: Connect to Host \u9009\u62e9 homeassistant \u8f93\u5165\u670d\u52a1\u5668\u5bc6\u7801\u8fdb\u884c\u767b\u5f55 \u8fde\u63a5\u6210\u529f\u540e\uff0c\u6253\u5f00\u6587\u4ef6\u5939\uff1a /home/dtuser/opt/ha/config \u65b9\u6848\u4e09\uff1a\u4f7f\u7528SFTP\u5ba2\u6237\u7aef \u00b6 \u5982\u679cVSCode SSH\u6709\u95ee\u9898\uff0c\u53ef\u4ee5\u4f7f\u7528SFTP\u5ba2\u6237\u7aef\uff1a WinSCP \uff1a\u56fe\u5f62\u754c\u9762SFTP\u5ba2\u6237\u7aef FileZilla \uff1a\u652f\u6301SFTP\u534f\u8bae PuTTY + PSFTP \uff1a\u547d\u4ee4\u884c\u5de5\u5177 \u8fde\u63a5\u4fe1\u606f\uff1a \u534f\u8bae\uff1aSFTP \u4e3b\u673a\uff1a\u4f60\u7684\u670d\u52a1\u5668IP \u7aef\u53e3\uff1a22 \u7528\u6237\u540d\uff1adtuser \u5bc6\u7801\uff1a\uff08\u4f60\u7684\u670d\u52a1\u5668\u5bc6\u7801\uff09 \u63a8\u8350\u65b9\u6848 \u00b6 \u6700\u4f73\u5b9e\u8df5\u7ec4\u5408 \uff1a \u4f7f\u7528\u81ea\u52a8\u4fee\u590d\u811a\u672c\uff08\u65b9\u6848\u4e00\u7b2c5\u70b9\u65b9\u6cd5A\uff09- \u6700\u7b80\u5355\u9ad8\u6548 \u914d\u7f6eVSCode SSH\u8bbf\u95ee\u4f5c\u4e3a\u5907\u7528\u65b9\u6848\uff08\u65b9\u6848\u4e8c\uff09 \u8fd9\u6837\u65e2\u4e0d\u9700\u8981\u4fee\u6539compose\u6587\u4ef6\uff0c\u53c8\u63d0\u4f9b\u4e86\u81ea\u52a8\u5316\u548c\u624b\u52a8\u7684\u591a\u79cd\u8bbf\u95ee\u65b9\u5f0f\u3002 \u6545\u969c\u6392\u9664 \u00b6 Samba\u8bbf\u95ee\u95ee\u9898 \u00b6 \u68c0\u67e5\u9632\u706b\u5899\u662f\u5426\u963b\u6b62\u4e86445\u548c139\u7aef\u53e3 \u786e\u8ba4\u670d\u52a1\u5668IP\u5730\u5740\u6b63\u786e \u5c1d\u8bd5\u91cd\u542fSamba\u5bb9\u5668\uff1a docker restart samba SSH\u8bbf\u95ee\u95ee\u9898 \u00b6 \u68c0\u67e5SSH\u670d\u52a1\u72b6\u6001\uff1a sudo systemctl status ssh \u786e\u8ba4\u9632\u706b\u5899\u5141\u8bb822\u7aef\u53e3 \u68c0\u67e5SSH\u5bc6\u94a5\u6743\u9650\uff1a chmod 600 ~/.ssh/id_rsa \u7f51\u7edc\u8fde\u901a\u6027\u6d4b\u8bd5 \u00b6 # \u6d4b\u8bd5\u7aef\u53e3\u8fde\u901a\u6027 telnet \u670d\u52a1\u5668IP 445 # Samba telnet \u670d\u52a1\u5668IP 22 # SSH \u91cd\u8981\u63d0\u9192 \u4efb\u4f55\u5bf9HomeAssistant\u4e2d\u7684\u914d\u7f6e\u6587\u4ef6\u7684\u66f4\u6539\uff0c\u90fd\u9700\u8981\u91cd\u542fHomeAssistant\u624d\u80fd\u751f\u6548\u3002","title":"windows\u4e0d\u80fd\u8bbf\u95eeHA\u7684\u5171\u4eab\u914d\u7f6e\u76ee\u5f55\u7684\u89e3\u51b3\u529e\u6cd5"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#win1110sambavscode-ssh","text":"","title":"Win11/10\u8bbf\u95eeSamba\u5171\u4eab\u548cVSCode SSH\u8bbf\u95ee\u89e3\u51b3\u65b9\u6848"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#_1","text":"Docker\u5b89\u88c5\u7684HomeAssistant\u4f7f\u7528Samba\u5171\u4eab\u914d\u7f6e\u76ee\u5f55\uff0c\u4f46Win11/10\u6709\u65f6\u65e0\u6cd5\u6b63\u5e38\u8bbf\u95ee\u65e0\u5bc6\u7801\u7684Samba\u5171\u4eab\u3002","title":"\u95ee\u9898\u63cf\u8ff0"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#_2","text":"","title":"\u89e3\u51b3\u65b9\u6848"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#win1110-samba","text":"","title":"\u65b9\u6848\u4e00\uff1a\u4fee\u590dWin11/10 Samba\u8bbf\u95ee\u95ee\u9898"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#1-smb10","text":"# \u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884cPowerShell Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol","title":"1. \u542f\u7528SMB1.0\u534f\u8bae\uff08\u4e0d\u63a8\u8350\uff0c\u5b89\u5168\u6027\u8f83\u4f4e\uff09"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#2","text":"\u6309 Win+R \u6253\u5f00\u8fd0\u884c\u5bf9\u8bdd\u6846\uff0c\u8f93\u5165 gpedit.msc \u5bfc\u822a\u5230\uff1a \u8ba1\u7b97\u673a\u914d\u7f6e > Windows\u8bbe\u7f6e > \u5b89\u5168\u8bbe\u7f6e > \u672c\u5730\u7b56\u7565 > \u5b89\u5168\u9009\u9879 \u627e\u5230\u5e76\u4fee\u6539\u4ee5\u4e0b\u7b56\u7565\uff1a \u7f51\u7edc\u5b89\u5168: LAN Manager\u8eab\u4efd\u9a8c\u8bc1\u7ea7\u522b \u8bbe\u7f6e\u4e3a \u53d1\u9001LM\u548cNTLM\u54cd\u5e94 \u7f51\u7edc\u5b89\u5168: \u5bf9\u4e8eNTLM SSP(\u5305\u62ec\u5b89\u5168RPC)\u7684\u6700\u5c0f\u4f1a\u8bdd\u5b89\u5168 \u8bbe\u7f6e\u4e3a \u65e0\u8981\u6c42","title":"2. \u4fee\u6539\u672c\u5730\u5b89\u5168\u7b56\u7565\uff08\u63a8\u8350\uff09"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#3","text":"# \u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884ccmd reg add HKLM\\SYSTEM\\CurrentControlSet\\Services\\lanmanserver\\parameters /v RequireSecuritySignature /t REG_DWORD /d 0 /f reg add HKLM\\SYSTEM\\CurrentControlSet\\Services\\lanmanworkstation\\parameters /v RequireSecuritySignature /t REG_DWORD /d 0 /f reg add HKLM\\SYSTEM\\CurrentControlSet\\Services\\lanmanworkstation\\parameters /v EnableSecuritySignature /t REG_DWORD /d 0 /f","title":"3. \u4fee\u6539\u6ce8\u518c\u8868\uff08\u9ad8\u7ea7\u7528\u6237\uff09"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#4","text":"\u6253\u5f00 \u63a7\u5236\u9762\u677f > \u7528\u6237\u8d26\u6237 > \u51ed\u636e\u7ba1\u7406\u5668 \u9009\u62e9 Windows\u51ed\u636e \u70b9\u51fb \u6dfb\u52a0Windows\u51ed\u636e \u8f93\u5165\uff1a \u4e92\u8054\u7f51\u6216\u7f51\u7edc\u5730\u5740\uff1a \\\\\u4f60\u7684\u670d\u52a1\u5668IP \u7528\u6237\u540d\uff1a\u7559\u7a7a\u6216\u8f93\u5165 guest \u5bc6\u7801\uff1a\u7559\u7a7a","title":"4. \u6dfb\u52a0\u7f51\u7edc\u51ed\u636e"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#5-windows","text":"\u7531\u4e8ecompose-all.yaml\u6587\u4ef6\u4e0d\u80fd\u4fee\u6539\uff0c\u6211\u4eec\u901a\u8fc7Windows\u5ba2\u6237\u7aef\u914d\u7f6e\u6765\u89e3\u51b3\u8bbf\u95ee\u95ee\u9898\uff1a \u65b9\u6cd5A\uff1a\u81ea\u52a8\u4fee\u590d\u811a\u672c\uff08\u6700\u63a8\u8350\uff09 \u6211\u4eec\u63d0\u4f9b\u4e86\u4e00\u4e2aPowerShell\u81ea\u52a8\u4fee\u590d\u811a\u672c\uff0c\u53ef\u4ee5\u4e00\u952e\u5b8c\u6210\u6240\u6709\u914d\u7f6e\uff1a \u89c2\u770b\u89c6\u9891\uff1a\u4fee\u590d Windows SMB \u9519\u8bef \u4fee\u590dWindows SMB \u9519\u8bef\u811a\u672c\u4e0b\u8f7d\u5730\u5740 \uff1a http://datacdn.data-it.tech/HomeAssistant/tools/fixwindows.ps1 \u4e0b\u8f7d\u811a\u672c\u6587\u4ef6 fixwindows.ps1 curl -o fixwindows.ps1 http://datacdn.data-it.tech/HomeAssistant/tools/fixwindows.ps1 \u5c06\u811a\u672c\u4fdd\u5b58\u5230\u672c\u5730\uff08\u5982c\u76d8\u7684\u6839\u76ee\u5f55\uff09 \u53f3\u952e\u70b9\u51fb\u811a\u672c\uff0c\u9009\u62e9\"\u4f7f\u7528PowerShell\u8fd0\u884c\" \u9009\u62e9\"\u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884c\" # \u5982\u679c\u63d0\u793a\u7981\u6b62\u8fd0\u884c\u811a\u672c\uff0c\u8bf7\u5148\u6267\u884c\u5982\u4e0b\u6307\u4ee4\u540e\uff0c\u518d\u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884c Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process #\u7136\u540e\u518d\u8fd0\u884c\u811a\u672c .\\fixwindows.ps1 \u6309\u63d0\u793a\u8f93\u5165\u670d\u52a1\u5668IP\u5730\u5740 \u4f7f\u7528\u65b9\u6cd5\uff1a # \u65b9\u5f0f1\uff1a\u76f4\u63a5\u8fd0\u884c\uff08\u4ea4\u4e92\u5f0f\u8f93\u5165IP\uff09 .\\ fixwindows . ps1 # \u65b9\u5f0f2\uff1a\u5e26\u53c2\u6570\u8fd0\u884c .\\ fixwindows . ps1 -ServerIP \"192.168.1.100\" # \u65b9\u5f0f3\uff1a\u5b8c\u6574\u53c2\u6570 .\\ fixwindows . ps1 -ServerIP \"192.168.1.100\" -ShareName \"HAConfig\" -DriveLetter \"Z\" \u811a\u672c\u529f\u80fd\uff1a \u81ea\u52a8\u4fee\u6539\u6ce8\u518c\u8868\u8bbe\u7f6e \u8c03\u6574Windows\u5b89\u5168\u7b56\u7565 \u5efa\u7acbSamba\u8fde\u63a5\u5e76\u6620\u5c04\u9a71\u52a8\u5668 \u6d4b\u8bd5\u8fde\u63a5\u72b6\u6001 \u53ef\u9009\u521b\u5efa\u684c\u9762\u5feb\u6377\u65b9\u5f0f \u65b9\u6cd5B\uff1a\u901a\u8fc7\u6620\u5c04\u7f51\u7edc\u9a71\u52a8\u5668 \u6253\u5f00\u6587\u4ef6\u8d44\u6e90\u7ba1\u7406\u5668 \u53f3\u952e\u70b9\u51fb\"\u6b64\u7535\u8111\"\uff0c\u9009\u62e9\"\u6620\u5c04\u7f51\u7edc\u9a71\u52a8\u5668\" \u9a71\u52a8\u5668\u9009\u62e9\u4e00\u4e2a\u53ef\u7528\u76d8\u7b26\uff08\u5982Z:\uff09 \u6587\u4ef6\u5939\u8f93\u5165\uff1a \\\\\u4f60\u7684\u670d\u52a1\u5668IP\\HAConfig \u53d6\u6d88\u52fe\u9009 \"\u767b\u5f55\u65f6\u91cd\u65b0\u8fde\u63a5\" \u70b9\u51fb\"\u4f7f\u7528\u5176\u4ed6\u51ed\u636e\u8fde\u63a5\" \u7528\u6237\u540d\u7559\u7a7a\u6216\u8f93\u5165 guest \uff0c\u5bc6\u7801\u7559\u7a7a \u52fe\u9009\"\u8bb0\u4f4f\u6211\u7684\u51ed\u636e\" \u65b9\u6cd5C\uff1a\u901a\u8fc7\u547d\u4ee4\u884c\u5f3a\u5236\u8fde\u63a5 \u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884ccmd\uff0c\u6267\u884c\uff1a net use \\\\\u4f60\u7684\u670d\u52a1\u5668IP\\HAConfig \"\" /user:\"\" \u65b9\u6cd5D\uff1a\u4fee\u6539Windows\u672c\u5730\u7ec4\u7b56\u7565 \u8fd0\u884c gpedit.msc \u5bfc\u822a\u5230\uff1a \u8ba1\u7b97\u673a\u914d\u7f6e > Windows\u8bbe\u7f6e > \u5b89\u5168\u8bbe\u7f6e > \u672c\u5730\u7b56\u7565 > \u5b89\u5168\u9009\u9879 \u4fee\u6539\uff1a \u7f51\u7edc\u5b89\u5168: \u5bf9\u533f\u540dSID/\u540d\u79f0\u7ffb\u8bd1\u7684\u9650\u5236 \u8bbe\u7f6e\u4e3a \u65e0 \u4fee\u6539\uff1a \u7f51\u7edc\u8bbf\u95ee: \u4e0d\u5141\u8bb8SAM\u8d26\u6237\u7684\u533f\u540d\u679a\u4e3e \u8bbe\u7f6e\u4e3a \u5df2\u7981\u7528","title":"5. \u4f7f\u7528Windows\u5ba2\u6237\u7aef\u5f3a\u5236\u65e0\u5bc6\u7801\u8bbf\u95ee\uff08\u63a8\u8350\u89e3\u51b3\u65b9\u6848\uff09"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#vscode-sshhomeassistant","text":"","title":"\u65b9\u6848\u4e8c\uff1a\u4f7f\u7528VSCode SSH\u8bbf\u95eeHomeAssistant\u6302\u8f7d\u76ee\u5f55"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#1-ssh","text":"\u5728HomeAssistant\u4e3b\u673a\u4e0a\u786e\u4fddSSH\u670d\u52a1\u5df2\u542f\u52a8\uff1a # \u68c0\u67e5SSH\u670d\u52a1\u72b6\u6001 sudo systemctl status ssh # \u5982\u679c\u672a\u542f\u52a8\uff0c\u542f\u7528\u5e76\u542f\u52a8SSH sudo systemctl enable ssh sudo systemctl start ssh","title":"1. \u786e\u4fddSSH\u670d\u52a1\u8fd0\u884c"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#2-vscode","text":"\u5728VSCode\u4e2d\u5b89\u88c5\u4ee5\u4e0b\u6269\u5c55\uff1a - Remote - SSH - Remote - SSH: Editing Configuration Files","title":"2. \u5b89\u88c5VSCode\u6269\u5c55"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#3-ssh","text":"\u6309 Ctrl+Shift+P \u6253\u5f00\u547d\u4ee4\u9762\u677f \u8f93\u5165 Remote-SSH: Connect to Host \u9009\u62e9 Configure SSH Hosts \u9009\u62e9\u914d\u7f6e\u6587\u4ef6\uff08\u901a\u5e38\u662f C:\\Users\\\u7528\u6237\u540d\\.ssh\\config \uff09 \u6dfb\u52a0\u4ee5\u4e0b\u914d\u7f6e\uff1a Host homeassistant HostName \u4f60\u7684HomeAssistant\u670d\u52a1\u5668IP User dtuser Port 22","title":"3. \u914d\u7f6eSSH\u8fde\u63a5"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#4_1","text":"\u5728VSCode\u4e2d\u6309 Ctrl+Shift+P \u8f93\u5165 Remote-SSH: Connect to Host \u9009\u62e9 homeassistant \u8f93\u5165\u670d\u52a1\u5668\u5bc6\u7801\u8fdb\u884c\u767b\u5f55 \u8fde\u63a5\u6210\u529f\u540e\uff0c\u6253\u5f00\u6587\u4ef6\u5939\uff1a /home/dtuser/opt/ha/config","title":"4. \u8fde\u63a5\u5230\u670d\u52a1\u5668"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#sftp","text":"\u5982\u679cVSCode SSH\u6709\u95ee\u9898\uff0c\u53ef\u4ee5\u4f7f\u7528SFTP\u5ba2\u6237\u7aef\uff1a WinSCP \uff1a\u56fe\u5f62\u754c\u9762SFTP\u5ba2\u6237\u7aef FileZilla \uff1a\u652f\u6301SFTP\u534f\u8bae PuTTY + PSFTP \uff1a\u547d\u4ee4\u884c\u5de5\u5177 \u8fde\u63a5\u4fe1\u606f\uff1a \u534f\u8bae\uff1aSFTP \u4e3b\u673a\uff1a\u4f60\u7684\u670d\u52a1\u5668IP \u7aef\u53e3\uff1a22 \u7528\u6237\u540d\uff1adtuser \u5bc6\u7801\uff1a\uff08\u4f60\u7684\u670d\u52a1\u5668\u5bc6\u7801\uff09","title":"\u65b9\u6848\u4e09\uff1a\u4f7f\u7528SFTP\u5ba2\u6237\u7aef"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#_3","text":"\u6700\u4f73\u5b9e\u8df5\u7ec4\u5408 \uff1a \u4f7f\u7528\u81ea\u52a8\u4fee\u590d\u811a\u672c\uff08\u65b9\u6848\u4e00\u7b2c5\u70b9\u65b9\u6cd5A\uff09- \u6700\u7b80\u5355\u9ad8\u6548 \u914d\u7f6eVSCode SSH\u8bbf\u95ee\u4f5c\u4e3a\u5907\u7528\u65b9\u6848\uff08\u65b9\u6848\u4e8c\uff09 \u8fd9\u6837\u65e2\u4e0d\u9700\u8981\u4fee\u6539compose\u6587\u4ef6\uff0c\u53c8\u63d0\u4f9b\u4e86\u81ea\u52a8\u5316\u548c\u624b\u52a8\u7684\u591a\u79cd\u8bbf\u95ee\u65b9\u5f0f\u3002","title":"\u63a8\u8350\u65b9\u6848"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#_4","text":"","title":"\u6545\u969c\u6392\u9664"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#samba","text":"\u68c0\u67e5\u9632\u706b\u5899\u662f\u5426\u963b\u6b62\u4e86445\u548c139\u7aef\u53e3 \u786e\u8ba4\u670d\u52a1\u5668IP\u5730\u5740\u6b63\u786e \u5c1d\u8bd5\u91cd\u542fSamba\u5bb9\u5668\uff1a docker restart samba","title":"Samba\u8bbf\u95ee\u95ee\u9898"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#ssh","text":"\u68c0\u67e5SSH\u670d\u52a1\u72b6\u6001\uff1a sudo systemctl status ssh \u786e\u8ba4\u9632\u706b\u5899\u5141\u8bb822\u7aef\u53e3 \u68c0\u67e5SSH\u5bc6\u94a5\u6743\u9650\uff1a chmod 600 ~/.ssh/id_rsa","title":"SSH\u8bbf\u95ee\u95ee\u9898"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#_5","text":"# \u6d4b\u8bd5\u7aef\u53e3\u8fde\u901a\u6027 telnet \u670d\u52a1\u5668IP 445 # Samba telnet \u670d\u52a1\u5668IP 22 # SSH \u91cd\u8981\u63d0\u9192 \u4efb\u4f55\u5bf9HomeAssistant\u4e2d\u7684\u914d\u7f6e\u6587\u4ef6\u7684\u66f4\u6539\uff0c\u90fd\u9700\u8981\u91cd\u542fHomeAssistant\u624d\u80fd\u751f\u6548\u3002","title":"\u7f51\u7edc\u8fde\u901a\u6027\u6d4b\u8bd5"},{"location":"Usages/QA/%E5%9F%BA%E4%BA%8EDocker%E7%9A%84%E6%96%B9%E5%BC%8F%E5%AE%89%E8%A3%85HomeAssistant/","text":"\u57fa\u4e8eDocker\u7684\u65b9\u5f0f\u5b89\u88c5HomeAssistant \u00b6 HomeAssistant\u57fa\u4e8eDocker\u5bb9\u5668\u6280\u672f\uff0c\u53ef\u4ee5\u5feb\u901f\u90e8\u7f72\u548c\u7ba1\u7406.\u5e76\u53ef\u4e0e\u5176\u5b83\u4e3b\u673a\u6216\u670d\u52a1\u5668\u5171\u7528\uff0c\u6709\u6548\u8282\u7701\u8d44\u6e90\u3002 \u4f46Docker\u5bb9\u5668\u6280\u672f\u5bf9\u7cfb\u7edf\u8d44\u6e90\u6709\u4e00\u5b9a\u8981\u6c42\uff0c\u4e14\u5bf9\u7f51\u7edc\u73af\u5883\u6709\u4f9d\u8d56\u3002\u5e76\u4e14\u5728\u67d0\u4e9b\u60c5\u51b5\u4e0b\uff0c\u5728\u5168\u65ad\u7f51\u5b8c\u5168\u5168\u79bb\u7ebf\u7684\u60c5\u51b5\u4e0b\u90e8\u7f72\u3002 \u56e0\u6b64\uff0c\u624d\u6709\u4e86\u672c\u6587\u6863\u3002 \u5b89\u88c5\u51c6\u5907 \u00b6 \u4e3a\u4e86\u80fd\u5728\u4efb\u610f\u4e3b\u673a\u4e0a\u7528Docker\u5feb\u901f\u5b89\u88c5HomeAssistant\uff0c\u5efa\u8bae\u63d0\u524d\u51c6\u5907\u597dDocker\u73af\u5883\uff0c\u4f46Docker\u5b98\u7f51\u88ab\u5c01\u9501\uff0c\u5bfc\u81f4Docker\u7684\u5b89\u88c5\uff0c\u53ca\u955c\u50cf\u7684\u62c9\u53d6\u90fd\u6781\u4e3a\u56f0\u96be\u3002\u56e0\u6b64\uff0c\u53ef\u4ee5\u4f7f\u7528\u5982\u4e0b\u65b9\u5f0f\u5b89\u88c5Docker\u53caDocker Compose\uff1a \u5b89\u88c5Docker\u57fa\u7840\u73af\u5883-\u652f\u6301\u79bb\u7ebf\u5b89\u88c5 \u5b89\u88c5\u65b9\u5f0f \u00b6 HKO \u5728\u7ebf\u5b89\u88c5 \u79bb\u7ebf\u5b89\u88c5 \u670d\u52a1\u8bbf\u95ee\u5730\u5740\uff1a \u00b6 Home Assistant: http://$(\u4e3b\u673aIP):8123 Node-RED: http://$(\u4e3b\u673aIP):1880 Mosquitto MQTT: http://$(\u4e3b\u673aIP):1883 PostgreSQL: http://$(\u4e3b\u673aIP):5432 Samba: //$(\u4e3b\u673aIP)/HAConfig portainer: http://$(\u4e3b\u673aIP):9000 \u4f7f\u7528\u8bf4\u660e \u00b6 \u56e0\u4e3a\u4f7f\u7528\u4e86Docker\u5bb9\u5668\u6280\u672f\uff0c\u6240\u4ee5HomeAssistant\u7684\u52a0\u8f7d\u9879\u662f\u6ca1\u6709\u7684\uff0c\u5b98\u65b9\u5bf9Docker\u4e0d\u63d0\u4f9b\u52a0\u8f7d\u9879\u529f\u80fd\uff0c\u4e5f\u6ca1\u529e\u5b89\u88c5\u4e0b\u3002 \u6240\u4ee5\u4f5c\u4e3a\u66ff\u4ee3\uff0c\u6211\u4eec\u628a\u52a0\u8f7d\u9879\u4e2d\u6700\u91cd\u8981\u8981\u7684\u51e0\u4e2a\u63d2\u4ef6\u90fd\u4ee5docker\u7684\u65b9\u5f0f\u5355\u72ec\u63d0\u4f9b\uff0c\u5e76\u80fd\u4e0eHomeAssistant\u76f8\u4e92\u914d\u5408\u5de5\u4f5c\uff0c\u5b83\u4eec\u662f Node-RED, Mosquitto MQTT, PostgreSQL, Samba\u7b49\u3002 \u672c\u6587\u63d0\u4f9b\u7684HomeAssistant\u662f\u81ea\u5df2\u91cd\u65b0\u6253\u5305\u7684docker\u96c6\u6210\u4e86HACS\uff0c\u53ca\u4e00\u4e9b\u65b0\u5b89\u5e38\u7528\u7684\u4e3b\u9898UI\u98ce\u683c\uff0c\u548c\u5c0f\u7c73HOME\u96c6\u6210\u7b49\u3002\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u65e0\u9700\u518d\u5b89\u88c5\u6b64\u7c7b\u63d2\u4ef6\u3002 HomeAssistant\u5df2\u914d\u7f6e\u9ed8\u8ba4\u4f7f\u7528\u5bb9\u5668\u63d0\u4f9b\u7684pgsql\u6570\u636e\u5e93\u6765\u5b58\u50a8\u6570\u636e\uff0c\u5e76\u8bbe\u5b9a\u4e865\u5929\u53ef\u80fd\u81ea\u52a8\u6e05\u9664\u6570\u636e\uff0c\u5bb9\u5668\u5185\u7684\u65e5\u5fd7\uff0c\u4fdd\u7559\u7f6e\u4e09\u5929\u3002 \u56e0\u4e3a\u4f7f\u4f7f\u7528\u4e86Docker\u5bb9\u5668\u6280\u672f\uff0c\u6240\u4ee5HomeAssistant\u7684\u914d\u7f6e\u6587\u4ef6\u662f\u5b58\u653e\u5728\u4e3b\u673a\u7684 /dt_opt/ha/config \u76ee\u5f55\u4e0b\uff0c\u53ef\u4ee5\u901a\u8fc7Samba\u5171\u4eab\u8bbf\u95ee\u6b64\u76ee\u5f55\uff0c\u6216\u76f4\u63a5\u5728\u4e3b\u673a\u4e0a\u8bbf\u95ee\u6b64\u76ee\u5f55\u6765\u7ba1\u7406\u914d\u7f6e\u6587\u4ef6\u3002\u5728HomeAssistant\u4e2d\uff0c\u4e0d\u5728\u6709FileEditor\u63d2\u4ef6\u4e86,\u56e0\u6b64\u53ea\u80fd\u4f7f\u7528\u5171\u4eab\u6587\u4ef6\u5939\u6765\u7ba1\u7406\u914d\u7f6e\u6587\u4ef6\u3002 \u767b\u5f55\u4fe1\u606f \u00b6 Home Assistant: http://$(\u4e3b\u673aIP):8123 \u7528\u6237\u540d:admin \u5bc6\u7801:Dtuse1r Node-RED: http://$(\u4e3b\u673aIP):1880 \u65e0\u7528\u6237\u540d Mosquitto MQTT: http://$(\u4e3b\u673aIP):1883 \u7528\u6237\u540d:dtuser \u5bc6\u7801:Dtuse1r PostgreSQL: http://$(\u4e3b\u673aIP):5432 \u6570\u636e\u5e93\u540d:dtha \u7528\u6237\u540d:dtuser \u5bc6\u7801:Dtuse1r Samba: //$(\u4e3b\u673aIP)/HAConfig \u65e0\u9700\u8981\u5bc6\u7801\u5373\u53ef\u8bbf\u95ee portainer: http://$(\u4e3b\u673aIP):9000 \u7528\u6237\u540d:admin \u5bc6\u7801:Dtuse1r_abcd \u8bf4\u660e \u00b6 \u5173\u4e8eSamba(\u5171\u4eab\u76ee\u5f55\u8bbf\u95ee\u914d\u7f6e\u76ee\u5f55) Windows \u7aef\u8bbf\u95ee\u65f6\uff0c\u8f93\u5165\u6b63\u786e\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002\u56e0\u672c\u670d\u52a1\u914d\u7f6e\u4e86\u5141\u8bb8guest\u8bbf\u95ee\uff0c\u6240\u4ee5\u53ef\u76f4\u63a5\u8bbf\u95ee,\u800c\u65e0\u987b\u7528\u6237\u540d\u4e0e\u5bc6\u7801\u3002\u4f46\u662f\u5bf9\u4e8ewindows10/11,\u6709\u53ef\u80fd\u4f1a\u53cd\u590d\u8981\u6c42\u8f93\u5165\u5bc6\u7801\u800c\u65e0\u6cd5\u8bbf\u95ee\uff0c\u662f\u56e0\u4e3a\u5b89\u5168\u7b56\u7565\u95ee\u9898\uff0c\u53ef\u5728 Windows \u672c\u5730\u7ec4\u7b56\u7565\u4e2d\u8c03\u6574\uff1a \u6253\u5f00\u201c\u672c\u5730\u7ec4\u7b56\u7565\u7f16\u8f91\u5668\u201d\uff08gpedit.msc\uff09\uff0c\u8ba1\u7b97\u673a\u914d\u7f6e \u2192 \u7ba1\u7406\u6a21\u677f \u2192 \u7f51\u7edc \u2192 Lanman\u5de5\u4f5c\u7ad9\uff0c\u542f\u7528\u201c\u542f\u7528\u4e0d\u5b89\u5168\u7684\u6765\u5bbe\u767b\u5f55\u201d\u3002\u542f\u7528\u540e\uff0c\u5373\u53ef\u6b63\u5e38\u8bbf\u95ee\u6b64\u5171\u4eab\u7684\u914d\u7f6e\u76ee\u5f55\u3002 \u5982\u4e0b\u56fe\u662f\u4ee5\u5171\u4eab\u7684\u65b9\u5f0f\u8bbf\u95ee\u914d\u7f6e\u76ee\u5f55\uff1a \u5171\u4eab\u76ee\u5f55\u8bbf\u95ee\u5931\u8d25\u7684\u89e3\u51b3\u529e\u6cd5 windows\u4e0d\u80fd\u8bbf\u95eeHA\u7684\u5171\u4eab\u914d\u7f6e\u76ee\u5f55\u7684\u89e3\u51b3\u529e\u6cd5 \u5173\u4e8eportainer(\u56fe\u578b\u5316Docker\u7ba1\u7406\u5de5\u5177) Portainer \u662f\u4e00\u4e2a\u8f7b\u91cf\u7ea7\u7684\u7ba1\u7406UI\uff0c\u53ef\u4ee5\u8ba9\u4f60\u66f4\u5bb9\u6613\u5730\u7ba1\u7406Docker\u5bb9\u5668\u3002\u901a\u8fc7Portainer\uff0c\u4f60\u53ef\u4ee5\u8f7b\u677e\u5730\u521b\u5efa\u3001\u7ba1\u7406\u548c\u76d1\u63a7Docker\u5bb9\u5668\uff0c\u67e5\u770b\u5bb9\u5668\u65e5\u5fd7\uff0c\u7ba1\u7406Docker\u955c\u50cf\u7b49\u3002Portainer\u7684Web\u754c\u9762\u53cb\u597d\uff0c\u9002\u5408Docker\u65b0\u624b\u548c\u9700\u8981\u5feb\u901f\u7ba1\u7406Docker\u73af\u5883\u7684\u7528\u6237\u3002 \u5982\u4e0b\u56fe\u6240\u793a\uff1a","title":"\u57fa\u4e8eDocker\u7684\u65b9\u5f0f\u5b89\u88c5HomeAssistant"},{"location":"Usages/QA/%E5%9F%BA%E4%BA%8EDocker%E7%9A%84%E6%96%B9%E5%BC%8F%E5%AE%89%E8%A3%85HomeAssistant/#dockerhomeassistant","text":"HomeAssistant\u57fa\u4e8eDocker\u5bb9\u5668\u6280\u672f\uff0c\u53ef\u4ee5\u5feb\u901f\u90e8\u7f72\u548c\u7ba1\u7406.\u5e76\u53ef\u4e0e\u5176\u5b83\u4e3b\u673a\u6216\u670d\u52a1\u5668\u5171\u7528\uff0c\u6709\u6548\u8282\u7701\u8d44\u6e90\u3002 \u4f46Docker\u5bb9\u5668\u6280\u672f\u5bf9\u7cfb\u7edf\u8d44\u6e90\u6709\u4e00\u5b9a\u8981\u6c42\uff0c\u4e14\u5bf9\u7f51\u7edc\u73af\u5883\u6709\u4f9d\u8d56\u3002\u5e76\u4e14\u5728\u67d0\u4e9b\u60c5\u51b5\u4e0b\uff0c\u5728\u5168\u65ad\u7f51\u5b8c\u5168\u5168\u79bb\u7ebf\u7684\u60c5\u51b5\u4e0b\u90e8\u7f72\u3002 \u56e0\u6b64\uff0c\u624d\u6709\u4e86\u672c\u6587\u6863\u3002","title":"\u57fa\u4e8eDocker\u7684\u65b9\u5f0f\u5b89\u88c5HomeAssistant"},{"location":"Usages/QA/%E5%9F%BA%E4%BA%8EDocker%E7%9A%84%E6%96%B9%E5%BC%8F%E5%AE%89%E8%A3%85HomeAssistant/#_1","text":"\u4e3a\u4e86\u80fd\u5728\u4efb\u610f\u4e3b\u673a\u4e0a\u7528Docker\u5feb\u901f\u5b89\u88c5HomeAssistant\uff0c\u5efa\u8bae\u63d0\u524d\u51c6\u5907\u597dDocker\u73af\u5883\uff0c\u4f46Docker\u5b98\u7f51\u88ab\u5c01\u9501\uff0c\u5bfc\u81f4Docker\u7684\u5b89\u88c5\uff0c\u53ca\u955c\u50cf\u7684\u62c9\u53d6\u90fd\u6781\u4e3a\u56f0\u96be\u3002\u56e0\u6b64\uff0c\u53ef\u4ee5\u4f7f\u7528\u5982\u4e0b\u65b9\u5f0f\u5b89\u88c5Docker\u53caDocker Compose\uff1a \u5b89\u88c5Docker\u57fa\u7840\u73af\u5883-\u652f\u6301\u79bb\u7ebf\u5b89\u88c5","title":"\u5b89\u88c5\u51c6\u5907"},{"location":"Usages/QA/%E5%9F%BA%E4%BA%8EDocker%E7%9A%84%E6%96%B9%E5%BC%8F%E5%AE%89%E8%A3%85HomeAssistant/#_2","text":"HKO \u5728\u7ebf\u5b89\u88c5 \u79bb\u7ebf\u5b89\u88c5","title":"\u5b89\u88c5\u65b9\u5f0f"},{"location":"Usages/QA/%E5%9F%BA%E4%BA%8EDocker%E7%9A%84%E6%96%B9%E5%BC%8F%E5%AE%89%E8%A3%85HomeAssistant/#_3","text":"Home Assistant: http://$(\u4e3b\u673aIP):8123 Node-RED: http://$(\u4e3b\u673aIP):1880 Mosquitto MQTT: http://$(\u4e3b\u673aIP):1883 PostgreSQL: http://$(\u4e3b\u673aIP):5432 Samba: //$(\u4e3b\u673aIP)/HAConfig portainer: http://$(\u4e3b\u673aIP):9000","title":"\u670d\u52a1\u8bbf\u95ee\u5730\u5740\uff1a"},{"location":"Usages/QA/%E5%9F%BA%E4%BA%8EDocker%E7%9A%84%E6%96%B9%E5%BC%8F%E5%AE%89%E8%A3%85HomeAssistant/#_4","text":"\u56e0\u4e3a\u4f7f\u7528\u4e86Docker\u5bb9\u5668\u6280\u672f\uff0c\u6240\u4ee5HomeAssistant\u7684\u52a0\u8f7d\u9879\u662f\u6ca1\u6709\u7684\uff0c\u5b98\u65b9\u5bf9Docker\u4e0d\u63d0\u4f9b\u52a0\u8f7d\u9879\u529f\u80fd\uff0c\u4e5f\u6ca1\u529e\u5b89\u88c5\u4e0b\u3002 \u6240\u4ee5\u4f5c\u4e3a\u66ff\u4ee3\uff0c\u6211\u4eec\u628a\u52a0\u8f7d\u9879\u4e2d\u6700\u91cd\u8981\u8981\u7684\u51e0\u4e2a\u63d2\u4ef6\u90fd\u4ee5docker\u7684\u65b9\u5f0f\u5355\u72ec\u63d0\u4f9b\uff0c\u5e76\u80fd\u4e0eHomeAssistant\u76f8\u4e92\u914d\u5408\u5de5\u4f5c\uff0c\u5b83\u4eec\u662f Node-RED, Mosquitto MQTT, PostgreSQL, Samba\u7b49\u3002 \u672c\u6587\u63d0\u4f9b\u7684HomeAssistant\u662f\u81ea\u5df2\u91cd\u65b0\u6253\u5305\u7684docker\u96c6\u6210\u4e86HACS\uff0c\u53ca\u4e00\u4e9b\u65b0\u5b89\u5e38\u7528\u7684\u4e3b\u9898UI\u98ce\u683c\uff0c\u548c\u5c0f\u7c73HOME\u96c6\u6210\u7b49\u3002\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u65e0\u9700\u518d\u5b89\u88c5\u6b64\u7c7b\u63d2\u4ef6\u3002 HomeAssistant\u5df2\u914d\u7f6e\u9ed8\u8ba4\u4f7f\u7528\u5bb9\u5668\u63d0\u4f9b\u7684pgsql\u6570\u636e\u5e93\u6765\u5b58\u50a8\u6570\u636e\uff0c\u5e76\u8bbe\u5b9a\u4e865\u5929\u53ef\u80fd\u81ea\u52a8\u6e05\u9664\u6570\u636e\uff0c\u5bb9\u5668\u5185\u7684\u65e5\u5fd7\uff0c\u4fdd\u7559\u7f6e\u4e09\u5929\u3002 \u56e0\u4e3a\u4f7f\u4f7f\u7528\u4e86Docker\u5bb9\u5668\u6280\u672f\uff0c\u6240\u4ee5HomeAssistant\u7684\u914d\u7f6e\u6587\u4ef6\u662f\u5b58\u653e\u5728\u4e3b\u673a\u7684 /dt_opt/ha/config \u76ee\u5f55\u4e0b\uff0c\u53ef\u4ee5\u901a\u8fc7Samba\u5171\u4eab\u8bbf\u95ee\u6b64\u76ee\u5f55\uff0c\u6216\u76f4\u63a5\u5728\u4e3b\u673a\u4e0a\u8bbf\u95ee\u6b64\u76ee\u5f55\u6765\u7ba1\u7406\u914d\u7f6e\u6587\u4ef6\u3002\u5728HomeAssistant\u4e2d\uff0c\u4e0d\u5728\u6709FileEditor\u63d2\u4ef6\u4e86,\u56e0\u6b64\u53ea\u80fd\u4f7f\u7528\u5171\u4eab\u6587\u4ef6\u5939\u6765\u7ba1\u7406\u914d\u7f6e\u6587\u4ef6\u3002","title":"\u4f7f\u7528\u8bf4\u660e"},{"location":"Usages/QA/%E5%9F%BA%E4%BA%8EDocker%E7%9A%84%E6%96%B9%E5%BC%8F%E5%AE%89%E8%A3%85HomeAssistant/#_5","text":"Home Assistant: http://$(\u4e3b\u673aIP):8123 \u7528\u6237\u540d:admin \u5bc6\u7801:Dtuse1r Node-RED: http://$(\u4e3b\u673aIP):1880 \u65e0\u7528\u6237\u540d Mosquitto MQTT: http://$(\u4e3b\u673aIP):1883 \u7528\u6237\u540d:dtuser \u5bc6\u7801:Dtuse1r PostgreSQL: http://$(\u4e3b\u673aIP):5432 \u6570\u636e\u5e93\u540d:dtha \u7528\u6237\u540d:dtuser \u5bc6\u7801:Dtuse1r Samba: //$(\u4e3b\u673aIP)/HAConfig \u65e0\u9700\u8981\u5bc6\u7801\u5373\u53ef\u8bbf\u95ee portainer: http://$(\u4e3b\u673aIP):9000 \u7528\u6237\u540d:admin \u5bc6\u7801:Dtuse1r_abcd","title":"\u767b\u5f55\u4fe1\u606f"},{"location":"Usages/QA/%E5%9F%BA%E4%BA%8EDocker%E7%9A%84%E6%96%B9%E5%BC%8F%E5%AE%89%E8%A3%85HomeAssistant/#_6","text":"\u5173\u4e8eSamba(\u5171\u4eab\u76ee\u5f55\u8bbf\u95ee\u914d\u7f6e\u76ee\u5f55) Windows \u7aef\u8bbf\u95ee\u65f6\uff0c\u8f93\u5165\u6b63\u786e\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002\u56e0\u672c\u670d\u52a1\u914d\u7f6e\u4e86\u5141\u8bb8guest\u8bbf\u95ee\uff0c\u6240\u4ee5\u53ef\u76f4\u63a5\u8bbf\u95ee,\u800c\u65e0\u987b\u7528\u6237\u540d\u4e0e\u5bc6\u7801\u3002\u4f46\u662f\u5bf9\u4e8ewindows10/11,\u6709\u53ef\u80fd\u4f1a\u53cd\u590d\u8981\u6c42\u8f93\u5165\u5bc6\u7801\u800c\u65e0\u6cd5\u8bbf\u95ee\uff0c\u662f\u56e0\u4e3a\u5b89\u5168\u7b56\u7565\u95ee\u9898\uff0c\u53ef\u5728 Windows \u672c\u5730\u7ec4\u7b56\u7565\u4e2d\u8c03\u6574\uff1a \u6253\u5f00\u201c\u672c\u5730\u7ec4\u7b56\u7565\u7f16\u8f91\u5668\u201d\uff08gpedit.msc\uff09\uff0c\u8ba1\u7b97\u673a\u914d\u7f6e \u2192 \u7ba1\u7406\u6a21\u677f \u2192 \u7f51\u7edc \u2192 Lanman\u5de5\u4f5c\u7ad9\uff0c\u542f\u7528\u201c\u542f\u7528\u4e0d\u5b89\u5168\u7684\u6765\u5bbe\u767b\u5f55\u201d\u3002\u542f\u7528\u540e\uff0c\u5373\u53ef\u6b63\u5e38\u8bbf\u95ee\u6b64\u5171\u4eab\u7684\u914d\u7f6e\u76ee\u5f55\u3002 \u5982\u4e0b\u56fe\u662f\u4ee5\u5171\u4eab\u7684\u65b9\u5f0f\u8bbf\u95ee\u914d\u7f6e\u76ee\u5f55\uff1a \u5171\u4eab\u76ee\u5f55\u8bbf\u95ee\u5931\u8d25\u7684\u89e3\u51b3\u529e\u6cd5 windows\u4e0d\u80fd\u8bbf\u95eeHA\u7684\u5171\u4eab\u914d\u7f6e\u76ee\u5f55\u7684\u89e3\u51b3\u529e\u6cd5 \u5173\u4e8eportainer(\u56fe\u578b\u5316Docker\u7ba1\u7406\u5de5\u5177) Portainer \u662f\u4e00\u4e2a\u8f7b\u91cf\u7ea7\u7684\u7ba1\u7406UI\uff0c\u53ef\u4ee5\u8ba9\u4f60\u66f4\u5bb9\u6613\u5730\u7ba1\u7406Docker\u5bb9\u5668\u3002\u901a\u8fc7Portainer\uff0c\u4f60\u53ef\u4ee5\u8f7b\u677e\u5730\u521b\u5efa\u3001\u7ba1\u7406\u548c\u76d1\u63a7Docker\u5bb9\u5668\uff0c\u67e5\u770b\u5bb9\u5668\u65e5\u5fd7\uff0c\u7ba1\u7406Docker\u955c\u50cf\u7b49\u3002Portainer\u7684Web\u754c\u9762\u53cb\u597d\uff0c\u9002\u5408Docker\u65b0\u624b\u548c\u9700\u8981\u5feb\u901f\u7ba1\u7406Docker\u73af\u5883\u7684\u7528\u6237\u3002 \u5982\u4e0b\u56fe\u6240\u793a\uff1a","title":"\u8bf4\u660e"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E5%9C%A8%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85%E8%A3%85HomeAssistant/","text":"\u5982\u4f55\u5728\u7ebfDocker\u4e00\u952e\u5b89\u88c5HomeAssistant \u00b6 \u4e00\u952e\u5b89\u88c5\u811a\u672c\u5730\u5740 \u00b6 http://datacdn.data-it.tech/HomeAssistant/dokerimages/ha-images1.1/install-ha.sh \u4f7f\u7528\u8bf4\u660e \u00b6 \u6267\u884c\u4e00\u952e\u5b89\u88c5\u811a\u672c \u00b6 curl -fsSL http://datacdn.data-it.tech/HomeAssistant/dokerimages/ha-images1.1/install-ha.sh | sudo bash \u5982\u4e0b\u6240\u793a \u00b6","title":"\u5982\u4f55\u5728\u7ebfDocker\u4e00\u952e\u5b89\u88c5HomeAssistant"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E5%9C%A8%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85%E8%A3%85HomeAssistant/#dockerhomeassistant","text":"","title":"\u5982\u4f55\u5728\u7ebfDocker\u4e00\u952e\u5b89\u88c5HomeAssistant"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E5%9C%A8%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85%E8%A3%85HomeAssistant/#_1","text":"http://datacdn.data-it.tech/HomeAssistant/dokerimages/ha-images1.1/install-ha.sh","title":"\u4e00\u952e\u5b89\u88c5\u811a\u672c\u5730\u5740"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E5%9C%A8%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85%E8%A3%85HomeAssistant/#_2","text":"","title":"\u4f7f\u7528\u8bf4\u660e"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E5%9C%A8%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85%E8%A3%85HomeAssistant/#_3","text":"curl -fsSL http://datacdn.data-it.tech/HomeAssistant/dokerimages/ha-images1.1/install-ha.sh | sudo bash","title":"\u6267\u884c\u4e00\u952e\u5b89\u88c5\u811a\u672c"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E5%9C%A8%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85%E8%A3%85HomeAssistant/#_4","text":"","title":"\u5982\u4e0b\u6240\u793a"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E5%BF%AB%E9%80%9F%E9%83%A8%E7%BD%B2frpc%E6%9C%8D%E5%8A%A1/","text":"\u5982\u4f55\u5feb\u901f\u90e8\u7f72frpc\u670d\u52a1 \u00b6 frpc\u5ba2\u6237\u7aef\u90e8\u7f72\u4e3a\u975e\u5e38\u7b80\u5355\uff0c\u672c\u6587\u6863\u5c06\u6307\u5bfc\u4f60\u5982\u4f55\u5feb\u901f\u90e8\u7f72frpc\u670d\u52a1\u3002 \u5feb\u901f\u5b89\u88c5 \u00b6 # x86_64_amd curl -fsSL http://datacdn.data-it.tech/HomeAssistant/tools/frpc/install-frp-x86_64.sh | sudo bash # arm64 curl -fsSL http://datacdn.data-it.tech/HomeAssistant/tools/frpc/install-frp-arm.sh | sudo bash \u7136\u540e\u6839\u636e\u63d0\u793a\u8fdb\u884c\u914d\u7f6e\u5373\u53ef\u3002 \u8bf7\u8f93\u5165 frp \u670d\u52a1\u7aef\u5730\u5740: 115.190.**.101 <--\u5728\u6b64\u5904\u8f93\u5165\u4f60\u7684\u670d\u52a1\u7aef\u5730\u5740-> \u8bf7\u8f93\u5165 frp \u670d\u52a1\u7aef\u7aef\u53e3: 0000 <- \u5728\u6b64\u5904\u8f93\u5165\u4f60\u7684\u670d\u52a1\u7aef\u53e3-> \u662f\u5426\u4f7f\u7528 token \u9a8c\u8bc1? (y/n): y <- \u670d\u52a1\u7aef\u662f\u5426\u5f00\u542f\u4e86token\u9a8c\u8bc1\uff0c\u5982\u679c\u8f93\u5165Y\uff0c\u5426\u5219\u8f93\u5165N-> \u8bf7\u8f93\u5165 token: **** <- \u5728\u6b64\u5904\u8f93\u5165\u4f60\u7684 token-> \u8bf7\u8f93\u5165\u672c\u5730\u670d\u52a1\u540d\u79f0(\u5982 myservice)\uff0c\u4e3a\u7a7a\u5219\u7ed3\u675f: no_machine_test <- \u5728\u6b64\u5904\u8f93\u5165\u4f60\u7684\u670d\u52a1\u540d\u79f0-> \u8bf7\u8f93\u5165\u672c\u5730 IP: 192.168.6.222 \u8bf7\u8f93\u5165\u672c\u5730\u7aef\u53e3: 4000 \u8bf7\u8f93\u5165\u8fdc\u7a0b\u7aef\u53e3: 60009 \u8bf7\u8f93\u5165\u672c\u5730\u670d\u52a1\u540d\u79f0(\u5982 myservice)\uff0c\u4e3a\u7a7a\u5219\u7ed3\u675f: \u6b63\u5728\u4e0b\u8f7d\u5e76\u5b89\u88c5 frpClient... --2025-09-02 09:50:08-- http://datacdn.data-it.tech/HomeAssistant/tools/frpc/frp_0.64.0_linux_amd64.tar.gz Resolving datacdn.data-it.tech (datacdn.data-it.tech)... 122.228.207.55, 36.25.240.217, 36.25.240.218, ... Connecting to datacdn.data-it.tech (datacdn.data-it.tech)|122.228.207.55|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 13332918 (13M) [application/x-compressed] Saving to: \u2018/tmp/frpc.tar.gz\u2019 /tmp/frpc.tar.gz 100%[========================================================>] 12.71M 4.72MB/s in 2.7s 2025-09-02 09:50:12 (4.72 MB/s) - \u2018/tmp/frpc.tar.gz\u2019 saved [13332918/13332918] Created symlink /etc/systemd/system/multi-user.target.wants/frpc.service \u2192 /etc/systemd/system/frpc.service. frpClient \u5b89\u88c5\u5b8c\u6210\u5e76\u5df2\u542f\u52a8\u3002 \u5982\u9700\u5378\u8f7d\uff0c\u8bf7\u8fd0\u884c: sudo bash ./install-frp-x86_64.sh uninstall","title":"\u5982\u4f55\u5feb\u901f\u90e8\u7f72frpc\u670d\u52a1"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E5%BF%AB%E9%80%9F%E9%83%A8%E7%BD%B2frpc%E6%9C%8D%E5%8A%A1/#frpc","text":"frpc\u5ba2\u6237\u7aef\u90e8\u7f72\u4e3a\u975e\u5e38\u7b80\u5355\uff0c\u672c\u6587\u6863\u5c06\u6307\u5bfc\u4f60\u5982\u4f55\u5feb\u901f\u90e8\u7f72frpc\u670d\u52a1\u3002","title":"\u5982\u4f55\u5feb\u901f\u90e8\u7f72frpc\u670d\u52a1"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E5%BF%AB%E9%80%9F%E9%83%A8%E7%BD%B2frpc%E6%9C%8D%E5%8A%A1/#_1","text":"# x86_64_amd curl -fsSL http://datacdn.data-it.tech/HomeAssistant/tools/frpc/install-frp-x86_64.sh | sudo bash # arm64 curl -fsSL http://datacdn.data-it.tech/HomeAssistant/tools/frpc/install-frp-arm.sh | sudo bash \u7136\u540e\u6839\u636e\u63d0\u793a\u8fdb\u884c\u914d\u7f6e\u5373\u53ef\u3002 \u8bf7\u8f93\u5165 frp \u670d\u52a1\u7aef\u5730\u5740: 115.190.**.101 <--\u5728\u6b64\u5904\u8f93\u5165\u4f60\u7684\u670d\u52a1\u7aef\u5730\u5740-> \u8bf7\u8f93\u5165 frp \u670d\u52a1\u7aef\u7aef\u53e3: 0000 <- \u5728\u6b64\u5904\u8f93\u5165\u4f60\u7684\u670d\u52a1\u7aef\u53e3-> \u662f\u5426\u4f7f\u7528 token \u9a8c\u8bc1? (y/n): y <- \u670d\u52a1\u7aef\u662f\u5426\u5f00\u542f\u4e86token\u9a8c\u8bc1\uff0c\u5982\u679c\u8f93\u5165Y\uff0c\u5426\u5219\u8f93\u5165N-> \u8bf7\u8f93\u5165 token: **** <- \u5728\u6b64\u5904\u8f93\u5165\u4f60\u7684 token-> \u8bf7\u8f93\u5165\u672c\u5730\u670d\u52a1\u540d\u79f0(\u5982 myservice)\uff0c\u4e3a\u7a7a\u5219\u7ed3\u675f: no_machine_test <- \u5728\u6b64\u5904\u8f93\u5165\u4f60\u7684\u670d\u52a1\u540d\u79f0-> \u8bf7\u8f93\u5165\u672c\u5730 IP: 192.168.6.222 \u8bf7\u8f93\u5165\u672c\u5730\u7aef\u53e3: 4000 \u8bf7\u8f93\u5165\u8fdc\u7a0b\u7aef\u53e3: 60009 \u8bf7\u8f93\u5165\u672c\u5730\u670d\u52a1\u540d\u79f0(\u5982 myservice)\uff0c\u4e3a\u7a7a\u5219\u7ed3\u675f: \u6b63\u5728\u4e0b\u8f7d\u5e76\u5b89\u88c5 frpClient... --2025-09-02 09:50:08-- http://datacdn.data-it.tech/HomeAssistant/tools/frpc/frp_0.64.0_linux_amd64.tar.gz Resolving datacdn.data-it.tech (datacdn.data-it.tech)... 122.228.207.55, 36.25.240.217, 36.25.240.218, ... Connecting to datacdn.data-it.tech (datacdn.data-it.tech)|122.228.207.55|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 13332918 (13M) [application/x-compressed] Saving to: \u2018/tmp/frpc.tar.gz\u2019 /tmp/frpc.tar.gz 100%[========================================================>] 12.71M 4.72MB/s in 2.7s 2025-09-02 09:50:12 (4.72 MB/s) - \u2018/tmp/frpc.tar.gz\u2019 saved [13332918/13332918] Created symlink /etc/systemd/system/multi-user.target.wants/frpc.service \u2192 /etc/systemd/system/frpc.service. frpClient \u5b89\u88c5\u5b8c\u6210\u5e76\u5df2\u542f\u52a8\u3002 \u5982\u9700\u5378\u8f7d\uff0c\u8bf7\u8fd0\u884c: sudo bash ./install-frp-x86_64.sh uninstall","title":"\u5feb\u901f\u5b89\u88c5"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E6%8A%8AHAos%E7%9A%84%E6%BA%90%E6%8D%A2%E6%88%90%E5%9B%BD%E5%86%85%E6%BA%90/","text":"\u8981\u66f4\u6539haos\uff08\u53ef\u80fd\u662f\u6307HaOS\uff0c\u4e00\u4e2a\u57fa\u4e8eLinux\u7684\u64cd\u4f5c\u7cfb\u7edf\uff09\u7684\u8f6f\u4ef6\u6e90\u4e3a\u56fd\u5185\u6e90\uff0c \u9700\u8981\u7f16\u8f91 /etc/apk/repositories \u6587\u4ef6\uff0c\u7136\u540e\u66ff\u6362\u73b0\u6709\u7684\u6e90\u4e3a\u56fd\u5185\u955c\u50cf\u6e90\u3002\u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a \u5907\u4efd\u539f\u59cb\u6587\u4ef6:\u786e\u4fdd\u5728\u4fee\u6539\u4e4b\u524d\u5907\u4efd\u539f\u59cb\u7684 /etc/apk/repositories \u6587\u4ef6\uff0c\u4ee5\u9632\u4fee\u6539\u9519\u8bef\u5bfc\u81f4\u95ee\u9898\u3002 sudo cp /etc/apk/repositories /etc/apk/repositories.bak \u7f16\u8f91\u6587\u4ef6:\u4f7f\u7528\u6587\u672c\u7f16\u8f91\u5668\uff08\u5982vi\u3001nano\u7b49\uff09\u6253\u5f00 /etc/apk/repositories \u6587\u4ef6\u3002 sudo vi /etc/apk/repositories \u66ff\u6362\u6e90:\u5c06\u6587\u4ef6\u4e2d\u7684\u5185\u5bb9\u66ff\u6362\u4e3a\u56fd\u5185\u955c\u50cf\u6e90\uff0c\u4f8b\u5982\u963f\u91cc\u4e91\u6216\u6e05\u534e\u5927\u5b66\u7684\u6e90\u3002\\ \u4e0b\u662f\u963f\u91cc\u4e91\u7684\u793a\u4f8b\uff1a https://mirrors.aliyun.com/alpine/latest-stable/main https://mirrors.aliyun.com/alpine/latest-stable/community \u6e05\u534e\u5927\u5b66\u7684\u6e90\u793a\u4f8b\uff1a https://mirrors.tuna.tsinghua.edu.cn/alpine/latest-stable/main https://mirrors.tuna.tsinghua.edu.cn/alpine/latest-stable/community \u6839\u636e\u5b9e\u9645\u60c5\u51b5\u9009\u62e9\u4e00\u4e2a\u6e90\uff0c\u5e76\u5c06\u539f\u6587\u4ef6\u5185\u5bb9\u66ff\u6362\u3002 \u4fdd\u5b58\u5e76\u9000\u51fa:\u5982\u679c\u4f7f\u7528vi\uff0c\u6309\u4e0bEsc\uff0c\u7136\u540e\u8f93\u5165 :wq \u4fdd\u5b58\u5e76\u9000\u51fa\u3002 \u66f4\u65b0\u8f6f\u4ef6\u5305\u5217\u8868:\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u66f4\u65b0\u8f6f\u4ef6\u5305\u5217\u8868\uff0c\u4f7f\u66f4\u6539\u751f\u6548\u3002 sudo apk update \u5b8c\u6210\u4ee5\u4e0a\u6b65\u9aa4\u540e\uff0chaos\u7684\u8f6f\u4ef6\u6e90\u5c31\u6210\u529f\u66f4\u6362\u4e3a\u56fd\u5185\u955c\u50cf\u6e90\u4e86\u3002","title":"\u5982\u4f55\u628aHAos\u7684\u6e90\u6362\u6210\u56fd\u5185\u6e90"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85HomeAssistant/","text":"\u5982\u4f55\u79bb\u7ebfDocker\u4e00\u952e\u5b89\u88c5HomeAssistant \u00b6 \u4e0b\u8f7d\u79bb\u7ebf\u5b89\u88c5\u5305\u5230\u672c\u5730 \u00b6 \u5730\u5740\uff1a wget http://datacdn.data-it.tech/HomeAssistant/dokerimages/ha-images1.1/ha-images1.1.zip \u8bf4\u660e\uff1a\u672c\u79bb\u7ebf\u5305\u5305\u542b\u4e86Home Assistant\u7684\u6240\u6709\u4f9d\u8d56\u548c\u914d\u7f6e\u6587\u4ef6\uff0c\u53ef\u4ee5\u5728\u6ca1\u6709\u7f51\u7edc\u7684\u73af\u5883\u4e0b\u8fdb\u884c\u5b89\u88c5\u3002\u5927\u7ea6 1.1 GB\u3002 \u89e3\u538b\u5230\u6307\u5b9a\u76ee\u5f55 \u00b6 sudo apt update sudo mkdir /dt_opt/ sudo unzip ha-images1.1.zip -d /dt_opt/ \u5982\u4e0b\u56fe\u793a\u793a\uff1a \u7ed9\u89e3\u538b\u540e\u7684\u6587\u4ef6\u8d4b\u4e88\u6b63\u786e\u7684\u6743\u9650 \u00b6 sudo chown -R $USER:$USER /dt_opt/ cd /dt_opt/ sudo chmod +x install-ha-local.sh \u5982\u4e0b\u56fe\u6240\u793a\uff1a \u6267\u884c\u5b89\u88c5\u811a\u672c \u00b6 cd /dt_opt/ sudo ./install-ha-local.sh \u5982\u4e0b\u56fe\u6240\u793a: \u670d\u52a1\u8bbf\u95ee\u5730\u5740\uff1a \u00b6 Home Assistant: http://192.168.50.170:8123 Node-RED: http://192.168.50.170:1880 Mosquitto MQTT: 192.168.50.170:1883 PostgreSQL: 192.168.50.170:5432 Samba: //192.168.50.170/HAConfig portainer: http://192.168.50.170:9000","title":"\u5982\u4f55\u79bb\u7ebfDocker\u4e00\u952e\u5b89\u88c5HomeAssistant"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85HomeAssistant/#dockerhomeassistant","text":"","title":"\u5982\u4f55\u79bb\u7ebfDocker\u4e00\u952e\u5b89\u88c5HomeAssistant"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85HomeAssistant/#_1","text":"\u5730\u5740\uff1a wget http://datacdn.data-it.tech/HomeAssistant/dokerimages/ha-images1.1/ha-images1.1.zip \u8bf4\u660e\uff1a\u672c\u79bb\u7ebf\u5305\u5305\u542b\u4e86Home Assistant\u7684\u6240\u6709\u4f9d\u8d56\u548c\u914d\u7f6e\u6587\u4ef6\uff0c\u53ef\u4ee5\u5728\u6ca1\u6709\u7f51\u7edc\u7684\u73af\u5883\u4e0b\u8fdb\u884c\u5b89\u88c5\u3002\u5927\u7ea6 1.1 GB\u3002","title":"\u4e0b\u8f7d\u79bb\u7ebf\u5b89\u88c5\u5305\u5230\u672c\u5730"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85HomeAssistant/#_2","text":"sudo apt update sudo mkdir /dt_opt/ sudo unzip ha-images1.1.zip -d /dt_opt/ \u5982\u4e0b\u56fe\u793a\u793a\uff1a","title":"\u89e3\u538b\u5230\u6307\u5b9a\u76ee\u5f55"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85HomeAssistant/#_3","text":"sudo chown -R $USER:$USER /dt_opt/ cd /dt_opt/ sudo chmod +x install-ha-local.sh \u5982\u4e0b\u56fe\u6240\u793a\uff1a","title":"\u7ed9\u89e3\u538b\u540e\u7684\u6587\u4ef6\u8d4b\u4e88\u6b63\u786e\u7684\u6743\u9650"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85HomeAssistant/#_4","text":"cd /dt_opt/ sudo ./install-ha-local.sh \u5982\u4e0b\u56fe\u6240\u793a:","title":"\u6267\u884c\u5b89\u88c5\u811a\u672c"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85HomeAssistant/#_5","text":"Home Assistant: http://192.168.50.170:8123 Node-RED: http://192.168.50.170:1880 Mosquitto MQTT: 192.168.50.170:1883 PostgreSQL: 192.168.50.170:5432 Samba: //192.168.50.170/HAConfig portainer: http://192.168.50.170:9000","title":"\u670d\u52a1\u8bbf\u95ee\u5730\u5740\uff1a"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85Docker%28ubunt24.04%29/","text":"\u5982\u4f55\u79bb\u7ebf\u5b89\u88c5Docker(ubuntu 24.04) \u00b6 \u672c\u6587\u6863\u4ecb\u7ecd\u5982\u4f55\u5728\u6ca1\u6709\u7f51\u7edc\u8fde\u63a5\u7684Ubuntu 24.04\u7cfb\u7edf\u4e0a\u79bb\u7ebf\u5b89\u88c5Docker\u3002 - \u57fa\u4e8e\u73b0\u5728\u56fd\u5185\u7f51\u7edc\u73af\u5883\uff0c\u5efa\u8bae\u4f7f\u7528\u79bb\u7ebf\u5b89\u88c5\u65b9\u5f0f\u6765\u907f\u514d\u7f51\u7edc\u95ee\u9898\u3002 - \u57fa\u4e8e\u9700\u8981\u5185\u7f51\u90e8\u7f72\u7684\u573a\u666f\uff0c\u672c\u6587\u6863\u4e5f\u9002\u7528\u3002 \u79bb\u7ebf\u5b89\u88c5\u6b65\u9aa4 \u00b6 \u51c6\u5907\u5de5\u4f5c \u00b6 \u5728\u6709\u7f51\u7edc\u7684\u73af\u5883\u4e2d\u4e0b\u8f7dDocker\u7684deb\u5305\u53ca\u5176\u4f9d\u8d56\u5305\u3002 \u5c06\u4e0b\u8f7d\u597d\u7684deb\u5305\u62f7\u8d1d\u5230\u76ee\u6807Ubuntu 24.04\u7cfb\u7edf\u4e2d\u3002 \u4e0b\u8f7dDocker\u53ca\u5176\u4f9d\u8d56\u5305 \u00b6 http://datacdn.data-it.tech/HomeAssistant/tools/docker_offline/docker-offline-packages.tar.gz \u5c06\u4e0b\u8f7d\u5230\u7684docker-offline-packages.tar.gz\u4f20\u8f93\u5230\u76ee\u6807\u7cfb\u7edf \u00b6 \u6bd4\u5982\u4e0b\u8f7d\u5230\u5982\u4e0b\u76ee\u5f55 tst@tst-VMware-Virtual-Platform:~/down$ pwd /home/tst/down tst@tst-VMware-Virtual-Platform:~/down$ ls docker-offline-packages.tar.gz tst@tst-VMware-Virtual-Platform:~/down$ \u89e3\u538b\u5b89\u88c5\u5305 \u00b6 tar -zxvf docker-offline-packages.tar.gz \u5982\u4e0b\uff1a tst@tst-VMware-Virtual-Platform:~/down$ tar -zxvf docker-offline-packages.tar.gz install-docker.sh offline/ offline/docker-compose/ offline/docker-compose/docker-compose-linux-x86_64 ls offline/deb-packages/ offline/deb-packages/docker-ce-cli_5%3a28.3.3-1~ubuntu.24.04~noble_amd64.deb offline/deb-packages/containerd.io_1.7.27-1_amd64.deb offline/deb-packages/docker-ce_5%3a28.3.3-1~ubuntu.24.04~noble_amd64.deb offline/deb-packages/docker-buildx-plugin_0.26.1-1~ubuntu.24.04~noble_amd64.deb offline/scripts/ offline/scripts/offline-install.sh tst@tst-VMware-Virtual-Platform:~/down$ ls docker-offline-packages.tar.gz install-docker.sh offline \u79bb\u7ebf\u5b89\u88c5 \u00b6 \u5728\u76ee\u5f55\u4e2d\u6267\u884c\u79bb\u7ebf\u5b89\u88c5 ./install-docker.sh --install ./offline \u9a8c\u8bc1\u5b89\u88c5 \u00b6 \u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u9a8c\u8bc1Docker\u662f\u5426\u5b89\u88c5\u6210\u529f\uff1a docker --version \u5982\u679c\u770b\u5230Docker\u7684\u7248\u672c\u4fe1\u606f\uff0c\u8bf4\u660e\u5b89\u88c5\u6210\u529f\u3002 \u9a8c\u8bc1Docker Compose\u662f\u5426\u5b89\u88c5\u6210\u529f\uff1a docker-compose --version \u5982\u679c\u770b\u5230Docker Compose\u7684\u7248\u672c\u4fe1\u606f\uff0c\u8bf4\u660e\u5b89\u88c5\u6210\u529f\u3002 \u5e38\u7528\u6307\u4ee4 \u00b6 # \u4e0b\u8f7d ./install-docker.sh --download ./offline # \u4e3b\u811a\u672c\u79bb\u7ebf\u5b89\u88c5 ./install-docker.sh --install ./offline # \u6253\u5305 tar -czvf docker-offline-packages.tar.gz install-docker.sh offline ## \u9a8c\u8bc1 tar -tzvf docker-offline-packages.tar.gz","title":"\u5982\u4f55\u79bb\u7ebf\u5b89\u88c5Docker(ubuntu24.04)"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85Docker%28ubunt24.04%29/#dockerubuntu-2404","text":"\u672c\u6587\u6863\u4ecb\u7ecd\u5982\u4f55\u5728\u6ca1\u6709\u7f51\u7edc\u8fde\u63a5\u7684Ubuntu 24.04\u7cfb\u7edf\u4e0a\u79bb\u7ebf\u5b89\u88c5Docker\u3002 - \u57fa\u4e8e\u73b0\u5728\u56fd\u5185\u7f51\u7edc\u73af\u5883\uff0c\u5efa\u8bae\u4f7f\u7528\u79bb\u7ebf\u5b89\u88c5\u65b9\u5f0f\u6765\u907f\u514d\u7f51\u7edc\u95ee\u9898\u3002 - \u57fa\u4e8e\u9700\u8981\u5185\u7f51\u90e8\u7f72\u7684\u573a\u666f\uff0c\u672c\u6587\u6863\u4e5f\u9002\u7528\u3002","title":"\u5982\u4f55\u79bb\u7ebf\u5b89\u88c5Docker(ubuntu 24.04)"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85Docker%28ubunt24.04%29/#_1","text":"","title":"\u79bb\u7ebf\u5b89\u88c5\u6b65\u9aa4"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85Docker%28ubunt24.04%29/#_2","text":"\u5728\u6709\u7f51\u7edc\u7684\u73af\u5883\u4e2d\u4e0b\u8f7dDocker\u7684deb\u5305\u53ca\u5176\u4f9d\u8d56\u5305\u3002 \u5c06\u4e0b\u8f7d\u597d\u7684deb\u5305\u62f7\u8d1d\u5230\u76ee\u6807Ubuntu 24.04\u7cfb\u7edf\u4e2d\u3002","title":"\u51c6\u5907\u5de5\u4f5c"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85Docker%28ubunt24.04%29/#docker","text":"http://datacdn.data-it.tech/HomeAssistant/tools/docker_offline/docker-offline-packages.tar.gz","title":"\u4e0b\u8f7dDocker\u53ca\u5176\u4f9d\u8d56\u5305"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85Docker%28ubunt24.04%29/#docker-offline-packagestargz","text":"\u6bd4\u5982\u4e0b\u8f7d\u5230\u5982\u4e0b\u76ee\u5f55 tst@tst-VMware-Virtual-Platform:~/down$ pwd /home/tst/down tst@tst-VMware-Virtual-Platform:~/down$ ls docker-offline-packages.tar.gz tst@tst-VMware-Virtual-Platform:~/down$","title":"\u5c06\u4e0b\u8f7d\u5230\u7684docker-offline-packages.tar.gz\u4f20\u8f93\u5230\u76ee\u6807\u7cfb\u7edf"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85Docker%28ubunt24.04%29/#_3","text":"tar -zxvf docker-offline-packages.tar.gz \u5982\u4e0b\uff1a tst@tst-VMware-Virtual-Platform:~/down$ tar -zxvf docker-offline-packages.tar.gz install-docker.sh offline/ offline/docker-compose/ offline/docker-compose/docker-compose-linux-x86_64 ls offline/deb-packages/ offline/deb-packages/docker-ce-cli_5%3a28.3.3-1~ubuntu.24.04~noble_amd64.deb offline/deb-packages/containerd.io_1.7.27-1_amd64.deb offline/deb-packages/docker-ce_5%3a28.3.3-1~ubuntu.24.04~noble_amd64.deb offline/deb-packages/docker-buildx-plugin_0.26.1-1~ubuntu.24.04~noble_amd64.deb offline/scripts/ offline/scripts/offline-install.sh tst@tst-VMware-Virtual-Platform:~/down$ ls docker-offline-packages.tar.gz install-docker.sh offline","title":"\u89e3\u538b\u5b89\u88c5\u5305"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85Docker%28ubunt24.04%29/#_4","text":"\u5728\u76ee\u5f55\u4e2d\u6267\u884c\u79bb\u7ebf\u5b89\u88c5 ./install-docker.sh --install ./offline","title":"\u79bb\u7ebf\u5b89\u88c5"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85Docker%28ubunt24.04%29/#_5","text":"\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u9a8c\u8bc1Docker\u662f\u5426\u5b89\u88c5\u6210\u529f\uff1a docker --version \u5982\u679c\u770b\u5230Docker\u7684\u7248\u672c\u4fe1\u606f\uff0c\u8bf4\u660e\u5b89\u88c5\u6210\u529f\u3002 \u9a8c\u8bc1Docker Compose\u662f\u5426\u5b89\u88c5\u6210\u529f\uff1a docker-compose --version \u5982\u679c\u770b\u5230Docker Compose\u7684\u7248\u672c\u4fe1\u606f\uff0c\u8bf4\u660e\u5b89\u88c5\u6210\u529f\u3002","title":"\u9a8c\u8bc1\u5b89\u88c5"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85Docker%28ubunt24.04%29/#_6","text":"# \u4e0b\u8f7d ./install-docker.sh --download ./offline # \u4e3b\u811a\u672c\u79bb\u7ebf\u5b89\u88c5 ./install-docker.sh --install ./offline # \u6253\u5305 tar -czvf docker-offline-packages.tar.gz install-docker.sh offline ## \u9a8c\u8bc1 tar -tzvf docker-offline-packages.tar.gz","title":"\u5e38\u7528\u6307\u4ee4"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/","text":"\u5982\u4f55\u96c6\u6210\u548c\u98ce\u5929\u6c14\u7ec4\u4ef6\u5230HA \u00b6 \u548c\u98ce\u5929\u6c14\u7b80\u4ecb \u00b6 \u548c\u98ce\u5929\u6c14\u662f\u4e00\u4e2a\u63d0\u4f9b\u5929\u6c14\u4fe1\u606f\u7684API\uff0c\u53ef\u4ee5\u65b9\u4fbf\u5730\u96c6\u6210\u5230Home Assistant\u4e2d\u3002 \u96c6\u6210\u6b65\u9aa4 \u00b6 \u5728Home Assistant\u4e2d\u5b89\u88c5\u548c\u98ce\u5929\u6c14\u7ec4\u4ef6\u3002 \u914d\u7f6e\u548c\u98ce\u5929\u6c14API\u5bc6\u94a5\u3002 \u5728\u81ea\u52a8\u5316\u4e2d\u4f7f\u7528\u548c\u98ce\u5929\u6c14\u63d0\u4f9b\u7684\u5929\u6c14\u6570\u636e\u3002 \u793a\u4f8b \u00b6 \u767b\u5f55\u548c\u98ce\u5929\u6c14\u63a7\u5236\u53f0\uff0chttps://console.qweather.com/project?lang=zh \u5982\u4e0b\u56fe\u6240\u793a\uff0c\u5148\u4e3a\u6b64\u4e2d\u5fc3\u521b\u5efa\u4e00\u4e2a\u9879\u76ee\uff0c\u4e3a\u7684\u662f\u4e3a\u6bcf\u4e2a\u4e2d\u5fc3\u4f7f\u7528\u7684api\u8c03\u7528\u6b21\u6570\u7684\u7edf\u8ba1 \u8bb0\u5f55\u4e0b\u6765\u76f8\u5173\u4fe1\u606f \u9879\u76ee\u540d\u79f0\uff1a\u6e56\u5357\u65fa\u65fa \u9879\u76eeID:2HKR2MC5WM API-KEY:885d8b06871b445fbc1beb2eda11cd6c \u5f00\u53d1\u8005ID:Q137B51456 API-Host\uff1and4up3fy3t.re.qweatherapi.com \u67e5\u8be2\u57ce\u5e02\u533a\u57df\u4ee3\u7801\u7684\u7684\u5740\uff1a git clone https://github.com/qwd/LocationList.git.com/docs/api/geoapi/ \u914d\u7f6e\u53c2\u8003 \u00b6 \u6253\u5f00\u7684\u914d\u7f6e\u6587\u4ef6 configuration.yaml \uff0c\u6dfb\u52a0\u4ee5\u4e0b\u5185\u5bb9\uff1a weather: - platform: heweather location: 101210301 # \u4f60\u7684\u533a\u57df\u4ee3\u7801\u57ce\u5e02id host: nd4up3fy3t.re.qweatherapi.com # API Host key: 885d8b06871b445fbc1beb2eda11cd6c # \u4f60\u7684API KEY \u5176\u4e2d\uff0c\u8981\u66f4\u6362\u7684\u5185\u5bb9\u4e3b\u8981\u6709\uff0c\u533a\u57df\u4ee3\u7801\u57ce\u5e02id\u3001API Host\u548cAPI KEY\u3002 \u5982\u4e0b\u56fe \u83b7\u53d6\u57ce\u5e02id\u533a\u57df\u4ee3\u7801\u7684\u65b9\u6cd5 \u00b6 \u8fd9\u91cc\u4e00\u5b9a\u8981\u914d\u5bf9\u6b63\u786e\u7684\u57ce\u5e02id\u533a\u57df\u4ee3\u7801\uff0c\u5426\u5219\u4f1a\u62a5\u7684\u5929\u6c14\u4e0d\u51c6\u3002 \u53ef\u4ee5\u901a\u8fc7\u6b64\u6587\u6863\u63d0\u4f9b\u7684API\uff0c\u67e5\u8be2 https://github.com/qwd/LocationList.git.com/docs/api/geoapi/ \u5176\u4e2d: X-QW-Api-Key \u4e3a\u4f60\u7684API\u5bc6\u94a5\u3002 location \u4e3a\u4f60\u8981\u67e5\u8be2\u7684\u57ce\u5e02\u540d\u79f0\u62fc\u97f3. curl -H \"X-QW-Api-Key: 885d8b06871b445fbc1beb2eda11cd6c\" --compressed \\ 'https://nd4up3fy3t.re.qweatherapi.com/geo/v2/city/lookup?location=changsha' \u5982\u4e0b\u56fe\u6240\u793a","title":"\u5982\u4f55\u96c6\u6210\u548c\u98ce\u5929\u6c14\u7ec4\u4ef6\u5230HA"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/#ha","text":"","title":"\u5982\u4f55\u96c6\u6210\u548c\u98ce\u5929\u6c14\u7ec4\u4ef6\u5230HA"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/#_1","text":"\u548c\u98ce\u5929\u6c14\u662f\u4e00\u4e2a\u63d0\u4f9b\u5929\u6c14\u4fe1\u606f\u7684API\uff0c\u53ef\u4ee5\u65b9\u4fbf\u5730\u96c6\u6210\u5230Home Assistant\u4e2d\u3002","title":"\u548c\u98ce\u5929\u6c14\u7b80\u4ecb"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/#_2","text":"\u5728Home Assistant\u4e2d\u5b89\u88c5\u548c\u98ce\u5929\u6c14\u7ec4\u4ef6\u3002 \u914d\u7f6e\u548c\u98ce\u5929\u6c14API\u5bc6\u94a5\u3002 \u5728\u81ea\u52a8\u5316\u4e2d\u4f7f\u7528\u548c\u98ce\u5929\u6c14\u63d0\u4f9b\u7684\u5929\u6c14\u6570\u636e\u3002","title":"\u96c6\u6210\u6b65\u9aa4"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/#_3","text":"\u767b\u5f55\u548c\u98ce\u5929\u6c14\u63a7\u5236\u53f0\uff0chttps://console.qweather.com/project?lang=zh \u5982\u4e0b\u56fe\u6240\u793a\uff0c\u5148\u4e3a\u6b64\u4e2d\u5fc3\u521b\u5efa\u4e00\u4e2a\u9879\u76ee\uff0c\u4e3a\u7684\u662f\u4e3a\u6bcf\u4e2a\u4e2d\u5fc3\u4f7f\u7528\u7684api\u8c03\u7528\u6b21\u6570\u7684\u7edf\u8ba1 \u8bb0\u5f55\u4e0b\u6765\u76f8\u5173\u4fe1\u606f \u9879\u76ee\u540d\u79f0\uff1a\u6e56\u5357\u65fa\u65fa \u9879\u76eeID:2HKR2MC5WM API-KEY:885d8b06871b445fbc1beb2eda11cd6c \u5f00\u53d1\u8005ID:Q137B51456 API-Host\uff1and4up3fy3t.re.qweatherapi.com \u67e5\u8be2\u57ce\u5e02\u533a\u57df\u4ee3\u7801\u7684\u7684\u5740\uff1a git clone https://github.com/qwd/LocationList.git.com/docs/api/geoapi/","title":"\u793a\u4f8b"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/#_4","text":"\u6253\u5f00\u7684\u914d\u7f6e\u6587\u4ef6 configuration.yaml \uff0c\u6dfb\u52a0\u4ee5\u4e0b\u5185\u5bb9\uff1a weather: - platform: heweather location: 101210301 # \u4f60\u7684\u533a\u57df\u4ee3\u7801\u57ce\u5e02id host: nd4up3fy3t.re.qweatherapi.com # API Host key: 885d8b06871b445fbc1beb2eda11cd6c # \u4f60\u7684API KEY \u5176\u4e2d\uff0c\u8981\u66f4\u6362\u7684\u5185\u5bb9\u4e3b\u8981\u6709\uff0c\u533a\u57df\u4ee3\u7801\u57ce\u5e02id\u3001API Host\u548cAPI KEY\u3002 \u5982\u4e0b\u56fe","title":"\u914d\u7f6e\u53c2\u8003"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/#id","text":"\u8fd9\u91cc\u4e00\u5b9a\u8981\u914d\u5bf9\u6b63\u786e\u7684\u57ce\u5e02id\u533a\u57df\u4ee3\u7801\uff0c\u5426\u5219\u4f1a\u62a5\u7684\u5929\u6c14\u4e0d\u51c6\u3002 \u53ef\u4ee5\u901a\u8fc7\u6b64\u6587\u6863\u63d0\u4f9b\u7684API\uff0c\u67e5\u8be2 https://github.com/qwd/LocationList.git.com/docs/api/geoapi/ \u5176\u4e2d: X-QW-Api-Key \u4e3a\u4f60\u7684API\u5bc6\u94a5\u3002 location \u4e3a\u4f60\u8981\u67e5\u8be2\u7684\u57ce\u5e02\u540d\u79f0\u62fc\u97f3. curl -H \"X-QW-Api-Key: 885d8b06871b445fbc1beb2eda11cd6c\" --compressed \\ 'https://nd4up3fy3t.re.qweatherapi.com/geo/v2/city/lookup?location=changsha' \u5982\u4e0b\u56fe\u6240\u793a","title":"\u83b7\u53d6\u57ce\u5e02id\u533a\u57df\u4ee3\u7801\u7684\u65b9\u6cd5"},{"location":"Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/","text":"\u4eba\u5b58\u5728\u4f20\u611f\u5668-\u5982\u5395\u98ce\u9669\u63d0\u793a\u914d\u7f6e\u65b9\u6cd5 \u00b6 \u4eba\u5458\u611f\u5e94\u5668\u5361\u7247\u4ee3\u7801\u751f\u6210\u5668 \u5148\u627e\u51fa\u8981\u914d\u7f6e\u7684\u4f20\u611f\u5668\u7684\u5b9e\u4f53ID \u00b6 \u4e0b\u9762\u4ee5\u5927\u8fde\u7684\u8fd9\u4e2a\u4eba\u5b58\u5728\u4f20\u611f\u566801\u4e3a\u4f8b\uff1a \u4eba\u5b58\u5728\u4f20\u611f\u566801 \u5149\u7167\u5ea6\uff1a sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_illumination_p_2_1005 \u65e0\u4eba\u6301\u7eed\u65f6\u957f\uff1a sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_no_one_duration_p_2_1082 \u6709\u4eba\u6301\u7eed\u65f6\u957f\uff1a sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_has_someone_duration_p_2_1081 \u5b58\u5728\u4f20\u611f\u5668 \u6709\u4eba\u65e0\u4eba \u72b6\u6001\u662f\u5426\u89e6\u53d1 sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_occupancy_status_p_2_1078 \u4eea\u8868\u76d8\u914d\u7f6e \u00b6 \u5728\u4eea\u8868\u76d8\uff0c\u76f8\u5e94\u4f4d\u7f6e\uff0c\u65b0\u5efa\u7ec4\u4ef6\uff0c\u8fdb\u5165\u4ee3\u7801\u7f16\u8f91\uff0c\u8d34\u5165\u5982\u4e0b\u683c\u5f0f\u7684YAML\u5185\u5bb9: type : markdown content : > 1\u53f7{% if is_state('binary_sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_occupancy_status_p_2_1078', 'on') %} # \ud83d\udd34 \u6709\u4eba-\u4e0d\u53ef\u7528 {% else %} # \ud83d\udfe2 \u65e0\u4eba-\u53ef\u7528 {% endif %} **\u5149\u7167\u5ea6:** {{ states('sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_illumination_p_2_1005') |default('\u672a\u77e5') }} lx {% if is_state('binary_sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_occupancy_status_p_2_1078', 'on') %} **\u6709\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_has_someone_duration_p_2_1081') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% else %} **\u65e0\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_no_one_duration_p_2_1082') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% endif %} card_mod : style : | ha-card { text-align: center; } ha-card h1 { font-size: 48px !important; margin: 10px 0 !important; } ha-card p { font-size: 18px !important; margin: 5px 0 !important; } grid_options : columns : 6 rows : 3 \u533b\u7528\u536b\u751f\u95f4 type : markdown content : > \u533b\u62a4\u536b\u751f\u95f4{% if is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078', 'on') or is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078', '\u6709\u4eba') %} # \ud83d\udd34 \u6709\u4eba-\u4e0d\u53ef\u7528 {% else %} # \ud83d\udfe2 \u65e0\u4eba-\u53ef\u7528 {% endif %} **\u5149\u7167\u5ea6:** {{ states('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_illumination_p_2_1005') | default('\u672a\u77e5') }} lx {% if is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078', 'on') or is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078', '\u6709\u4eba') %} **\u6709\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_has_someone_duration_p_2_1081') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% else %} **\u65e0\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_no_one_duration_p_2_1082') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% endif %} card_mod : style : | ha-card { text-align: center; } ha-card h1 { font-size: 48px !important; margin: 10px 0 !important; } ha-card p { font-size: 18px !important; margin: 5px 0 !important; } grid_options : columns : 6 rows : 3 \u4e8c\u53f7\u536b\u751f\u95f4 type : markdown content : > 2\u53f7{% if is_state('binary_sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_occupancy_status_p_2_1078', 'on') %} # \ud83d\udd34 \u6709\u4eba-\u4e0d\u53ef\u7528 {% else %} # \ud83d\udfe2 \u65e0\u4eba-\u53ef\u7528 {% endif %} **\u5149\u7167\u5ea6:** {{ states('sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_illumination_p_2_1005') |default('\u672a\u77e5') }} lx {% if is_state('binary_sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_occupancy_status_p_2_1078', 'on') %} **\u6709\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_has_someone_duration_p_2_1081') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% else %} **\u65e0\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_no_one_duration_p_2_1082') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% endif %} card_mod : style : | ha-card { text-align: center; } ha-card h1 { font-size: 48px !important; margin: 10px 0 !important; } ha-card p { font-size: 18px !important; margin: 5px 0 !important; } grid_options : columns : 6 rows : 3 \u4e09\u53f7\u536b\u751f\u95f4 type : markdown content : > \u7537\u536b{% if is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078', 'on') or is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078', '\u6709\u4eba') %} # \ud83d\udd34 \u6709\u4eba-\u4e0d\u53ef\u7528 {% else %} # \ud83d\udfe2 \u65e0\u4eba-\u53ef\u7528 {% endif %} **\u5149\u7167\u5ea6:** {{ states('sensor.xiaomi_cn_blt_3_1magboil90c01_03_illumination_p_2_1005') | default('\u672a\u77e5') }} lx {% if is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078', 'on') or is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078', '\u6709\u4eba') %} **\u6709\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1magboil90c01_03_has_someone_duration_p_2_1081') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% else %} **\u65e0\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1magboil90c01_03_no_one_duration_p_2_1082') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% endif %} card_mod : style : | ha-card { text-align: center; } ha-card h1 { font-size: 48px !important; margin: 10px 0 !important; } ha-card p { font-size: 18px !important; margin: 5px 0 !important; } grid_options : columns : 6 rows : 3","title":"\u5982\u5395\u98ce\u9669-\u4eba\u5b58\u5728\u4f20\u611f\u5668\u914d\u7f6e\u65b9\u6cd5"},{"location":"Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/#-","text":"\u4eba\u5458\u611f\u5e94\u5668\u5361\u7247\u4ee3\u7801\u751f\u6210\u5668","title":"\u4eba\u5b58\u5728\u4f20\u611f\u5668-\u5982\u5395\u98ce\u9669\u63d0\u793a\u914d\u7f6e\u65b9\u6cd5"},{"location":"Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/#id","text":"\u4e0b\u9762\u4ee5\u5927\u8fde\u7684\u8fd9\u4e2a\u4eba\u5b58\u5728\u4f20\u611f\u566801\u4e3a\u4f8b\uff1a \u4eba\u5b58\u5728\u4f20\u611f\u566801 \u5149\u7167\u5ea6\uff1a sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_illumination_p_2_1005 \u65e0\u4eba\u6301\u7eed\u65f6\u957f\uff1a sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_no_one_duration_p_2_1082 \u6709\u4eba\u6301\u7eed\u65f6\u957f\uff1a sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_has_someone_duration_p_2_1081 \u5b58\u5728\u4f20\u611f\u5668 \u6709\u4eba\u65e0\u4eba \u72b6\u6001\u662f\u5426\u89e6\u53d1 sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_occupancy_status_p_2_1078","title":"\u5148\u627e\u51fa\u8981\u914d\u7f6e\u7684\u4f20\u611f\u5668\u7684\u5b9e\u4f53ID"},{"location":"Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/#_1","text":"\u5728\u4eea\u8868\u76d8\uff0c\u76f8\u5e94\u4f4d\u7f6e\uff0c\u65b0\u5efa\u7ec4\u4ef6\uff0c\u8fdb\u5165\u4ee3\u7801\u7f16\u8f91\uff0c\u8d34\u5165\u5982\u4e0b\u683c\u5f0f\u7684YAML\u5185\u5bb9: type : markdown content : > 1\u53f7{% if is_state('binary_sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_occupancy_status_p_2_1078', 'on') %} # \ud83d\udd34 \u6709\u4eba-\u4e0d\u53ef\u7528 {% else %} # \ud83d\udfe2 \u65e0\u4eba-\u53ef\u7528 {% endif %} **\u5149\u7167\u5ea6:** {{ states('sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_illumination_p_2_1005') |default('\u672a\u77e5') }} lx {% if is_state('binary_sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_occupancy_status_p_2_1078', 'on') %} **\u6709\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_has_someone_duration_p_2_1081') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% else %} **\u65e0\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_no_one_duration_p_2_1082') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% endif %} card_mod : style : | ha-card { text-align: center; } ha-card h1 { font-size: 48px !important; margin: 10px 0 !important; } ha-card p { font-size: 18px !important; margin: 5px 0 !important; } grid_options : columns : 6 rows : 3 \u533b\u7528\u536b\u751f\u95f4 type : markdown content : > \u533b\u62a4\u536b\u751f\u95f4{% if is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078', 'on') or is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078', '\u6709\u4eba') %} # \ud83d\udd34 \u6709\u4eba-\u4e0d\u53ef\u7528 {% else %} # \ud83d\udfe2 \u65e0\u4eba-\u53ef\u7528 {% endif %} **\u5149\u7167\u5ea6:** {{ states('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_illumination_p_2_1005') | default('\u672a\u77e5') }} lx {% if is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078', 'on') or is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078', '\u6709\u4eba') %} **\u6709\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_has_someone_duration_p_2_1081') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% else %} **\u65e0\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_no_one_duration_p_2_1082') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% endif %} card_mod : style : | ha-card { text-align: center; } ha-card h1 { font-size: 48px !important; margin: 10px 0 !important; } ha-card p { font-size: 18px !important; margin: 5px 0 !important; } grid_options : columns : 6 rows : 3 \u4e8c\u53f7\u536b\u751f\u95f4 type : markdown content : > 2\u53f7{% if is_state('binary_sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_occupancy_status_p_2_1078', 'on') %} # \ud83d\udd34 \u6709\u4eba-\u4e0d\u53ef\u7528 {% else %} # \ud83d\udfe2 \u65e0\u4eba-\u53ef\u7528 {% endif %} **\u5149\u7167\u5ea6:** {{ states('sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_illumination_p_2_1005') |default('\u672a\u77e5') }} lx {% if is_state('binary_sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_occupancy_status_p_2_1078', 'on') %} **\u6709\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_has_someone_duration_p_2_1081') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% else %} **\u65e0\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_no_one_duration_p_2_1082') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% endif %} card_mod : style : | ha-card { text-align: center; } ha-card h1 { font-size: 48px !important; margin: 10px 0 !important; } ha-card p { font-size: 18px !important; margin: 5px 0 !important; } grid_options : columns : 6 rows : 3 \u4e09\u53f7\u536b\u751f\u95f4 type : markdown content : > \u7537\u536b{% if is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078', 'on') or is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078', '\u6709\u4eba') %} # \ud83d\udd34 \u6709\u4eba-\u4e0d\u53ef\u7528 {% else %} # \ud83d\udfe2 \u65e0\u4eba-\u53ef\u7528 {% endif %} **\u5149\u7167\u5ea6:** {{ states('sensor.xiaomi_cn_blt_3_1magboil90c01_03_illumination_p_2_1005') | default('\u672a\u77e5') }} lx {% if is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078', 'on') or is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078', '\u6709\u4eba') %} **\u6709\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1magboil90c01_03_has_someone_duration_p_2_1081') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% else %} **\u65e0\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1magboil90c01_03_no_one_duration_p_2_1082') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% endif %} card_mod : style : | ha-card { text-align: center; } ha-card h1 { font-size: 48px !important; margin: 10px 0 !important; } ha-card p { font-size: 18px !important; margin: 5px 0 !important; } grid_options : columns : 6 rows : 3","title":"\u4eea\u8868\u76d8\u914d\u7f6e"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/","text":"\u900f\u6790\u4e2d\u5fc3\u73af\u5883\u6e29\u5ea6\u53d1\u9001\u5230\u80dc\u900f\u7684\u64cd\u4f5c\u6307\u5357 \u00b6 1. \u524d\u63d0\u6761\u4ef6 \u00b6 \u5df2\u5b89\u88c5\u5e76\u914d\u7f6e\u597dHome Assistant \u5df2\u7ecf\u5b89\u88c5\u5e76\u914d\u7f6e\u4e86MQTT Broker \u5df2\u7ecf\u5b89\u88c5\u5e76\u914d\u7f6e\u4e86Node-RED \u5df2\u7ecf\u5b89\u88c5\u5e76\u914d\u7f6e\u4e86\u7c73\u5bb6\u6e29\u5ea6\u4f20\u611f\u5668\uff08\u5982Miaomiaoc CN BLT 3\uff09 \u5df2\u7ecf\u83b7\u53d6\u5230\u4e86\u80dc\u900f\u7684MQTT\u670d\u52a1\u5668Broker\u5730\u5740\u548c\u7aef\u53e3 2. \u5728Home Assistant\u4e2d\u914d\u7f6e\u4f20\u611f\u5668\u81ea\u52a8\u5316 \u00b6 1.\u627e\u5230\u73af\u5883\u6e29\u5ea6\u4f20\u611f\u5668\u5b9e\u4f53ID \u00b6 \u900f\u6790\u4e2d\u5fc3\u53ef\u80fd\u5b89\u88c5\u4e86\u591a\u4e2a\u7c73\u5bb6\u6e29\u5ea6\u4f20\u611f\u5668\uff0c\u9996\u5148\u9700\u8981\u627e\u5230\u5bf9\u5e94\u7684\u5b9e\u4f53ID\u3002 \u53ef\u4ee5\u5728Home Assistant\u7684\u5f00\u53d1\u8005\u5de5\u5177\u4e2d\u67e5\u770b\u5f53\u524d\u6240\u6709\u4f20\u611f\u5668\u7684\u72b6\u6001\u3002 \u4e5f\u53ef\u4ee5\u5728\u5df2\u7ecf\u8bbe\u5907\u4e0e\u670d\u52a1\uff0c\u96c6\u6210\uff0c\u4e2d\u627e\u5230\u7c73\u5bb6\u7684\u8bbe\u5907\uff0c\u627e\u5230\u90a3\u4e2a\u4f20\u611f\u5668 \u627e\u5230\u9700\u8981\u914d\u7f6e\u4e3a\u73af\u5883\u6e29\u5ea6\u7684\u4f20\u611f\u5668 \u70b9\u51fb\u6e29\u5ea6\u5b9e\u4f53 \u70b9\u51fb\u8bbe\u7f6e\u56fe\u6807 \u5982\u672c\u4f8b\u83b7\u53d6\u5230\u7684\u5b9e\u4f53ID\u4e3a sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1 \u3002\u8bb0\u4f4f\u6b64ID\uff0c\u540e\u9762\u5f88\u591a\u5730\u65b9\u90fd\u4f1a\u7528\u5230. 2. \u521b\u5efa\u81ea\u52a8\u5316\u89c4\u5219 \u00b6 \u6211\u4eec\u9700\u8981\u521b\u5efa\u4e00\u4e2a\u81ea\u52a8\u5316\u89c4\u5219\uff0c\u5f53\u4f20\u611f\u5668\u72b6\u6001\u66f4\u65b0\u65f6\u53ca\u6bcf\u969430\u79d2\uff0c\u5c06\u6e29\u5ea6\u6570\u636e\u53d1\u9001\u5230Home Assistant\u5185\u90e8\u96c6\u6210\u7684\u7684MQTT\u670d\u52a1\u5668\u3002 \u8fdb\u5165 \"\u914d\u7f6e\" \u2192 \"\u81ea\u52a8\u5316\u548c\u573a\u666f\" \u2192 \"\u81ea\u52a8\u5316\"\uff0c\u70b9\u51fb\u53f3\u4e0b\u89d2\u7684 \"+\" \u521b\u5efa\u65b0\u7684\u81ea\u52a8\u5316\u89c4\u5219\u3002 \u8fdb\u5165\u81ea\u52a8\u5316\u89c4\u5219\u7f16\u8f91\u754c\u9762\u540e\uff0c\u70b9\u51fb\u53f3\u4e0b\u89d2\u7684\"\u521b\u5efa\u81ea\u52a8\u5316\"\u6309\u94ae\u3002\u5728\u5f39\u51fa\u7684\u5bf9\u8bdd\u6846\u4e2d\u9009\u62e9\"\u521b\u5efa\u65b0\u7684\u81ea\u52a8\u5316\"\u3002 \u5728\u65b0\u5efa\u81ea\u52a8\u5316\u754c\u9762\uff0c\u70b9\u53f3\u4e0a\u89d2\u7684\u4e09\u4e2a\u70b9\uff0c\u5982\u4e0b\u56fe\u6240\u793a \u5728\u5f39\u51fa\u7684\u4e0b\u62c9\u83dc\u5355\u4e2d\uff0c\u70b9\u51fb\u8fdb\u5165YHAML\u7f16\u8f91,\u8fdb\u5165\u4ee3\u7801\u6a21\u5f0f\uff0c\u5982\u4e0b\u6240\u793a \u5728\u8fd9\u4e2a\u5927\u7684\u6587\u672c\u6846\u4e2d\u7c98\u5165\u5982\u4e0b\u4ee3\u7801\uff1a alias : \u53d1\u5e03\u73af\u5883\u6e29\u5ea6\u4f20\u611f\u5668\u72b6\u6001\u5230MQTT description : \u5f53\u7c73\u5bb6\u6e29\u5ea6\u4f20\u611f\u5668\u72b6\u6001\u53d8\u5316\u6216\u6bcf30\u79d2\u5b9a\u65f6\u65f6\uff0c\u81ea\u52a8\u53d1\u5e03\u5230MQTT\u4f9bNode-RED\u4f7f\u7528 triggers : - entity_id : sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1 trigger : state - seconds : /30 trigger : time_pattern conditions : - condition : template value_template : >- {{ states('sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1') not in ['unavailable', 'unknown', 'None'] and states('sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1') | float(-999) != -999 }} actions : - data : topic : >- homeassistant/sensor/sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1/state payload : >- {{ states('sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1') }} retain : false qos : 0 action : mqtt.publish mode : single \u6ce8\u610f: \u4ee5\u4e0a\u4ee3\u7801\u4e2d\u7684 sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1 \u662f\u793a\u4f8b\u5b9e\u4f53ID\uff0c\u8bf7\u66ff\u6362\u4e3a\u4f60 \u5b9e\u9645\u7684\u6e29\u5ea6\u4f20\u611f\u5668\u5b9e\u4f53ID \u3002 \u653e\u7f6e\u5b8c\u6210\u540e\uff0c\u5982\u4e0b\u56fe\u793a\u610f \u89c2\u5bdf\u4e0a\u6b21\u89e6\u53d1\u5217\u662f\u5426\u4f1a\u6bcf\u969430\u79d2\u6267\u884c\u4e00\u6b21 \u8fd4\u56de\u5230\u4f20\u611f\u5668\u7684\u8bbe\u5907\u754c\u9762\u4e5f\u80fd\u770b\u5230\u8bbe\u5907\u7684\u81ea\u52a8\u5316\u4e0b\u9762\u6709\u4e00\u6761\u81ea\u52a8\u5316\u89c4\u5219\uff0c\u5982\u4e0b\u56fe \u5230\u6b64\uff0c\u81ea\u52a8\u5316\u89c4\u5219\u5df2\u914d\u7f6e\u5b8c\u6210\u3002 3. \u5728Node-RED\u4e2d\u914d\u7f6eMQTT\u63a5\u6536\u8f6c\u53d1 \u00b6 1. \u6253\u5f00Node-RED\u7f16\u8f91\u5668 \u00b6 \u6253\u5f00nod-red\u7f16\u8f91\u5668\uff0c\u6709\u7684HA\u53ef\u80fd\u662f\u914d\u7f6e\u5728\u5de6\u4fa7\u822a\u83dc\u5355\u4e2d\uff0c\u5982\u4e0b\u56fe\u5fd7\u793a\uff0c\u70b9\u51fb\u5373\u53ef\u8fdb\u5165 \u6709\u7684\u662f\u6ca1\u6709\u914d\u7f6enode-red\u5230\u5de6\u4fa7\u5bfc\u822a\u83dc\u5355\u7684\uff0c\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u53ef\u4ee5\u70b9\u51fb\"\u8bbe\u7f6e-\u52a0\u8f7d\u9879\"\u8fdb\u5165\u52a0\u8f7d\u9879\u9875\u9762 \u627e\u5230Node-RED\u52a0\u8f7d\u9879\uff0c\u70b9\u51fb\u8fdb\u5165 \u8fdb\u5165\u754c\u9762\u5982\u4e0b\uff1a 2. \u521b\u5efa\u65b0\u5de5\u4f5c\u6d41 \u00b6 \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\"\u83dc\u5355\"\u6309\u94ae\uff0c\u518d\u70b9\u5bfc\u5165\u3002 \u5728\u6b64\u5904\u8d34\u5165\u5de5\u4f5c\u6d41\u4ee3\u7801\uff0c\u6ce8\u610f\uff1a\u8981\u9009\u62e9\u5bfc\u5165\u5230\u65b0\u6d41\u7a0b \u5de5\u4f5c\u6d41\u4ee3\u7801\u5982\u4e0b [ { \"id\" : \"1407d4531e19a951\" , \"type\" : \"tab\" , \"label\" : \"\u900f\u6790\u4e2d\u5fc3\u73af\u5883\u6e29\u5ea6\u6570\u636e\u8f6c\u53d1\" , \"disabled\" : false , \"info\" : \"\u4eceHomeAssistant\u83b7\u53d6\u6e29\u5ea6\u4f20\u611f\u5668\u6570\u636e\u5e76\u53d1\u5e03\u5230\u516c\u53f8MQTT\u670d\u52a1\u5668\" }, { \"id\" : \"97e254f4a87ddde9\" , \"type\" : \"mqtt in\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u8ba2\u9605HA\u6e29\u5ea6\u4f20\u611f\u5668\" , \"topic\" : \"homeassistant/sensor/+/state\" , \"qos\" : \"0\" , \"datatype\" : \"auto\" , \"broker\" : \"mqtt-ha-broker\" , \"nl\" : false , \"rap\" : true , \"rh\" : 0 , \"inputs\" : 0 , \"x\" : 150 , \"y\" : 100 , \"wires\" : [ [ \"44d729e67618e4f2\" ] ] }, { \"id\" : \"44d729e67618e4f2\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u5904\u7406\u6e29\u5ea6\u6570\u636e\" , \"func\" : \"// \u4ece\u5168\u5c40\u53d8\u91cf\u83b7\u53d6\u5171\u4eab\u914d\u7f6e\\nconst nameSpace = global.get(\\\"nameSpace\\\") || \\\"Environment\\\";\\nconst clientCode = global.get(\\\"clientCode\\\") || \\\"Data-It_XzOffice\\\";\\nconst targetDeviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\n\\n// \u4ecetopic\u4e2d\u63d0\u53d6\u5f53\u524d\u8bbe\u5907ID\\nconst topicParts = msg.topic.split('/');\\nconst currentDeviceId = topicParts.length >= 3 ? topicParts[2] : \\\"\\\";\\n\\n// \u53ea\u5904\u7406\u76ee\u6807\u8bbe\u5907\u7684\u6d88\u606f\\nif (currentDeviceId !== targetDeviceId) {\\n node.log(\\\"\u5ffd\u7565\u8bbe\u5907\u6d88\u606f: \\\" + currentDeviceId + \\\" (\u76ee\u6807\u8bbe\u5907: \\\" + targetDeviceId + \\\")\\\");\\n return null;\\n}\\n\\n// \u751f\u6210\u552f\u4e00\u7684\u6d88\u606fID\\nconst messageId = \\\"temp_\\\" + Date.now() + \\\"_\\\" + Math.floor(Math.random() * 1000);\\nconst timestamp = Date.now();\\nconst deviceType = \\\"sensor\\\";\\n\\n// \u89e3\u6790\u6e29\u5ea6\u503c\\nlet temperature = parseFloat(msg.payload);\\nif (isNaN(temperature)) {\\n node.warn(\\\"\u63a5\u6536\u5230\u65e0\u6548\u7684\u6e29\u5ea6\u503c: \\\" + msg.payload);\\n return null;\\n}\\n\\n// \u6309\u7167\u80dc\u900f\u7269\u8054\u7f51\u901a\u4fe1\u534f\u8bae\u683c\u5f0f\u5316\u6570\u636e\\nconst protocolMessage = {\\n \\\"messageId\\\": messageId,\\n \\\"timestamp\\\": timestamp,\\n \\\"clientCode\\\": clientCode,\\n \\\"deviceId\\\": targetDeviceId,\\n \\\"deviceType\\\": deviceType,\\n \\\"version\\\": \\\"1.0\\\",\\n \\\"data\\\": {\\n \\\"properties\\\": {\\n \\\"temperature\\\": {\\n \\\"value\\\": temperature,\\n \\\"unit\\\": \\\"\u00b0C\\\",\\n \\\"quality\\\": \\\"good\\\",\\n \\\"timestamp\\\": timestamp\\n }\\n }\\n }\\n};\\n\\n// \u8bbe\u7f6e\u8f93\u51fa\u6d88\u606f\\nmsg.payload = JSON.stringify(protocolMessage);\\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${targetDeviceId}/properties`;\\nmsg.qos = 0;\\n\\nnode.log(\\\"\u6e29\u5ea6\u6570\u636e\u5df2\u5904\u7406: \\\" + temperature + \\\"\u00b0C (\u8bbe\u5907: \\\" + targetDeviceId + \\\")\\\");\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 420 , \"y\" : 100 , \"wires\" : [ [ \"573842ea77192dbb\" , \"4c630c164e08dc2c\" ] ] }, { \"id\" : \"573842ea77192dbb\" , \"type\" : \"mqtt out\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u53d1\u5e03\u5230\u516c\u53f8MQTT\" , \"topic\" : \"\" , \"qos\" : \"\" , \"retain\" : \"\" , \"respTopic\" : \"\" , \"contentType\" : \"\" , \"userProps\" : \"\" , \"correl\" : \"\" , \"expiry\" : \"\" , \"broker\" : \"mqtt-company-broker\" , \"x\" : 990 , \"y\" : 80 , \"wires\" : [] }, { \"id\" : \"4c630c164e08dc2c\" , \"type\" : \"debug\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u8c03\u8bd5\u8f93\u51fa\" , \"active\" : true , \"tosidebar\" : true , \"console\" : false , \"tostatus\" : false , \"complete\" : \"payload\" , \"targetType\" : \"msg\" , \"statusVal\" : \"\" , \"statusType\" : \"auto\" , \"x\" : 1040 , \"y\" : 360 , \"wires\" : [] }, { \"id\" : \"495c392574ee1bf4\" , \"type\" : \"inject\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u53d1\u5e03\u8bbe\u5907\u7269\u6a21\u578b\" , \"props\" : [ { \"p\" : \"payload\" }, { \"p\" : \"topic\" , \"vt\" : \"str\" } ], \"repeat\" : \"60\" , \"crontab\" : \"\" , \"once\" : true , \"onceDelay\" : \"5\" , \"topic\" : \"shengtou/sensor/TH001_HA/model\" , \"payload\" : \"\" , \"payloadType\" : \"date\" , \"x\" : 170 , \"y\" : 180 , \"wires\" : [ [ \"3aea3ce2deb4ea99\" ] ] }, { \"id\" : \"3aea3ce2deb4ea99\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u751f\u6210\u7269\u6a21\u578b\u6570\u636e\" , \"func\" : \"const messageId = \\\"mdl_\\\" + Date.now();\\nconst timestamp = Date.now();\\n// \u4ece\u5168\u5c40\u53d8\u91cf\u83b7\u53d6\u5171\u4eab\u914d\u7f6e\\nconst nameSpace = global.get(\\\"nameSpace\\\") || \\\"Environment\\\";\\nconst clientCode = global.get(\\\"clientCode\\\") || \\\"Data-It_XzOffice\\\";\\nconst deviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\nconst deviceType = \\\"sensor\\\";\\n\\n// \u6309\u7167\u80dc\u900f\u7269\u8054\u7f51\u901a\u4fe1\u534f\u8bae\u751f\u6210\u7269\u6a21\u578b\u5b9a\u4e49\\nconst modelMessage = {\\n \\\"messageId\\\": messageId,\\n \\\"timestamp\\\": timestamp,\\n \\\"clientCode\\\": clientCode,\\n \\\"deviceId\\\": deviceId,\\n \\\"deviceType\\\": deviceType,\\n \\\"version\\\": \\\"1.0\\\",\\n \\\"data\\\": {\\n \\\"model\\\": {\\n \\\"deviceInfo\\\": {\\n \\\"manufacturer\\\": \\\"\u5c0f\u7c73\\\",\\n \\\"model\\\": \\\"MIAOMIAOC_CN_BLT_3_11A1SBR5K5O01_T2\\\",\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"description\\\": \\\"\u7c73\u5bb6\u6e29\u6e7f\u5ea6\u4f20\u611f\u5668(\u901a\u8fc7HomeAssistant\u96c6\u6210)\\\"\\n },\\n \\\"properties\\\": {\\n \\\"temperature\\\": {\\n \\\"dataType\\\": \\\"float\\\",\\n \\\"unit\\\": \\\"\u00b0C\\\",\\n \\\"range\\\": {\\n \\\"min\\\": -40,\\n \\\"max\\\": 85\\n },\\n \\\"precision\\\": 1,\\n \\\"description\\\": \\\"\u73af\u5883\u6e29\u5ea6\\\"\\n }\\n },\\n \\\"events\\\": {\\n \\\"startup\\\": {\\n \\\"eventType\\\": \\\"info\\\",\\n \\\"description\\\": \\\"\u8bbe\u5907\u542f\u52a8\u4e8b\u4ef6\\\"\\n }\\n },\\n \\\"alarms\\\": {\\n \\\"TEMP_HIGH\\\": {\\n \\\"alarmType\\\": \\\"threshold_exceeded\\\",\\n \\\"description\\\": \\\"\u6e29\u5ea6\u8fc7\u9ad8\u62a5\u8b66\\\",\\n \\\"defaultThreshold\\\": 35.0\\n },\\n \\\"TEMP_LOW\\\": {\\n \\\"alarmType\\\": \\\"threshold_exceeded\\\",\\n \\\"description\\\": \\\"\u6e29\u5ea6\u8fc7\u4f4e\u62a5\u8b66\\\",\\n \\\"defaultThreshold\\\": 0.0\\n }\\n }\\n }\\n }\\n};\\n\\n// \u8bbe\u7f6eMQTT\u53d1\u5e03\u4e3b\u9898\\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${deviceId}/model`;\\nmsg.payload = JSON.stringify(modelMessage);\\nmsg.qos = 1;\\n\\nnode.log(\\\"\u8bbe\u5907\u7269\u6a21\u578b\u6570\u636e\u5df2\u751f\u6210\uff0c\u53d1\u5e03\u5230\u4e3b\u9898: \\\" + msg.topic);\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 400 , \"y\" : 160 , \"wires\" : [ [ \"573842ea77192dbb\" , \"4c630c164e08dc2c\" ] ] }, { \"id\" : \"70e1e283448c941e\" , \"type\" : \"inject\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u8bbe\u5907\u72b6\u6001\u5fc3\u8df3\" , \"props\" : [ { \"p\" : \"payload\" }, { \"p\" : \"topic\" , \"vt\" : \"str\" } ], \"repeat\" : \"120\" , \"crontab\" : \"\" , \"once\" : true , \"onceDelay\" : \"10\" , \"topic\" : \"shengtou/sensor/TH001_HA/status\" , \"payload\" : \"\" , \"payloadType\" : \"date\" , \"x\" : 160 , \"y\" : 240 , \"wires\" : [ [ \"ae74b6d386748045\" ] ] }, { \"id\" : \"ae74b6d386748045\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u751f\u6210\u72b6\u6001\u6570\u636e\" , \"func\" : \"const messageId = \\\"sts_\\\" + Date.now();\\nconst timestamp = Date.now();\\n// \u4ece\u5168\u5c40\u53d8\u91cf\u83b7\u53d6\u5171\u4eab\u914d\u7f6e\\nconst nameSpace = global.get(\\\"nameSpace\\\") || \\\"Environment\\\";\\nconst clientCode = global.get(\\\"clientCode\\\") || \\\"Data-It_XzOffice\\\";\\nconst deviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\nconst deviceType = \\\"sensor\\\";\\n\\n// \u8ba1\u7b97\u8bbe\u5907\u8fd0\u884c\u65f6\u95f4\uff08\u4ece\u7b2c\u4e00\u6b21\u542f\u52a8\u5f00\u59cb\uff09\\nif (!context.get(\\\"startTime\\\")) {\\n context.set(\\\"startTime\\\", timestamp);\\n}\\nconst startTime = context.get(\\\"startTime\\\");\\nconst uptime = timestamp - startTime;\\n\\n// \u6309\u7167\u80dc\u900f\u7269\u8054\u7f51\u901a\u4fe1\u534f\u8bae\u751f\u6210\u72b6\u6001\u6570\u636e\\nconst statusMessage = {\\n \\\"messageId\\\": messageId,\\n \\\"timestamp\\\": timestamp,\\n \\\"clientCode\\\": clientCode,\\n \\\"deviceId\\\": deviceId,\\n \\\"deviceType\\\": deviceType,\\n \\\"version\\\": \\\"1.0\\\",\\n \\\"data\\\": {\\n \\\"status\\\": {\\n \\\"online\\\": true,\\n \\\"lastHeartbeat\\\": timestamp,\\n \\\"uptime\\\": uptime\\n }\\n }\\n};\\n\\n// \u8bbe\u7f6eMQTT\u53d1\u5e03\u4e3b\u9898\\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${deviceId}/status`;\\nmsg.payload = JSON.stringify(statusMessage);\\nmsg.qos = 0;\\n\\nnode.log(\\\"\u8bbe\u5907\u72b6\u6001\u5fc3\u8df3\u5df2\u53d1\u9001\uff0c\u53d1\u5e03\u5230\u4e3b\u9898: \\\" + msg.topic);\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 400 , \"y\" : 240 , \"wires\" : [ [ \"573842ea77192dbb\" , \"4c630c164e08dc2c\" ] ] }, { \"id\" : \"7f9acf10d0c6085d\" , \"type\" : \"inject\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u521d\u59cb\u5316\u5168\u5c40\u914d\u7f6e\" , \"props\" : [ { \"p\" : \"payload\" } ], \"repeat\" : \"\" , \"crontab\" : \"\" , \"once\" : true , \"onceDelay\" : \"1\" , \"topic\" : \"\" , \"payload\" : \"\" , \"payloadType\" : \"date\" , \"x\" : 150 , \"y\" : 40 , \"wires\" : [ [ \"6f6b825dfc5e9512\" ] ] }, { \"id\" : \"6f6b825dfc5e9512\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u8bbe\u7f6e\u5168\u5c40\u914d\u7f6e\" , \"func\" : \"// \u8bbe\u7f6e\u5168\u5c40\u5171\u4eab\u5e38\u91cf\\nglobal.set(\\\"nameSpace\\\", \\\"Environment\\\");\\nglobal.set(\\\"clientCode\\\", \\\"Data-It_XzOffice\\\");\\nglobal.set(\\\"deviceId\\\", \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\");\\n\\nnode.log(\\\"\u5168\u5c40\u914d\u7f6e\u5df2\u8bbe\u7f6e: nameSpace=\\\" + global.get(\\\"nameSpace\\\") + \\\", clientCode=\\\" + global.get(\\\"clientCode\\\") + \\\", deviceId=\\\" + global.get(\\\"deviceId\\\"));\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 360 , \"y\" : 40 , \"wires\" : [ [ \"794c422d39898a7f\" ] ] }, { \"id\" : \"794c422d39898a7f\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u66f4\u65b0MQTT\u8ba2\u9605Topic\" , \"func\" : \"// \u4ece\u5168\u5c40\u53d8\u91cf\u751f\u6210HomeAssistant MQTT\u8ba2\u9605Topic\\nconst deviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\nconst haTopic = `homeassistant/sensor/${deviceId}/state`;\\n\\n// \u5c06Topic\u4fdd\u5b58\u5230\u5168\u5c40\u53d8\u91cf\u4f9b\u5176\u4ed6\u5730\u65b9\u4f7f\u7528\\nglobal.set(\\\"haSubscribeTopic\\\", haTopic);\\n\\nnode.log(\\\"HomeAssistant\u8ba2\u9605Topic\u5df2\u66f4\u65b0: \\\" + haTopic);\\nnode.log(\\\"\u6ce8\u610f\uff1a\u5982\u9700\u66f4\u6539MQTT In\u8282\u70b9\u7684\u8ba2\u9605Topic\uff0c\u8bf7\u624b\u52a8\u4fee\u6539\u4e3a: \\\" + haTopic);\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 590 , \"y\" : 40 , \"wires\" : [ [] ] }, { \"id\" : \"3bf854e9bd3e6937\" , \"type\" : \"inject\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u542f\u52a8\u4e8b\u4ef6\" , \"props\" : [ { \"p\" : \"payload\" }, { \"p\" : \"topic\" , \"vt\" : \"str\" } ], \"repeat\" : \"\" , \"crontab\" : \"\" , \"once\" : true , \"onceDelay\" : \"15\" , \"topic\" : \"shengtou/sensor/TH001_HA/events\" , \"payload\" : \"\" , \"payloadType\" : \"date\" , \"x\" : 160 , \"y\" : 340 , \"wires\" : [ [ \"26f6196b2d6fba29\" ] ] }, { \"id\" : \"26f6196b2d6fba29\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u751f\u6210\u542f\u52a8\u4e8b\u4ef6\" , \"func\" : \"const messageId = \\\"evt_startup_\\\" + Date.now();\\nconst timestamp = Date.now();\\n// \u4ece\u5168\u5c40\u53d8\u91cf\u83b7\u53d6\u5171\u4eab\u914d\u7f6e\\nconst nameSpace = global.get(\\\"nameSpace\\\") || \\\"Environment\\\";\\nconst clientCode = global.get(\\\"clientCode\\\") || \\\"Data-It_XzOffice\\\";\\nconst deviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\nconst deviceType = \\\"sensor\\\";\\n\\n// \u6309\u7167\u80dc\u900f\u7269\u8054\u7f51\u901a\u4fe1\u534f\u8bae\u751f\u6210\u4e8b\u4ef6\u6570\u636e\\nconst eventMessage = {\\n \\\"messageId\\\": messageId,\\n \\\"timestamp\\\": timestamp,\\n \\\"clientCode\\\": clientCode,\\n \\\"deviceId\\\": deviceId,\\n \\\"deviceType\\\": deviceType,\\n \\\"version\\\": \\\"1.0\\\",\\n \\\"data\\\": {\\n \\\"events\\\": [\\n {\\n \\\"eventType\\\": \\\"startup\\\",\\n \\\"eventLevel\\\": \\\"info\\\",\\n \\\"eventCode\\\": \\\"EVT_001\\\",\\n \\\"description\\\": \\\"HomeAssistant\u6e29\u5ea6\u4f20\u611f\u5668\u4ee3\u7406\u8bbe\u5907\u542f\u52a8\u5b8c\u6210\\\",\\n \\\"timestamp\\\": timestamp\\n }\\n ]\\n }\\n};\\n\\n// \u8bbe\u7f6eMQTT\u53d1\u5e03\u4e3b\u9898\\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${deviceId}/events`;\\nmsg.payload = JSON.stringify(eventMessage);\\nmsg.qos = 1;\\n\\nnode.log(\\\"\u8bbe\u5907\u542f\u52a8\u4e8b\u4ef6\u5df2\u751f\u6210\uff0c\u53d1\u5e03\u5230\u4e3b\u9898: \\\" + msg.topic);\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 380 , \"y\" : 320 , \"wires\" : [ [ \"573842ea77192dbb\" , \"4c630c164e08dc2c\" ] ] }, { \"id\" : \"mqtt-ha-broker\" , \"type\" : \"mqtt-broker\" , \"name\" : \"HomeAssistant MQTT\" , \"broker\" : \"192.168.50.83\" , \"port\" : \"1883\" , \"clientid\" : \"\" , \"autoConnect\" : true , \"usetls\" : false , \"protocolVersion\" : \"4\" , \"keepalive\" : \"60\" , \"cleansession\" : true , \"autoUnsubscribe\" : true , \"birthTopic\" : \"\" , \"birthQos\" : \"0\" , \"birthPayload\" : \"\" , \"birthMsg\" : {}, \"closeTopic\" : \"\" , \"closeQos\" : \"0\" , \"closePayload\" : \"\" , \"closeMsg\" : {}, \"willTopic\" : \"\" , \"willQos\" : \"0\" , \"willPayload\" : \"\" , \"willMsg\" : {}, \"sessionExpiry\" : \"\" }, { \"id\" : \"mqtt-company-broker\" , \"type\" : \"mqtt-broker\" , \"name\" : \"\u516c\u53f8MQTT\u670d\u52a1\u5668\" , \"broker\" : \"mqtt-test.ihemodialysis.com\" , \"port\" : \"62183\" , \"clientid\" : \"\" , \"usetls\" : false , \"protocolVersion\" : \"4\" , \"keepalive\" : \"60\" , \"cleansession\" : true , \"birthTopic\" : \"\" , \"birthQos\" : \"0\" , \"birthPayload\" : \"\" , \"birthMsg\" : {}, \"closeTopic\" : \"\" , \"closeQos\" : \"0\" , \"closePayload\" : \"\" , \"closeMsg\" : {}, \"willTopic\" : \"shengtou/sensor/TH001_HA/status\" , \"willQos\" : \"0\" , \"willPayload\" : \"{\\\"messageId\\\":\\\"sts_offline\\\",\\\"timestamp\\\":0,\\\"deviceId\\\":\\\"TH001_HA\\\",\\\"deviceType\\\":\\\"sensor\\\",\\\"version\\\":\\\"1.0\\\",\\\"data\\\":{\\\"status\\\":{\\\"online\\\":false,\\\"lastHeartbeat\\\":0,\\\"uptime\\\":0}}}\" , \"willMsg\" : {}, \"sessionExpiry\" : \"\" } ] \u5f53\u7136\uff0c\u4f60\u4e5f\u53ef\u4ee5\u4ece \u5de5\u4f5c\u6d41\u6587\u4ef6 \u5bfc\u5165\u65b0\u65b0\u5de5\u4f5c\u6d41\u3002 \u70b9\u51fb\u4e0a\u8ff0\u94fe\u63a5\u540e\uff0c\u4e0b\u8f7d\u6587\u4ef6\uff0c\u5e76\u89e3\u538b\uff0c\u5f97\u5230\u4e00\u4e2a\u540d\u4e3a flows.json \u7684\u6587\u4ef6\u3002 \u70b9\u51fb\u5bfc\u5165\u8282\u70b9\u6587\u4ef6\uff0c \u90e8\u7f72\u6210\u529f\u540e\uff0c\u4f1a\u51fa\u73b0\u5982\u4e0b\u56fe\u6240\u793a\u7684\u5de5\u4f5c\u6d41 \u6b64\u65f6\uff0c\u5de5\u4f5c\u6d41\u5df2\u521b\u5b8c\u6210. 3. \u914d\u7f6eMQTT\u8282\u70b9 \u00b6 \u5de5\u4f5c\u6d41\u4e2d\u6709\u4e24\u4e2aMQTT\u8282\u70b9\uff0c\u5206\u522b\u662fHome Assistant\u7684MQTT Broker\u548c\u516c\u53f8MQTT\u670d\u52a1\u5668\u7684Broker\u3002\u8fd9\u4e24\u4e2a\u8282\u70b9\u7684\u914d\u7f6e\u9700\u8981\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8fdb\u884c\u8c03\u6574\u3002 \u9996\u5148\uff0c\u8981\u5148\u914d\u7f6eHome Assistant\u7684MQTT Broker\u8282\u70b9\uff0c\u786e\u4fdd\u5176\u8fde\u63a5\u4fe1\u606f\u6b63\u786e\u65e0\u8bef\u3002 \u5728\u6211\u4eec\u6ca1\u6709\u914d\u7f6emqtt in \u7684\u8fde\u63a5\u4fe1\u606f\u65f6\uff0c\u6211\u4eec\u53d1\u73b0\u8fd9\u4e2a\u8282\u70b9\u4e00\u76f4\u5904\u7406\u8fde\u63a5\u4e2d \u53cc\u51fb\u8be5\u8282\u70b9\uff0c\u8fdb\u5165\u914d\u7f6e\u754c\u9762 \u70b9\u51fb\u7f16\u8f91\u56fe\u6807 \u5728\u7f16\u8f91mqtt-broker\u8282\u70b9\u7684\u754c\u9762\u4e2d\u7684\u8fde\u63a5\u53c2\u6570\u9009\u9879\u5361\u4e2d\uff0c\u8f93\u5165\u6b63\u786e\u7684\u670d\u52a1\u7aef\u4e0e\u7aef\u53e3\u53f7 \u5982\u679cMQTT\u6709\u7528\u6237\u540d\u548c\u5bc6\u7801\uff0c\u8bf7\u5728\u8ba4\u8bc1\u9009\u9879\u5361\u4e2d\u8f93\u5165\u6b63\u786e\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u540e\uff0c\u7136\u540e\u70b9\u66f4\u65b0 \u7136\u540e\uff0c\u518d\u70b9\u51fb\u5b8c\u6210 \u6700\u540e\u70b9\u51fb\u90e8\u7f72 \u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u6211\u4eec\u53ef\u4ee5\u770b\u5230\uff0c\u6b64\u8282\u70b9\u4f1a\u53d8\u4e3a\u5df2\u8054\u63a5 \u5bf9\u4e8e\"\u53d1\u5e03\u5230\u516c\u53f8MQTT\"\u8282\u70b9\uff0c\u6211\u4eec\u9700\u8981\u914d\u7f6e\u8fde\u63a5\u5230\u516c\u53f8MQTT\u670d\u52a1\u5668\u7684Broker\u3002\u4e5f\u65f6\u540c\u6837\u7684\u64cd\u4f5c\u65b9\u6cd5\uff0c\u53cc\u51fb \u7136\u540e\uff0c\u66f4\u65b0\uff0c\u5b8c\u6210\uff0c\u90e8\u7f72\u5373\u53ef\u3002 \u67e5\u627eHomeAssistant\u7684Mqtt\u914d\u7f6e\u4fe1\u606f \u5bf9\u4e8eHomeAssistant\u6211\u4eec\u4e00\u822c\u90fd\u662f\u63d0\u524d\u90e8\u7f72\u4e86\u5185\u7f6e\u7684MQTT Broker,\u5728\u4e0d\u77e5\u7aef\u53e3\u4e0e\u5bc6\u7801\u7684\u60c5\u51b5\u4e0b\uff0c\u6211\u6837\u53ef\u4ee5\u5728HomeAssistant\u4e2d\u53bb\u67e5\u627e \u8fdb\u5165\u8bbe\u7f6e\u52a0\u8f7d\u9879 \u627e\u5230Mosquitto broker\u8fd9\u4e2a\u9009\u9879\u5361,\u70b9\u51fb\u8fdb\u5165 \u70b9\u51fb\u914d\u7f6e\u9009\u9879\u5361 \u5728\u8fd9\u91cc\u53ef\u4ee5\u770b\u5230MQTT\u7684\u7aef\u53e3\u53f7\u4e0e\u7528\u6237\u540d\u5bc6\u7801\u7b49\u4fe1\u606f\uff0c\u53ca\u4e0b\u9762\u7684mqtt\u5f00\u653e\u7684\u7aef\u53e3\u4fe1\u606f\uff0cip\u5730\u5740\uff0c\u5c31\u662fha\u4e3b\u673a\u6240\u5728\u7684Ip\u5730\u5740\u3002\u4ee5\u4e0a\u4fe1\u606f\uff0c\u7528\u6765\u914d\u7f6e\u5de5\u4f5c\u6d41\u7684mqtt in\u7684\u53c2\u6570\u3002 \u516c\u53f8mqtt\u670d\u52a1\u7aef\u53e3\u4fe1\u606f \u8fd9\u4e2a\u53c2\u6570\uff0c\u8bf7\u5411\u516c\u53f8\u7ba1\u7406\u5458\u83b7\u53d6\uff0c\u6216\u8005\u5728\u516c\u53f8MQTT\u670d\u52a1\u5668\u7684\u914d\u7f6e\u6587\u4ef6\u4e2d\u67e5\u770b\u3002 4.\u914d\u7f6e\u5de5\u4f5c\u6d41\u5168\u5c40\u53d8\u91cf \u00b6 \u53cc\u51fb\u5de5\u4f5c\u6d41\u7684\u8282\u70b9\"\u8bbe\u7f6e\u5168\u5c40\u914d\u7f6e\",\u6253\u5f00\u7f16\u8f91function\u8282\u70b9 \u5bf9\u5982\u4e0b\u4e09\u884c,\u8fdb\u884c\u66f4\u6539 // \u8bbe\u7f6e\u5168\u5c40\u5171\u4eab\u5e38\u91cf global . set ( \"nameSpace\" , \"Environment\" ); //\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4e3a\uff1aEnvironment\uff0c\u5982\u679c\u6709\u9700\u8981\uff0c\u4ee5\u8054\u7cfb\u76f8\u5173\u5de5\u7a0b\u5e08\u786e\u8ba4\u540e\uff0c\u66f4\u6539. global . set ( \"clientCode\" , \"Data-It_XzOffice\" ); // \u5ba2\u6237\u7aef\u4ee3\u7801\uff0c\u9ed8\u8ba4\u4e3a\uff1aData-It_XzOffice\uff0c\u4e00\u5b9a\u8981\u6539\u4e3a\u4e2d\u5fc3\u5bf9\u5c31\u7684ClientCode\uff0c global . set ( \"deviceId\" , \"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\" ); //\u4e00\u5b9a\u8981\u6539\u4e3a\u4e4b\u524d\u6211\u4eec\u5b9a\u7684\u4f20\u611f\u5668\u5b9e\u4f53ID \u5982\u679c\u4e0d\u786e\u5b9a\uff0c\u8bf7\u8054\u7cfb\u76f8\u5173\u5de5\u7a0b\u5e08\u786e\u8ba4\u3002 \u7136\u540e\uff0c\u70b9\u51fb\uff0c\u5b8c\u6210\uff0c\u90e8\u7f72 \u7136\u540e\uff0c\u4e0b\u4e00\u6b65\uff0c\u975e\u5e38\u91cd\u8981\uff0c\u4e00\u5b9a\u8981\u6267\u884c \u8fd9\u4e00\u6b65\uff0c\u975e\u5e38\u91cd\u8981\uff0c\u5fc5\u987b\u6267\u884c\uff0c\u5426\u5219\u5de5\u4f5c\u6d41\u6ca1\u6709\u628a\u5168\u5c40\u53d8\u91cf\u5199\u5165\u5de5\u4f5c\u6d41\uff0c\u4f1a\u5bfc\u81f4\u53d1\u5e03\u6570\u636e\u4e0d\u6b63\u786e\u3002 \u7136\u540e\uff0c\u6211\u6837\u5c31\u53ef\u4ee5\u7528\u5728debug\u7684\u65e5\u5fd7\u4e2d\u770b\u5230\u6211\u4eec\u53d1\u5e03\u7684\u8282\u70b9\u6570\u636e\u4e86\uff0c \u6b64\u56fe\uff0c\u53ef\u4ee5\u89c2\u5bdf\u5230mqtt\u53d1\u5e03\u5230\u516c\u53f8\u7684\u6570\u636e\uff0cclientCode\uff0cdeviceid\u662f\u5426\u6b63\u5e38\u4e86\u3002 5. \u6d4b\u8bd5\u5de5\u4f5c\u6d41\u7684\u6570\u636e\u662f\u5426\u6b63\u5e38 \u00b6 \u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u7b2c\u4e09\u65b9\u5de5\u5177\u6765\u67e5\u770b\u516c\u53f8mqtt\u670d\u52a1\u6536\u5230\u7684\u6570\u636e\u662f\u5426\u6b63\u5e38\u5982\u4e0b\u56fe \u8fd9\u91cc\u6211\u63a8\u8350\u4f7f\u7528\u5de5\u5177 MQTTX \u4e0b\u8f7d\u5730\u5740\u4e3a\uff1ahttps://mqttx.app/downloads \u81f3\u6b64,\u900f\u6790\u4e2d\u5fc3HA\u73af\u5883\u6e29\u5ea6\u6570\u636e\u53d1\u9001\u5230\u80dc\u900f\u7684\u5de5\u4f5c\u6d41\u914d\u7f6e\u5b8c\u6210\u3002","title":"\u900f\u6790\u4e2d\u5fc3HA\u73af\u5883\u6e29\u5ea6\u53d1\u9001\u5230\u80dc\u900f\u7684\u64cd\u4f5c\u6307\u5357"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#_1","text":"","title":"\u900f\u6790\u4e2d\u5fc3\u73af\u5883\u6e29\u5ea6\u53d1\u9001\u5230\u80dc\u900f\u7684\u64cd\u4f5c\u6307\u5357"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#1","text":"\u5df2\u5b89\u88c5\u5e76\u914d\u7f6e\u597dHome Assistant \u5df2\u7ecf\u5b89\u88c5\u5e76\u914d\u7f6e\u4e86MQTT Broker \u5df2\u7ecf\u5b89\u88c5\u5e76\u914d\u7f6e\u4e86Node-RED \u5df2\u7ecf\u5b89\u88c5\u5e76\u914d\u7f6e\u4e86\u7c73\u5bb6\u6e29\u5ea6\u4f20\u611f\u5668\uff08\u5982Miaomiaoc CN BLT 3\uff09 \u5df2\u7ecf\u83b7\u53d6\u5230\u4e86\u80dc\u900f\u7684MQTT\u670d\u52a1\u5668Broker\u5730\u5740\u548c\u7aef\u53e3","title":"1. \u524d\u63d0\u6761\u4ef6"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#2-home-assistant","text":"","title":"2. \u5728Home Assistant\u4e2d\u914d\u7f6e\u4f20\u611f\u5668\u81ea\u52a8\u5316"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#1id","text":"\u900f\u6790\u4e2d\u5fc3\u53ef\u80fd\u5b89\u88c5\u4e86\u591a\u4e2a\u7c73\u5bb6\u6e29\u5ea6\u4f20\u611f\u5668\uff0c\u9996\u5148\u9700\u8981\u627e\u5230\u5bf9\u5e94\u7684\u5b9e\u4f53ID\u3002 \u53ef\u4ee5\u5728Home Assistant\u7684\u5f00\u53d1\u8005\u5de5\u5177\u4e2d\u67e5\u770b\u5f53\u524d\u6240\u6709\u4f20\u611f\u5668\u7684\u72b6\u6001\u3002 \u4e5f\u53ef\u4ee5\u5728\u5df2\u7ecf\u8bbe\u5907\u4e0e\u670d\u52a1\uff0c\u96c6\u6210\uff0c\u4e2d\u627e\u5230\u7c73\u5bb6\u7684\u8bbe\u5907\uff0c\u627e\u5230\u90a3\u4e2a\u4f20\u611f\u5668 \u627e\u5230\u9700\u8981\u914d\u7f6e\u4e3a\u73af\u5883\u6e29\u5ea6\u7684\u4f20\u611f\u5668 \u70b9\u51fb\u6e29\u5ea6\u5b9e\u4f53 \u70b9\u51fb\u8bbe\u7f6e\u56fe\u6807 \u5982\u672c\u4f8b\u83b7\u53d6\u5230\u7684\u5b9e\u4f53ID\u4e3a sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1 \u3002\u8bb0\u4f4f\u6b64ID\uff0c\u540e\u9762\u5f88\u591a\u5730\u65b9\u90fd\u4f1a\u7528\u5230.","title":"1.\u627e\u5230\u73af\u5883\u6e29\u5ea6\u4f20\u611f\u5668\u5b9e\u4f53ID"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#2","text":"\u6211\u4eec\u9700\u8981\u521b\u5efa\u4e00\u4e2a\u81ea\u52a8\u5316\u89c4\u5219\uff0c\u5f53\u4f20\u611f\u5668\u72b6\u6001\u66f4\u65b0\u65f6\u53ca\u6bcf\u969430\u79d2\uff0c\u5c06\u6e29\u5ea6\u6570\u636e\u53d1\u9001\u5230Home Assistant\u5185\u90e8\u96c6\u6210\u7684\u7684MQTT\u670d\u52a1\u5668\u3002 \u8fdb\u5165 \"\u914d\u7f6e\" \u2192 \"\u81ea\u52a8\u5316\u548c\u573a\u666f\" \u2192 \"\u81ea\u52a8\u5316\"\uff0c\u70b9\u51fb\u53f3\u4e0b\u89d2\u7684 \"+\" \u521b\u5efa\u65b0\u7684\u81ea\u52a8\u5316\u89c4\u5219\u3002 \u8fdb\u5165\u81ea\u52a8\u5316\u89c4\u5219\u7f16\u8f91\u754c\u9762\u540e\uff0c\u70b9\u51fb\u53f3\u4e0b\u89d2\u7684\"\u521b\u5efa\u81ea\u52a8\u5316\"\u6309\u94ae\u3002\u5728\u5f39\u51fa\u7684\u5bf9\u8bdd\u6846\u4e2d\u9009\u62e9\"\u521b\u5efa\u65b0\u7684\u81ea\u52a8\u5316\"\u3002 \u5728\u65b0\u5efa\u81ea\u52a8\u5316\u754c\u9762\uff0c\u70b9\u53f3\u4e0a\u89d2\u7684\u4e09\u4e2a\u70b9\uff0c\u5982\u4e0b\u56fe\u6240\u793a \u5728\u5f39\u51fa\u7684\u4e0b\u62c9\u83dc\u5355\u4e2d\uff0c\u70b9\u51fb\u8fdb\u5165YHAML\u7f16\u8f91,\u8fdb\u5165\u4ee3\u7801\u6a21\u5f0f\uff0c\u5982\u4e0b\u6240\u793a \u5728\u8fd9\u4e2a\u5927\u7684\u6587\u672c\u6846\u4e2d\u7c98\u5165\u5982\u4e0b\u4ee3\u7801\uff1a alias : \u53d1\u5e03\u73af\u5883\u6e29\u5ea6\u4f20\u611f\u5668\u72b6\u6001\u5230MQTT description : \u5f53\u7c73\u5bb6\u6e29\u5ea6\u4f20\u611f\u5668\u72b6\u6001\u53d8\u5316\u6216\u6bcf30\u79d2\u5b9a\u65f6\u65f6\uff0c\u81ea\u52a8\u53d1\u5e03\u5230MQTT\u4f9bNode-RED\u4f7f\u7528 triggers : - entity_id : sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1 trigger : state - seconds : /30 trigger : time_pattern conditions : - condition : template value_template : >- {{ states('sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1') not in ['unavailable', 'unknown', 'None'] and states('sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1') | float(-999) != -999 }} actions : - data : topic : >- homeassistant/sensor/sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1/state payload : >- {{ states('sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1') }} retain : false qos : 0 action : mqtt.publish mode : single \u6ce8\u610f: \u4ee5\u4e0a\u4ee3\u7801\u4e2d\u7684 sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1 \u662f\u793a\u4f8b\u5b9e\u4f53ID\uff0c\u8bf7\u66ff\u6362\u4e3a\u4f60 \u5b9e\u9645\u7684\u6e29\u5ea6\u4f20\u611f\u5668\u5b9e\u4f53ID \u3002 \u653e\u7f6e\u5b8c\u6210\u540e\uff0c\u5982\u4e0b\u56fe\u793a\u610f \u89c2\u5bdf\u4e0a\u6b21\u89e6\u53d1\u5217\u662f\u5426\u4f1a\u6bcf\u969430\u79d2\u6267\u884c\u4e00\u6b21 \u8fd4\u56de\u5230\u4f20\u611f\u5668\u7684\u8bbe\u5907\u754c\u9762\u4e5f\u80fd\u770b\u5230\u8bbe\u5907\u7684\u81ea\u52a8\u5316\u4e0b\u9762\u6709\u4e00\u6761\u81ea\u52a8\u5316\u89c4\u5219\uff0c\u5982\u4e0b\u56fe \u5230\u6b64\uff0c\u81ea\u52a8\u5316\u89c4\u5219\u5df2\u914d\u7f6e\u5b8c\u6210\u3002","title":"2. \u521b\u5efa\u81ea\u52a8\u5316\u89c4\u5219"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#3-node-redmqtt","text":"","title":"3. \u5728Node-RED\u4e2d\u914d\u7f6eMQTT\u63a5\u6536\u8f6c\u53d1"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#1-node-red","text":"\u6253\u5f00nod-red\u7f16\u8f91\u5668\uff0c\u6709\u7684HA\u53ef\u80fd\u662f\u914d\u7f6e\u5728\u5de6\u4fa7\u822a\u83dc\u5355\u4e2d\uff0c\u5982\u4e0b\u56fe\u5fd7\u793a\uff0c\u70b9\u51fb\u5373\u53ef\u8fdb\u5165 \u6709\u7684\u662f\u6ca1\u6709\u914d\u7f6enode-red\u5230\u5de6\u4fa7\u5bfc\u822a\u83dc\u5355\u7684\uff0c\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u53ef\u4ee5\u70b9\u51fb\"\u8bbe\u7f6e-\u52a0\u8f7d\u9879\"\u8fdb\u5165\u52a0\u8f7d\u9879\u9875\u9762 \u627e\u5230Node-RED\u52a0\u8f7d\u9879\uff0c\u70b9\u51fb\u8fdb\u5165 \u8fdb\u5165\u754c\u9762\u5982\u4e0b\uff1a","title":"1. \u6253\u5f00Node-RED\u7f16\u8f91\u5668"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#2_1","text":"\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\"\u83dc\u5355\"\u6309\u94ae\uff0c\u518d\u70b9\u5bfc\u5165\u3002 \u5728\u6b64\u5904\u8d34\u5165\u5de5\u4f5c\u6d41\u4ee3\u7801\uff0c\u6ce8\u610f\uff1a\u8981\u9009\u62e9\u5bfc\u5165\u5230\u65b0\u6d41\u7a0b \u5de5\u4f5c\u6d41\u4ee3\u7801\u5982\u4e0b [ { \"id\" : \"1407d4531e19a951\" , \"type\" : \"tab\" , \"label\" : \"\u900f\u6790\u4e2d\u5fc3\u73af\u5883\u6e29\u5ea6\u6570\u636e\u8f6c\u53d1\" , \"disabled\" : false , \"info\" : \"\u4eceHomeAssistant\u83b7\u53d6\u6e29\u5ea6\u4f20\u611f\u5668\u6570\u636e\u5e76\u53d1\u5e03\u5230\u516c\u53f8MQTT\u670d\u52a1\u5668\" }, { \"id\" : \"97e254f4a87ddde9\" , \"type\" : \"mqtt in\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u8ba2\u9605HA\u6e29\u5ea6\u4f20\u611f\u5668\" , \"topic\" : \"homeassistant/sensor/+/state\" , \"qos\" : \"0\" , \"datatype\" : \"auto\" , \"broker\" : \"mqtt-ha-broker\" , \"nl\" : false , \"rap\" : true , \"rh\" : 0 , \"inputs\" : 0 , \"x\" : 150 , \"y\" : 100 , \"wires\" : [ [ \"44d729e67618e4f2\" ] ] }, { \"id\" : \"44d729e67618e4f2\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u5904\u7406\u6e29\u5ea6\u6570\u636e\" , \"func\" : \"// \u4ece\u5168\u5c40\u53d8\u91cf\u83b7\u53d6\u5171\u4eab\u914d\u7f6e\\nconst nameSpace = global.get(\\\"nameSpace\\\") || \\\"Environment\\\";\\nconst clientCode = global.get(\\\"clientCode\\\") || \\\"Data-It_XzOffice\\\";\\nconst targetDeviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\n\\n// \u4ecetopic\u4e2d\u63d0\u53d6\u5f53\u524d\u8bbe\u5907ID\\nconst topicParts = msg.topic.split('/');\\nconst currentDeviceId = topicParts.length >= 3 ? topicParts[2] : \\\"\\\";\\n\\n// \u53ea\u5904\u7406\u76ee\u6807\u8bbe\u5907\u7684\u6d88\u606f\\nif (currentDeviceId !== targetDeviceId) {\\n node.log(\\\"\u5ffd\u7565\u8bbe\u5907\u6d88\u606f: \\\" + currentDeviceId + \\\" (\u76ee\u6807\u8bbe\u5907: \\\" + targetDeviceId + \\\")\\\");\\n return null;\\n}\\n\\n// \u751f\u6210\u552f\u4e00\u7684\u6d88\u606fID\\nconst messageId = \\\"temp_\\\" + Date.now() + \\\"_\\\" + Math.floor(Math.random() * 1000);\\nconst timestamp = Date.now();\\nconst deviceType = \\\"sensor\\\";\\n\\n// \u89e3\u6790\u6e29\u5ea6\u503c\\nlet temperature = parseFloat(msg.payload);\\nif (isNaN(temperature)) {\\n node.warn(\\\"\u63a5\u6536\u5230\u65e0\u6548\u7684\u6e29\u5ea6\u503c: \\\" + msg.payload);\\n return null;\\n}\\n\\n// \u6309\u7167\u80dc\u900f\u7269\u8054\u7f51\u901a\u4fe1\u534f\u8bae\u683c\u5f0f\u5316\u6570\u636e\\nconst protocolMessage = {\\n \\\"messageId\\\": messageId,\\n \\\"timestamp\\\": timestamp,\\n \\\"clientCode\\\": clientCode,\\n \\\"deviceId\\\": targetDeviceId,\\n \\\"deviceType\\\": deviceType,\\n \\\"version\\\": \\\"1.0\\\",\\n \\\"data\\\": {\\n \\\"properties\\\": {\\n \\\"temperature\\\": {\\n \\\"value\\\": temperature,\\n \\\"unit\\\": \\\"\u00b0C\\\",\\n \\\"quality\\\": \\\"good\\\",\\n \\\"timestamp\\\": timestamp\\n }\\n }\\n }\\n};\\n\\n// \u8bbe\u7f6e\u8f93\u51fa\u6d88\u606f\\nmsg.payload = JSON.stringify(protocolMessage);\\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${targetDeviceId}/properties`;\\nmsg.qos = 0;\\n\\nnode.log(\\\"\u6e29\u5ea6\u6570\u636e\u5df2\u5904\u7406: \\\" + temperature + \\\"\u00b0C (\u8bbe\u5907: \\\" + targetDeviceId + \\\")\\\");\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 420 , \"y\" : 100 , \"wires\" : [ [ \"573842ea77192dbb\" , \"4c630c164e08dc2c\" ] ] }, { \"id\" : \"573842ea77192dbb\" , \"type\" : \"mqtt out\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u53d1\u5e03\u5230\u516c\u53f8MQTT\" , \"topic\" : \"\" , \"qos\" : \"\" , \"retain\" : \"\" , \"respTopic\" : \"\" , \"contentType\" : \"\" , \"userProps\" : \"\" , \"correl\" : \"\" , \"expiry\" : \"\" , \"broker\" : \"mqtt-company-broker\" , \"x\" : 990 , \"y\" : 80 , \"wires\" : [] }, { \"id\" : \"4c630c164e08dc2c\" , \"type\" : \"debug\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u8c03\u8bd5\u8f93\u51fa\" , \"active\" : true , \"tosidebar\" : true , \"console\" : false , \"tostatus\" : false , \"complete\" : \"payload\" , \"targetType\" : \"msg\" , \"statusVal\" : \"\" , \"statusType\" : \"auto\" , \"x\" : 1040 , \"y\" : 360 , \"wires\" : [] }, { \"id\" : \"495c392574ee1bf4\" , \"type\" : \"inject\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u53d1\u5e03\u8bbe\u5907\u7269\u6a21\u578b\" , \"props\" : [ { \"p\" : \"payload\" }, { \"p\" : \"topic\" , \"vt\" : \"str\" } ], \"repeat\" : \"60\" , \"crontab\" : \"\" , \"once\" : true , \"onceDelay\" : \"5\" , \"topic\" : \"shengtou/sensor/TH001_HA/model\" , \"payload\" : \"\" , \"payloadType\" : \"date\" , \"x\" : 170 , \"y\" : 180 , \"wires\" : [ [ \"3aea3ce2deb4ea99\" ] ] }, { \"id\" : \"3aea3ce2deb4ea99\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u751f\u6210\u7269\u6a21\u578b\u6570\u636e\" , \"func\" : \"const messageId = \\\"mdl_\\\" + Date.now();\\nconst timestamp = Date.now();\\n// \u4ece\u5168\u5c40\u53d8\u91cf\u83b7\u53d6\u5171\u4eab\u914d\u7f6e\\nconst nameSpace = global.get(\\\"nameSpace\\\") || \\\"Environment\\\";\\nconst clientCode = global.get(\\\"clientCode\\\") || \\\"Data-It_XzOffice\\\";\\nconst deviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\nconst deviceType = \\\"sensor\\\";\\n\\n// \u6309\u7167\u80dc\u900f\u7269\u8054\u7f51\u901a\u4fe1\u534f\u8bae\u751f\u6210\u7269\u6a21\u578b\u5b9a\u4e49\\nconst modelMessage = {\\n \\\"messageId\\\": messageId,\\n \\\"timestamp\\\": timestamp,\\n \\\"clientCode\\\": clientCode,\\n \\\"deviceId\\\": deviceId,\\n \\\"deviceType\\\": deviceType,\\n \\\"version\\\": \\\"1.0\\\",\\n \\\"data\\\": {\\n \\\"model\\\": {\\n \\\"deviceInfo\\\": {\\n \\\"manufacturer\\\": \\\"\u5c0f\u7c73\\\",\\n \\\"model\\\": \\\"MIAOMIAOC_CN_BLT_3_11A1SBR5K5O01_T2\\\",\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"description\\\": \\\"\u7c73\u5bb6\u6e29\u6e7f\u5ea6\u4f20\u611f\u5668(\u901a\u8fc7HomeAssistant\u96c6\u6210)\\\"\\n },\\n \\\"properties\\\": {\\n \\\"temperature\\\": {\\n \\\"dataType\\\": \\\"float\\\",\\n \\\"unit\\\": \\\"\u00b0C\\\",\\n \\\"range\\\": {\\n \\\"min\\\": -40,\\n \\\"max\\\": 85\\n },\\n \\\"precision\\\": 1,\\n \\\"description\\\": \\\"\u73af\u5883\u6e29\u5ea6\\\"\\n }\\n },\\n \\\"events\\\": {\\n \\\"startup\\\": {\\n \\\"eventType\\\": \\\"info\\\",\\n \\\"description\\\": \\\"\u8bbe\u5907\u542f\u52a8\u4e8b\u4ef6\\\"\\n }\\n },\\n \\\"alarms\\\": {\\n \\\"TEMP_HIGH\\\": {\\n \\\"alarmType\\\": \\\"threshold_exceeded\\\",\\n \\\"description\\\": \\\"\u6e29\u5ea6\u8fc7\u9ad8\u62a5\u8b66\\\",\\n \\\"defaultThreshold\\\": 35.0\\n },\\n \\\"TEMP_LOW\\\": {\\n \\\"alarmType\\\": \\\"threshold_exceeded\\\",\\n \\\"description\\\": \\\"\u6e29\u5ea6\u8fc7\u4f4e\u62a5\u8b66\\\",\\n \\\"defaultThreshold\\\": 0.0\\n }\\n }\\n }\\n }\\n};\\n\\n// \u8bbe\u7f6eMQTT\u53d1\u5e03\u4e3b\u9898\\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${deviceId}/model`;\\nmsg.payload = JSON.stringify(modelMessage);\\nmsg.qos = 1;\\n\\nnode.log(\\\"\u8bbe\u5907\u7269\u6a21\u578b\u6570\u636e\u5df2\u751f\u6210\uff0c\u53d1\u5e03\u5230\u4e3b\u9898: \\\" + msg.topic);\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 400 , \"y\" : 160 , \"wires\" : [ [ \"573842ea77192dbb\" , \"4c630c164e08dc2c\" ] ] }, { \"id\" : \"70e1e283448c941e\" , \"type\" : \"inject\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u8bbe\u5907\u72b6\u6001\u5fc3\u8df3\" , \"props\" : [ { \"p\" : \"payload\" }, { \"p\" : \"topic\" , \"vt\" : \"str\" } ], \"repeat\" : \"120\" , \"crontab\" : \"\" , \"once\" : true , \"onceDelay\" : \"10\" , \"topic\" : \"shengtou/sensor/TH001_HA/status\" , \"payload\" : \"\" , \"payloadType\" : \"date\" , \"x\" : 160 , \"y\" : 240 , \"wires\" : [ [ \"ae74b6d386748045\" ] ] }, { \"id\" : \"ae74b6d386748045\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u751f\u6210\u72b6\u6001\u6570\u636e\" , \"func\" : \"const messageId = \\\"sts_\\\" + Date.now();\\nconst timestamp = Date.now();\\n// \u4ece\u5168\u5c40\u53d8\u91cf\u83b7\u53d6\u5171\u4eab\u914d\u7f6e\\nconst nameSpace = global.get(\\\"nameSpace\\\") || \\\"Environment\\\";\\nconst clientCode = global.get(\\\"clientCode\\\") || \\\"Data-It_XzOffice\\\";\\nconst deviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\nconst deviceType = \\\"sensor\\\";\\n\\n// \u8ba1\u7b97\u8bbe\u5907\u8fd0\u884c\u65f6\u95f4\uff08\u4ece\u7b2c\u4e00\u6b21\u542f\u52a8\u5f00\u59cb\uff09\\nif (!context.get(\\\"startTime\\\")) {\\n context.set(\\\"startTime\\\", timestamp);\\n}\\nconst startTime = context.get(\\\"startTime\\\");\\nconst uptime = timestamp - startTime;\\n\\n// \u6309\u7167\u80dc\u900f\u7269\u8054\u7f51\u901a\u4fe1\u534f\u8bae\u751f\u6210\u72b6\u6001\u6570\u636e\\nconst statusMessage = {\\n \\\"messageId\\\": messageId,\\n \\\"timestamp\\\": timestamp,\\n \\\"clientCode\\\": clientCode,\\n \\\"deviceId\\\": deviceId,\\n \\\"deviceType\\\": deviceType,\\n \\\"version\\\": \\\"1.0\\\",\\n \\\"data\\\": {\\n \\\"status\\\": {\\n \\\"online\\\": true,\\n \\\"lastHeartbeat\\\": timestamp,\\n \\\"uptime\\\": uptime\\n }\\n }\\n};\\n\\n// \u8bbe\u7f6eMQTT\u53d1\u5e03\u4e3b\u9898\\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${deviceId}/status`;\\nmsg.payload = JSON.stringify(statusMessage);\\nmsg.qos = 0;\\n\\nnode.log(\\\"\u8bbe\u5907\u72b6\u6001\u5fc3\u8df3\u5df2\u53d1\u9001\uff0c\u53d1\u5e03\u5230\u4e3b\u9898: \\\" + msg.topic);\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 400 , \"y\" : 240 , \"wires\" : [ [ \"573842ea77192dbb\" , \"4c630c164e08dc2c\" ] ] }, { \"id\" : \"7f9acf10d0c6085d\" , \"type\" : \"inject\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u521d\u59cb\u5316\u5168\u5c40\u914d\u7f6e\" , \"props\" : [ { \"p\" : \"payload\" } ], \"repeat\" : \"\" , \"crontab\" : \"\" , \"once\" : true , \"onceDelay\" : \"1\" , \"topic\" : \"\" , \"payload\" : \"\" , \"payloadType\" : \"date\" , \"x\" : 150 , \"y\" : 40 , \"wires\" : [ [ \"6f6b825dfc5e9512\" ] ] }, { \"id\" : \"6f6b825dfc5e9512\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u8bbe\u7f6e\u5168\u5c40\u914d\u7f6e\" , \"func\" : \"// \u8bbe\u7f6e\u5168\u5c40\u5171\u4eab\u5e38\u91cf\\nglobal.set(\\\"nameSpace\\\", \\\"Environment\\\");\\nglobal.set(\\\"clientCode\\\", \\\"Data-It_XzOffice\\\");\\nglobal.set(\\\"deviceId\\\", \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\");\\n\\nnode.log(\\\"\u5168\u5c40\u914d\u7f6e\u5df2\u8bbe\u7f6e: nameSpace=\\\" + global.get(\\\"nameSpace\\\") + \\\", clientCode=\\\" + global.get(\\\"clientCode\\\") + \\\", deviceId=\\\" + global.get(\\\"deviceId\\\"));\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 360 , \"y\" : 40 , \"wires\" : [ [ \"794c422d39898a7f\" ] ] }, { \"id\" : \"794c422d39898a7f\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u66f4\u65b0MQTT\u8ba2\u9605Topic\" , \"func\" : \"// \u4ece\u5168\u5c40\u53d8\u91cf\u751f\u6210HomeAssistant MQTT\u8ba2\u9605Topic\\nconst deviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\nconst haTopic = `homeassistant/sensor/${deviceId}/state`;\\n\\n// \u5c06Topic\u4fdd\u5b58\u5230\u5168\u5c40\u53d8\u91cf\u4f9b\u5176\u4ed6\u5730\u65b9\u4f7f\u7528\\nglobal.set(\\\"haSubscribeTopic\\\", haTopic);\\n\\nnode.log(\\\"HomeAssistant\u8ba2\u9605Topic\u5df2\u66f4\u65b0: \\\" + haTopic);\\nnode.log(\\\"\u6ce8\u610f\uff1a\u5982\u9700\u66f4\u6539MQTT In\u8282\u70b9\u7684\u8ba2\u9605Topic\uff0c\u8bf7\u624b\u52a8\u4fee\u6539\u4e3a: \\\" + haTopic);\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 590 , \"y\" : 40 , \"wires\" : [ [] ] }, { \"id\" : \"3bf854e9bd3e6937\" , \"type\" : \"inject\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u542f\u52a8\u4e8b\u4ef6\" , \"props\" : [ { \"p\" : \"payload\" }, { \"p\" : \"topic\" , \"vt\" : \"str\" } ], \"repeat\" : \"\" , \"crontab\" : \"\" , \"once\" : true , \"onceDelay\" : \"15\" , \"topic\" : \"shengtou/sensor/TH001_HA/events\" , \"payload\" : \"\" , \"payloadType\" : \"date\" , \"x\" : 160 , \"y\" : 340 , \"wires\" : [ [ \"26f6196b2d6fba29\" ] ] }, { \"id\" : \"26f6196b2d6fba29\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u751f\u6210\u542f\u52a8\u4e8b\u4ef6\" , \"func\" : \"const messageId = \\\"evt_startup_\\\" + Date.now();\\nconst timestamp = Date.now();\\n// \u4ece\u5168\u5c40\u53d8\u91cf\u83b7\u53d6\u5171\u4eab\u914d\u7f6e\\nconst nameSpace = global.get(\\\"nameSpace\\\") || \\\"Environment\\\";\\nconst clientCode = global.get(\\\"clientCode\\\") || \\\"Data-It_XzOffice\\\";\\nconst deviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\nconst deviceType = \\\"sensor\\\";\\n\\n// \u6309\u7167\u80dc\u900f\u7269\u8054\u7f51\u901a\u4fe1\u534f\u8bae\u751f\u6210\u4e8b\u4ef6\u6570\u636e\\nconst eventMessage = {\\n \\\"messageId\\\": messageId,\\n \\\"timestamp\\\": timestamp,\\n \\\"clientCode\\\": clientCode,\\n \\\"deviceId\\\": deviceId,\\n \\\"deviceType\\\": deviceType,\\n \\\"version\\\": \\\"1.0\\\",\\n \\\"data\\\": {\\n \\\"events\\\": [\\n {\\n \\\"eventType\\\": \\\"startup\\\",\\n \\\"eventLevel\\\": \\\"info\\\",\\n \\\"eventCode\\\": \\\"EVT_001\\\",\\n \\\"description\\\": \\\"HomeAssistant\u6e29\u5ea6\u4f20\u611f\u5668\u4ee3\u7406\u8bbe\u5907\u542f\u52a8\u5b8c\u6210\\\",\\n \\\"timestamp\\\": timestamp\\n }\\n ]\\n }\\n};\\n\\n// \u8bbe\u7f6eMQTT\u53d1\u5e03\u4e3b\u9898\\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${deviceId}/events`;\\nmsg.payload = JSON.stringify(eventMessage);\\nmsg.qos = 1;\\n\\nnode.log(\\\"\u8bbe\u5907\u542f\u52a8\u4e8b\u4ef6\u5df2\u751f\u6210\uff0c\u53d1\u5e03\u5230\u4e3b\u9898: \\\" + msg.topic);\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 380 , \"y\" : 320 , \"wires\" : [ [ \"573842ea77192dbb\" , \"4c630c164e08dc2c\" ] ] }, { \"id\" : \"mqtt-ha-broker\" , \"type\" : \"mqtt-broker\" , \"name\" : \"HomeAssistant MQTT\" , \"broker\" : \"192.168.50.83\" , \"port\" : \"1883\" , \"clientid\" : \"\" , \"autoConnect\" : true , \"usetls\" : false , \"protocolVersion\" : \"4\" , \"keepalive\" : \"60\" , \"cleansession\" : true , \"autoUnsubscribe\" : true , \"birthTopic\" : \"\" , \"birthQos\" : \"0\" , \"birthPayload\" : \"\" , \"birthMsg\" : {}, \"closeTopic\" : \"\" , \"closeQos\" : \"0\" , \"closePayload\" : \"\" , \"closeMsg\" : {}, \"willTopic\" : \"\" , \"willQos\" : \"0\" , \"willPayload\" : \"\" , \"willMsg\" : {}, \"sessionExpiry\" : \"\" }, { \"id\" : \"mqtt-company-broker\" , \"type\" : \"mqtt-broker\" , \"name\" : \"\u516c\u53f8MQTT\u670d\u52a1\u5668\" , \"broker\" : \"mqtt-test.ihemodialysis.com\" , \"port\" : \"62183\" , \"clientid\" : \"\" , \"usetls\" : false , \"protocolVersion\" : \"4\" , \"keepalive\" : \"60\" , \"cleansession\" : true , \"birthTopic\" : \"\" , \"birthQos\" : \"0\" , \"birthPayload\" : \"\" , \"birthMsg\" : {}, \"closeTopic\" : \"\" , \"closeQos\" : \"0\" , \"closePayload\" : \"\" , \"closeMsg\" : {}, \"willTopic\" : \"shengtou/sensor/TH001_HA/status\" , \"willQos\" : \"0\" , \"willPayload\" : \"{\\\"messageId\\\":\\\"sts_offline\\\",\\\"timestamp\\\":0,\\\"deviceId\\\":\\\"TH001_HA\\\",\\\"deviceType\\\":\\\"sensor\\\",\\\"version\\\":\\\"1.0\\\",\\\"data\\\":{\\\"status\\\":{\\\"online\\\":false,\\\"lastHeartbeat\\\":0,\\\"uptime\\\":0}}}\" , \"willMsg\" : {}, \"sessionExpiry\" : \"\" } ] \u5f53\u7136\uff0c\u4f60\u4e5f\u53ef\u4ee5\u4ece \u5de5\u4f5c\u6d41\u6587\u4ef6 \u5bfc\u5165\u65b0\u65b0\u5de5\u4f5c\u6d41\u3002 \u70b9\u51fb\u4e0a\u8ff0\u94fe\u63a5\u540e\uff0c\u4e0b\u8f7d\u6587\u4ef6\uff0c\u5e76\u89e3\u538b\uff0c\u5f97\u5230\u4e00\u4e2a\u540d\u4e3a flows.json \u7684\u6587\u4ef6\u3002 \u70b9\u51fb\u5bfc\u5165\u8282\u70b9\u6587\u4ef6\uff0c \u90e8\u7f72\u6210\u529f\u540e\uff0c\u4f1a\u51fa\u73b0\u5982\u4e0b\u56fe\u6240\u793a\u7684\u5de5\u4f5c\u6d41 \u6b64\u65f6\uff0c\u5de5\u4f5c\u6d41\u5df2\u521b\u5b8c\u6210.","title":"2. \u521b\u5efa\u65b0\u5de5\u4f5c\u6d41"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#3-mqtt","text":"\u5de5\u4f5c\u6d41\u4e2d\u6709\u4e24\u4e2aMQTT\u8282\u70b9\uff0c\u5206\u522b\u662fHome Assistant\u7684MQTT Broker\u548c\u516c\u53f8MQTT\u670d\u52a1\u5668\u7684Broker\u3002\u8fd9\u4e24\u4e2a\u8282\u70b9\u7684\u914d\u7f6e\u9700\u8981\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8fdb\u884c\u8c03\u6574\u3002 \u9996\u5148\uff0c\u8981\u5148\u914d\u7f6eHome Assistant\u7684MQTT Broker\u8282\u70b9\uff0c\u786e\u4fdd\u5176\u8fde\u63a5\u4fe1\u606f\u6b63\u786e\u65e0\u8bef\u3002 \u5728\u6211\u4eec\u6ca1\u6709\u914d\u7f6emqtt in \u7684\u8fde\u63a5\u4fe1\u606f\u65f6\uff0c\u6211\u4eec\u53d1\u73b0\u8fd9\u4e2a\u8282\u70b9\u4e00\u76f4\u5904\u7406\u8fde\u63a5\u4e2d \u53cc\u51fb\u8be5\u8282\u70b9\uff0c\u8fdb\u5165\u914d\u7f6e\u754c\u9762 \u70b9\u51fb\u7f16\u8f91\u56fe\u6807 \u5728\u7f16\u8f91mqtt-broker\u8282\u70b9\u7684\u754c\u9762\u4e2d\u7684\u8fde\u63a5\u53c2\u6570\u9009\u9879\u5361\u4e2d\uff0c\u8f93\u5165\u6b63\u786e\u7684\u670d\u52a1\u7aef\u4e0e\u7aef\u53e3\u53f7 \u5982\u679cMQTT\u6709\u7528\u6237\u540d\u548c\u5bc6\u7801\uff0c\u8bf7\u5728\u8ba4\u8bc1\u9009\u9879\u5361\u4e2d\u8f93\u5165\u6b63\u786e\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u540e\uff0c\u7136\u540e\u70b9\u66f4\u65b0 \u7136\u540e\uff0c\u518d\u70b9\u51fb\u5b8c\u6210 \u6700\u540e\u70b9\u51fb\u90e8\u7f72 \u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u6211\u4eec\u53ef\u4ee5\u770b\u5230\uff0c\u6b64\u8282\u70b9\u4f1a\u53d8\u4e3a\u5df2\u8054\u63a5 \u5bf9\u4e8e\"\u53d1\u5e03\u5230\u516c\u53f8MQTT\"\u8282\u70b9\uff0c\u6211\u4eec\u9700\u8981\u914d\u7f6e\u8fde\u63a5\u5230\u516c\u53f8MQTT\u670d\u52a1\u5668\u7684Broker\u3002\u4e5f\u65f6\u540c\u6837\u7684\u64cd\u4f5c\u65b9\u6cd5\uff0c\u53cc\u51fb \u7136\u540e\uff0c\u66f4\u65b0\uff0c\u5b8c\u6210\uff0c\u90e8\u7f72\u5373\u53ef\u3002 \u67e5\u627eHomeAssistant\u7684Mqtt\u914d\u7f6e\u4fe1\u606f \u5bf9\u4e8eHomeAssistant\u6211\u4eec\u4e00\u822c\u90fd\u662f\u63d0\u524d\u90e8\u7f72\u4e86\u5185\u7f6e\u7684MQTT Broker,\u5728\u4e0d\u77e5\u7aef\u53e3\u4e0e\u5bc6\u7801\u7684\u60c5\u51b5\u4e0b\uff0c\u6211\u6837\u53ef\u4ee5\u5728HomeAssistant\u4e2d\u53bb\u67e5\u627e \u8fdb\u5165\u8bbe\u7f6e\u52a0\u8f7d\u9879 \u627e\u5230Mosquitto broker\u8fd9\u4e2a\u9009\u9879\u5361,\u70b9\u51fb\u8fdb\u5165 \u70b9\u51fb\u914d\u7f6e\u9009\u9879\u5361 \u5728\u8fd9\u91cc\u53ef\u4ee5\u770b\u5230MQTT\u7684\u7aef\u53e3\u53f7\u4e0e\u7528\u6237\u540d\u5bc6\u7801\u7b49\u4fe1\u606f\uff0c\u53ca\u4e0b\u9762\u7684mqtt\u5f00\u653e\u7684\u7aef\u53e3\u4fe1\u606f\uff0cip\u5730\u5740\uff0c\u5c31\u662fha\u4e3b\u673a\u6240\u5728\u7684Ip\u5730\u5740\u3002\u4ee5\u4e0a\u4fe1\u606f\uff0c\u7528\u6765\u914d\u7f6e\u5de5\u4f5c\u6d41\u7684mqtt in\u7684\u53c2\u6570\u3002 \u516c\u53f8mqtt\u670d\u52a1\u7aef\u53e3\u4fe1\u606f \u8fd9\u4e2a\u53c2\u6570\uff0c\u8bf7\u5411\u516c\u53f8\u7ba1\u7406\u5458\u83b7\u53d6\uff0c\u6216\u8005\u5728\u516c\u53f8MQTT\u670d\u52a1\u5668\u7684\u914d\u7f6e\u6587\u4ef6\u4e2d\u67e5\u770b\u3002","title":"3. \u914d\u7f6eMQTT\u8282\u70b9"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#4","text":"\u53cc\u51fb\u5de5\u4f5c\u6d41\u7684\u8282\u70b9\"\u8bbe\u7f6e\u5168\u5c40\u914d\u7f6e\",\u6253\u5f00\u7f16\u8f91function\u8282\u70b9 \u5bf9\u5982\u4e0b\u4e09\u884c,\u8fdb\u884c\u66f4\u6539 // \u8bbe\u7f6e\u5168\u5c40\u5171\u4eab\u5e38\u91cf global . set ( \"nameSpace\" , \"Environment\" ); //\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4e3a\uff1aEnvironment\uff0c\u5982\u679c\u6709\u9700\u8981\uff0c\u4ee5\u8054\u7cfb\u76f8\u5173\u5de5\u7a0b\u5e08\u786e\u8ba4\u540e\uff0c\u66f4\u6539. global . set ( \"clientCode\" , \"Data-It_XzOffice\" ); // \u5ba2\u6237\u7aef\u4ee3\u7801\uff0c\u9ed8\u8ba4\u4e3a\uff1aData-It_XzOffice\uff0c\u4e00\u5b9a\u8981\u6539\u4e3a\u4e2d\u5fc3\u5bf9\u5c31\u7684ClientCode\uff0c global . set ( \"deviceId\" , \"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\" ); //\u4e00\u5b9a\u8981\u6539\u4e3a\u4e4b\u524d\u6211\u4eec\u5b9a\u7684\u4f20\u611f\u5668\u5b9e\u4f53ID \u5982\u679c\u4e0d\u786e\u5b9a\uff0c\u8bf7\u8054\u7cfb\u76f8\u5173\u5de5\u7a0b\u5e08\u786e\u8ba4\u3002 \u7136\u540e\uff0c\u70b9\u51fb\uff0c\u5b8c\u6210\uff0c\u90e8\u7f72 \u7136\u540e\uff0c\u4e0b\u4e00\u6b65\uff0c\u975e\u5e38\u91cd\u8981\uff0c\u4e00\u5b9a\u8981\u6267\u884c \u8fd9\u4e00\u6b65\uff0c\u975e\u5e38\u91cd\u8981\uff0c\u5fc5\u987b\u6267\u884c\uff0c\u5426\u5219\u5de5\u4f5c\u6d41\u6ca1\u6709\u628a\u5168\u5c40\u53d8\u91cf\u5199\u5165\u5de5\u4f5c\u6d41\uff0c\u4f1a\u5bfc\u81f4\u53d1\u5e03\u6570\u636e\u4e0d\u6b63\u786e\u3002 \u7136\u540e\uff0c\u6211\u6837\u5c31\u53ef\u4ee5\u7528\u5728debug\u7684\u65e5\u5fd7\u4e2d\u770b\u5230\u6211\u4eec\u53d1\u5e03\u7684\u8282\u70b9\u6570\u636e\u4e86\uff0c \u6b64\u56fe\uff0c\u53ef\u4ee5\u89c2\u5bdf\u5230mqtt\u53d1\u5e03\u5230\u516c\u53f8\u7684\u6570\u636e\uff0cclientCode\uff0cdeviceid\u662f\u5426\u6b63\u5e38\u4e86\u3002","title":"4.\u914d\u7f6e\u5de5\u4f5c\u6d41\u5168\u5c40\u53d8\u91cf"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#5","text":"\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u7b2c\u4e09\u65b9\u5de5\u5177\u6765\u67e5\u770b\u516c\u53f8mqtt\u670d\u52a1\u6536\u5230\u7684\u6570\u636e\u662f\u5426\u6b63\u5e38\u5982\u4e0b\u56fe \u8fd9\u91cc\u6211\u63a8\u8350\u4f7f\u7528\u5de5\u5177 MQTTX \u4e0b\u8f7d\u5730\u5740\u4e3a\uff1ahttps://mqttx.app/downloads \u81f3\u6b64,\u900f\u6790\u4e2d\u5fc3HA\u73af\u5883\u6e29\u5ea6\u6570\u636e\u53d1\u9001\u5230\u80dc\u900f\u7684\u5de5\u4f5c\u6d41\u914d\u7f6e\u5b8c\u6210\u3002","title":"5. \u6d4b\u8bd5\u5de5\u4f5c\u6d41\u7684\u6570\u636e\u662f\u5426\u6b63\u5e38"},{"location":"Usages/backupAndRestore/BackupToFile/","text":"\u5907\u4efd\u5230\u6587\u4ef6 \u00b6","title":"BackupToFile"},{"location":"Usages/backupAndRestore/BackupToFile/#_1","text":"","title":"\u5907\u4efd\u5230\u6587\u4ef6"},{"location":"Usages/backupAndRestore/RestoreFromFile/","text":"\u4ece\u5907\u4efd\u6587\u4ef6\u6587\u4ef6\u4e2d\u6062\u590d \u00b6 HomeAssistant\u652f\u6301\u4ece\u5907\u4efd\u6587\u4ef6\u4e32\u6062\u590d\u5df2\u914d\u7f6e\u597d\u7684HomeAssistant","title":"RestoreFromFile"},{"location":"Usages/backupAndRestore/RestoreFromFile/#_1","text":"HomeAssistant\u652f\u6301\u4ece\u5907\u4efd\u6587\u4ef6\u4e32\u6062\u590d\u5df2\u914d\u7f6e\u597d\u7684HomeAssistant","title":"\u4ece\u5907\u4efd\u6587\u4ef6\u6587\u4ef6\u4e2d\u6062\u590d"},{"location":"Usages/initConfig/initConfig/","text":"\u521d\u59cb\u5316\u914d\u7f6eHomeAssistant \u00b6 \u9996\u6b21\u6253\u5f00HomeAssistant \u00b6 \u9996\u6b21\u6253\u5f00HomeAssistant\u901a\u8fc7,\u8def\u7531\u5668\u4e3a\u5176\u5206\u914d\u7684IP\u5730\u5740\u52a0\u7aef\u53e3\u53f7\u5373\u53ef\u8fdb\u884cHomeAssistant. \u683c\u5f0f\u5982\u4e0b: http://Ip:Port \u5982:http://192.168.3.2:8123 \u57fa\u4e2d:8123\u4e3a\u5176\u9ed8\u8ba4\u7684\u7aef\u53e3\u540e,\u5f53\u7136,\u7cfb\u7edf\u521d\u59cb\u5316\u6210\u529f\u540e,\u53ef\u4ee5\u6539. \u5982\u4e0b\u56fe\u6240\u793a: \u70b9\u51fb\"\u521b\u5efa\u6211\u667a\u80fd\u5bb6\u5bb6\u5c45\"\u6309\u8fdb\u884c\u4e0b\u4e00\u6b65 \u5728\u8fd9\u91cc\u6211\u4eec\u8f93\u5165\u59d3\u540d,\u7528\u6237\u540d,\u5bc6\u7801,\u786e\u8ba4\u5bc6\u7801 \u8fd9\u91cc\u6211\u4eec\u4f7f\u7528\u7edf\u4e00\u7684\u4fe1\u606f \u59d3\u540d:\u5cb1\u7279\u667a\u80fd \u7528\u6237\u540d:dtuser \u5bc6\u7801:****** \u786e\u8ba4\u5bc6\u7801:***** \u6ce8\u610f:\u4e0a\u8ff0\u5bc6\u7801\u4e3a\u4e86\u5b89\u5168,\u6ca1\u6709\u663e\u793a,\u8bf7\u54a8\u8be2\u7cfb\u7edf\u7ba1\u7406\u5458\u83b7\u53d6\u771f\u6b63\u7684\u5bc6\u7801. \u70b9\u51fb\"\u521b\u5efa\u5e10\u6237\", \u8fd9\u4e00\u6b65,\u4f1a\u8981\u6c42\u4f60\u8f93\u5165\u4f4d\u7f6e,\u8f93\u5165\u57ce\u5e02\u70b9\u83b7\u53d6,\u5982\u679c\u53d6\u4e0b\u5230\u4f1a\u62a5\u9519.\u6ca1\u5173\u7cfb,\u76f4\u63a5\u4e0b\u4e00\u6b65\u5373\u53ef,\u7cfb\u7edf\u914d\u7f6e\u5b8c\u6210\u540e,\u8fd8\u53ef\u66f4\u6539. \u8fd9\u4e00\u6b65\u662f\u8981\u6c42,\u4f60\u8f93\u4e0b\u6240\u5c5e\u7684\u56fd\u5bb6\u4e0e\u5730\u533a,\u5b83\u4f1a\u81ea\u52a8\u5224\u65ad\u51fa\u6765,\u56fd\u5bb6,\u76f4\u63a5\u70b9\u4e0b\u4e00\u6b65\u5373\u53ef. \u6b64\u65f6,\u5b83\u53ef\u80fd\u8fd8\u4f1a\u5f39\u51fa\u4e00\u4e2a\u5bf9\u8bdd\u6846\u6846,\u5e2e\u4f60\u68c0\u6d4b\u4f4d\u7f6e ,\u70b9\u786e\u5b9a\u5373\u53ef \u5982\u679c\u4e0d\u60f3\u8ba9\u5176\u68c0\u6d4b,\u76f4\u63a5\u70b9\u53d6\u6d88\u5373\u53ef,\u56e0\u4e3a\u5176\u68c0\u6d4b\u6298\u53ef\u80fd\u5f88\u6162,\u6240\u4ee5,\u76f4\u63a5\u70b9\u53d6\u6d88,\u9009\u62e9\u4e2d\u56fd\u5373\u53ef. \u8fd9\u91cc\u7684\u51e0\u9879,\u5168\u90e8\u4e0d\u7528\u9009,\u76f4\u63a5\u4e0b\u4e00\u6b65 \u8fd9\u4e00\u6b65,\u7cfb\u7edf\u4f1a\u81ea\u52a8\u626b\u63cf\u5c40\u57df\u7f51\u4e2d\u7684\u80fd\u76f4\u63a5\u5165\u7684\u8bbe\u5907.\u76f4\u63a5\u70b9\u51fb\u5b8c\u6210, \u7136\u540e,\u7cfb\u7edf\u4f1a\u8f6c\u5230\u5982\u4e0b\u754c\u9762 \u53ef\u80fd\u8981\u6301\u7eed\u4e00\u9635,\u7b49\u5f85\u5176\u5b8c\u6210\u5373\u53ef. \u5f00\u59cb\u7b2c\u4e00\u6b21,\u53ef\u80fd\u5f88\u6162 \u9996\u6b21\u5b8c\u6210\u5982\u4e0b\u663e\u793a \u66f4\u65b0\u5fc5\u8981\u7684\u7ec4\u4ef6 \u00b6 \u9996\u6b21\u767b\u5f55,\u53ef\u80fd\u4f1a\u663e\u793a\u66f4\u65b0,\u5982\u6b64\u65f6\u663e\u793a \u63d0\u793a\u66f4\u65b0Home Assistnat Operating System Update,\u70b9\u51fb\u5982\u4e0b\u6309\u94ae,\u4ee5\u5f39\u51fa\u7684\u5bf9\u8bdd\u6846\u4e2d\uff0c\u70b9\u66f4\u65b0\u6309\u94ae \u5982\u4e0b\u56fe\u6240\u793a\uff0c\u7cfb\u7edf\u5c06\u4f1a\uff0c\u8fdb\u884c\u66f4\u65b0 \u6ce8\u610f\uff0c\u8fd9\u4e2a\u64cd\u4f5c\uff0c\u4e00\u822c\u662f\u4ece\u4e24\u4e2a\u5730\u65b9\u83b7\u53d6\u66f4\u65b0\u5305\uff0c\u4e00\u662fgithub\u4e00\u4e2a\u662fdocker\u7684\u4ed3\u5e93\uff0c\u6240\u4ee5\uff0c \u8981\u4fdd\u6301\u79d1\u5b66\u4e0a\u7f51\u7684\u7545\u901a \u3002\u8fd9\u4e2a\u8fc7\u7a0b \uff0c\u4f30\u8ba1\u8981\u51e0\u5206\u949f\uff0c\u9700\u8981\u8010\u5fc3\u7b49\u7b49\uff0c\u4e5f\u6709\u53ef\u80fd\u4f1a\u66f4\u65b0\u5931\u8d25\uff0c\u7136\u540e\uff0c\u518d\u6b21\u66f4\u65b0\u3002 \u66f4\u65b0\u65f6,\u5982\u679c\u7f51\u7edc\u6709\u95ee\u9898\u53ef\u80fd\u4f1a\u51fa\u5728\u65e5\u5fd7 \u4e2d\u62a5\u51fa\u5982\u4e0b\u9519\u8bef aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.438 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.438 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.438 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.438 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.438 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.439 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.440 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.440 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.440 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') [09:26:17] INFO: Home Assistant Core finish process exit code 0 [09:26:17] INFO: Home Assistant Core service shutdown s6-rc: info: service legacy-services successfully stopped s6-rc: info: service legacy-cont-init: stopping s6-rc: info: service legacy-cont-init successfully stopped s6-rc: info: service fix-attrs: stopping s6-rc: info: service fix-attrs successfully stopped s6-rc: info: service s6rc-oneshot-runner: stopping s6-rc: info: service s6rc-oneshot-runner successfully stopped s6-rc: info: service s6rc-oneshot-runner: starting s6-rc: info: service s6rc-oneshot-runner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service fix-attrs successfully started s6-rc: info: service legacy-cont-init: starting s6-rc: info: service legacy-cont-init successfully started s6-rc: info: service legacy-services: starting services-up: info: copying legacy longrun home-assistant (no readiness notification) s6-rc: info: service legacy-services successfully started 2025-04-16 17:28:26.876 ERROR (MainThread) [homeassistant.components.homeassistant_alerts.coordinator] Timeout fetching homeassistant_alerts data 2025-04-16 17:51:56.276 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain hassio.update 2025-04-16 17:51:56.278 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain cloud.tts 2025-04-16 17:51:56.278 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain mobile_app.notify 2025-04-16 17:51:56.278 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain backup.sensor 2025-04-16 17:51:56.279 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain energy.sensor 2025-04-16 17:51:56.279 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain sun.sensor 2025-04-16 17:51:56.279 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain homeassistant.scene 2025-04-16 17:51:56.279 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain hassio.binary_sensor 2025-04-16 17:51:56.280 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain hassio.sensor \u4e0a\u8ff0\u9519\u8bef\u591a\u662f\u7531\u4e8e\u7f51\u7edc\u95ee\u9898\u5f15\u8d77\u7684,\u8981\u53bb\u68c0\u662f\u79d1\u5b66\u4e0a\u7f51\u662f\u5426\u8fd8\u6b63\u5e38. \u66f4\u5b8c\u5b8c\u6210\u540e,\u518d\u6b21\u542f\u52a8\u540e,\u4f1a\u663e\u793a\u6ca1\u6709\u53ef\u7528\u7684\u66f4\u65b0 \u914d\u7f6e-\u901a\u7528 \u00b6 \u70b9\u51fb,\u5f00\u59cb,\u901a\u7528 \u66f4\u6539\u540d\u79f0\u4e3a:\u5cb1\u7279\u667a\u80fd \u5176\u5b83\u7684\u4e0d\u53d8 #### \u914d\u7f6e-\u7f51\u7edc-\u4e3b\u673a\u540d \u628a\u4e3b\u673a\u540d\u914d\u7f6e\u6210\u4e3a\u5c40\u57df\u7f51\u4e2d\u552f\u4e00\u7684,\u5b9e\u9645\u8ba9\u5c31\u662f\u8ba1\u7b97\u673a\u540d,\u56e0\u4e3a\u540c\u4e00\u5c40\u57df\u7f51\u4e2d,\u8ba1\u7b97\u673a\u540d,\u4e0d\u5141\u8bb8\u76f8\u540c \u914d\u7f6e-\u8bbe\u7f6e-\u52a0\u8f7d\u9879 \u00b6 \u52a0\u8f7d\u9879\u4e2d\u6709\u8bb8\u591a\u5fc5\u88c5\u7ec4\u4ef6,\u9700\u8981\u4e00\u4e00\u5b89\u88c5,\u9996\u6b21\u8fdb\u5165\u65f6,\u53ef\u80fd\u4f1a\u663e\u793a\u5982\u4e0b\u9875\u9762 \u70b9\u51fb\u4e0b\u89d2\u7684\"\u52a0\u8f7d\u9879\u5546\u5e97\" \u5b89\u88c5File editor \u00b6 File editor \u662f\u4e00\u4e2a\u7528\u4e8e\u4fee\u6539HA\u7684\u914d\u7f6e\u6587\u4ef6\u7684\u96c6\u6210\u5de5\u5177,\u5c5e\u5fc5\u88c5\u9879,\u70b9\u51fb\u5b89\u88c5 \u70b9\u51fb\u5b89\u88c5,\u7cfb\u7edf\u4f1a\u5728\u540e\u53f0\u81ea\u52a8\u5b89\u88c5\u6b64\u63d2\u4ef6, \u5b89\u88c5\u5b8c\u6210\u540e,\u4f1a\u81ea\u52a8\u91cd\u542f \u6709\u65f6\u4e5f\u4f1a\u63d0\u793a\u5b89\u88c5\u5931\u8d25 \u8fd9\u79cd\u7ecf\u67e5\u770b\u65e5\u5fd7 \u591a\u4e3a\u7f51\u5f3a\u884c\u95ee\u9898\u65e0\u6cd5\u8bbf\u95ee.docker.io,\u8fd9\u662f\u56e0\u4e3a\u79d1\u5b66\u4e0a\u98ce\u7684\u539f\u56e0,\u91cd\u70b9\u6392\u67e5\u7f51\u7edc,\u5b89\u88c5\u6210\u529f\u540e,\u518d\u6b21\u8fdb\u5165\u4f1a\u663e\u793a\u5982\u4e0b\u754c\u9762 \u52fe\u9009,\u5f00\u673a\u542f\u52a8,\u81ea\u52a8\u6062\u590d,\u663e\u793a\u4e8e\u4fa7\u8fb9\u680f \u70b9\u51fb\u542f\u52a8,\u6216\u91cd\u542f,\u5c06\u4f1a\u5728\u4fa7\u8fb9\u680f\u770b\u5230\u6b64\u56fe\u6807,\u70b9\u51fb\u6253\u5f00\u7f51\u9875\u754c\u9762 \u80fd\u770b\u5230\u5982\u4e0b\u754c\u9762,\u8bf4\u660e\u5b89\u88c5\u6210\u529f \u6b64\u65f6\u52a0\u8f7d\u9879\u4e2d,\u5c31\u591a\u51fa\u4e86File editor\u9009\u9879 \u5b89\u88c5Samba share\u63d2\u4ef6 \u00b6 Samba share\u63d2\u4ef6\u662f\u4e00\u4e2a\u63d0\u4f9b\u5171\u4eab\u76ee\u5f55\u7684\u65b9\u5f0f\u5141\u884c\u5176\u5b83\u8ba1\u7b97\u673a\u7528\u8fd9\u79cd\u65b9\u5f0f\u67e5\u770b\u7f16\u8f91ha\u7684\u6587\u4ef6\u7684\u7ec4\u4ef6. \u70b9\u51fb\u5b89\u88c5 \u5b89\u88c5\u5931\u8d25\u65f6,\u4f1a\u6709\u5982\u4e0b\u63d0\u4e0b\u63d0\u793a \u6253\u5f00\u81ea\u52a8\u6062\u590d \u63a5\u4e0b\u6765\u6211\u4eec\u9700\u8981\u5230\u914d\u7f6e\u9009\u9879\u4e2d \u6b64\u5904\u6211\u4eec\u8bbe\u7f6e\u5982\u4e0b\u4fe1\u606f Username:dtuser Password:***** # \u6b64\u5904\u8bf7\u54a8\u8be2\u7ba1\u7406\u5458 Workgroup:WORKGROUP # \u4fdd\u6301\u4e0d\u53d8 \u66f4\u6539\u5b8c\u6210\u540e,\u6709\u5982\u4e0b\u914d\u7f6e \u914d\u7f6e \u5b8c\u6210\u540e,\u70b9\u51fb\u542f\u52a8 \u542f\u52a8\u6210\u529f\u540e,\u4f1a\u51fa\u4e0b\u56fe\u663e\u793a \u6b64\u65f6,\u5982\u679c,\u4e0eHA\u5728\u540c\u4e00\u5c40\u57df\u7f51\uff0c\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u5982\u4e0b\u65b9\u5f0f\u67e5\u770bHA\u7684\u6587\u4ef6\u76ee\u5f55 \u5728\u5730\u5740\u680f\u8f93\u5165\\HA\u7684IP \u8f93\u5165\u9884\u8bbe\u7684\u7528\u6237\u540d\u4e0e\u5bc6\u7801,\u5373\u53ef\u67e5\u770b,\u7f16\u8f91HA\u7684\u5404\u79cd\u6587\u4ef6\u3002 \u5b89\u88c5Terminal & SSH \u00b6 Terminal & SSH \u63d2\u4ef6\u4e3aHA\u63d0\u4f9b\u4e86\u5728web\u7aef\u4f7f\u7528\u63a7\u5236\u53f0\u7ec8\u7aef\u529f\u80fd,\u53ca\u5f00\u542f\u4e86ssh\u670d\u52a1,\u4f7f\u4e4b\u53ef\u4ee5\u8fdc\u7a0b\u4f7f\u7528SSH\u8bbf\u95eeHA\u7ec8\u7aef\u3002 \u5728\u641c\u7d22\u4e2d\u8f93\u5165Terminal & SSH \u7ed3\u679c\u6709\u53ef\u80fd\u663e\u793a \u641c\u7d22\u4e0d\u5230\uff0c\u8fd9\u65f6\uff0c\u53ef\u80fd\u662f\u56e0\u4e3a\u4ed3\u5e93\u6ca1\u6709\u914d\u7f6e\uff0c\u8fd8\u662f\u4f7f\u7528\u7684\u9ed8\u8ba4\u7684\u4ed3\u5e93\uff0c\u6211\u4eec\u53ef\u4ee5\u589e\u52a0\u4e00\u4e0b\u4ed3\u5e93\uff0c\u5982\u4e0b\uff1a https://github.com/AlexxIT/hassio-addons \u70b9\u51fb\u53f3\u4e0a\u89e3\u7684\u4e09\u4e2a\u70b9,\u9009\u4e2d\u4ed3\u5e93 \u5728\u5f39\u51fa\u6298\u5bf9\u8bdd\u6846\u4e2d\u8f93\u5165,\u6211\u4eec\u8bb0\u5f55\u7684\u4ed3\u5e93\u5730\u5740,\u7136\u540e\u70b9\u6dfb\u52a0 \u5b8c\u6210\u540e,\u70b9\u51fb\u5173\u95ed. \u7136\u540e,\u70b9\u51fb\u8fd4\u56de,\u91cd\u65b0\u641c\u7d22 \u8fd9\u6b21\u627e\u5230\u4e86Advance SSH & Web Terminal \u70b9\u51fb\u5b89\u88c5,\u6253\u5f00\u5982\u4e0b\u9875\u9762 \u70b9\u51fb\u5b89\u88c5,\u6709\u65f6\u4f1a\u5b89\u88c5\u5931\u8d25, \u5931\u8d25\u540e,\u9700\u518d\u6b21\u5b89\u88c5,\u540c\u65f6\u68c0\u67e5\u65e5\u5fd7\u4e2d\u63d0\u5230\u7684\u54ea\u4e2a\u7f51\u5740\u65e0\u6cd5\u8bbf\u95ee ,\u628a\u5176\u52a0\u79d1\u5b66\u4e0a\u7f51\u7684\u4ee3\u7406\u540d\u5355\u4e2d. \u5b89\u88c5\u5b8c\u6210\u540e,\u5c31\u53d8\u6210\u5982\u4e0b \u5f00\u542f\u81ea\u52a8\u6062\u5f97,\u663e\u793a\u4fa7\u8fb9\u680f \u63a5\u4e0b\u6765,\u6211\u4eec\u914d\u7f6essh\u7684\u767b\u5f55\u4fe1\u606f,\u5982\u4e0b \u76f8\u5173\u4fe1\u606f\u5982\u4e0b: username:dtuser passsword:**** # \u6b64\u5904\u9700\u8981\u54a8\u8be2\u7ba1\u7406\u5458 \u5176\u5b83\u914d\u7f6e\u9009\u9879\u5982\u4e0b,\u6ce8\u610f\u9009\u9879,\u9009\u9519\u4e86ssh\u53ef\u80fd\u542f\u4e0d\u8d77\u6765,sftp\u5173\u95ed,zsh\u5173\u95ed.compatibility_mode\u8981\u5f00\u542f \u7136\u540e,\u70b9\u51fb\u542f\u52a8\u6309\u94ae \u542f\u52a8\u540e\u5982\u4e0b \u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u4e24\u4e2a\u5730\u65b9\u8fdb\u5165 \u5728\u65e5\u5fd7 \u7aef\u80fd\u770b\u5230 ssh\u5df2\u542f\u52a8\u6210\u529f s6-rc: info: service base-addon-banner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service base-addon-log-level: starting s6-rc: info: service fix-attrs successfully started s6-rc: info: service base-addon-log-level successfully started s6-rc: info: service legacy-cont-init: starting s6-rc: info: service legacy-cont-init successfully started s6-rc: info: service init-ssh: starting s6-rc: info: service init-mysql: starting s6-rc: info: service init-mosquitto: starting s6-rc: info: service init-docker: starting s6-rc: info: service init-docker successfully started s6-rc: info: service init-mysql successfully started s6-rc: info: service init-mosquitto successfully started [14:51:05] WARNING: [14:51:05] WARNING: Logging in with a SSH password is security wise, a bad idea! [14:51:05] WARNING: Please, consider using a public/private key pair. [14:51:05] WARNING: What is this? https://kb.iu.edu/d/aews [14:51:05] WARNING: [14:51:05] NOTICE: RSA host key missing, generating one... Generating public/private rsa key pair. Your identification has been saved in /data/ssh_host_rsa_key Your public key has been saved in /data/ssh_host_rsa_key.pub The key fingerprint is: SHA256:+9pEl2QvyUqsu4B3gnPjhL/Ab71iBIDjWRdYvgZeg0c root@a0d7b954-ssh The key's randomart image is: +---[RSA 3072]----+ | . oE. | |o .o+. | |..o+.= o | | o. = o . + + | | . + S + * . | | ..+. = o . | | B.B.+ o | | X+=.= | | o=o=+o | +----[SHA256]-----+ [14:51:08] NOTICE: ED25519 host key missing, generating one... Generating public/private ed25519 key pair. Your identification has been saved in /data/ssh_host_ed25519_key Your public key has been saved in /data/ssh_host_ed25519_key.pub The key fingerprint is: SHA256:MgbUsAJ+23skjVTwD0pWVRBCmZ0BjU3jwV/99gGnNVc root@a0d7b954-ssh The key's randomart image is: +--[ED25519 256]--+ |. o+o*%O*. . E| |.. . .=+o*o o =.| | ...o+ o .. . = +| | ..*.+ o . . .o| | . =+oS. .o| | .+o .| | . . | | . | | | +----[SHA256]-----+ s6-rc: info: service init-ssh successfully started s6-rc: info: service init-user: starting [14:51:08] NOTICE: Session sharing has been disabled! s6-rc: info: service init-user successfully started s6-rc: info: service ttyd: starting s6-rc: info: service sshd: starting s6-rc: info: service sshd successfully started s6-rc: info: service ttyd successfully started s6-rc: info: service legacy-services: starting [14:51:09] INFO: Starting the ttyd daemon... [14:51:09] INFO: Starting the SSH daemon... s6-rc: info: service legacy-services successfully started Server listening on 0.0.0.0 port 22. Server listening on :: port 22. \u914d\u7f6e\u6210\u529f\u540e,\u53ef\u4ee5\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u6765\u6d4b\u8bd5\u662f\u5426\u53ef\u4ee5\u8fdc\u7a0bSSH\u8fde\u5165 \u8f93\u5165yes\u540e\u4f1a\u8981\u6c42 \u8f93\u5165\u5bc6\u7801,\u9a8c\u8bc1\u6b63\u786e\u540e,\u4f1a\u8fdb\u5165\u770b\u5230\u5982\u4e2a\u56fe,\u5c31\u8bf4\u660essh\u5df2\u6b63\u5e38\u7684\u5f00\u542f\u6210\u529f\u4e86 \u4ee5\u4e0b\u754c\u9762\u662f\u5728ha\u4e2d\u770b\u5230\u7684\u5185\u7f6e\u7684ssh \u5176\u5b83,\u5f53\u8bbf\u95ee\u4e00\u4e9b\u7cfb\u7edf\u64cd\u4f5c\u65e0\u6743\u9650\u65f6,\u53ef\u4ee5\u5173\u95ed\u4fdd\u62a4\u5f00\u5173 \u5b89\u88c5Mosquitto broker \u00b6 Mosquitto broker\u662f\u4e00\u4e2a\u91cd\u8981\u7684\u63d2\u4ef6,\u5176\u63d0\u4f9b\u7684MQTT \u670d\u52a1\u4e3a\u516c\u53f8\u5927\u591a\u6570\u6570\u8bbe\u5907\u6298\u96c6\u6210\uff0cmqtt\u901a\u4fe1\u901a\u9053\uff0c\u6240\u4ee5\uff0c\u6b64\u4e3a\u5fc5\u88c5\u63d2\u4ef6\u3002 \u70b9\u51fb\u5b89\u88c5 \u770b\u5230\u5982\u4e0b\u754c\u9762\uff0c\u8bf4\u660e\u5b89\u88c5\u6210\u529f\uff0c \u63a5\u4e0b\u6765\u662f\u914d\u7f6emqtt \u5f00\u542f\u81ea\u52a8\u6062\u590d \u00b6 \u914d\u7f6emqtt\u7684\u7528\u6237\u540d\u5bc6\u7801\u53ca\u5b9a\u5236\u914d\u7f6e \u00b6 username:dtuser password:****** #\u6b64\u5904\u7684\u5bc6\u7801\u8bf7\u54a8\u8be2\u7ba1\u7406\u5458 \u914d\u7f6e\u5b8c\u6210\u540e,\u542f\u52a8mqtt\u670d\u52a1 \u65e5\u5fd7\u4e2d\u663e\u793a\u5982\u4e0b\u4fe1\u606f,\u8bf4\u660e\u6210\u529f s6-rc: info: service s6rc-oneshot-runner: starting s6-rc: info: service s6rc-oneshot-runner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service fix-attrs successfully started s6-rc: info: service legacy-cont-init: starting cont-init: info: running /etc/cont-init.d/mosquitto.sh [16:33:27] INFO: Setting up user dtuser [16:33:28] INFO: SSL is not enabled cont-init: info: /etc/cont-init.d/mosquitto.sh exited 0 cont-init: info: running /etc/cont-init.d/nginx.sh cont-init: info: /etc/cont-init.d/nginx.sh exited 0 s6-rc: info: service legacy-cont-init successfully started s6-rc: info: service legacy-services: starting services-up: info: copying legacy longrun mosquitto (no readiness notification) services-up: info: copying legacy longrun nginx (no readiness notification) [16:33:29] INFO: Starting NGINX for authentication handling... s6-rc: info: service legacy-services successfully started [16:33:29] INFO: Starting mosquitto MQTT broker... 2025-04-17 16:33:29: Warning: Mosquitto should not be run as root/administrator. 2025-04-17 16:33:29: mosquitto version 2.0.20 starting 2025-04-17 16:33:29: Config loaded from /etc/mosquitto/mosquitto.conf. 2025-04-17 16:33:29: Loading plugin: /usr/share/mosquitto/go-auth.so 2025-04-17 16:33:29: \u251c\u2500\u2500 Username/password checking enabled. 2025-04-17 16:33:29: \u251c\u2500\u2500 TLS-PSK checking enabled. 2025-04-17 16:33:29: \u2514\u2500\u2500 Extended authentication not enabled. 2025-04-17 16:33:29: Opening ipv4 listen socket on port 1883. 2025-04-17 16:33:29: Opening ipv6 listen socket on port 1883. 2025-04-17 16:33:29: Opening websockets listen socket on port 1884. 2025-04-17 16:33:29: mosquitto version 2.0.20 running 2025-04-17 16:33:29: New connection from ::1:56336 on port 1883. 2025-04-17 16:33:29: Client <unknown> disconnected due to protocol error. [16:33:30] INFO: Successfully send discovery information to Home Assistant. [16:33:31] INFO: Successfully send service information to the Supervisor. \u5f53\u6d88\u606f,\u63d0\u793a\u53d1\u73b0\u8bbe\u5907\u65f6,\u70b9\u51fb,\u5f39\u51fa\u7684\u6d88\u606f\u4e2d,\u70b9check it out,\u7136\u540e,\u770b\u5230\u5df2\u53d1\u73b0mqtt,\u70b9\u51fb\u6dfb\u52a0 \u7136\u540e,\u70b9\u51fb\u5b8c\u6210 \u7136\u540e\u5c31\u4f1a\u5728\u8bbe\u7f6e-\u8bbe\u5907\u4e0e\u670d\u52a1-\u96c6\u6210\u4e2d,\u663e\u793aMqtt,\u4ee5\u540e,\u6240\u6709\u589e\u52a0\u7684MQTT\u7c7b\u8bbe\u5907\uff0c\u90fd\u4f1a\u663e\u793a\u5728\u8fd9\u4e2a\u7c7b\u522b\u4e2d\u3002 \u5b89\u88c5Node-RED\u63d2\u4ef6 \u00b6 Node-Red\u63d2\u4ef6\u662f\u6211\u4eec\u96c6\u4e2d\u5404\u79cd\u8bbe\u5907\u7684\u91cd\u8981\u6d88\u606f\u5904\u7406\u8f6c\u6362\u63d2\u4ef6,\u5c5e\u5fc5\u88c5\u63d2\u4ef6. \u5728\u52a0\u8f7d\u9879\u4e2d,\u641c\u7d22nod\u663e\u793a\u5982\u4e0b \u70b9\u51fb,\u8fdb\u5165\u8be6\u7ec6\u9875\u9762 \u70b9\u51fb\u5b89\u88c5 \u5982\u679c\u5b89\u88c5\u51fa\u9519,\u591a\u534a\u662f\u79d1\u5b66\u4e0a\u7f51\u7684\u95ee\u9898, \u5982\u73b0\u5982\u4e0b\u9875\u9762,\u8bf4\u660e\u5b89\u88c5\u6210\u529f \u5f00\u542f\u81ea\u52a8\u6062\u590d,\u5173\u95ed\u4fa7\u8fb9\u680f \u914d\u7f6enod-red \u6b64\u5904\u7684\u914d\u7f6e\u4fe1\u606f\u4e3a username:admin password:**** #\u6b64\u5904\u7684\u5bc6\u7801,\u8bf7\u5411\u7ba1\u7406\u5458\u83b7\u53d6 ### \u9ed8\u8ba4\u60c5\u51b5\u4e0b\u5173\u95edssl \u7136\u540e\u542f\u52a8node-red \u70b9\u51fb\u6253\u5f00web-\u9875\u9762\u5982\u4e0b \u5b89\u88c5go2rtc\u63d2\u4ef6 \u00b6 go2rtc\u63d2\u4ef6\u662f\u4e3a\u4e86\u5bf9\u89c6\u6d41\u8f6c\u53d1\u7528\u7684\u4e13\u7528\u63d2\u4ef6,\u5982\u679c\u60f3\u628a\u76d1\u63a7\u89c6\u9891\u6d41\u63a5\u5165,\u5219\u53ef\u4ee5\u4f7f\u7528\u8fd9\u4e2a\u63d2\u4ef6,\u5b89\u88c5\u65b9\u6cd5\u662f,\u52a0\u8f7d\u9879\u4e2d,\u641c\u7d22go2rtc, \u70b9\u51fb\u5b89\u88c5 \u5b89\u88c5\u5b8c\u6210\u540e\u5f00\u542f\u81ea\u52a8\u6062\u590d,\u81ea\u52a8\u66f4\u65b0 \u5176\u8bbe\u7f6e\u4e2d\u57fa\u672c\u6ca1\u4ec0\u4e48\u8981\u6539\u7684. \u5b89\u88c5VLC\u53ef\u4ee5\u64ad\u653e\u89c6\u9891\u7b49\u529f\u80fd,\u9700\u8981\u7684\u8bdd\u53ef\u4ee5\u5b89\u88c5 \u00b6 \u5728\u52a0\u8f7d\u5546\u5e97\u4e2d\u641c\u7d22vlc \u70b9\u51fb\u5b89\u88c5 \u5b89\u88c5\u6210\u529f\u5982\u4e0b\u6240\u793a \u914d\u7f6e\u4e2d\u57fa\u672c\u6ca1\u8981\u8981\u914d\u7f6e\u7684\u4e1c\u897f \u5229\u7528 Docker \u5b89\u88c5 PostgreSQL \u00b6 \u867d\u7136 Home Assistant OS \u672c\u8eab\u4e0d\u5141\u8bb8\u76f4\u63a5\u8bbf\u95ee\u7cfb\u7edf\u5e95\u5c42\uff0c\u4f46\u5b83\u5185\u7f6e\u4e86 Docker \u652f\u6301\uff0c\u56e0\u6b64\u53ef\u4ee5\u76f4\u63a5\u8fd0\u884c PostgreSQL \u7684 Docker \u5bb9\u5668\u3002 \u6b65\u9aa4 \u00b6 \u786e\u4fdd\u60a8\u6709 SSH \u8bbf\u95ee\u6743\u9650 \u5b89\u88c5 Home Assistant \u7684 SSH & Web Terminal Add-on\uff08\u9ad8\u7ea7\u6a21\u5f0f\uff09\u3002 \u5f00\u542f SSH \u8bbf\u95ee\uff0c\u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a \u524d\u5f80 Supervisor > Add-on Store \u3002 \u641c\u7d22\u5e76\u5b89\u88c5 SSH & Web Terminal \uff08\u5b98\u65b9\u63d2\u4ef6\uff09\u3002 \u914d\u7f6e SSH \u63d2\u4ef6\uff0c\u786e\u4fdd protected \u8bbe\u7f6e\u4e3a false \uff0c\u7136\u540e\u542f\u52a8\u5b83\u3002 \u8fd0\u884c PostgreSQL \u5bb9\u5668 \u5728 SSH \u6216 Web Terminal \u4e2d\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a docker run -d \\ --name=postgresql \\ -e POSTGRES_USER=dtuser \\ -e POSTGRES_PASSWORD= **pwd** \\ -e POSTGRES_DB=dtha \\ -v /db/pgsqldata:/var/lib/postgresql/data \\ -p 5432:5432 \\ postgres \u66ff\u6362 **pwd** \u4e3a\u60a8\u60f3\u8981\u8bbe\u7f6e\u7684\u6570\u636e\u5e93\u5bc6\u7801,\u4e9b\u5bc6\u7801,\u9700\u8981\u7ba1\u7406\u5458\u54a8\u8be2 \u6570\u636e\u5e93\u540d\u79f0\u4e3a dtha \uff0c\u7528\u6237\u540d\u4e3a dtuser \u3002 \u6570\u636e\u5c06\u5b58\u50a8\u5728 /mnt/data/supervisor/postgresql \uff0c\u786e\u4fdd\u6570\u636e\u5728\u91cd\u542f\u540e\u4e0d\u4f1a\u4e22\u5931\u3002 \u767b\u5f55ssh,\u5e76\u67e5\u770b\u5df2\u5b89\u88c5\u7684docker\u955c\u50cf\u5982\u4e0b \u5148\u521b\u5efapgsql\u5b58\u50a8\u5377\u9700\u8981\u7684\u76ee\u5f55,\u8fd9\u4e2a\u6211\u4eec\u7edf\u4e00\u5b9a\u4e3a\u5982\u4e0b\u76ee\u5f55,\u5e76\u7ed9777\u6743\u9650 /db/pgsqldata \u5373\u5728\u6839\u76ee\u5f55\u4e0b,\u521b\u5efadb\u76ee\u5f55,\u7136\u540e\u5728db\u76ee\u5f55\u4e2d\u521b\u5efapgsqldata,\u5e76\u7ed9\u8db3\u6743\u9650 / # cd homeassistant homeassistant # ls automations.yaml configuration.yaml home-assistant.log home-assistant.log.fault home-assistant_v2.db-shm scenes.yaml secrets.yaml blueprints deps home-assistant.log.1 home-assistant_v2.db home-assistant_v2.db-wal scripts.yaml tts homeassistant # mkdir db homeassistant # sudo chmod -R 7777 ./db homeassistant # cd db db # ls db # pwd /homeassistant/db db # sudo mkdir pgsqldata db # sudo chmod -R 7777 ./pgsqldata db # ls pgsqldata db # cd pgsqldata pgsqldata # ls -l ./ total 0 pgsqldata # cd .. db # ls -l ./ total 4 drwsrwsrwt 2 root root 4096 Apr 18 16:30 pgsqldata \u63a5\u4e0b\u6765,\u62c9\u53d6\u955cpgsql\u7684\u955c\u50cf,\u5e76\u6307\u5411/mnt/data/pgsqldata,\u6b64\u5904\u8981\u6ce8\u610f\u4e0d\u662f\u6240\u6709\u7684\u76ee\u5f55\u90fd\u6709\u5199\u5165\u6743\u9650,homeAssitant\u4e2d\u5927\u90e8\u4efd\u76ee\u5f55\u90fd\u6ca1\u6709\u5199\u5165\u6743\u9650,\u8981\u6ce8\u610f\u627e\u6709\u5199\u5165\u6743\u9650\u7684\u76ee\u5f55 data # docker run -d \\ --name=postgresql \\ -e POSTGRES_USER=dtuser \\ -e POSTGRES_PASSWORD=Dtuse1r \\ -e POSTGRES_DB=dtha \\ -v /mnt/data/pgsqldata:/var/lib/postgresql/data \\ -p 5432:5432 \\ --restart unless-stopped postgres # \u6267\u884c\u5b8c\u6210\u540e,\u8fd4\u56de: 9a4721cccb0d5c63671da5cba4a6b6c13721f48ac664de03312cddaa216a2e56 \u7cfb\u7edf\u4f1a\u81ea\u52a8\u62c9\u53d6\u955c\u50cf,\u5e76\u542f\u52a8,\u6b64\u8fc7\u7a0b\u52a1\u5fc5\u4fdd\u8bc1\u79d2\u5b66\u4e0a\u7f51\u7684\u7545\u901a \u5982\u4e0b\u56fe,\u6240\u793a, \u8bf4\u660e\u76ee\u5f55\u6ca1\u6709\u6743\u9650, chown -R root:root mnt/data/pgsqldata chmod -R 7777 /mnt/data/pgsqldata \u7ed9\u591f\u76ee\u5f55\u6743\u9650\u540e,\u518d\u6b21\u8fd0\u884c,\u5b89\u88c5\u6307\u4ee4 data # docker run -d \\ --name=postgresql \\ -e POSTGRES_USER=dtuser \\ -e POSTGRES_PASSWORD=Dtuse1r \\ -e POSTGRES_DB=dtha \\ -v /mnt/data/pgsqldata:/var/lib/postgresql/data \\ -p 5432:5432 \\ --restart unless-stopped postgres # \u6267\u884c\u5b8c\u6210\u540e,\u8fd4\u56de: docker: Error response from daemon: Conflict. The container name \"/postgresql\" is already in use by container \"f5b838e28f30ff3bde9f90276b8aa4924b4f1ecec2cdbd4e38dfe27e2c988edb\". You have to remove (or rename) that container to be able to reuse that name. See 'docker run --help \u4e0a\u8ff0\u8bf4\u660epgswl\u7684\u5bb9\u5668\u5df2\u7ecf\u5b58\u5728,\u9700\u8981\u5220\u9664 docker stop postgresql docker rm postgresql \u7136\u540e,\u518d\u6b21\u6267\u884c,\u5373\u53ef\u6210\u529f data # docker run -d \\ --name=postgresql \\ -e POSTGRES_USER=dtuser \\ -e POSTGRES_PASSWORD=Dtuse1r \\ -e POSTGRES_DB=dtha \\ -v /mnt/data/pgsqldata:/var/lib/postgresql/data \\ -p 5432:5432 \\ --restart unless-stopped postgres # \u6267\u884c\u5b8c\u6210\u540e,\u8fd4\u56de: 9a4721cccb0d5c63671da5cba4a6b6c13721f48ac664de03312cddaa216a2e56 \u7528ps -a \u67e5\u8be2\u4e00\u4e0b,\u5982\u4e0b\u56fe\u6240\u793a,\u8bf4\u660edocker \u542f\u52a8\u6210\u529f, \u4e3a\u4e86\u9a8c\u8bc1\u91cd\u65b0\u542f\u52a8\u540e,pgsql\u5bb9\u5668\u662f\u5426\u542f\u52a8,\u53ef\u4ee5\u91cd\u542f\u540e,\u518d\u6b21\u67e5\u770b\u4e00\u4e0b,\u6b64\u5bb9\u5668\u662f\u5426\u8ddf\u968f\u7cfb\u7edf\u542f\u52a8\u6210\u529f. \u63a5\u4e0b\u6765,\u6211\u4eec\u53ef\u4ee5\u5728\u5c40\u57df\u7f51\u4e2d\u627e\u53f0\u673a\u5668\u6765\u505a\u4e00\u4e0b\u6570\u636e\u5e93\u8fde\u63a5\u6d4b\u8bd5 \u5982\u4e0a\u56fe,\u8bf4\u660epgsql\u5df2\u7ecf\u5b89\u88c5\u6210\u529f\u4e86,\u5e76\u80fd\u6b63\u5e38\u8bbf\u95ee. \u66f4\u6539homeAssistant\u9ed8\u8ba4\u7684\u6570\u636e\u5e93\u4e3apgSql \u00b6 HomeAssistant\u9ed8\u8ba4\u7684\u6570\u636e\u5e93\u4e3asqlite,\u6211\u4eec\u9700\u8981\u628a\u5176\u6362\u6210\u6211\u4eec\u65b0\u5b89\u88c5\u7684pgsql, \u901a\u8fc7\u6211\u4eec\u5b89\u88c5\u7684\u63d2\u4ef6File editor \u6253\u5f00\u914d\u7f6e\u6587\u4ef6 /homeassistant/configruration.yaml \u589e\u52a0recorder\u4e2d\u7684\u914d\u7f6e\u5982\u4e0b \u7136\u540e,\u4fdd\u5b58\u9000\u51fa,\u91cd\u542f,\u770b\u770bha\u6709\u6ed1\u7684\u7ed9\u51fa\u9519\u8bef\u63d0\u793a,\u4e5f\u53ef\u4ee5\u901a\u8fc7,\u8fde\u63a5\u5de5\u5177\u6765\u67e5\u770b,ha\u6709\u6ca1\u6709\u5728\u6570\u636e\u5e93\u4e2d\u5efa\u8868,\u5199\u5165\u6570\u636e \u5982\u4e0a\u56fe,\u8bf4\u660e\u6570\u636e\u5df2\u529f\u529f\u6298\u5199\u5165PGSQL,\u6b64\u65f6\uff0c\u6211\u4eec\u53ef\u4ee5\u628a\u7cfb\u7edf\u9ed8\u8ba4\u7684\u6570\u636e\u5e93\u5220\u9664\u4e86 \u8fd9\u4e2a\u6587\u4ef6\u662fhomeAssistant\u9ed8\u8ba4\u7684sqlite\u6570\u636e\u5e93\u6587\u4ef6\uff0c\u53ef\u4ee5\u5220\u9664\u4e86\uff0c\u70b9\u53f3\u5219\u7684\u4e09\u4e2a\u70b9\uff0c\u5728\u5f39\u51fa\u7684\u83dc\u5355\u4e2d\uff0c\u70b9delete \u70b9\u51fbyes\u786e\u8ba4 \u7136\u540e\u91cd\u542f,\u518d\u6b21\u67e5\u770b,\u662f\u5426\u91cd\u65b0\u751f\u6210\u6b64\u6587\u4ef6, \u5982\u679c\u6ca1\u6709\u91cd\u65b0\u751f\u6210\u6b64\u6587\u4ef6 ,\u8bf4\u660e,\u7cfb\u7edf\u5df2\u7ecf\u5728\u7528pgsql\u4e86 \u5b89\u88c5HACS \u00b6 hacs\u7b80\u4ecb \u00b6 HACS\uff0c\u5168\u79f0 Home Assistant Community Store\uff08Home Assistant \u793e\u533a\u5546\u5e97\uff09\uff0c\u662f\u4e00\u4e2a\u7528\u4e8e Home Assistant \u7684\u7b2c\u4e09\u65b9\u6269\u5c55\u63d2\u4ef6\u7ba1\u7406\u5668\u3002\u5b83\u4e3a\u7528\u6237\u63d0\u4f9b\u4e86\u4e00\u4e2a\u65b9\u4fbf\u7684\u65b9\u5f0f\u6765\u5b89\u88c5\u548c\u7ba1\u7406\u793e\u533a\u5f00\u53d1\u7684\u81ea\u5b9a\u4e49\u96c6\u6210\u3001\u63d2\u4ef6\u3001\u4e3b\u9898\u548c\u5176\u4ed6\u6269\u5c55\u7ec4\u4ef6\u3002 \u8fd9\u4e2a\u63d2\u4ef6\u96c6\u4e2d\u4e86\u8bb8\u591a\u5927\u5c4f\u7528\u7684\u4e3b\u9898\u4e0e\u63d2\u4ef6\uff0c\u5c5e\u4e8e\u5fc5\u88c5\u63d2\u4ef6\uff0e \u5b89\u88c5hacs \u00b6 \u8fdb\u5165ssh\u767b \u5f55\u540e,\u8f93\u5165\u5982\u4e0b\u6307\u4ee4 wget -O - https://get.hacs.xyz | bash - \u56de\u8f66\u540e,\u7cfb\u7edf\u4f1a\u81ea\u52a8\u4e0b\u8f7dHACS\uff0c\u5e76\u653e\u5230\u6307\u5b9a\u7684\u76ee\u5f55\uff0c\u4e14\u63d0\u793a\u91cd\u542f\uff0c\u6211\u4eec\u6309\u8981\u6c42\u91cd\u542f\uff0c\u5373\u53ef\u3002 \u542f\u7528HACS \u00b6 \u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u60a8\u9700\u8981\u5728 Home Assistant \u7684\u754c\u9762\u4e2d\u542f\u7528 HACS\uff1a \u6253\u5f00 Home Assistant UI\u3002 \u70b9\u51fb \u8bbe\u7f6e > \u8bbe\u5907\u4e0e\u670d\u52a1 > \u96c6\u6210 \u3002 \u70b9\u51fb\u53f3\u4e0b\u89d2 \u6dfb\u52a0\u96c6\u6210 \u3002 \u641c\u7d22\u5e76\u9009\u62e9 HACS \uff0c\u7136\u540e\u6309\u7167\u5c4f\u5e55\u4e0a\u7684\u63d0\u793a\u5b8c\u6210\u8bbe\u7f6e\u3002 \u70b9\u51fb\u540e,\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d,\u5168\u6253\u52fe,\u70b9\u63d0\u4ea4 \u5f15\u65f6,\u5f39\u51fa\u65b0\u7684\u7a97\u53e3,\u9a8c\u8bc1github\u6388\u6743 \u70b9\u51fb\u8fd9\u4e2agithub\u94fe\u63a5,\u5e76\u8bb0\u4f4f\u4e0b\u65b9\u7684\u6388\u6743\u7801\u540e\u9762\u4f1a\u7528\u5230 \u5728\u5f39\u51fa\u7684\u9875\u9762\u4e2d,\u8f93\u5165,\u8bb0\u4f4f\u7684\u6388\u6743\u7801,\u70b9Continue \u63d0\u793a\u5177\u4f53\u7684\u6388\u6743\u5bf9\u50cf\u4e3ahacs,\u70b9\u51fbAutuorize hacs \u6388\u6743\u6210\u529f \u8fd4\u56dehacs\u540e,\u63d0\u793a\u6210\u529f,\u5e76\u663e\u793a\u5df2\u53d1\u73b0\u5982\u4e0b\u8bbe\u5907,hacs,\u9009\u62e9\u533a\u57df,\u53ef\u4ee5\u81ea\u5b9a\u4e49\u4e2a\u533a\u57df,\u7136\u540e\u70b9\u5b8c\u6210 \u770b\u5230\u5982\u4e0b\u754c\u9762hacs\u5c31\u5b89\u88c5\u597d\u4e86 \u70b9\u51fb\u914d\u7f6e,\u542f\u7528App Daemon apps discovery & tgracking. \u4ee5\u4e0a\u914d\u7f6e \u5b8c\u6210\u540e,\u91cd\u65b0\u542f\u52a8HA\uff0c\u5219\u53ef\u4ee5\u5728\u5de6\u4fa7\u680f\u4e2d\u627e\u5230HACS\u83dc\u5355\u4e86 \u66f4\u6539HomeAssistant\u5de6\u4e0a\u89d2LOGO\u6807\u9898 \u00b6 homeAssistant \u5de6\u4e0a\u89d2\u9ed8\u8ba4\u7684\u6807\u9898\u4e3a Home Assistant \u6211\u4eec\u5e0c\u671b\u6539\u6210\u81ea\u5df2\u7684\u6807\u8bc6\u5982:\u5cb1\u7279\u667a\u80fd \u4e0b\u8f7d\u7b2c\u4e09\u65b9\u63d2\u4ef6hass-favicon\u7684Releases\u5230\u672c\u5730\u76ee\u5f55 \u00b6 \u70b9\u51fb\u94fe\u63a5 ,\u5230\u5176github\u7684\u5b98\u65b9\u9875\u9762 \u4e0b\u8f7d\u5176\u6e90\u7801 \u89e3\u538b\u4e0b\u8f7d\u7684\u6e90\u7801 \u00b6 \u5c06\u63d2\u4ef6\u590d\u5236\u5230ha\u4e0a \u00b6 \u6253\u5f00\u6e90\u7801\u76ee\u5f55,\u8fdb\u5165custom_commponents\u76ee\u5f55,\u628afavicon\u76ee\u5f55\u6574\u4f53\u590d\u5236 \u7136\u540e,\u8fdb\u5165ha\u7684config-custom_compoents\u76ee\u5f55\u7c98\u8d34,\u590d\u5236\u5230\u7684favicon \u7136\u540e\u521b\u5efa\u76ee\u5f55 \\\\ha-o[\\config\\www\\favicons \u5e76\u628a\u80dc\u900f\u7684logo\u6587\u4ef6st-logo.,png\u653e\u5230\u76ee\u5f55\u4e2d \u7136\u540e\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u589e\u52a0\u5982\u4e0b\u5185\u5bb9 \u7136\u540e,\u91cd\u542fHomeAssistant\u5373\u53ef \u91cd\u542f\u540e,\u5de6\u4e0a\u811a\u7684LOGO\uff0c\u5df2\u53d8\u4e3a\u5cb1\u7279\u667a\u80fd. \u5b89\u88c5\u7c73\u5bb6\u96c6\u6210\u63d2\u4ef6 \u00b6 \u7c73\u5bb6\u96c6\u6210\u662f\u4e00\u4e2a\u7531\u5c0f\u7c73\u5b98\u65b9\u63d0\u4f9b\u652f\u6301\u7684 Home Assistant \u7684\u96c6\u6210\u7ec4\u4ef6\uff0c\u5b83\u53ef\u4ee5\u8ba9\u60a8\u5728 Home Assistant \u4e2d\u4f7f\u7528\u5c0f\u7c73 IoT \u667a\u80fd\u8bbe\u5907\u3002 \u8fd9\u4e2a\u63d2\u4ef6,\u53ef\u4ee5\u76f4\u63a5\u628a\u6240\u6709\u5c0f\u7c73\u7684\u5404\u79cd\u4f20\u611f\u5668\u96c6\u6210\u5230HomeAssistant\u4e2d,\u6240\u4ee5\u8fd9\u4e2a\u662f\u5fc5\u88c5\u63d2\u4ef6. \u5176\u5b98\u65b9\u4ed3\u5e93\u5730\u5740\u4e3a: Xiaomi Home Integration for Home Assistant https://github.com/XiaoMi/ha_xiaomi_home \u5176\u5b89\u88c5\u65b9\u6cd5\u6709\u4e09\u79cd,\u6211\u4eec\u4e3a\u4e86\u65b9\u4fbf\u9009\u62e9\u7b2c\u4e00\u79cd,\u5176\u5b83\u4e24\u79cd\u65b9\u6cd5,\u53ef\u4ee5\u81ea\u884c\u5c1d\u8bd5.\u5b98\u65b9\u63cf\u8ff0\u7684\u65b9\u88c5\u4e3b\u5f0f\u5982\u4e0b: cd config git clone https://github.com/XiaoMi/ha_xiaomi_home.git cd ha_xiaomi_home ./install.sh /config \u5176\u4e5f\u63d0\u4f9b \u4e2d\u6587\u7684\u5b89\u88c5\u8bf4\u660e \u5b89\u88c5 \u00b6 \u9996\u5148,\u767b\u5f55SSH.\u7136\u540e\u8fdb\u5165config\u76ee\u5f55 \u5148\u62c9\u53d6\u4ee3\u7801 config # git clone https://github.com/XiaoMi/ha_xiaomi_home.git Cloning into 'ha_xiaomi_home'... remote: Enumerating objects: 1322, done. remote: Counting objects: 100% (761/761), done. remote: Compressing objects: 100% (342/342), done. remote: Total 1322 (delta 628), reused 419 (delta 419), pack-reused 561 (from 2) Receiving objects: 100% (1322/1322), 847.87 KiB | 1.64 MiB/s, done. Resolving deltas: 100% (817/817), done. \u7136\u540e,\u518d\u5207\u6362\u5230ha_xiaomi_home\u76ee\u5f55 cd ha_xiaomi_home \u7136\u540e\u6267\u884c\u5b89\u88c5\u6307\u4ee4 ./install.sh /config # Xiaomi Home installation is completed. Please restart Home Assistant. \u5b89\u88c5\u5b8c\u6210,\u63d0\u793a\u9700\u8981\u91cd\u542f. \u914d\u7f6e \u00b6 \u5728\u91cd\u65b0\u542f\u52a8\u540e,\u5728\u8bbe\u7f6e-\u8bbe\u5907\u4e0e\u670d\u52a1-\u6dfb\u52a0\u96c6\u6210\u4e2d,\u641c\u7d22\u201c Xiaomi Home \u201d \u70b9\u51fb,\u4f1a\u63d0\u793a\u98ce\u9669\u63d0\u793a \u52fe\u9009,\u6211\u77e5\u6089,\u70b9\u51fb\u4e0b\u4e00\u6b65,\u4f1a\u8fdb\u5165\u57fa\u7840\u914d\u7f6e\u9875\u9762,\u5982\u4e0b\u56fe \u52fe\u9009\u96c6\u6210\u7f51\u7edc\u914d\u7f6e,\u540c\u86d9,\u6ce8\u610f\u4e00\u4e0b,\u8ba4\u8bc1\u8df3\u8f6c\u5730\u5740,\u6b64\u5904\u663e\u6b3e\u4e3ahttp://homeassistant.lcaol:8123,\u8fd9\u4e2a\u5730\u5740,\u4f30\u8ba1\u4e0d\u53ef\u80fd\u901a\u8fc7,\u53ea\u56e0\u4e3a\u6211\u4eec\u662f\u5728\u5c40\u57df\u7f51\u5176\u5b83\u673a\u5668\u64cd\u4f5c\u8fd9\u4e00\u6b65\u7684,\u5b9e\u9645\u4e0a\u6211\u4eec\u7684\u5730\u5740,\u5e94\u662f\u5730\u5740\u680f\u4e2d\u6298\u5b9e\u9645\u5730\u5740,\u5982\u4e0a\u56fe,\u6211\u4eec\u7684\u8ba4\u8bc1\u5730\u5740\u662f:http://192.168.3.2:8123, \u5728\u4e0b\u4e00\u6b65\u8df3\u8f6c\u8f6c\u5c0f\u7c73\u540e,\u6253\u5f00\u7684\u7f51\u5740\u65f6,\u4e0d\u51fa\u610f\u5916\u7684\u8bdd\u4f30\u8ba1\u662f\u6253\u4e0d\u5f00\u7684,\u9700\u8981\u628a\u90a3\u4e2a\u5730\u5740\u7684\u524d\u534a\u6bb5,\u6362\u6210\u8fd9\u4e2a\u5b9e\u9645\u5730\u5740. \u70b9\u51fb\u4e0b\u4e00\u6b65, \u6b64\u5904\u4e3a\u68c0\u6d4b\u7f51\u7edc,\u7f51\u7edc\u68c0\u6d4b\u901a\u8fc7\u65f6,\u624d\u80fd\u8fdb\u884c\u4e0b\u4e00\u6b65 \u5f53\u5f39\u51fa\u5982\u4e0b\u754c\u9762\u65f6,\u8bf4\u660e\u7f51\u7edc\u68c0\u6d4b\u901a\u8fc7\u4e86, \u70b9\u51fb,\"\u8bf7\u70b9\u6b64\u5904\u8fdb\u884c\u767b\u5f55\", \u6b64\u65f6,\u8df3\u8f6c\u5230\u5c0f\u7c73\u6298\u8ba4\u8bc1\u7f51\u9875,\u6b64\u65f6\u8f93\u5165\u6b63\u786e\u7c73\u5bb6\u5e10\u53f7\u4e0e\u5bc6\u7801,\u70b9\u767b\u5f55 \u5f39\u51fa \u53cb\u60c5\u63d0\u793a,\u70b9\u51fb,\u540c\u610f\u5e76\u7ee7\u7eed \u5c0f\u7c73\u7684\u5b89\u5168\u9a8c\u8bc1,\u70b9\u4e0b\u4e00\u6b65, \u70b9\u51fb \u53d1\u9001\u9a8c\u8bc1\u7801 \u8f93\u5165\u9a8c\u8bc1\u7801\u540e,\u70b9\u786e\u5b9a \u8df3\u8f6c\u5230\u4e86\u8ba4\u8bc1\u7a97\u53e3,\u4f46\u662f\u5374\u662f\u65e0\u65b9\u8bbf\u95ee\u6b64\u9875\u9762,\u8bf4\u660e\u8ba4\u8bc1\u5730\u5740,\u9519\u4e86,\u6211\u4eec\u9700\u8981\u628a\u5b83\u6362\u6210\u6211\u4eec\u6b63\u786e\u7684HA\u5730\u5740\uff1ahttp://192.168.3.2:8123,\u5982\u4e0b\u56fe\u6240\u793a \u624b\u5de5\u5c06\u6b63\u786e\u7684\u5730\u5740\u66ff\u6362\u5730\u5740\u5934\u90e8\u540e,\u56de\u8f66,\u6253\u5f00\u8fd9\u4e2a\u5730\u5740,\u7c7b\u4f3c\u5982\u4e0b\u683c\u5f0f: http://192.168.3.2:8123/api/webhook/3062281226000218850?code=C3_B7440E147BCCA71A76831877D510611F&state=d90a727abad348efee834884dae174b80a15de14 \u5982\u679c,\u7528\u4e0a\u8ff0\u65b9\u5f0f,\u4ecd\u7136\u4e0d\u80fd\u8bbf\u95ee,\u5219\u53ef\u7528\u5982\u4e0b\u65b9\u6cd5,\u66f4\u6539host\u6587\u4ef6,\u5f3a\u884c\u6307\u5b9a\u672c\u5730DNS,\u6307\u5411homeassistant.local,\u65b9\u6cd5\u5982\u4e0b: \u4fee\u6539 Windows hosts \u6587\u4ef6\u7684\u65b9\u6cd5 \u4f7f\u7528\u7ba1\u7406\u5458\u8eab\u4efd\u7528\u8bb0\u4e8b\u672c\u6253\u5f00\u5982\u4e0b\u6587\u4ef6 :C:\\Windows\\System32\\drivers\\etc\\hosts \u5728\u6700\u540e\u4e00\u884c\u589e\u52a0 192.168.3.2 homeassistant.local \u5982\u4e0b\u56fe \u7136\u540e,\u518d\u91cd\u65b0\u8bd5\u8fc7\u4e00\u6b21 \u4e0d\u51fa\u610f\u5916\u7684\u8bdd,\u5c31\u4f1a\u81ea\u52a8\u8ba4\u8bc1\u901a\u8fc7 \u53ef\u4ee5\u6839\u636e\u63d0\u793a\u81ea\u52a8\u9009 \u5219\u623f\u95f4\u540c\u6b65\u6a21\u5f0f,\u8fd9\u4e2a\u8981\u6839\u636e\u5177\u4f53\u60c5\u51b5\u9009\u62e9,\u70b9\u51fb\u4e0b\u4e00\u6b65,\u5c06\u63d0\u793a\u63d2\u4ef6\u96c6\u6210\u6210\u529f.\u5982\u4e0b\u793a\u610f\u56fe \u770b\u5230\u5982\u4e0b\u56fe,\u5c31\u8bf4\u660e\u96c6\u6210\u5b8c\u6210\u4e86 \u4e0d\u51fa\u610f\u5916\u7684\u8bdd\u6982\u89c8\u4e2d,\u5c31\u5df2\u7ecf\u81ea\u52a8\u589e\u52a0\u4e86\u8bb8\u591a\u8bbe\u5907. \u5b89\u88c5WebRTC Camera \u00b6 WebRTC camera\u63d2\u4ef6\u4ee5\u5b9e\u73b0\u9891\u6d41\u64ad\u653e.\u5982\u679cha\u8981\u63a5\u5165\u89c6\u9891\u76d1\u63a7,\u5219\u9700\u8981\u5b89\u88c5\u8fd9\u4e2a\u7ec4\u4ef6, \u4ed3\u5e93\u5730\u5740 : https://github.com/AlexxIT/WebRTC \u8fd9\u4e2a\u63d2\u4ef6\u4e5f\u6709\u591a\u79cd\u5b89\u88c5\u65b9\u6cd5,hacs\u5b89\u88c5,\u76f4\u63a5\u590d\u5236\u7b49\u65b9\u6cd5,\u56e0\u4e3a\u4e0a\u6587,\u6211\u4eec\u5df2\u7ecf\u5b89\u88c5\u8fc7\u4e86HACS\u63d2\u4ef6\uff0c\u6240\u4ee5\u6211\u4eec\u9009\u62e9\u4f7f\u7528HACS\u65b9\u5f0f\u5b89\u88c5\u3002 \u70b9\u51fb\u540e\uff0c\u5f39\u51fa\u5982\u4e0b\u9875\u9762 \u70b9\u51fbDownLoad\u6309\u94ae \u70b9\u51fbDownLoad \u5f53\u7136,\u6211\u4eec\u4e5f\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u6298\u7248\u672c \u5f53\u5f39\u51fa\u7a97\u53e3\u81ea\u52a8\u6d88\u5931,\u70b9\u51fb\u4e0a\u65b9\u7684\u8fd4\u56de( \u6ce8\u610f:\u4e0d\u4f1a\u81ea\u52a8\u8fd4\u56de,\u987b\u4eba\u5de5\u8fd4\u56de ),\u8fd4\u56de\u5982\u4e0b\u56fe \u770b\u5230\u4e0a\u65b9\u7684\u7b49\u5f85\u91cd\u542f,\u8bf4\u660e\u7ec4\u4ef6\u5df2\u7ecf\u5b89\u88c5\u4e0a,\u9700\u8981\u91cd\u542f,\u6211\u4eec\u6267\u884c\u91cd\u542f. \u91cd\u542f\u5b8c\u6210\u540e,\u4f1a\u770b\u5230,Downloaded\u4e2d\u5df2\u7ecf\u663e\u793a,\u4e86\u5b89\u88c5\u6210\u529f\u6298WebRTC Camera\u7ec4\u4ef6. \u7136\u540e,\u8fdb\u5165\u8bbe\u7f6e-\u8bbe\u5907\u4e0e\u670d\u52a1-\u6dfb\u52a0\u96c6\u6210,\u641c\u7d22WebRTC \u70b9\u51fbWebRtc Camera \u5f39\u51fago2rtc url\u5730\u5740\u7a97\u53e3,\u6b64\u63d2\u4ef6,\u6211\u4eec\u4e4b\u524d\u5df2\u88c5\u8fc7,\u5c31\u5728\u672c\u673a,\u6240\u5730\u5740\u4e0d\u7528\u6539,\u76f4\u63a5\u70b9\u63d0\u4ea4 \u70b9\u5b8c\u6210.WebRTC\u5b89\u88c5\u6210\u529f.\u5982\u4e0b\u56fe\u6240\u793a \u4e3a\u4e86\u6f14\u793a\u5982\u4f55\u663e\u793a\u76d1\u63a7\u89c6\u9891,\u6211\u4eec\u65b0\u589e\u52a0\u4e00\u4e2asample\u7684\u4eea\u8868\u76d8. \u70b9\u51fb,\u6dfb\u52a0\u4eea\u8868\u76d8 \u5728\u5f39\u51fa\u6298\u5bf9\u8bdd\u6846\u4e2d,\u8f93\u5165\u4eea\u8868\u76d8\u6807\u9898 \u8fd9\u6837\u6211\u6837\u5c31\u589e\u52a0\u4e86\u4e00\u4e2a\u4eea\u8868\u76d8dashboard-sampale,\u6211\u4eec\u53ef\u4ee5\u5728\u8fd9\u4e2a\u4eea\u8868\u76d8\u4e2d\u589e\u52a0\u6f14\u793a\u7528\u7684\u7ec4\u4ef6,\u6b64\u5904,\u6211\u4eec\u60f3\u589e\u52a0\u4e00\u4e2a\u6f14\u793a\u7528\u7684\u76d1\u63a7\u6444\u50cf\u5934.\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u7f16\u8f91\u6309\u94ae. \u70b9\u51fb\u521b\u5efa\u4e00\u4e2a\u7ec4\u4ef6 \u7136\u540e,\u65b0\u5efa\u5361\u7247,\u9009\u62e9\u81ea\u5b9a\u4e49WebRTC\u5361\u7247,\u5982\u679c\u6ca1\u6709\u8fd9\u4e2a\u7ec4\u4ef6,\u5219\u9700\u8981\u5237\u65b0\u51e0\u6b21,\u5c31\u80fd\u770b\u5230\u8fd9\u4e2a\u7ec4\u4ef6. \u6211\u6837\u5728\u5361\u7247\u8bbe\u7f6e\u4e2d\u8f93\u5165url\u7684\u89c6\u9891\u6d41\u5730\u5740 type: custom:webrtc-camera url: \"rtsp://admin:Camera_data2018@192.168.50.131:554/stream2\" \u5b89\u88c5motionEye \u00b6 motionEye \u662f\u4e00\u4e2a\u6d41\u884c\u7684\u6444\u50cf\u5934\u8f6f\u4ef6\uff08\u79f0\u4e3a motion\uff09\u7684\u524d\u7aef\u3002\u672c\u63d2\u4ef6\u540c\u65f6\u63d0\u4f9b\u4e86\u524d\u7aef\u548c\u6444\u50cf\u5934\u8f6f\u4ef6\uff0c\u8ba9\u60a8\u53ef\u4ee5\u5c06\u6444\u50cf\u5934\u6dfb\u52a0\u5230 Hass.io \uff08Home Assistant\uff09\u7cfb\u7edf\u4e2d\u3002 motionEye \u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u95ed\u8def\u7535\u89c6\uff08CCTV\uff09\u548c\u7f51\u7edc\u89c6\u9891\u5f55\u50cf\u673a\uff08NVR\uff09\uff0c\u5b83\u8bbe\u8ba1\u4f18\u96c5\u4e14\u975e\u5e38\u6613\u4e8e\u4f7f\u7528\u3002\u5b83\u53ef\u4ee5\u7528\u4f5c\u5a74\u513f\u76d1\u89c6\u5668\u3001\u5efa\u7b51\u5de5\u5730\u76d1\u63a7\u3001\u5546\u5e97\u6444\u50cf\u5934\u5f55\u50cf\u673a\u3001\u82b1\u56ed\u5b89\u9632\u7b49\u3002 motionEye \u7684\u4e00\u4e9b\u7279\u70b9\uff1a \u00b6 \u652f\u6301\u5927\u91cf\u6444\u50cf\u5934\uff0c\u5305\u62ec IP \u6444\u50cf\u5934\u3002 \u53ef\u4ee5\u901a\u8fc7\u5c06\u591a\u4e2a motionEye \u5b9e\u4f8b\u8fde\u63a5\u5728\u4e00\u8d77\u6dfb\u52a0\u591a\u4e2a\u6444\u50cf\u5934\u3002\u4f8b\u5982\uff0c\u53ef\u4ee5\u5728\u7f51\u7edc\u4e2d\u4f7f\u7528\u8fd0\u884c MotionEyeOS \u7684 Pi Zero \u548c Pi \u6444\u50cf\u5934\u3002 \u652f\u6301\u5c06\u5f55\u50cf\u4e0a\u4f20\u5230 Google Drive \u548c Dropbox\u3002 \u652f\u6301\u8fd0\u52a8\u68c0\u6d4b\uff0c\u5305\u62ec\u90ae\u4ef6\u901a\u77e5\u548c\u8ba1\u5212\u4efb\u52a1\u3002 \u53ef\u4ee5\u8fde\u7eed\u5f55\u50cf\u3001\u8fd0\u52a8\u5f55\u50cf\u6216\u5ef6\u65f6\u5f55\u50cf\uff0c\u5e76\u652f\u6301\u4fdd\u7559\u8bbe\u7f6e\u3002 \u652f\u6301\u914d\u7f6e\u4e2d\u7684\u201c\u64cd\u4f5c\u6309\u94ae\u201d\u3002 \u5b89\u88c5\u65b9\u6cd5 \u00b6 \u5728\u8bbe\u7f6e-\u52a0\u8f7d\u9879\u4e2d,\u641c\u7d22\"motionEye\", \u70b9\u51fb\u67e5\u770b\u8be6\u60c5\u9875,\u5e76\u5b89\u88c5 motioneye\u9ed8\u8ba4\u7684\u7528\u6237\u540d\u4e3aadmin,\u5bc6\u7801\u4e3a\u7a7a.","title":"\u7cfb\u7edf\u521d\u59cb\u5316\u914d\u7f6e"},{"location":"Usages/initConfig/initConfig/#homeassistant","text":"","title":"\u521d\u59cb\u5316\u914d\u7f6eHomeAssistant"},{"location":"Usages/initConfig/initConfig/#homeassistant_1","text":"\u9996\u6b21\u6253\u5f00HomeAssistant\u901a\u8fc7,\u8def\u7531\u5668\u4e3a\u5176\u5206\u914d\u7684IP\u5730\u5740\u52a0\u7aef\u53e3\u53f7\u5373\u53ef\u8fdb\u884cHomeAssistant. \u683c\u5f0f\u5982\u4e0b: http://Ip:Port \u5982:http://192.168.3.2:8123 \u57fa\u4e2d:8123\u4e3a\u5176\u9ed8\u8ba4\u7684\u7aef\u53e3\u540e,\u5f53\u7136,\u7cfb\u7edf\u521d\u59cb\u5316\u6210\u529f\u540e,\u53ef\u4ee5\u6539. \u5982\u4e0b\u56fe\u6240\u793a: \u70b9\u51fb\"\u521b\u5efa\u6211\u667a\u80fd\u5bb6\u5bb6\u5c45\"\u6309\u8fdb\u884c\u4e0b\u4e00\u6b65 \u5728\u8fd9\u91cc\u6211\u4eec\u8f93\u5165\u59d3\u540d,\u7528\u6237\u540d,\u5bc6\u7801,\u786e\u8ba4\u5bc6\u7801 \u8fd9\u91cc\u6211\u4eec\u4f7f\u7528\u7edf\u4e00\u7684\u4fe1\u606f \u59d3\u540d:\u5cb1\u7279\u667a\u80fd \u7528\u6237\u540d:dtuser \u5bc6\u7801:****** \u786e\u8ba4\u5bc6\u7801:***** \u6ce8\u610f:\u4e0a\u8ff0\u5bc6\u7801\u4e3a\u4e86\u5b89\u5168,\u6ca1\u6709\u663e\u793a,\u8bf7\u54a8\u8be2\u7cfb\u7edf\u7ba1\u7406\u5458\u83b7\u53d6\u771f\u6b63\u7684\u5bc6\u7801. \u70b9\u51fb\"\u521b\u5efa\u5e10\u6237\", \u8fd9\u4e00\u6b65,\u4f1a\u8981\u6c42\u4f60\u8f93\u5165\u4f4d\u7f6e,\u8f93\u5165\u57ce\u5e02\u70b9\u83b7\u53d6,\u5982\u679c\u53d6\u4e0b\u5230\u4f1a\u62a5\u9519.\u6ca1\u5173\u7cfb,\u76f4\u63a5\u4e0b\u4e00\u6b65\u5373\u53ef,\u7cfb\u7edf\u914d\u7f6e\u5b8c\u6210\u540e,\u8fd8\u53ef\u66f4\u6539. \u8fd9\u4e00\u6b65\u662f\u8981\u6c42,\u4f60\u8f93\u4e0b\u6240\u5c5e\u7684\u56fd\u5bb6\u4e0e\u5730\u533a,\u5b83\u4f1a\u81ea\u52a8\u5224\u65ad\u51fa\u6765,\u56fd\u5bb6,\u76f4\u63a5\u70b9\u4e0b\u4e00\u6b65\u5373\u53ef. \u6b64\u65f6,\u5b83\u53ef\u80fd\u8fd8\u4f1a\u5f39\u51fa\u4e00\u4e2a\u5bf9\u8bdd\u6846\u6846,\u5e2e\u4f60\u68c0\u6d4b\u4f4d\u7f6e ,\u70b9\u786e\u5b9a\u5373\u53ef \u5982\u679c\u4e0d\u60f3\u8ba9\u5176\u68c0\u6d4b,\u76f4\u63a5\u70b9\u53d6\u6d88\u5373\u53ef,\u56e0\u4e3a\u5176\u68c0\u6d4b\u6298\u53ef\u80fd\u5f88\u6162,\u6240\u4ee5,\u76f4\u63a5\u70b9\u53d6\u6d88,\u9009\u62e9\u4e2d\u56fd\u5373\u53ef. \u8fd9\u91cc\u7684\u51e0\u9879,\u5168\u90e8\u4e0d\u7528\u9009,\u76f4\u63a5\u4e0b\u4e00\u6b65 \u8fd9\u4e00\u6b65,\u7cfb\u7edf\u4f1a\u81ea\u52a8\u626b\u63cf\u5c40\u57df\u7f51\u4e2d\u7684\u80fd\u76f4\u63a5\u5165\u7684\u8bbe\u5907.\u76f4\u63a5\u70b9\u51fb\u5b8c\u6210, \u7136\u540e,\u7cfb\u7edf\u4f1a\u8f6c\u5230\u5982\u4e0b\u754c\u9762 \u53ef\u80fd\u8981\u6301\u7eed\u4e00\u9635,\u7b49\u5f85\u5176\u5b8c\u6210\u5373\u53ef. \u5f00\u59cb\u7b2c\u4e00\u6b21,\u53ef\u80fd\u5f88\u6162 \u9996\u6b21\u5b8c\u6210\u5982\u4e0b\u663e\u793a","title":"\u9996\u6b21\u6253\u5f00HomeAssistant"},{"location":"Usages/initConfig/initConfig/#_1","text":"\u9996\u6b21\u767b\u5f55,\u53ef\u80fd\u4f1a\u663e\u793a\u66f4\u65b0,\u5982\u6b64\u65f6\u663e\u793a \u63d0\u793a\u66f4\u65b0Home Assistnat Operating System Update,\u70b9\u51fb\u5982\u4e0b\u6309\u94ae,\u4ee5\u5f39\u51fa\u7684\u5bf9\u8bdd\u6846\u4e2d\uff0c\u70b9\u66f4\u65b0\u6309\u94ae \u5982\u4e0b\u56fe\u6240\u793a\uff0c\u7cfb\u7edf\u5c06\u4f1a\uff0c\u8fdb\u884c\u66f4\u65b0 \u6ce8\u610f\uff0c\u8fd9\u4e2a\u64cd\u4f5c\uff0c\u4e00\u822c\u662f\u4ece\u4e24\u4e2a\u5730\u65b9\u83b7\u53d6\u66f4\u65b0\u5305\uff0c\u4e00\u662fgithub\u4e00\u4e2a\u662fdocker\u7684\u4ed3\u5e93\uff0c\u6240\u4ee5\uff0c \u8981\u4fdd\u6301\u79d1\u5b66\u4e0a\u7f51\u7684\u7545\u901a \u3002\u8fd9\u4e2a\u8fc7\u7a0b \uff0c\u4f30\u8ba1\u8981\u51e0\u5206\u949f\uff0c\u9700\u8981\u8010\u5fc3\u7b49\u7b49\uff0c\u4e5f\u6709\u53ef\u80fd\u4f1a\u66f4\u65b0\u5931\u8d25\uff0c\u7136\u540e\uff0c\u518d\u6b21\u66f4\u65b0\u3002 \u66f4\u65b0\u65f6,\u5982\u679c\u7f51\u7edc\u6709\u95ee\u9898\u53ef\u80fd\u4f1a\u51fa\u5728\u65e5\u5fd7 \u4e2d\u62a5\u51fa\u5982\u4e0b\u9519\u8bef aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.438 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.438 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.438 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.438 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.438 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.439 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.440 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.440 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.440 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') [09:26:17] INFO: Home Assistant Core finish process exit code 0 [09:26:17] INFO: Home Assistant Core service shutdown s6-rc: info: service legacy-services successfully stopped s6-rc: info: service legacy-cont-init: stopping s6-rc: info: service legacy-cont-init successfully stopped s6-rc: info: service fix-attrs: stopping s6-rc: info: service fix-attrs successfully stopped s6-rc: info: service s6rc-oneshot-runner: stopping s6-rc: info: service s6rc-oneshot-runner successfully stopped s6-rc: info: service s6rc-oneshot-runner: starting s6-rc: info: service s6rc-oneshot-runner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service fix-attrs successfully started s6-rc: info: service legacy-cont-init: starting s6-rc: info: service legacy-cont-init successfully started s6-rc: info: service legacy-services: starting services-up: info: copying legacy longrun home-assistant (no readiness notification) s6-rc: info: service legacy-services successfully started 2025-04-16 17:28:26.876 ERROR (MainThread) [homeassistant.components.homeassistant_alerts.coordinator] Timeout fetching homeassistant_alerts data 2025-04-16 17:51:56.276 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain hassio.update 2025-04-16 17:51:56.278 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain cloud.tts 2025-04-16 17:51:56.278 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain mobile_app.notify 2025-04-16 17:51:56.278 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain backup.sensor 2025-04-16 17:51:56.279 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain energy.sensor 2025-04-16 17:51:56.279 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain sun.sensor 2025-04-16 17:51:56.279 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain homeassistant.scene 2025-04-16 17:51:56.279 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain hassio.binary_sensor 2025-04-16 17:51:56.280 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain hassio.sensor \u4e0a\u8ff0\u9519\u8bef\u591a\u662f\u7531\u4e8e\u7f51\u7edc\u95ee\u9898\u5f15\u8d77\u7684,\u8981\u53bb\u68c0\u662f\u79d1\u5b66\u4e0a\u7f51\u662f\u5426\u8fd8\u6b63\u5e38. \u66f4\u5b8c\u5b8c\u6210\u540e,\u518d\u6b21\u542f\u52a8\u540e,\u4f1a\u663e\u793a\u6ca1\u6709\u53ef\u7528\u7684\u66f4\u65b0","title":"\u66f4\u65b0\u5fc5\u8981\u7684\u7ec4\u4ef6"},{"location":"Usages/initConfig/initConfig/#-","text":"\u70b9\u51fb,\u5f00\u59cb,\u901a\u7528 \u66f4\u6539\u540d\u79f0\u4e3a:\u5cb1\u7279\u667a\u80fd \u5176\u5b83\u7684\u4e0d\u53d8 #### \u914d\u7f6e-\u7f51\u7edc-\u4e3b\u673a\u540d \u628a\u4e3b\u673a\u540d\u914d\u7f6e\u6210\u4e3a\u5c40\u57df\u7f51\u4e2d\u552f\u4e00\u7684,\u5b9e\u9645\u8ba9\u5c31\u662f\u8ba1\u7b97\u673a\u540d,\u56e0\u4e3a\u540c\u4e00\u5c40\u57df\u7f51\u4e2d,\u8ba1\u7b97\u673a\u540d,\u4e0d\u5141\u8bb8\u76f8\u540c","title":"\u914d\u7f6e-\u901a\u7528"},{"location":"Usages/initConfig/initConfig/#-_1","text":"\u52a0\u8f7d\u9879\u4e2d\u6709\u8bb8\u591a\u5fc5\u88c5\u7ec4\u4ef6,\u9700\u8981\u4e00\u4e00\u5b89\u88c5,\u9996\u6b21\u8fdb\u5165\u65f6,\u53ef\u80fd\u4f1a\u663e\u793a\u5982\u4e0b\u9875\u9762 \u70b9\u51fb\u4e0b\u89d2\u7684\"\u52a0\u8f7d\u9879\u5546\u5e97\"","title":"\u914d\u7f6e-\u8bbe\u7f6e-\u52a0\u8f7d\u9879"},{"location":"Usages/initConfig/initConfig/#file-editor","text":"File editor \u662f\u4e00\u4e2a\u7528\u4e8e\u4fee\u6539HA\u7684\u914d\u7f6e\u6587\u4ef6\u7684\u96c6\u6210\u5de5\u5177,\u5c5e\u5fc5\u88c5\u9879,\u70b9\u51fb\u5b89\u88c5 \u70b9\u51fb\u5b89\u88c5,\u7cfb\u7edf\u4f1a\u5728\u540e\u53f0\u81ea\u52a8\u5b89\u88c5\u6b64\u63d2\u4ef6, \u5b89\u88c5\u5b8c\u6210\u540e,\u4f1a\u81ea\u52a8\u91cd\u542f \u6709\u65f6\u4e5f\u4f1a\u63d0\u793a\u5b89\u88c5\u5931\u8d25 \u8fd9\u79cd\u7ecf\u67e5\u770b\u65e5\u5fd7 \u591a\u4e3a\u7f51\u5f3a\u884c\u95ee\u9898\u65e0\u6cd5\u8bbf\u95ee.docker.io,\u8fd9\u662f\u56e0\u4e3a\u79d1\u5b66\u4e0a\u98ce\u7684\u539f\u56e0,\u91cd\u70b9\u6392\u67e5\u7f51\u7edc,\u5b89\u88c5\u6210\u529f\u540e,\u518d\u6b21\u8fdb\u5165\u4f1a\u663e\u793a\u5982\u4e0b\u754c\u9762 \u52fe\u9009,\u5f00\u673a\u542f\u52a8,\u81ea\u52a8\u6062\u590d,\u663e\u793a\u4e8e\u4fa7\u8fb9\u680f \u70b9\u51fb\u542f\u52a8,\u6216\u91cd\u542f,\u5c06\u4f1a\u5728\u4fa7\u8fb9\u680f\u770b\u5230\u6b64\u56fe\u6807,\u70b9\u51fb\u6253\u5f00\u7f51\u9875\u754c\u9762 \u80fd\u770b\u5230\u5982\u4e0b\u754c\u9762,\u8bf4\u660e\u5b89\u88c5\u6210\u529f \u6b64\u65f6\u52a0\u8f7d\u9879\u4e2d,\u5c31\u591a\u51fa\u4e86File editor\u9009\u9879","title":"\u5b89\u88c5File editor"},{"location":"Usages/initConfig/initConfig/#samba-share","text":"Samba share\u63d2\u4ef6\u662f\u4e00\u4e2a\u63d0\u4f9b\u5171\u4eab\u76ee\u5f55\u7684\u65b9\u5f0f\u5141\u884c\u5176\u5b83\u8ba1\u7b97\u673a\u7528\u8fd9\u79cd\u65b9\u5f0f\u67e5\u770b\u7f16\u8f91ha\u7684\u6587\u4ef6\u7684\u7ec4\u4ef6. \u70b9\u51fb\u5b89\u88c5 \u5b89\u88c5\u5931\u8d25\u65f6,\u4f1a\u6709\u5982\u4e0b\u63d0\u4e0b\u63d0\u793a \u6253\u5f00\u81ea\u52a8\u6062\u590d \u63a5\u4e0b\u6765\u6211\u4eec\u9700\u8981\u5230\u914d\u7f6e\u9009\u9879\u4e2d \u6b64\u5904\u6211\u4eec\u8bbe\u7f6e\u5982\u4e0b\u4fe1\u606f Username:dtuser Password:***** # \u6b64\u5904\u8bf7\u54a8\u8be2\u7ba1\u7406\u5458 Workgroup:WORKGROUP # \u4fdd\u6301\u4e0d\u53d8 \u66f4\u6539\u5b8c\u6210\u540e,\u6709\u5982\u4e0b\u914d\u7f6e \u914d\u7f6e \u5b8c\u6210\u540e,\u70b9\u51fb\u542f\u52a8 \u542f\u52a8\u6210\u529f\u540e,\u4f1a\u51fa\u4e0b\u56fe\u663e\u793a \u6b64\u65f6,\u5982\u679c,\u4e0eHA\u5728\u540c\u4e00\u5c40\u57df\u7f51\uff0c\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u5982\u4e0b\u65b9\u5f0f\u67e5\u770bHA\u7684\u6587\u4ef6\u76ee\u5f55 \u5728\u5730\u5740\u680f\u8f93\u5165\\HA\u7684IP \u8f93\u5165\u9884\u8bbe\u7684\u7528\u6237\u540d\u4e0e\u5bc6\u7801,\u5373\u53ef\u67e5\u770b,\u7f16\u8f91HA\u7684\u5404\u79cd\u6587\u4ef6\u3002","title":"\u5b89\u88c5Samba share\u63d2\u4ef6"},{"location":"Usages/initConfig/initConfig/#terminal-ssh","text":"Terminal & SSH \u63d2\u4ef6\u4e3aHA\u63d0\u4f9b\u4e86\u5728web\u7aef\u4f7f\u7528\u63a7\u5236\u53f0\u7ec8\u7aef\u529f\u80fd,\u53ca\u5f00\u542f\u4e86ssh\u670d\u52a1,\u4f7f\u4e4b\u53ef\u4ee5\u8fdc\u7a0b\u4f7f\u7528SSH\u8bbf\u95eeHA\u7ec8\u7aef\u3002 \u5728\u641c\u7d22\u4e2d\u8f93\u5165Terminal & SSH \u7ed3\u679c\u6709\u53ef\u80fd\u663e\u793a \u641c\u7d22\u4e0d\u5230\uff0c\u8fd9\u65f6\uff0c\u53ef\u80fd\u662f\u56e0\u4e3a\u4ed3\u5e93\u6ca1\u6709\u914d\u7f6e\uff0c\u8fd8\u662f\u4f7f\u7528\u7684\u9ed8\u8ba4\u7684\u4ed3\u5e93\uff0c\u6211\u4eec\u53ef\u4ee5\u589e\u52a0\u4e00\u4e0b\u4ed3\u5e93\uff0c\u5982\u4e0b\uff1a https://github.com/AlexxIT/hassio-addons \u70b9\u51fb\u53f3\u4e0a\u89e3\u7684\u4e09\u4e2a\u70b9,\u9009\u4e2d\u4ed3\u5e93 \u5728\u5f39\u51fa\u6298\u5bf9\u8bdd\u6846\u4e2d\u8f93\u5165,\u6211\u4eec\u8bb0\u5f55\u7684\u4ed3\u5e93\u5730\u5740,\u7136\u540e\u70b9\u6dfb\u52a0 \u5b8c\u6210\u540e,\u70b9\u51fb\u5173\u95ed. \u7136\u540e,\u70b9\u51fb\u8fd4\u56de,\u91cd\u65b0\u641c\u7d22 \u8fd9\u6b21\u627e\u5230\u4e86Advance SSH & Web Terminal \u70b9\u51fb\u5b89\u88c5,\u6253\u5f00\u5982\u4e0b\u9875\u9762 \u70b9\u51fb\u5b89\u88c5,\u6709\u65f6\u4f1a\u5b89\u88c5\u5931\u8d25, \u5931\u8d25\u540e,\u9700\u518d\u6b21\u5b89\u88c5,\u540c\u65f6\u68c0\u67e5\u65e5\u5fd7\u4e2d\u63d0\u5230\u7684\u54ea\u4e2a\u7f51\u5740\u65e0\u6cd5\u8bbf\u95ee ,\u628a\u5176\u52a0\u79d1\u5b66\u4e0a\u7f51\u7684\u4ee3\u7406\u540d\u5355\u4e2d. \u5b89\u88c5\u5b8c\u6210\u540e,\u5c31\u53d8\u6210\u5982\u4e0b \u5f00\u542f\u81ea\u52a8\u6062\u5f97,\u663e\u793a\u4fa7\u8fb9\u680f \u63a5\u4e0b\u6765,\u6211\u4eec\u914d\u7f6essh\u7684\u767b\u5f55\u4fe1\u606f,\u5982\u4e0b \u76f8\u5173\u4fe1\u606f\u5982\u4e0b: username:dtuser passsword:**** # \u6b64\u5904\u9700\u8981\u54a8\u8be2\u7ba1\u7406\u5458 \u5176\u5b83\u914d\u7f6e\u9009\u9879\u5982\u4e0b,\u6ce8\u610f\u9009\u9879,\u9009\u9519\u4e86ssh\u53ef\u80fd\u542f\u4e0d\u8d77\u6765,sftp\u5173\u95ed,zsh\u5173\u95ed.compatibility_mode\u8981\u5f00\u542f \u7136\u540e,\u70b9\u51fb\u542f\u52a8\u6309\u94ae \u542f\u52a8\u540e\u5982\u4e0b \u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u4e24\u4e2a\u5730\u65b9\u8fdb\u5165 \u5728\u65e5\u5fd7 \u7aef\u80fd\u770b\u5230 ssh\u5df2\u542f\u52a8\u6210\u529f s6-rc: info: service base-addon-banner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service base-addon-log-level: starting s6-rc: info: service fix-attrs successfully started s6-rc: info: service base-addon-log-level successfully started s6-rc: info: service legacy-cont-init: starting s6-rc: info: service legacy-cont-init successfully started s6-rc: info: service init-ssh: starting s6-rc: info: service init-mysql: starting s6-rc: info: service init-mosquitto: starting s6-rc: info: service init-docker: starting s6-rc: info: service init-docker successfully started s6-rc: info: service init-mysql successfully started s6-rc: info: service init-mosquitto successfully started [14:51:05] WARNING: [14:51:05] WARNING: Logging in with a SSH password is security wise, a bad idea! [14:51:05] WARNING: Please, consider using a public/private key pair. [14:51:05] WARNING: What is this? https://kb.iu.edu/d/aews [14:51:05] WARNING: [14:51:05] NOTICE: RSA host key missing, generating one... Generating public/private rsa key pair. Your identification has been saved in /data/ssh_host_rsa_key Your public key has been saved in /data/ssh_host_rsa_key.pub The key fingerprint is: SHA256:+9pEl2QvyUqsu4B3gnPjhL/Ab71iBIDjWRdYvgZeg0c root@a0d7b954-ssh The key's randomart image is: +---[RSA 3072]----+ | . oE. | |o .o+. | |..o+.= o | | o. = o . + + | | . + S + * . | | ..+. = o . | | B.B.+ o | | X+=.= | | o=o=+o | +----[SHA256]-----+ [14:51:08] NOTICE: ED25519 host key missing, generating one... Generating public/private ed25519 key pair. Your identification has been saved in /data/ssh_host_ed25519_key Your public key has been saved in /data/ssh_host_ed25519_key.pub The key fingerprint is: SHA256:MgbUsAJ+23skjVTwD0pWVRBCmZ0BjU3jwV/99gGnNVc root@a0d7b954-ssh The key's randomart image is: +--[ED25519 256]--+ |. o+o*%O*. . E| |.. . .=+o*o o =.| | ...o+ o .. . = +| | ..*.+ o . . .o| | . =+oS. .o| | .+o .| | . . | | . | | | +----[SHA256]-----+ s6-rc: info: service init-ssh successfully started s6-rc: info: service init-user: starting [14:51:08] NOTICE: Session sharing has been disabled! s6-rc: info: service init-user successfully started s6-rc: info: service ttyd: starting s6-rc: info: service sshd: starting s6-rc: info: service sshd successfully started s6-rc: info: service ttyd successfully started s6-rc: info: service legacy-services: starting [14:51:09] INFO: Starting the ttyd daemon... [14:51:09] INFO: Starting the SSH daemon... s6-rc: info: service legacy-services successfully started Server listening on 0.0.0.0 port 22. Server listening on :: port 22. \u914d\u7f6e\u6210\u529f\u540e,\u53ef\u4ee5\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u6765\u6d4b\u8bd5\u662f\u5426\u53ef\u4ee5\u8fdc\u7a0bSSH\u8fde\u5165 \u8f93\u5165yes\u540e\u4f1a\u8981\u6c42 \u8f93\u5165\u5bc6\u7801,\u9a8c\u8bc1\u6b63\u786e\u540e,\u4f1a\u8fdb\u5165\u770b\u5230\u5982\u4e2a\u56fe,\u5c31\u8bf4\u660essh\u5df2\u6b63\u5e38\u7684\u5f00\u542f\u6210\u529f\u4e86 \u4ee5\u4e0b\u754c\u9762\u662f\u5728ha\u4e2d\u770b\u5230\u7684\u5185\u7f6e\u7684ssh \u5176\u5b83,\u5f53\u8bbf\u95ee\u4e00\u4e9b\u7cfb\u7edf\u64cd\u4f5c\u65e0\u6743\u9650\u65f6,\u53ef\u4ee5\u5173\u95ed\u4fdd\u62a4\u5f00\u5173","title":"\u5b89\u88c5Terminal &amp; SSH"},{"location":"Usages/initConfig/initConfig/#mosquitto-broker","text":"Mosquitto broker\u662f\u4e00\u4e2a\u91cd\u8981\u7684\u63d2\u4ef6,\u5176\u63d0\u4f9b\u7684MQTT \u670d\u52a1\u4e3a\u516c\u53f8\u5927\u591a\u6570\u6570\u8bbe\u5907\u6298\u96c6\u6210\uff0cmqtt\u901a\u4fe1\u901a\u9053\uff0c\u6240\u4ee5\uff0c\u6b64\u4e3a\u5fc5\u88c5\u63d2\u4ef6\u3002 \u70b9\u51fb\u5b89\u88c5 \u770b\u5230\u5982\u4e0b\u754c\u9762\uff0c\u8bf4\u660e\u5b89\u88c5\u6210\u529f\uff0c \u63a5\u4e0b\u6765\u662f\u914d\u7f6emqtt","title":"\u5b89\u88c5Mosquitto broker"},{"location":"Usages/initConfig/initConfig/#_2","text":"","title":"\u5f00\u542f\u81ea\u52a8\u6062\u590d"},{"location":"Usages/initConfig/initConfig/#mqtt","text":"username:dtuser password:****** #\u6b64\u5904\u7684\u5bc6\u7801\u8bf7\u54a8\u8be2\u7ba1\u7406\u5458 \u914d\u7f6e\u5b8c\u6210\u540e,\u542f\u52a8mqtt\u670d\u52a1 \u65e5\u5fd7\u4e2d\u663e\u793a\u5982\u4e0b\u4fe1\u606f,\u8bf4\u660e\u6210\u529f s6-rc: info: service s6rc-oneshot-runner: starting s6-rc: info: service s6rc-oneshot-runner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service fix-attrs successfully started s6-rc: info: service legacy-cont-init: starting cont-init: info: running /etc/cont-init.d/mosquitto.sh [16:33:27] INFO: Setting up user dtuser [16:33:28] INFO: SSL is not enabled cont-init: info: /etc/cont-init.d/mosquitto.sh exited 0 cont-init: info: running /etc/cont-init.d/nginx.sh cont-init: info: /etc/cont-init.d/nginx.sh exited 0 s6-rc: info: service legacy-cont-init successfully started s6-rc: info: service legacy-services: starting services-up: info: copying legacy longrun mosquitto (no readiness notification) services-up: info: copying legacy longrun nginx (no readiness notification) [16:33:29] INFO: Starting NGINX for authentication handling... s6-rc: info: service legacy-services successfully started [16:33:29] INFO: Starting mosquitto MQTT broker... 2025-04-17 16:33:29: Warning: Mosquitto should not be run as root/administrator. 2025-04-17 16:33:29: mosquitto version 2.0.20 starting 2025-04-17 16:33:29: Config loaded from /etc/mosquitto/mosquitto.conf. 2025-04-17 16:33:29: Loading plugin: /usr/share/mosquitto/go-auth.so 2025-04-17 16:33:29: \u251c\u2500\u2500 Username/password checking enabled. 2025-04-17 16:33:29: \u251c\u2500\u2500 TLS-PSK checking enabled. 2025-04-17 16:33:29: \u2514\u2500\u2500 Extended authentication not enabled. 2025-04-17 16:33:29: Opening ipv4 listen socket on port 1883. 2025-04-17 16:33:29: Opening ipv6 listen socket on port 1883. 2025-04-17 16:33:29: Opening websockets listen socket on port 1884. 2025-04-17 16:33:29: mosquitto version 2.0.20 running 2025-04-17 16:33:29: New connection from ::1:56336 on port 1883. 2025-04-17 16:33:29: Client <unknown> disconnected due to protocol error. [16:33:30] INFO: Successfully send discovery information to Home Assistant. [16:33:31] INFO: Successfully send service information to the Supervisor. \u5f53\u6d88\u606f,\u63d0\u793a\u53d1\u73b0\u8bbe\u5907\u65f6,\u70b9\u51fb,\u5f39\u51fa\u7684\u6d88\u606f\u4e2d,\u70b9check it out,\u7136\u540e,\u770b\u5230\u5df2\u53d1\u73b0mqtt,\u70b9\u51fb\u6dfb\u52a0 \u7136\u540e,\u70b9\u51fb\u5b8c\u6210 \u7136\u540e\u5c31\u4f1a\u5728\u8bbe\u7f6e-\u8bbe\u5907\u4e0e\u670d\u52a1-\u96c6\u6210\u4e2d,\u663e\u793aMqtt,\u4ee5\u540e,\u6240\u6709\u589e\u52a0\u7684MQTT\u7c7b\u8bbe\u5907\uff0c\u90fd\u4f1a\u663e\u793a\u5728\u8fd9\u4e2a\u7c7b\u522b\u4e2d\u3002","title":"\u914d\u7f6emqtt\u7684\u7528\u6237\u540d\u5bc6\u7801\u53ca\u5b9a\u5236\u914d\u7f6e"},{"location":"Usages/initConfig/initConfig/#node-red","text":"Node-Red\u63d2\u4ef6\u662f\u6211\u4eec\u96c6\u4e2d\u5404\u79cd\u8bbe\u5907\u7684\u91cd\u8981\u6d88\u606f\u5904\u7406\u8f6c\u6362\u63d2\u4ef6,\u5c5e\u5fc5\u88c5\u63d2\u4ef6. \u5728\u52a0\u8f7d\u9879\u4e2d,\u641c\u7d22nod\u663e\u793a\u5982\u4e0b \u70b9\u51fb,\u8fdb\u5165\u8be6\u7ec6\u9875\u9762 \u70b9\u51fb\u5b89\u88c5 \u5982\u679c\u5b89\u88c5\u51fa\u9519,\u591a\u534a\u662f\u79d1\u5b66\u4e0a\u7f51\u7684\u95ee\u9898, \u5982\u73b0\u5982\u4e0b\u9875\u9762,\u8bf4\u660e\u5b89\u88c5\u6210\u529f \u5f00\u542f\u81ea\u52a8\u6062\u590d,\u5173\u95ed\u4fa7\u8fb9\u680f \u914d\u7f6enod-red \u6b64\u5904\u7684\u914d\u7f6e\u4fe1\u606f\u4e3a username:admin password:**** #\u6b64\u5904\u7684\u5bc6\u7801,\u8bf7\u5411\u7ba1\u7406\u5458\u83b7\u53d6 ### \u9ed8\u8ba4\u60c5\u51b5\u4e0b\u5173\u95edssl \u7136\u540e\u542f\u52a8node-red \u70b9\u51fb\u6253\u5f00web-\u9875\u9762\u5982\u4e0b","title":"\u5b89\u88c5Node-RED\u63d2\u4ef6"},{"location":"Usages/initConfig/initConfig/#go2rtc","text":"go2rtc\u63d2\u4ef6\u662f\u4e3a\u4e86\u5bf9\u89c6\u6d41\u8f6c\u53d1\u7528\u7684\u4e13\u7528\u63d2\u4ef6,\u5982\u679c\u60f3\u628a\u76d1\u63a7\u89c6\u9891\u6d41\u63a5\u5165,\u5219\u53ef\u4ee5\u4f7f\u7528\u8fd9\u4e2a\u63d2\u4ef6,\u5b89\u88c5\u65b9\u6cd5\u662f,\u52a0\u8f7d\u9879\u4e2d,\u641c\u7d22go2rtc, \u70b9\u51fb\u5b89\u88c5 \u5b89\u88c5\u5b8c\u6210\u540e\u5f00\u542f\u81ea\u52a8\u6062\u590d,\u81ea\u52a8\u66f4\u65b0 \u5176\u8bbe\u7f6e\u4e2d\u57fa\u672c\u6ca1\u4ec0\u4e48\u8981\u6539\u7684.","title":"\u5b89\u88c5go2rtc\u63d2\u4ef6"},{"location":"Usages/initConfig/initConfig/#vlc","text":"\u5728\u52a0\u8f7d\u5546\u5e97\u4e2d\u641c\u7d22vlc \u70b9\u51fb\u5b89\u88c5 \u5b89\u88c5\u6210\u529f\u5982\u4e0b\u6240\u793a \u914d\u7f6e\u4e2d\u57fa\u672c\u6ca1\u8981\u8981\u914d\u7f6e\u7684\u4e1c\u897f","title":"\u5b89\u88c5VLC\u53ef\u4ee5\u64ad\u653e\u89c6\u9891\u7b49\u529f\u80fd,\u9700\u8981\u7684\u8bdd\u53ef\u4ee5\u5b89\u88c5"},{"location":"Usages/initConfig/initConfig/#docker-postgresql","text":"\u867d\u7136 Home Assistant OS \u672c\u8eab\u4e0d\u5141\u8bb8\u76f4\u63a5\u8bbf\u95ee\u7cfb\u7edf\u5e95\u5c42\uff0c\u4f46\u5b83\u5185\u7f6e\u4e86 Docker \u652f\u6301\uff0c\u56e0\u6b64\u53ef\u4ee5\u76f4\u63a5\u8fd0\u884c PostgreSQL \u7684 Docker \u5bb9\u5668\u3002","title":"\u5229\u7528 Docker \u5b89\u88c5 PostgreSQL"},{"location":"Usages/initConfig/initConfig/#_3","text":"\u786e\u4fdd\u60a8\u6709 SSH \u8bbf\u95ee\u6743\u9650 \u5b89\u88c5 Home Assistant \u7684 SSH & Web Terminal Add-on\uff08\u9ad8\u7ea7\u6a21\u5f0f\uff09\u3002 \u5f00\u542f SSH \u8bbf\u95ee\uff0c\u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a \u524d\u5f80 Supervisor > Add-on Store \u3002 \u641c\u7d22\u5e76\u5b89\u88c5 SSH & Web Terminal \uff08\u5b98\u65b9\u63d2\u4ef6\uff09\u3002 \u914d\u7f6e SSH \u63d2\u4ef6\uff0c\u786e\u4fdd protected \u8bbe\u7f6e\u4e3a false \uff0c\u7136\u540e\u542f\u52a8\u5b83\u3002 \u8fd0\u884c PostgreSQL \u5bb9\u5668 \u5728 SSH \u6216 Web Terminal \u4e2d\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a docker run -d \\ --name=postgresql \\ -e POSTGRES_USER=dtuser \\ -e POSTGRES_PASSWORD= **pwd** \\ -e POSTGRES_DB=dtha \\ -v /db/pgsqldata:/var/lib/postgresql/data \\ -p 5432:5432 \\ postgres \u66ff\u6362 **pwd** \u4e3a\u60a8\u60f3\u8981\u8bbe\u7f6e\u7684\u6570\u636e\u5e93\u5bc6\u7801,\u4e9b\u5bc6\u7801,\u9700\u8981\u7ba1\u7406\u5458\u54a8\u8be2 \u6570\u636e\u5e93\u540d\u79f0\u4e3a dtha \uff0c\u7528\u6237\u540d\u4e3a dtuser \u3002 \u6570\u636e\u5c06\u5b58\u50a8\u5728 /mnt/data/supervisor/postgresql \uff0c\u786e\u4fdd\u6570\u636e\u5728\u91cd\u542f\u540e\u4e0d\u4f1a\u4e22\u5931\u3002 \u767b\u5f55ssh,\u5e76\u67e5\u770b\u5df2\u5b89\u88c5\u7684docker\u955c\u50cf\u5982\u4e0b \u5148\u521b\u5efapgsql\u5b58\u50a8\u5377\u9700\u8981\u7684\u76ee\u5f55,\u8fd9\u4e2a\u6211\u4eec\u7edf\u4e00\u5b9a\u4e3a\u5982\u4e0b\u76ee\u5f55,\u5e76\u7ed9777\u6743\u9650 /db/pgsqldata \u5373\u5728\u6839\u76ee\u5f55\u4e0b,\u521b\u5efadb\u76ee\u5f55,\u7136\u540e\u5728db\u76ee\u5f55\u4e2d\u521b\u5efapgsqldata,\u5e76\u7ed9\u8db3\u6743\u9650 / # cd homeassistant homeassistant # ls automations.yaml configuration.yaml home-assistant.log home-assistant.log.fault home-assistant_v2.db-shm scenes.yaml secrets.yaml blueprints deps home-assistant.log.1 home-assistant_v2.db home-assistant_v2.db-wal scripts.yaml tts homeassistant # mkdir db homeassistant # sudo chmod -R 7777 ./db homeassistant # cd db db # ls db # pwd /homeassistant/db db # sudo mkdir pgsqldata db # sudo chmod -R 7777 ./pgsqldata db # ls pgsqldata db # cd pgsqldata pgsqldata # ls -l ./ total 0 pgsqldata # cd .. db # ls -l ./ total 4 drwsrwsrwt 2 root root 4096 Apr 18 16:30 pgsqldata \u63a5\u4e0b\u6765,\u62c9\u53d6\u955cpgsql\u7684\u955c\u50cf,\u5e76\u6307\u5411/mnt/data/pgsqldata,\u6b64\u5904\u8981\u6ce8\u610f\u4e0d\u662f\u6240\u6709\u7684\u76ee\u5f55\u90fd\u6709\u5199\u5165\u6743\u9650,homeAssitant\u4e2d\u5927\u90e8\u4efd\u76ee\u5f55\u90fd\u6ca1\u6709\u5199\u5165\u6743\u9650,\u8981\u6ce8\u610f\u627e\u6709\u5199\u5165\u6743\u9650\u7684\u76ee\u5f55 data # docker run -d \\ --name=postgresql \\ -e POSTGRES_USER=dtuser \\ -e POSTGRES_PASSWORD=Dtuse1r \\ -e POSTGRES_DB=dtha \\ -v /mnt/data/pgsqldata:/var/lib/postgresql/data \\ -p 5432:5432 \\ --restart unless-stopped postgres # \u6267\u884c\u5b8c\u6210\u540e,\u8fd4\u56de: 9a4721cccb0d5c63671da5cba4a6b6c13721f48ac664de03312cddaa216a2e56 \u7cfb\u7edf\u4f1a\u81ea\u52a8\u62c9\u53d6\u955c\u50cf,\u5e76\u542f\u52a8,\u6b64\u8fc7\u7a0b\u52a1\u5fc5\u4fdd\u8bc1\u79d2\u5b66\u4e0a\u7f51\u7684\u7545\u901a \u5982\u4e0b\u56fe,\u6240\u793a, \u8bf4\u660e\u76ee\u5f55\u6ca1\u6709\u6743\u9650, chown -R root:root mnt/data/pgsqldata chmod -R 7777 /mnt/data/pgsqldata \u7ed9\u591f\u76ee\u5f55\u6743\u9650\u540e,\u518d\u6b21\u8fd0\u884c,\u5b89\u88c5\u6307\u4ee4 data # docker run -d \\ --name=postgresql \\ -e POSTGRES_USER=dtuser \\ -e POSTGRES_PASSWORD=Dtuse1r \\ -e POSTGRES_DB=dtha \\ -v /mnt/data/pgsqldata:/var/lib/postgresql/data \\ -p 5432:5432 \\ --restart unless-stopped postgres # \u6267\u884c\u5b8c\u6210\u540e,\u8fd4\u56de: docker: Error response from daemon: Conflict. The container name \"/postgresql\" is already in use by container \"f5b838e28f30ff3bde9f90276b8aa4924b4f1ecec2cdbd4e38dfe27e2c988edb\". You have to remove (or rename) that container to be able to reuse that name. See 'docker run --help \u4e0a\u8ff0\u8bf4\u660epgswl\u7684\u5bb9\u5668\u5df2\u7ecf\u5b58\u5728,\u9700\u8981\u5220\u9664 docker stop postgresql docker rm postgresql \u7136\u540e,\u518d\u6b21\u6267\u884c,\u5373\u53ef\u6210\u529f data # docker run -d \\ --name=postgresql \\ -e POSTGRES_USER=dtuser \\ -e POSTGRES_PASSWORD=Dtuse1r \\ -e POSTGRES_DB=dtha \\ -v /mnt/data/pgsqldata:/var/lib/postgresql/data \\ -p 5432:5432 \\ --restart unless-stopped postgres # \u6267\u884c\u5b8c\u6210\u540e,\u8fd4\u56de: 9a4721cccb0d5c63671da5cba4a6b6c13721f48ac664de03312cddaa216a2e56 \u7528ps -a \u67e5\u8be2\u4e00\u4e0b,\u5982\u4e0b\u56fe\u6240\u793a,\u8bf4\u660edocker \u542f\u52a8\u6210\u529f, \u4e3a\u4e86\u9a8c\u8bc1\u91cd\u65b0\u542f\u52a8\u540e,pgsql\u5bb9\u5668\u662f\u5426\u542f\u52a8,\u53ef\u4ee5\u91cd\u542f\u540e,\u518d\u6b21\u67e5\u770b\u4e00\u4e0b,\u6b64\u5bb9\u5668\u662f\u5426\u8ddf\u968f\u7cfb\u7edf\u542f\u52a8\u6210\u529f. \u63a5\u4e0b\u6765,\u6211\u4eec\u53ef\u4ee5\u5728\u5c40\u57df\u7f51\u4e2d\u627e\u53f0\u673a\u5668\u6765\u505a\u4e00\u4e0b\u6570\u636e\u5e93\u8fde\u63a5\u6d4b\u8bd5 \u5982\u4e0a\u56fe,\u8bf4\u660epgsql\u5df2\u7ecf\u5b89\u88c5\u6210\u529f\u4e86,\u5e76\u80fd\u6b63\u5e38\u8bbf\u95ee.","title":"\u6b65\u9aa4"},{"location":"Usages/initConfig/initConfig/#homeassistantpgsql","text":"HomeAssistant\u9ed8\u8ba4\u7684\u6570\u636e\u5e93\u4e3asqlite,\u6211\u4eec\u9700\u8981\u628a\u5176\u6362\u6210\u6211\u4eec\u65b0\u5b89\u88c5\u7684pgsql, \u901a\u8fc7\u6211\u4eec\u5b89\u88c5\u7684\u63d2\u4ef6File editor \u6253\u5f00\u914d\u7f6e\u6587\u4ef6 /homeassistant/configruration.yaml \u589e\u52a0recorder\u4e2d\u7684\u914d\u7f6e\u5982\u4e0b \u7136\u540e,\u4fdd\u5b58\u9000\u51fa,\u91cd\u542f,\u770b\u770bha\u6709\u6ed1\u7684\u7ed9\u51fa\u9519\u8bef\u63d0\u793a,\u4e5f\u53ef\u4ee5\u901a\u8fc7,\u8fde\u63a5\u5de5\u5177\u6765\u67e5\u770b,ha\u6709\u6ca1\u6709\u5728\u6570\u636e\u5e93\u4e2d\u5efa\u8868,\u5199\u5165\u6570\u636e \u5982\u4e0a\u56fe,\u8bf4\u660e\u6570\u636e\u5df2\u529f\u529f\u6298\u5199\u5165PGSQL,\u6b64\u65f6\uff0c\u6211\u4eec\u53ef\u4ee5\u628a\u7cfb\u7edf\u9ed8\u8ba4\u7684\u6570\u636e\u5e93\u5220\u9664\u4e86 \u8fd9\u4e2a\u6587\u4ef6\u662fhomeAssistant\u9ed8\u8ba4\u7684sqlite\u6570\u636e\u5e93\u6587\u4ef6\uff0c\u53ef\u4ee5\u5220\u9664\u4e86\uff0c\u70b9\u53f3\u5219\u7684\u4e09\u4e2a\u70b9\uff0c\u5728\u5f39\u51fa\u7684\u83dc\u5355\u4e2d\uff0c\u70b9delete \u70b9\u51fbyes\u786e\u8ba4 \u7136\u540e\u91cd\u542f,\u518d\u6b21\u67e5\u770b,\u662f\u5426\u91cd\u65b0\u751f\u6210\u6b64\u6587\u4ef6, \u5982\u679c\u6ca1\u6709\u91cd\u65b0\u751f\u6210\u6b64\u6587\u4ef6 ,\u8bf4\u660e,\u7cfb\u7edf\u5df2\u7ecf\u5728\u7528pgsql\u4e86","title":"\u66f4\u6539homeAssistant\u9ed8\u8ba4\u7684\u6570\u636e\u5e93\u4e3apgSql"},{"location":"Usages/initConfig/initConfig/#hacs","text":"","title":"\u5b89\u88c5HACS"},{"location":"Usages/initConfig/initConfig/#hacs_1","text":"HACS\uff0c\u5168\u79f0 Home Assistant Community Store\uff08Home Assistant \u793e\u533a\u5546\u5e97\uff09\uff0c\u662f\u4e00\u4e2a\u7528\u4e8e Home Assistant \u7684\u7b2c\u4e09\u65b9\u6269\u5c55\u63d2\u4ef6\u7ba1\u7406\u5668\u3002\u5b83\u4e3a\u7528\u6237\u63d0\u4f9b\u4e86\u4e00\u4e2a\u65b9\u4fbf\u7684\u65b9\u5f0f\u6765\u5b89\u88c5\u548c\u7ba1\u7406\u793e\u533a\u5f00\u53d1\u7684\u81ea\u5b9a\u4e49\u96c6\u6210\u3001\u63d2\u4ef6\u3001\u4e3b\u9898\u548c\u5176\u4ed6\u6269\u5c55\u7ec4\u4ef6\u3002 \u8fd9\u4e2a\u63d2\u4ef6\u96c6\u4e2d\u4e86\u8bb8\u591a\u5927\u5c4f\u7528\u7684\u4e3b\u9898\u4e0e\u63d2\u4ef6\uff0c\u5c5e\u4e8e\u5fc5\u88c5\u63d2\u4ef6\uff0e","title":"hacs\u7b80\u4ecb"},{"location":"Usages/initConfig/initConfig/#hacs_2","text":"\u8fdb\u5165ssh\u767b \u5f55\u540e,\u8f93\u5165\u5982\u4e0b\u6307\u4ee4 wget -O - https://get.hacs.xyz | bash - \u56de\u8f66\u540e,\u7cfb\u7edf\u4f1a\u81ea\u52a8\u4e0b\u8f7dHACS\uff0c\u5e76\u653e\u5230\u6307\u5b9a\u7684\u76ee\u5f55\uff0c\u4e14\u63d0\u793a\u91cd\u542f\uff0c\u6211\u4eec\u6309\u8981\u6c42\u91cd\u542f\uff0c\u5373\u53ef\u3002","title":"\u5b89\u88c5hacs"},{"location":"Usages/initConfig/initConfig/#hacs_3","text":"\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u60a8\u9700\u8981\u5728 Home Assistant \u7684\u754c\u9762\u4e2d\u542f\u7528 HACS\uff1a \u6253\u5f00 Home Assistant UI\u3002 \u70b9\u51fb \u8bbe\u7f6e > \u8bbe\u5907\u4e0e\u670d\u52a1 > \u96c6\u6210 \u3002 \u70b9\u51fb\u53f3\u4e0b\u89d2 \u6dfb\u52a0\u96c6\u6210 \u3002 \u641c\u7d22\u5e76\u9009\u62e9 HACS \uff0c\u7136\u540e\u6309\u7167\u5c4f\u5e55\u4e0a\u7684\u63d0\u793a\u5b8c\u6210\u8bbe\u7f6e\u3002 \u70b9\u51fb\u540e,\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d,\u5168\u6253\u52fe,\u70b9\u63d0\u4ea4 \u5f15\u65f6,\u5f39\u51fa\u65b0\u7684\u7a97\u53e3,\u9a8c\u8bc1github\u6388\u6743 \u70b9\u51fb\u8fd9\u4e2agithub\u94fe\u63a5,\u5e76\u8bb0\u4f4f\u4e0b\u65b9\u7684\u6388\u6743\u7801\u540e\u9762\u4f1a\u7528\u5230 \u5728\u5f39\u51fa\u7684\u9875\u9762\u4e2d,\u8f93\u5165,\u8bb0\u4f4f\u7684\u6388\u6743\u7801,\u70b9Continue \u63d0\u793a\u5177\u4f53\u7684\u6388\u6743\u5bf9\u50cf\u4e3ahacs,\u70b9\u51fbAutuorize hacs \u6388\u6743\u6210\u529f \u8fd4\u56dehacs\u540e,\u63d0\u793a\u6210\u529f,\u5e76\u663e\u793a\u5df2\u53d1\u73b0\u5982\u4e0b\u8bbe\u5907,hacs,\u9009\u62e9\u533a\u57df,\u53ef\u4ee5\u81ea\u5b9a\u4e49\u4e2a\u533a\u57df,\u7136\u540e\u70b9\u5b8c\u6210 \u770b\u5230\u5982\u4e0b\u754c\u9762hacs\u5c31\u5b89\u88c5\u597d\u4e86 \u70b9\u51fb\u914d\u7f6e,\u542f\u7528App Daemon apps discovery & tgracking. \u4ee5\u4e0a\u914d\u7f6e \u5b8c\u6210\u540e,\u91cd\u65b0\u542f\u52a8HA\uff0c\u5219\u53ef\u4ee5\u5728\u5de6\u4fa7\u680f\u4e2d\u627e\u5230HACS\u83dc\u5355\u4e86","title":"\u542f\u7528HACS"},{"location":"Usages/initConfig/initConfig/#homeassistantlogo","text":"homeAssistant \u5de6\u4e0a\u89d2\u9ed8\u8ba4\u7684\u6807\u9898\u4e3a Home Assistant \u6211\u4eec\u5e0c\u671b\u6539\u6210\u81ea\u5df2\u7684\u6807\u8bc6\u5982:\u5cb1\u7279\u667a\u80fd","title":"\u66f4\u6539HomeAssistant\u5de6\u4e0a\u89d2LOGO\u6807\u9898"},{"location":"Usages/initConfig/initConfig/#hass-faviconreleases","text":"\u70b9\u51fb\u94fe\u63a5 ,\u5230\u5176github\u7684\u5b98\u65b9\u9875\u9762 \u4e0b\u8f7d\u5176\u6e90\u7801","title":"\u4e0b\u8f7d\u7b2c\u4e09\u65b9\u63d2\u4ef6hass-favicon\u7684Releases\u5230\u672c\u5730\u76ee\u5f55"},{"location":"Usages/initConfig/initConfig/#_4","text":"","title":"\u89e3\u538b\u4e0b\u8f7d\u7684\u6e90\u7801"},{"location":"Usages/initConfig/initConfig/#ha","text":"\u6253\u5f00\u6e90\u7801\u76ee\u5f55,\u8fdb\u5165custom_commponents\u76ee\u5f55,\u628afavicon\u76ee\u5f55\u6574\u4f53\u590d\u5236 \u7136\u540e,\u8fdb\u5165ha\u7684config-custom_compoents\u76ee\u5f55\u7c98\u8d34,\u590d\u5236\u5230\u7684favicon \u7136\u540e\u521b\u5efa\u76ee\u5f55 \\\\ha-o[\\config\\www\\favicons \u5e76\u628a\u80dc\u900f\u7684logo\u6587\u4ef6st-logo.,png\u653e\u5230\u76ee\u5f55\u4e2d \u7136\u540e\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u589e\u52a0\u5982\u4e0b\u5185\u5bb9 \u7136\u540e,\u91cd\u542fHomeAssistant\u5373\u53ef \u91cd\u542f\u540e,\u5de6\u4e0a\u811a\u7684LOGO\uff0c\u5df2\u53d8\u4e3a\u5cb1\u7279\u667a\u80fd.","title":"\u5c06\u63d2\u4ef6\u590d\u5236\u5230ha\u4e0a"},{"location":"Usages/initConfig/initConfig/#_5","text":"\u7c73\u5bb6\u96c6\u6210\u662f\u4e00\u4e2a\u7531\u5c0f\u7c73\u5b98\u65b9\u63d0\u4f9b\u652f\u6301\u7684 Home Assistant \u7684\u96c6\u6210\u7ec4\u4ef6\uff0c\u5b83\u53ef\u4ee5\u8ba9\u60a8\u5728 Home Assistant \u4e2d\u4f7f\u7528\u5c0f\u7c73 IoT \u667a\u80fd\u8bbe\u5907\u3002 \u8fd9\u4e2a\u63d2\u4ef6,\u53ef\u4ee5\u76f4\u63a5\u628a\u6240\u6709\u5c0f\u7c73\u7684\u5404\u79cd\u4f20\u611f\u5668\u96c6\u6210\u5230HomeAssistant\u4e2d,\u6240\u4ee5\u8fd9\u4e2a\u662f\u5fc5\u88c5\u63d2\u4ef6. \u5176\u5b98\u65b9\u4ed3\u5e93\u5730\u5740\u4e3a: Xiaomi Home Integration for Home Assistant https://github.com/XiaoMi/ha_xiaomi_home \u5176\u5b89\u88c5\u65b9\u6cd5\u6709\u4e09\u79cd,\u6211\u4eec\u4e3a\u4e86\u65b9\u4fbf\u9009\u62e9\u7b2c\u4e00\u79cd,\u5176\u5b83\u4e24\u79cd\u65b9\u6cd5,\u53ef\u4ee5\u81ea\u884c\u5c1d\u8bd5.\u5b98\u65b9\u63cf\u8ff0\u7684\u65b9\u88c5\u4e3b\u5f0f\u5982\u4e0b: cd config git clone https://github.com/XiaoMi/ha_xiaomi_home.git cd ha_xiaomi_home ./install.sh /config \u5176\u4e5f\u63d0\u4f9b \u4e2d\u6587\u7684\u5b89\u88c5\u8bf4\u660e","title":"\u5b89\u88c5\u7c73\u5bb6\u96c6\u6210\u63d2\u4ef6"},{"location":"Usages/initConfig/initConfig/#_6","text":"\u9996\u5148,\u767b\u5f55SSH.\u7136\u540e\u8fdb\u5165config\u76ee\u5f55 \u5148\u62c9\u53d6\u4ee3\u7801 config # git clone https://github.com/XiaoMi/ha_xiaomi_home.git Cloning into 'ha_xiaomi_home'... remote: Enumerating objects: 1322, done. remote: Counting objects: 100% (761/761), done. remote: Compressing objects: 100% (342/342), done. remote: Total 1322 (delta 628), reused 419 (delta 419), pack-reused 561 (from 2) Receiving objects: 100% (1322/1322), 847.87 KiB | 1.64 MiB/s, done. Resolving deltas: 100% (817/817), done. \u7136\u540e,\u518d\u5207\u6362\u5230ha_xiaomi_home\u76ee\u5f55 cd ha_xiaomi_home \u7136\u540e\u6267\u884c\u5b89\u88c5\u6307\u4ee4 ./install.sh /config # Xiaomi Home installation is completed. Please restart Home Assistant. \u5b89\u88c5\u5b8c\u6210,\u63d0\u793a\u9700\u8981\u91cd\u542f.","title":"\u5b89\u88c5"},{"location":"Usages/initConfig/initConfig/#_7","text":"\u5728\u91cd\u65b0\u542f\u52a8\u540e,\u5728\u8bbe\u7f6e-\u8bbe\u5907\u4e0e\u670d\u52a1-\u6dfb\u52a0\u96c6\u6210\u4e2d,\u641c\u7d22\u201c Xiaomi Home \u201d \u70b9\u51fb,\u4f1a\u63d0\u793a\u98ce\u9669\u63d0\u793a \u52fe\u9009,\u6211\u77e5\u6089,\u70b9\u51fb\u4e0b\u4e00\u6b65,\u4f1a\u8fdb\u5165\u57fa\u7840\u914d\u7f6e\u9875\u9762,\u5982\u4e0b\u56fe \u52fe\u9009\u96c6\u6210\u7f51\u7edc\u914d\u7f6e,\u540c\u86d9,\u6ce8\u610f\u4e00\u4e0b,\u8ba4\u8bc1\u8df3\u8f6c\u5730\u5740,\u6b64\u5904\u663e\u6b3e\u4e3ahttp://homeassistant.lcaol:8123,\u8fd9\u4e2a\u5730\u5740,\u4f30\u8ba1\u4e0d\u53ef\u80fd\u901a\u8fc7,\u53ea\u56e0\u4e3a\u6211\u4eec\u662f\u5728\u5c40\u57df\u7f51\u5176\u5b83\u673a\u5668\u64cd\u4f5c\u8fd9\u4e00\u6b65\u7684,\u5b9e\u9645\u4e0a\u6211\u4eec\u7684\u5730\u5740,\u5e94\u662f\u5730\u5740\u680f\u4e2d\u6298\u5b9e\u9645\u5730\u5740,\u5982\u4e0a\u56fe,\u6211\u4eec\u7684\u8ba4\u8bc1\u5730\u5740\u662f:http://192.168.3.2:8123, \u5728\u4e0b\u4e00\u6b65\u8df3\u8f6c\u8f6c\u5c0f\u7c73\u540e,\u6253\u5f00\u7684\u7f51\u5740\u65f6,\u4e0d\u51fa\u610f\u5916\u7684\u8bdd\u4f30\u8ba1\u662f\u6253\u4e0d\u5f00\u7684,\u9700\u8981\u628a\u90a3\u4e2a\u5730\u5740\u7684\u524d\u534a\u6bb5,\u6362\u6210\u8fd9\u4e2a\u5b9e\u9645\u5730\u5740. \u70b9\u51fb\u4e0b\u4e00\u6b65, \u6b64\u5904\u4e3a\u68c0\u6d4b\u7f51\u7edc,\u7f51\u7edc\u68c0\u6d4b\u901a\u8fc7\u65f6,\u624d\u80fd\u8fdb\u884c\u4e0b\u4e00\u6b65 \u5f53\u5f39\u51fa\u5982\u4e0b\u754c\u9762\u65f6,\u8bf4\u660e\u7f51\u7edc\u68c0\u6d4b\u901a\u8fc7\u4e86, \u70b9\u51fb,\"\u8bf7\u70b9\u6b64\u5904\u8fdb\u884c\u767b\u5f55\", \u6b64\u65f6,\u8df3\u8f6c\u5230\u5c0f\u7c73\u6298\u8ba4\u8bc1\u7f51\u9875,\u6b64\u65f6\u8f93\u5165\u6b63\u786e\u7c73\u5bb6\u5e10\u53f7\u4e0e\u5bc6\u7801,\u70b9\u767b\u5f55 \u5f39\u51fa \u53cb\u60c5\u63d0\u793a,\u70b9\u51fb,\u540c\u610f\u5e76\u7ee7\u7eed \u5c0f\u7c73\u7684\u5b89\u5168\u9a8c\u8bc1,\u70b9\u4e0b\u4e00\u6b65, \u70b9\u51fb \u53d1\u9001\u9a8c\u8bc1\u7801 \u8f93\u5165\u9a8c\u8bc1\u7801\u540e,\u70b9\u786e\u5b9a \u8df3\u8f6c\u5230\u4e86\u8ba4\u8bc1\u7a97\u53e3,\u4f46\u662f\u5374\u662f\u65e0\u65b9\u8bbf\u95ee\u6b64\u9875\u9762,\u8bf4\u660e\u8ba4\u8bc1\u5730\u5740,\u9519\u4e86,\u6211\u4eec\u9700\u8981\u628a\u5b83\u6362\u6210\u6211\u4eec\u6b63\u786e\u7684HA\u5730\u5740\uff1ahttp://192.168.3.2:8123,\u5982\u4e0b\u56fe\u6240\u793a \u624b\u5de5\u5c06\u6b63\u786e\u7684\u5730\u5740\u66ff\u6362\u5730\u5740\u5934\u90e8\u540e,\u56de\u8f66,\u6253\u5f00\u8fd9\u4e2a\u5730\u5740,\u7c7b\u4f3c\u5982\u4e0b\u683c\u5f0f: http://192.168.3.2:8123/api/webhook/3062281226000218850?code=C3_B7440E147BCCA71A76831877D510611F&state=d90a727abad348efee834884dae174b80a15de14 \u5982\u679c,\u7528\u4e0a\u8ff0\u65b9\u5f0f,\u4ecd\u7136\u4e0d\u80fd\u8bbf\u95ee,\u5219\u53ef\u7528\u5982\u4e0b\u65b9\u6cd5,\u66f4\u6539host\u6587\u4ef6,\u5f3a\u884c\u6307\u5b9a\u672c\u5730DNS,\u6307\u5411homeassistant.local,\u65b9\u6cd5\u5982\u4e0b: \u4fee\u6539 Windows hosts \u6587\u4ef6\u7684\u65b9\u6cd5 \u4f7f\u7528\u7ba1\u7406\u5458\u8eab\u4efd\u7528\u8bb0\u4e8b\u672c\u6253\u5f00\u5982\u4e0b\u6587\u4ef6 :C:\\Windows\\System32\\drivers\\etc\\hosts \u5728\u6700\u540e\u4e00\u884c\u589e\u52a0 192.168.3.2 homeassistant.local \u5982\u4e0b\u56fe \u7136\u540e,\u518d\u91cd\u65b0\u8bd5\u8fc7\u4e00\u6b21 \u4e0d\u51fa\u610f\u5916\u7684\u8bdd,\u5c31\u4f1a\u81ea\u52a8\u8ba4\u8bc1\u901a\u8fc7 \u53ef\u4ee5\u6839\u636e\u63d0\u793a\u81ea\u52a8\u9009 \u5219\u623f\u95f4\u540c\u6b65\u6a21\u5f0f,\u8fd9\u4e2a\u8981\u6839\u636e\u5177\u4f53\u60c5\u51b5\u9009\u62e9,\u70b9\u51fb\u4e0b\u4e00\u6b65,\u5c06\u63d0\u793a\u63d2\u4ef6\u96c6\u6210\u6210\u529f.\u5982\u4e0b\u793a\u610f\u56fe \u770b\u5230\u5982\u4e0b\u56fe,\u5c31\u8bf4\u660e\u96c6\u6210\u5b8c\u6210\u4e86 \u4e0d\u51fa\u610f\u5916\u7684\u8bdd\u6982\u89c8\u4e2d,\u5c31\u5df2\u7ecf\u81ea\u52a8\u589e\u52a0\u4e86\u8bb8\u591a\u8bbe\u5907.","title":"\u914d\u7f6e"},{"location":"Usages/initConfig/initConfig/#webrtc-camera","text":"WebRTC camera\u63d2\u4ef6\u4ee5\u5b9e\u73b0\u9891\u6d41\u64ad\u653e.\u5982\u679cha\u8981\u63a5\u5165\u89c6\u9891\u76d1\u63a7,\u5219\u9700\u8981\u5b89\u88c5\u8fd9\u4e2a\u7ec4\u4ef6, \u4ed3\u5e93\u5730\u5740 : https://github.com/AlexxIT/WebRTC \u8fd9\u4e2a\u63d2\u4ef6\u4e5f\u6709\u591a\u79cd\u5b89\u88c5\u65b9\u6cd5,hacs\u5b89\u88c5,\u76f4\u63a5\u590d\u5236\u7b49\u65b9\u6cd5,\u56e0\u4e3a\u4e0a\u6587,\u6211\u4eec\u5df2\u7ecf\u5b89\u88c5\u8fc7\u4e86HACS\u63d2\u4ef6\uff0c\u6240\u4ee5\u6211\u4eec\u9009\u62e9\u4f7f\u7528HACS\u65b9\u5f0f\u5b89\u88c5\u3002 \u70b9\u51fb\u540e\uff0c\u5f39\u51fa\u5982\u4e0b\u9875\u9762 \u70b9\u51fbDownLoad\u6309\u94ae \u70b9\u51fbDownLoad \u5f53\u7136,\u6211\u4eec\u4e5f\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u6298\u7248\u672c \u5f53\u5f39\u51fa\u7a97\u53e3\u81ea\u52a8\u6d88\u5931,\u70b9\u51fb\u4e0a\u65b9\u7684\u8fd4\u56de( \u6ce8\u610f:\u4e0d\u4f1a\u81ea\u52a8\u8fd4\u56de,\u987b\u4eba\u5de5\u8fd4\u56de ),\u8fd4\u56de\u5982\u4e0b\u56fe \u770b\u5230\u4e0a\u65b9\u7684\u7b49\u5f85\u91cd\u542f,\u8bf4\u660e\u7ec4\u4ef6\u5df2\u7ecf\u5b89\u88c5\u4e0a,\u9700\u8981\u91cd\u542f,\u6211\u4eec\u6267\u884c\u91cd\u542f. \u91cd\u542f\u5b8c\u6210\u540e,\u4f1a\u770b\u5230,Downloaded\u4e2d\u5df2\u7ecf\u663e\u793a,\u4e86\u5b89\u88c5\u6210\u529f\u6298WebRTC Camera\u7ec4\u4ef6. \u7136\u540e,\u8fdb\u5165\u8bbe\u7f6e-\u8bbe\u5907\u4e0e\u670d\u52a1-\u6dfb\u52a0\u96c6\u6210,\u641c\u7d22WebRTC \u70b9\u51fbWebRtc Camera \u5f39\u51fago2rtc url\u5730\u5740\u7a97\u53e3,\u6b64\u63d2\u4ef6,\u6211\u4eec\u4e4b\u524d\u5df2\u88c5\u8fc7,\u5c31\u5728\u672c\u673a,\u6240\u5730\u5740\u4e0d\u7528\u6539,\u76f4\u63a5\u70b9\u63d0\u4ea4 \u70b9\u5b8c\u6210.WebRTC\u5b89\u88c5\u6210\u529f.\u5982\u4e0b\u56fe\u6240\u793a \u4e3a\u4e86\u6f14\u793a\u5982\u4f55\u663e\u793a\u76d1\u63a7\u89c6\u9891,\u6211\u4eec\u65b0\u589e\u52a0\u4e00\u4e2asample\u7684\u4eea\u8868\u76d8. \u70b9\u51fb,\u6dfb\u52a0\u4eea\u8868\u76d8 \u5728\u5f39\u51fa\u6298\u5bf9\u8bdd\u6846\u4e2d,\u8f93\u5165\u4eea\u8868\u76d8\u6807\u9898 \u8fd9\u6837\u6211\u6837\u5c31\u589e\u52a0\u4e86\u4e00\u4e2a\u4eea\u8868\u76d8dashboard-sampale,\u6211\u4eec\u53ef\u4ee5\u5728\u8fd9\u4e2a\u4eea\u8868\u76d8\u4e2d\u589e\u52a0\u6f14\u793a\u7528\u7684\u7ec4\u4ef6,\u6b64\u5904,\u6211\u4eec\u60f3\u589e\u52a0\u4e00\u4e2a\u6f14\u793a\u7528\u7684\u76d1\u63a7\u6444\u50cf\u5934.\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u7f16\u8f91\u6309\u94ae. \u70b9\u51fb\u521b\u5efa\u4e00\u4e2a\u7ec4\u4ef6 \u7136\u540e,\u65b0\u5efa\u5361\u7247,\u9009\u62e9\u81ea\u5b9a\u4e49WebRTC\u5361\u7247,\u5982\u679c\u6ca1\u6709\u8fd9\u4e2a\u7ec4\u4ef6,\u5219\u9700\u8981\u5237\u65b0\u51e0\u6b21,\u5c31\u80fd\u770b\u5230\u8fd9\u4e2a\u7ec4\u4ef6. \u6211\u6837\u5728\u5361\u7247\u8bbe\u7f6e\u4e2d\u8f93\u5165url\u7684\u89c6\u9891\u6d41\u5730\u5740 type: custom:webrtc-camera url: \"rtsp://admin:Camera_data2018@192.168.50.131:554/stream2\"","title":"\u5b89\u88c5WebRTC Camera"},{"location":"Usages/initConfig/initConfig/#motioneye","text":"motionEye \u662f\u4e00\u4e2a\u6d41\u884c\u7684\u6444\u50cf\u5934\u8f6f\u4ef6\uff08\u79f0\u4e3a motion\uff09\u7684\u524d\u7aef\u3002\u672c\u63d2\u4ef6\u540c\u65f6\u63d0\u4f9b\u4e86\u524d\u7aef\u548c\u6444\u50cf\u5934\u8f6f\u4ef6\uff0c\u8ba9\u60a8\u53ef\u4ee5\u5c06\u6444\u50cf\u5934\u6dfb\u52a0\u5230 Hass.io \uff08Home Assistant\uff09\u7cfb\u7edf\u4e2d\u3002 motionEye \u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u95ed\u8def\u7535\u89c6\uff08CCTV\uff09\u548c\u7f51\u7edc\u89c6\u9891\u5f55\u50cf\u673a\uff08NVR\uff09\uff0c\u5b83\u8bbe\u8ba1\u4f18\u96c5\u4e14\u975e\u5e38\u6613\u4e8e\u4f7f\u7528\u3002\u5b83\u53ef\u4ee5\u7528\u4f5c\u5a74\u513f\u76d1\u89c6\u5668\u3001\u5efa\u7b51\u5de5\u5730\u76d1\u63a7\u3001\u5546\u5e97\u6444\u50cf\u5934\u5f55\u50cf\u673a\u3001\u82b1\u56ed\u5b89\u9632\u7b49\u3002","title":"\u5b89\u88c5motionEye"},{"location":"Usages/initConfig/initConfig/#motioneye_1","text":"\u652f\u6301\u5927\u91cf\u6444\u50cf\u5934\uff0c\u5305\u62ec IP \u6444\u50cf\u5934\u3002 \u53ef\u4ee5\u901a\u8fc7\u5c06\u591a\u4e2a motionEye \u5b9e\u4f8b\u8fde\u63a5\u5728\u4e00\u8d77\u6dfb\u52a0\u591a\u4e2a\u6444\u50cf\u5934\u3002\u4f8b\u5982\uff0c\u53ef\u4ee5\u5728\u7f51\u7edc\u4e2d\u4f7f\u7528\u8fd0\u884c MotionEyeOS \u7684 Pi Zero \u548c Pi \u6444\u50cf\u5934\u3002 \u652f\u6301\u5c06\u5f55\u50cf\u4e0a\u4f20\u5230 Google Drive \u548c Dropbox\u3002 \u652f\u6301\u8fd0\u52a8\u68c0\u6d4b\uff0c\u5305\u62ec\u90ae\u4ef6\u901a\u77e5\u548c\u8ba1\u5212\u4efb\u52a1\u3002 \u53ef\u4ee5\u8fde\u7eed\u5f55\u50cf\u3001\u8fd0\u52a8\u5f55\u50cf\u6216\u5ef6\u65f6\u5f55\u50cf\uff0c\u5e76\u652f\u6301\u4fdd\u7559\u8bbe\u7f6e\u3002 \u652f\u6301\u914d\u7f6e\u4e2d\u7684\u201c\u64cd\u4f5c\u6309\u94ae\u201d\u3002","title":"motionEye \u7684\u4e00\u4e9b\u7279\u70b9\uff1a"},{"location":"Usages/initConfig/initConfig/#_8","text":"\u5728\u8bbe\u7f6e-\u52a0\u8f7d\u9879\u4e2d,\u641c\u7d22\"motionEye\", \u70b9\u51fb\u67e5\u770b\u8be6\u60c5\u9875,\u5e76\u5b89\u88c5 motioneye\u9ed8\u8ba4\u7684\u7528\u6237\u540d\u4e3aadmin,\u5bc6\u7801\u4e3a\u7a7a.","title":"\u5b89\u88c5\u65b9\u6cd5"},{"location":"Usages/initConfig/installHacs/","text":"","title":"installHacs"},{"location":"Usages/netconfig/netconfig/","text":"\u914d\u7f6e\u7f51\u7edc \u00b6 \u516c\u53f8\u4f7f\u7528\u7684X86\u5c0f\u5de5\u63a7\u673a,\u5927\u591a\u6709\u591a\u4e2a\u7f51\u5361,\u4e00\u822c\u4e00\u4e2a\u65e0\u7ebf\u7f51\u5361,\u4e24\u4e2a\u6709\u7ebf\u7f51\u5361.\u591a\u6570\u60c5\u51b5\u4e0b,\u6211\u4eec\u53ef\u80fd\u662f\u4f7f\u7528\u7684WIFI\u7f51\u7edc\uff0c\u8fd9\u6837\u6bd4\u8f83\u65b9\u4fbf\uff0c\u6709\u65f6\u4e3a\u4e86HA\u63d0\u4f9b\u7684\u670d\u52a1\u6298\u7a33\u5b9a\u6027\uff0c\u6211\u4eec\u5c3d\u91cf\u4f7f\u7528LAN\u7ebf\u7f51\u7edc\uff0c\u907f\u514d\u65e0\u7ebf\u7f51\u4fe1\u53f7\u8d28\u91cf\u7684\u95ee\u9898\u3002\u6240\u4ee5\u5c31\u6d89\u53ca\u5230\u914d\u7f51\u7684\u95ee\u9898\u3002 HomeAssistant\u7684\u7f51\u7edc\u914d\u7f6e,\u5728\u7cfb\u7edf\u6ca1\u6709\u5b89\u88c5\u6210\u529f\u4e4b\u524d,\u4e0d\u80fd\u901a\u8fc7web\u8fdb\u5165\u7f51\u9875\u754c\u9762\u65f6,\u914d\u7f6e\u7f51\u7edc\u53ea\u80fd\u901a\u8fc7\u81ea\u5e26\u7f51\u7edc\u914d\u7f6e\u547d\u4ee4\u6765\u8fdb\u884c. \u719f\u6089\u7f51\u7edc\u914d\u7f6e\u547d\u4ee4 \u00b6 HomeAssistant Cli \u63d0\u4f9b\u4e86\u9ed8\u4fe1\u6298network\u914d\u7f6e\u547d\u4ee4\u5982\u4e0b: ha netWork Useage: ha network [command] Examples: ha network info ha network interface options Available Commands: info Shows information about the host network reload Reload Network information the host scan Scan for Access Points on a wireless interface. update Update settings of a network interface vlan Create a new VLAN on an ethernet interface Flags: -h, --help help for network Global Flags: --api-token string Home Assistant Supervisor API token --config string Optional config file (default is $HOME/.homeassistant.yaml) --endpoint string Endpoint for Home Assistant Supervisor (default is'supervisor') --log-level string Log level (defaults to Warn) --no-progress Disable the progress spinner --raw-json Output raw JSON from the API Use \"ha network [command] --help\" for more information about a command. \u8fd9\u4e2aha network\u547d\u4ee4,\u5927\u7ea6\u5982\u4e0b\u51e0\u4e2a\u529f\u80fd info \u663e\u793a\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f reload \u91cd\u65b0\u52a0\u8f7d\u7f51\u7edc scan \u626b\u63cf\u7f51\u7edc update \u914d\u7f6e\u7f51\u7edc \u6211\u4eec\u5728\u4f7f\u7528\u8fd9\u4e2a\u547d\u4ee4\u65f6,\u53ef\u4ee5\u4f7f\u7528\u5176\u7b80\u5199,\u6bd4\u5982\u7701\u53bb\u524d\u9762\u7684ha,\u8fd8\u53ef\u4ee5\u7701\u53bb\u540e\u9762\u7684work \u6bd4\u5982,\u6211\u4eec\u60f3\u67e5\u770b\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f,\u53ef\u4ee5\u7528\u5982\u4e0b\u547d\u4ee4\u6765\u8fdb\u884c net info \u8fd9\u6761\u547d\u4ee4\u5c31\u4f1a\u628a\u6240\u6709\u7684\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f\u5168\u90e8\u663e\u793a\u51fa\u6765,\u53ea\u662f\u5982\u679c\u7f51\u5361\u8f83\u591a,\u6211\u4eec\u6ca1\u6709\u6cd5\u5728\u4e00\u5c4f\u5168\u90e8\u9605\u8bfb\u5b8c,\u6240\u4ee5\u8fd9\u5c31\u5f15\u53d1\u53e6\u4e00\u4e2a\u95ee\u9898.netwrok\u6240\u6709\u7684\u5b50\u547d\u4ee4,\u540e\u9762\u90fd\u662f\u53ef\u4ee5\u6216\u5fc5\u987b\u8ddf\u7740\u64cd\u4f5c\u5bf9\u50cf\u6765\u8fdb\u884c\u7684,\u5177\u4f53\u7684\u5c31\u662f,\u64cd\u4f5c\u6216\u663e\u793a\u54ea\u4e2a\u7f51\u5361\u63a5\u53e3.\u4e00\u822c\u60c5\u51b5\u4e0b\u662f\u5982\u4e0b\u578b\u5f0f net [command] [interface] \u5373 net [\u5b50\u547d\u4ee4] [\u7f51\u5361\u540d\u79f0] \u90a3\u4e48\u5982\u4f55\u67e5\u770b\u7f51\u5361\u540d\u79f0\u5462,\u5728haos \u7684cli\u63a7\u5236\u53f0\u754c\u9762,\u4efb\u610f\u65f6\u95f4,\u540c\u65f6\u6309\u4e0b ctrl+c \u540e,ha\u7684\u754c\u9762\u8fd4\u56de\u5230\u5f85\u673a\u754c\u9762,\u5982\u4e0b\u56fe\u6240\u793a. \u56fe\u4e2d\u5171\u663e\u793a\u4e86\u4e09\u4e2a\u7f51\u5361\u63a5\u53e3: wlp3s0 \u8fd9\u4e2a\u662f\u65e0\u7ebf\u7f51\u5361\u63a5\u53e3\u7684\u540d\u79f0,\u4e00\u822c\u60c5\u51b5\u4e0bw\u5b57\u7b26\u6253\u5934\u7684\u6211\u4e3a\u65e0\u7ebf\u7f51\u5361 enp2s0 \u8fd9\u4e2a\u5bf9\u5e94\u5c0f\u4e3b\u673a\u4e0a\u5c31\u662fLNA1,\u6709\u7ebf\u7f51\u53611\u7684\u540d\u79f0 enp4s0 \u8fd9\u4e2a\u5bf9\u5e94\u5c0f\u4e3b\u673a\u4e0a\u5c31\u662fLNA2,\u6709\u7ebf\u7f51\u53611\u7684\u540d\u79f0 \u67e5\u770b\u5230\u4e86\u8fd9\u4e09\u4e2a\u7f51\u5361\u540d\u79f0,\u6211\u4eec\u5c31\u53ef\u4ee5\u5bf9\u7f51\u5361\u8fdb\u884c\u67e5\u770b\u4fe1\u606f\u914d\u7f6e\u7b49. \u5bf9\u6709\u521d\u88c5\u7684HAOS\u8fd8\u6709\u51c6\u5907\u8fdb\u884cUdate\u7684\u5c0f\u4e3b\u673a,\u6700\u597d,\u5c31\u662f\u5728\u8def\u7531\u5668\u7aef \u9ed8\u8ba4\u63d0\u4f9b\u79d1\u5b66\u4e0a\u7f51 ,\u5426\u5219\u5728\u65b0\u5b89\u88c5\u6298\u521d\u59cb\u5316\u90a3\u91cc\u5c31\u4f1a\u88ab\u6c38\u8fdc\u5361\u4f4f,\u65e0\u6cd5\u5b89\u88c5\u6210\u529f,\u5982\u679c\u662f\u81ea\u52a8\u66f4\u65b0,\u90a3\u4e48\u5c06\u4f1a\u66f4\u65b0\u5931\u8d25. \u914d\u7f6e\u7f51\u7edc \u00b6 \u4e00\u822c\u60c5\u51b5\u4e0b,\u5bf9\u4e8eenp2s0,enp4s0,\u5982\u679c\u8def\u7531\u5668\u7aef\u63d0\u4f9b\u4e86\u81ea\u52a8\u83b7\u53d6IP\u5730\u5740\u529f\u80fd\uff0c\u5219\u65e0\u9700\u914d\u7f6e\uff0c\u7f51\u7ebf\u63d2\u5165\u5373\u53ef\u4f7f\u7528\u3002 \u4f46\u662f\u5bf9\u4e8e\u6bd4\u8f83\u590d\u6742\u7684\u7f51\u7edc\u5219\u9700\u8981\u914d\u7f6e\uff0c\u540c\u6837\uff0c\u5982\u679c\u60f3\u4f7f\u7528wifi\u7f51\u7edc,\u4e5f\u9700\u8981\u914d\u7f6e . \u914d\u7f6e\u7f51\u7edc\u7684\u547d\u4ee4\u5982\u4e0b: ha > net update Usage: ha network update [interface] [flags] Aliases: update, set, up Examples: ha network update eth0 --ipv4-method auto --ipv6-method disabled Flags: -e, --disabled Disable interface -h, --help help for update --ipv4-address stringArray IPv4 address for the interface in the 192.168.1.5/24 --ipv4-gateway string The IPv4 gateway the interface should use --ipv4-method string Method on IPv4: static|auto|disabled --ipv4-nameserver stringArray IPv4 address of upstream DNS servers. Use multiple times for multiple servers. --ipv6-address stringArray IPv6 address for the interface in the 2001:0db8:85a3:0000:0000:8a2e:0370:7334/64 --ipv6-gateway string The IPv6 gateway the interface should use --ipv6-method string Method on IPv6: static|auto|disabled --ipv6-nameserver stringArray IPv6 address for upstream DNS servers. Use multiple times for multiple servers. --wifi-auth string Used authentication: open, wep, wpa-psk --wifi-mode string Wifi mode: infrastructure, adhoc, mesh or ap --wifi-psk string Shared authentication key for wep or wpa --wifi-ssid string SSID for wifi connection Global Flags: --api-token string Home Assistant Supervisor API token --config string Optional config file (default is $HOME/.homeassistant.yaml) --endpoint string Endpoint for Home Assistant Supervisor (default is `supervisor`) --log-level string Log level (defaults to Warn) --no-progress Disable the progress spinner --raw-json Output raw JSON from the API \u8fd9\u6761\u547d\u4ee4ha network update [interface] [flags],\u63d0\u4f9b\u4e86\u5f88\u591a\u529f\u80fd,\u5b83\u53ef\u4ee5\u914d\u7f6ewif\u7f51\u7edc,\u53ef\u4ee5\u5bf9\u6307\u5b9a\u7684\u7f51\u5361\u914d\u7f6eip4/6\u7684IP\u5730\u5740\uff0c\u7f51\u5173\uff0c\u662f\u5426\u542f\u7528\u7b49.\u56e0\u6b64\u53ef\u4ee5\u5728\u5b9e\u9645\u5de5\u4f5c\u4e2d\u7075\u6d3b\u4f7f\u7528. \u5177\u4f53\u7528\u6cd5\u7b80\u8bd1\u5982\u4e0b ha > net update Usage: ha network update [interface] [flags] Aliases: update, set, up Examples: ha network update eth0 --ipv4-method auto --ipv6-method disabled Flags: -e, --disabled \u7981\u7528\u63a5\u53e3 -h, --help \u663e\u793a\u66f4\u65b0\u7684\u5e2e\u52a9\u4fe1\u606f --ipv4-address stringArray \u63a5\u53e3\u7684 IPv4 \u5730\u5740\uff0c\u4f8b\u5982 192.168.1.5/24 --ipv4-gateway string \u63a5\u53e3\u4f7f\u7528\u7684 IPv4 \u7f51\u5173 --ipv4-method string IPv4 \u65b9\u6cd5: static|auto|disabled --ipv4-nameserver stringArray \u4e0a\u6e38 DNS \u670d\u52a1\u5668\u7684 IPv4 \u5730\u5740\uff0c\u53ef\u591a\u6b21\u4f7f\u7528\u4ee5\u6307\u5b9a\u591a\u4e2a\u670d\u52a1\u5668 --ipv6-address stringArray \u63a5\u53e3\u7684 IPv6 \u5730\u5740\uff0c\u4f8b\u5982 2001:0db8:85a3:0000:0000:8a2e:0370:7334/64 --ipv6-gateway string \u63a5\u53e3\u4f7f\u7528\u7684 IPv6 \u7f51\u5173 --ipv6-method string IPv6 \u65b9\u6cd5: static|auto|disabled --ipv6-nameserver stringArray \u4e0a\u6e38 DNS \u670d\u52a1\u5668\u7684 IPv6 \u5730\u5740\uff0c\u53ef\u591a\u6b21\u4f7f\u7528\u4ee5\u6307\u5b9a\u591a\u4e2a\u670d\u52a1\u5668 --wifi-auth string \u4f7f\u7528\u7684\u8ba4\u8bc1\u65b9\u5f0f: open, wep, wpa-psk --wifi-mode string WiFi \u6a21\u5f0f: infrastructure, adhoc, mesh \u6216 ap --wifi-psk string WEP \u6216 WPA \u7684\u5171\u4eab\u8ba4\u8bc1\u5bc6\u94a5 --wifi-ssid string WiFi \u8fde\u63a5\u7684 SSID Global Flags: --api-token string Home Assistant Supervisor API \u4ee4\u724c --config string \u53ef\u9009\u7684\u914d\u7f6e\u6587\u4ef6\u8def\u5f84\uff08\u9ed8\u8ba4\u503c\u4e3a $HOME/.homeassistant.yaml\uff09 --endpoint string Home Assistant Supervisor \u7684\u7aef\u70b9\uff08\u9ed8\u8ba4\u503c\u4e3a `supervisor`\uff09 --log-level string \u65e5\u5fd7\u7ea7\u522b\uff08\u9ed8\u8ba4\u503c\u4e3a Warn\uff09 --no-progress \u7981\u7528\u8fdb\u5ea6\u6761 --raw-json \u4ee5\u539f\u59cb JSON \u683c\u5f0f\u8f93\u51fa API \u6570\u636e FATA[0000] Error while executing rootCmd: accepts 1 arg(s), received 0 \u4e0b\u9762,\u6211\u4eec\u5c31\u4ee5\u914d\u7f6ewifi\u8054\u63a5\u5230\u7f51\u7edc\u4e3a\u4f8b\u8bf4\u660e\u4e00\u4e0b: \u6bd4\u5982\u6211\u4eec\u9ed8\u8ba4\u7684WIFI\u70ed\u70b9\u5982\u4e0b: wifi info: ssid:DT_IoT_GateWay passWord:HnczjTyrb0 \u90a3\u6839\u636e\u6211\u4eec\u4e0a\u6587\u67e5\u770b\u5230\u7684\u65e0\u7ebf\u7f51\u5361\u7684\u540d\u79f0: wlp3s0 \u6211\u4eec\u4f7f\u7528\u5982\u4e0b\u914d\u7f6e\u547d\u4ee4,\u6765\u8ba9haos\u5c0f\u5de5\u63a7\u673a\u8054\u4e0awifi\u7f51\u7edc: ha network update wlp3s0 --wifi-auth wpa-psk --wifi-psk \"HmczjTYrb0\" --wifi-mode infrastructure --wifi-ssid \"DT_IoT_GateWay\" --ipv4-method auto --ipv6-method disabled \u8fd9\u6761\u547d\u4ee4\u89e3\u91ca\u5982\u4e0b: \u6307\u5b9awifi\u7684\u5bc6\u7801\u65b9\u5f0f\u4e3a:wpa-psk (--wifi-auth wpa-psk). \u6307\u5b9awif\u7684\u5bc6\u7801\u4e3a:HnczjTyrb0 (--wifi-psk \"HmczjYrb0\"). \u6307\u5b9a\u7f51\u5361\u63a5\u53e3\u6a21\u5f0f\u4e3a:infrastructure \u5373\u5e38\u89c4\u6a21\u5f0f (--wifi-mode infrastructure). \u6307\u5b9a\u8981\u8054\u63a5\u7684\u7f51\u7edcSSID:DT_IoT_GateWay (--wifi-ssid \"DT_IoT_GateWay\"). \u6307\u5b9aIP\u5730\u5740\u83b7\u53d6\u65b9\u5f0f\uff08\u9759\u6001\u3001\u81ea\u52a8\u3001\u7981\u7528\uff09\uff1a\u81ea\u52a8 ( --ipv4-method auto). \u6307\u5b9a\u662f\u5426\u7981\u7528IpV6:\u7981\u7528 (--ipv6-method disabled) \u5982\u4e0b\u56fe\u6240\u793a,\u6211\u4eec\u6210\u529f\u7684\u4f7f\u7528\u8fd9\u6761\u6307\u4ee4,\u914d\u7f6e\u597d\u4e86wifi\u7f51\u7edc: \u5982\u4e0b\u6240\u793a,\u914d\u7f51\u6210\u529f\u540e,\u8def\u7531\u5668\u5df2\u81ea\u52a8\u4e3a\u5176\u5206\u914d\u597d\u4e86ip\u5730\u5740: \u6b64\u65f6,\u6211\u4eec\u5728\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165\u7f51\u5740 http://192.168.3.2:8123 \u5373\u53ef\u8fdb\u5165haos\u7684web\u9875\u9762. \u4e0b\u56fe\u662f\u65e0\u7ebf\u7f51\u5361\u4e0e\u6709\u7ebf\u7f51\u5361\u540c\u65f6\u542f\u7528\u7684\u60c5\u51b5,\u53ef\u4ee5\u770b\u5230,\u4e24\u4e2a\u7f51\u5361\u90fd\u88ab\u6b63\u786e\u7684\u5206\u914d\u5230\u4e86IP\u5730\u5740\uff1a \u5728\u7cfb\u7edf\u5b89\u88c5\u597d\u521d\u59cb\u5316\u5b8c\u6210\u540e\u914d\u7f6e\u7f51\u7edc \u00b6 \u7cfb\u7edf\u521d\u59cb\u5316\u5b8c\u6210\u540e,\u4ecd\u7136\u53ef\u4ee5\u8c03\u6574\u914d\u7f6e\u7f51\u7edc, \u8bbe\u7f6e-\u7cfb\u7edf-\u7f51\u7edc \u4e2d\u914d\u7f6e\u7f51\u7edc\u63a5\u53e3\u53ef\u4ee5\u8fdb\u884c\u7f51\u7edc\u914d\u7f6e \u5728\u8fd9\u91cc\u4f60\u53ef\u4ee5\u770b\u5230\u6211\u4eec\u7684\u4e09\u5757\u7f51\u5361,wlp3s0,enp2s0,enp4s0,\u53ef\u5728\u6b64\u5904\u914d\u7f6e,\u6bcf\u4e2a\u7f51\u5361\u7684IP\uff0c\u5b50\u7f51\uff0c\u7f51\u5173\uff0cDNS\u7b49\uff0c\u4e5f\u53ef\u4ee5\u914d\u7f6ewi-fi\u70ed\u70b9.","title":"\u914d\u7f6e\u7f51\u7edc"},{"location":"Usages/netconfig/netconfig/#_1","text":"\u516c\u53f8\u4f7f\u7528\u7684X86\u5c0f\u5de5\u63a7\u673a,\u5927\u591a\u6709\u591a\u4e2a\u7f51\u5361,\u4e00\u822c\u4e00\u4e2a\u65e0\u7ebf\u7f51\u5361,\u4e24\u4e2a\u6709\u7ebf\u7f51\u5361.\u591a\u6570\u60c5\u51b5\u4e0b,\u6211\u4eec\u53ef\u80fd\u662f\u4f7f\u7528\u7684WIFI\u7f51\u7edc\uff0c\u8fd9\u6837\u6bd4\u8f83\u65b9\u4fbf\uff0c\u6709\u65f6\u4e3a\u4e86HA\u63d0\u4f9b\u7684\u670d\u52a1\u6298\u7a33\u5b9a\u6027\uff0c\u6211\u4eec\u5c3d\u91cf\u4f7f\u7528LAN\u7ebf\u7f51\u7edc\uff0c\u907f\u514d\u65e0\u7ebf\u7f51\u4fe1\u53f7\u8d28\u91cf\u7684\u95ee\u9898\u3002\u6240\u4ee5\u5c31\u6d89\u53ca\u5230\u914d\u7f51\u7684\u95ee\u9898\u3002 HomeAssistant\u7684\u7f51\u7edc\u914d\u7f6e,\u5728\u7cfb\u7edf\u6ca1\u6709\u5b89\u88c5\u6210\u529f\u4e4b\u524d,\u4e0d\u80fd\u901a\u8fc7web\u8fdb\u5165\u7f51\u9875\u754c\u9762\u65f6,\u914d\u7f6e\u7f51\u7edc\u53ea\u80fd\u901a\u8fc7\u81ea\u5e26\u7f51\u7edc\u914d\u7f6e\u547d\u4ee4\u6765\u8fdb\u884c.","title":"\u914d\u7f6e\u7f51\u7edc"},{"location":"Usages/netconfig/netconfig/#_2","text":"HomeAssistant Cli \u63d0\u4f9b\u4e86\u9ed8\u4fe1\u6298network\u914d\u7f6e\u547d\u4ee4\u5982\u4e0b: ha netWork Useage: ha network [command] Examples: ha network info ha network interface options Available Commands: info Shows information about the host network reload Reload Network information the host scan Scan for Access Points on a wireless interface. update Update settings of a network interface vlan Create a new VLAN on an ethernet interface Flags: -h, --help help for network Global Flags: --api-token string Home Assistant Supervisor API token --config string Optional config file (default is $HOME/.homeassistant.yaml) --endpoint string Endpoint for Home Assistant Supervisor (default is'supervisor') --log-level string Log level (defaults to Warn) --no-progress Disable the progress spinner --raw-json Output raw JSON from the API Use \"ha network [command] --help\" for more information about a command. \u8fd9\u4e2aha network\u547d\u4ee4,\u5927\u7ea6\u5982\u4e0b\u51e0\u4e2a\u529f\u80fd info \u663e\u793a\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f reload \u91cd\u65b0\u52a0\u8f7d\u7f51\u7edc scan \u626b\u63cf\u7f51\u7edc update \u914d\u7f6e\u7f51\u7edc \u6211\u4eec\u5728\u4f7f\u7528\u8fd9\u4e2a\u547d\u4ee4\u65f6,\u53ef\u4ee5\u4f7f\u7528\u5176\u7b80\u5199,\u6bd4\u5982\u7701\u53bb\u524d\u9762\u7684ha,\u8fd8\u53ef\u4ee5\u7701\u53bb\u540e\u9762\u7684work \u6bd4\u5982,\u6211\u4eec\u60f3\u67e5\u770b\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f,\u53ef\u4ee5\u7528\u5982\u4e0b\u547d\u4ee4\u6765\u8fdb\u884c net info \u8fd9\u6761\u547d\u4ee4\u5c31\u4f1a\u628a\u6240\u6709\u7684\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f\u5168\u90e8\u663e\u793a\u51fa\u6765,\u53ea\u662f\u5982\u679c\u7f51\u5361\u8f83\u591a,\u6211\u4eec\u6ca1\u6709\u6cd5\u5728\u4e00\u5c4f\u5168\u90e8\u9605\u8bfb\u5b8c,\u6240\u4ee5\u8fd9\u5c31\u5f15\u53d1\u53e6\u4e00\u4e2a\u95ee\u9898.netwrok\u6240\u6709\u7684\u5b50\u547d\u4ee4,\u540e\u9762\u90fd\u662f\u53ef\u4ee5\u6216\u5fc5\u987b\u8ddf\u7740\u64cd\u4f5c\u5bf9\u50cf\u6765\u8fdb\u884c\u7684,\u5177\u4f53\u7684\u5c31\u662f,\u64cd\u4f5c\u6216\u663e\u793a\u54ea\u4e2a\u7f51\u5361\u63a5\u53e3.\u4e00\u822c\u60c5\u51b5\u4e0b\u662f\u5982\u4e0b\u578b\u5f0f net [command] [interface] \u5373 net [\u5b50\u547d\u4ee4] [\u7f51\u5361\u540d\u79f0] \u90a3\u4e48\u5982\u4f55\u67e5\u770b\u7f51\u5361\u540d\u79f0\u5462,\u5728haos \u7684cli\u63a7\u5236\u53f0\u754c\u9762,\u4efb\u610f\u65f6\u95f4,\u540c\u65f6\u6309\u4e0b ctrl+c \u540e,ha\u7684\u754c\u9762\u8fd4\u56de\u5230\u5f85\u673a\u754c\u9762,\u5982\u4e0b\u56fe\u6240\u793a. \u56fe\u4e2d\u5171\u663e\u793a\u4e86\u4e09\u4e2a\u7f51\u5361\u63a5\u53e3: wlp3s0 \u8fd9\u4e2a\u662f\u65e0\u7ebf\u7f51\u5361\u63a5\u53e3\u7684\u540d\u79f0,\u4e00\u822c\u60c5\u51b5\u4e0bw\u5b57\u7b26\u6253\u5934\u7684\u6211\u4e3a\u65e0\u7ebf\u7f51\u5361 enp2s0 \u8fd9\u4e2a\u5bf9\u5e94\u5c0f\u4e3b\u673a\u4e0a\u5c31\u662fLNA1,\u6709\u7ebf\u7f51\u53611\u7684\u540d\u79f0 enp4s0 \u8fd9\u4e2a\u5bf9\u5e94\u5c0f\u4e3b\u673a\u4e0a\u5c31\u662fLNA2,\u6709\u7ebf\u7f51\u53611\u7684\u540d\u79f0 \u67e5\u770b\u5230\u4e86\u8fd9\u4e09\u4e2a\u7f51\u5361\u540d\u79f0,\u6211\u4eec\u5c31\u53ef\u4ee5\u5bf9\u7f51\u5361\u8fdb\u884c\u67e5\u770b\u4fe1\u606f\u914d\u7f6e\u7b49. \u5bf9\u6709\u521d\u88c5\u7684HAOS\u8fd8\u6709\u51c6\u5907\u8fdb\u884cUdate\u7684\u5c0f\u4e3b\u673a,\u6700\u597d,\u5c31\u662f\u5728\u8def\u7531\u5668\u7aef \u9ed8\u8ba4\u63d0\u4f9b\u79d1\u5b66\u4e0a\u7f51 ,\u5426\u5219\u5728\u65b0\u5b89\u88c5\u6298\u521d\u59cb\u5316\u90a3\u91cc\u5c31\u4f1a\u88ab\u6c38\u8fdc\u5361\u4f4f,\u65e0\u6cd5\u5b89\u88c5\u6210\u529f,\u5982\u679c\u662f\u81ea\u52a8\u66f4\u65b0,\u90a3\u4e48\u5c06\u4f1a\u66f4\u65b0\u5931\u8d25.","title":"\u719f\u6089\u7f51\u7edc\u914d\u7f6e\u547d\u4ee4"},{"location":"Usages/netconfig/netconfig/#_3","text":"\u4e00\u822c\u60c5\u51b5\u4e0b,\u5bf9\u4e8eenp2s0,enp4s0,\u5982\u679c\u8def\u7531\u5668\u7aef\u63d0\u4f9b\u4e86\u81ea\u52a8\u83b7\u53d6IP\u5730\u5740\u529f\u80fd\uff0c\u5219\u65e0\u9700\u914d\u7f6e\uff0c\u7f51\u7ebf\u63d2\u5165\u5373\u53ef\u4f7f\u7528\u3002 \u4f46\u662f\u5bf9\u4e8e\u6bd4\u8f83\u590d\u6742\u7684\u7f51\u7edc\u5219\u9700\u8981\u914d\u7f6e\uff0c\u540c\u6837\uff0c\u5982\u679c\u60f3\u4f7f\u7528wifi\u7f51\u7edc,\u4e5f\u9700\u8981\u914d\u7f6e . \u914d\u7f6e\u7f51\u7edc\u7684\u547d\u4ee4\u5982\u4e0b: ha > net update Usage: ha network update [interface] [flags] Aliases: update, set, up Examples: ha network update eth0 --ipv4-method auto --ipv6-method disabled Flags: -e, --disabled Disable interface -h, --help help for update --ipv4-address stringArray IPv4 address for the interface in the 192.168.1.5/24 --ipv4-gateway string The IPv4 gateway the interface should use --ipv4-method string Method on IPv4: static|auto|disabled --ipv4-nameserver stringArray IPv4 address of upstream DNS servers. Use multiple times for multiple servers. --ipv6-address stringArray IPv6 address for the interface in the 2001:0db8:85a3:0000:0000:8a2e:0370:7334/64 --ipv6-gateway string The IPv6 gateway the interface should use --ipv6-method string Method on IPv6: static|auto|disabled --ipv6-nameserver stringArray IPv6 address for upstream DNS servers. Use multiple times for multiple servers. --wifi-auth string Used authentication: open, wep, wpa-psk --wifi-mode string Wifi mode: infrastructure, adhoc, mesh or ap --wifi-psk string Shared authentication key for wep or wpa --wifi-ssid string SSID for wifi connection Global Flags: --api-token string Home Assistant Supervisor API token --config string Optional config file (default is $HOME/.homeassistant.yaml) --endpoint string Endpoint for Home Assistant Supervisor (default is `supervisor`) --log-level string Log level (defaults to Warn) --no-progress Disable the progress spinner --raw-json Output raw JSON from the API \u8fd9\u6761\u547d\u4ee4ha network update [interface] [flags],\u63d0\u4f9b\u4e86\u5f88\u591a\u529f\u80fd,\u5b83\u53ef\u4ee5\u914d\u7f6ewif\u7f51\u7edc,\u53ef\u4ee5\u5bf9\u6307\u5b9a\u7684\u7f51\u5361\u914d\u7f6eip4/6\u7684IP\u5730\u5740\uff0c\u7f51\u5173\uff0c\u662f\u5426\u542f\u7528\u7b49.\u56e0\u6b64\u53ef\u4ee5\u5728\u5b9e\u9645\u5de5\u4f5c\u4e2d\u7075\u6d3b\u4f7f\u7528. \u5177\u4f53\u7528\u6cd5\u7b80\u8bd1\u5982\u4e0b ha > net update Usage: ha network update [interface] [flags] Aliases: update, set, up Examples: ha network update eth0 --ipv4-method auto --ipv6-method disabled Flags: -e, --disabled \u7981\u7528\u63a5\u53e3 -h, --help \u663e\u793a\u66f4\u65b0\u7684\u5e2e\u52a9\u4fe1\u606f --ipv4-address stringArray \u63a5\u53e3\u7684 IPv4 \u5730\u5740\uff0c\u4f8b\u5982 192.168.1.5/24 --ipv4-gateway string \u63a5\u53e3\u4f7f\u7528\u7684 IPv4 \u7f51\u5173 --ipv4-method string IPv4 \u65b9\u6cd5: static|auto|disabled --ipv4-nameserver stringArray \u4e0a\u6e38 DNS \u670d\u52a1\u5668\u7684 IPv4 \u5730\u5740\uff0c\u53ef\u591a\u6b21\u4f7f\u7528\u4ee5\u6307\u5b9a\u591a\u4e2a\u670d\u52a1\u5668 --ipv6-address stringArray \u63a5\u53e3\u7684 IPv6 \u5730\u5740\uff0c\u4f8b\u5982 2001:0db8:85a3:0000:0000:8a2e:0370:7334/64 --ipv6-gateway string \u63a5\u53e3\u4f7f\u7528\u7684 IPv6 \u7f51\u5173 --ipv6-method string IPv6 \u65b9\u6cd5: static|auto|disabled --ipv6-nameserver stringArray \u4e0a\u6e38 DNS \u670d\u52a1\u5668\u7684 IPv6 \u5730\u5740\uff0c\u53ef\u591a\u6b21\u4f7f\u7528\u4ee5\u6307\u5b9a\u591a\u4e2a\u670d\u52a1\u5668 --wifi-auth string \u4f7f\u7528\u7684\u8ba4\u8bc1\u65b9\u5f0f: open, wep, wpa-psk --wifi-mode string WiFi \u6a21\u5f0f: infrastructure, adhoc, mesh \u6216 ap --wifi-psk string WEP \u6216 WPA \u7684\u5171\u4eab\u8ba4\u8bc1\u5bc6\u94a5 --wifi-ssid string WiFi \u8fde\u63a5\u7684 SSID Global Flags: --api-token string Home Assistant Supervisor API \u4ee4\u724c --config string \u53ef\u9009\u7684\u914d\u7f6e\u6587\u4ef6\u8def\u5f84\uff08\u9ed8\u8ba4\u503c\u4e3a $HOME/.homeassistant.yaml\uff09 --endpoint string Home Assistant Supervisor \u7684\u7aef\u70b9\uff08\u9ed8\u8ba4\u503c\u4e3a `supervisor`\uff09 --log-level string \u65e5\u5fd7\u7ea7\u522b\uff08\u9ed8\u8ba4\u503c\u4e3a Warn\uff09 --no-progress \u7981\u7528\u8fdb\u5ea6\u6761 --raw-json \u4ee5\u539f\u59cb JSON \u683c\u5f0f\u8f93\u51fa API \u6570\u636e FATA[0000] Error while executing rootCmd: accepts 1 arg(s), received 0 \u4e0b\u9762,\u6211\u4eec\u5c31\u4ee5\u914d\u7f6ewifi\u8054\u63a5\u5230\u7f51\u7edc\u4e3a\u4f8b\u8bf4\u660e\u4e00\u4e0b: \u6bd4\u5982\u6211\u4eec\u9ed8\u8ba4\u7684WIFI\u70ed\u70b9\u5982\u4e0b: wifi info: ssid:DT_IoT_GateWay passWord:HnczjTyrb0 \u90a3\u6839\u636e\u6211\u4eec\u4e0a\u6587\u67e5\u770b\u5230\u7684\u65e0\u7ebf\u7f51\u5361\u7684\u540d\u79f0: wlp3s0 \u6211\u4eec\u4f7f\u7528\u5982\u4e0b\u914d\u7f6e\u547d\u4ee4,\u6765\u8ba9haos\u5c0f\u5de5\u63a7\u673a\u8054\u4e0awifi\u7f51\u7edc: ha network update wlp3s0 --wifi-auth wpa-psk --wifi-psk \"HmczjTYrb0\" --wifi-mode infrastructure --wifi-ssid \"DT_IoT_GateWay\" --ipv4-method auto --ipv6-method disabled \u8fd9\u6761\u547d\u4ee4\u89e3\u91ca\u5982\u4e0b: \u6307\u5b9awifi\u7684\u5bc6\u7801\u65b9\u5f0f\u4e3a:wpa-psk (--wifi-auth wpa-psk). \u6307\u5b9awif\u7684\u5bc6\u7801\u4e3a:HnczjTyrb0 (--wifi-psk \"HmczjYrb0\"). \u6307\u5b9a\u7f51\u5361\u63a5\u53e3\u6a21\u5f0f\u4e3a:infrastructure \u5373\u5e38\u89c4\u6a21\u5f0f (--wifi-mode infrastructure). \u6307\u5b9a\u8981\u8054\u63a5\u7684\u7f51\u7edcSSID:DT_IoT_GateWay (--wifi-ssid \"DT_IoT_GateWay\"). \u6307\u5b9aIP\u5730\u5740\u83b7\u53d6\u65b9\u5f0f\uff08\u9759\u6001\u3001\u81ea\u52a8\u3001\u7981\u7528\uff09\uff1a\u81ea\u52a8 ( --ipv4-method auto). \u6307\u5b9a\u662f\u5426\u7981\u7528IpV6:\u7981\u7528 (--ipv6-method disabled) \u5982\u4e0b\u56fe\u6240\u793a,\u6211\u4eec\u6210\u529f\u7684\u4f7f\u7528\u8fd9\u6761\u6307\u4ee4,\u914d\u7f6e\u597d\u4e86wifi\u7f51\u7edc: \u5982\u4e0b\u6240\u793a,\u914d\u7f51\u6210\u529f\u540e,\u8def\u7531\u5668\u5df2\u81ea\u52a8\u4e3a\u5176\u5206\u914d\u597d\u4e86ip\u5730\u5740: \u6b64\u65f6,\u6211\u4eec\u5728\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165\u7f51\u5740 http://192.168.3.2:8123 \u5373\u53ef\u8fdb\u5165haos\u7684web\u9875\u9762. \u4e0b\u56fe\u662f\u65e0\u7ebf\u7f51\u5361\u4e0e\u6709\u7ebf\u7f51\u5361\u540c\u65f6\u542f\u7528\u7684\u60c5\u51b5,\u53ef\u4ee5\u770b\u5230,\u4e24\u4e2a\u7f51\u5361\u90fd\u88ab\u6b63\u786e\u7684\u5206\u914d\u5230\u4e86IP\u5730\u5740\uff1a","title":"\u914d\u7f6e\u7f51\u7edc"},{"location":"Usages/netconfig/netconfig/#_4","text":"\u7cfb\u7edf\u521d\u59cb\u5316\u5b8c\u6210\u540e,\u4ecd\u7136\u53ef\u4ee5\u8c03\u6574\u914d\u7f6e\u7f51\u7edc, \u8bbe\u7f6e-\u7cfb\u7edf-\u7f51\u7edc \u4e2d\u914d\u7f6e\u7f51\u7edc\u63a5\u53e3\u53ef\u4ee5\u8fdb\u884c\u7f51\u7edc\u914d\u7f6e \u5728\u8fd9\u91cc\u4f60\u53ef\u4ee5\u770b\u5230\u6211\u4eec\u7684\u4e09\u5757\u7f51\u5361,wlp3s0,enp2s0,enp4s0,\u53ef\u5728\u6b64\u5904\u914d\u7f6e,\u6bcf\u4e2a\u7f51\u5361\u7684IP\uff0c\u5b50\u7f51\uff0c\u7f51\u5173\uff0cDNS\u7b49\uff0c\u4e5f\u53ef\u4ee5\u914d\u7f6ewi-fi\u70ed\u70b9.","title":"\u5728\u7cfb\u7edf\u5b89\u88c5\u597d\u521d\u59cb\u5316\u5b8c\u6210\u540e\u914d\u7f6e\u7f51\u7edc"},{"location":"install-guide/BackupAndRestore/","text":"\u7cfb\u7edf\u7684\u5907\u4efd\u4e0e\u8fd8\u539f(\u786c\u76d8) \u00b6 HomeAssistant \u7684\u5b89\u88c5\u914d\u7f6e\u8fc7\u7a0b\u8f83\u591a,\u8017\u65f6\u8f83\u957f,\u4e3a\u6b64\u6211\u4eec\u7814\u7a76\u4e86\u4e00\u4e2a,\u5feb\u901f\u7684\u5c06\u63d0\u524d\u88c5\u597d\u7684HomeAssistant\u786c\u76d8,\u6574\u5907\u5907\u4efd\u4e0e\u6062\u590d\u7684\u529e\u6cd5. \u955c\u50cf\u6587\u4ef6\u4e0b\u8f7d \u00b6 \u955c\u50cf\u6587\u4ef6\u662f\u6211\u4eec\u63d0\u524d\u5236\u4f5c\u597d\u5e76\u5907\u4efd\u78c1\u76d8\u653e\u5230\u4e91\u7aef\u7684\uff0c\u6587\u4ef6\u8f83\u5927\uff0c\u9700\u8981\u5728\u5236\u4f5c\u597dWINpe\u7cfb\u7edf\u540e,\u4e0b\u8f7d\u5e76\u653e\u5230U\u76d8\u4e2d\u3002 \u70b9\u51fb\u6b64\u4e0b\u8f7d \u5de5\u5177\u7684\u51c6\u5907 \u00b6 \u5907\u4efd\u8fd8\u539f\u786c\u76d8\uff0c\u6211\u4eec\u5747\u662f\u5730windowsPE\u4e2d\u8fdb\u884c\u7684,\u4e3a\u6b64\u6211\u4eec\u9700\u51c6\u5907\u5982\u4e0b\u5de5\u5177: windowsPE(\u5fc5\u987b) windows\u7684PE\u5236\u4f5c\u5de5\u5177\u6709\u5f88\u591a\uff0c\u6bd4\u5982\u8001\u6bdb\u6843,\u5927\u767d\u83dc,\u7b49,\u4f46\u8fd9\u4e9b\u5927\u591a\u4f1a\u6709\u503c\u5165\u5e7f\u544a\u7b49,\u7528\u4e8e\u5b89\u88c5windows\u7cfb\u7edf\u4f1a\u6709\u8bb8\u591a\u5783\u573e\u8f6f\u4ef6,\u8fd9\u91cc\u63a8\u8350\u4f7f\u7528\" \u5faePE\u5de5\u5177\u7bb1 \",\u5176\u81ea\u5e26\u7684Diskgenus\u5e94\u5f53\u662f\u5df2\u7ecf\u662f\u4e13\u4e1a\u7834\u89e3\u7248\u4e86,\u53ef\u4ee5\u64cd\u4f5c\u5927\u4e8e4G\u7684\u955c\u50cf\u3002\u6240\u4ee5\u4e00\u822c\u60c5\u51b5\u4e0b\u4e0d\u5fc5\u518d\u53e6\u5916\u627e\u5de5\u5177\u3002\u5f53\u9009\u7b2c\u4e09\u65b9PE\uff0c\u6216\u7b2c\u4e09\u65b9PE\u5e26\u7684Diskgenus\u4e0d\u80fd\u6ee1\u8db3\u9700\u8981,\u4e0d\u80fd\u6b63\u5e38\u7684\u5907\u4efd\u4e0e\u8fd8\u539f\u955c\u50cf\u65f6,\u9700\u8981\u9009\u75282\u63d0\u4f9b\u7684\u4e13\u4e1a\u7248 ,\u5e76\u5c06\u5176\u590d\u5236\u5230U\u76d8\u4e2d\u3002 Diskgenus\u4e13\u4e1a\u7834\u89e3\u7248.(\u53ef\u9009) \u200b \u70b9\u51fb\u6b64\u5904\u4e0b\u8f7d \u7528winPE\u5f15\u5bfcU\u76d8\uff0c\u5f15\u5bfc\u7cfb\u7edf\uff0c\u8fdb\u5165PE,\u542f\u52a8SiskGenius \u5206\u533a\u52a9\u624b\u7a0b\u5e8f,\u9009\u4e2d\u8981\u64cd\u4f5c\u7684\u78c1\u76d8.\u7136\u540e,\u70b9\u51fb \u83dc\u5355 \u78c1\u76d8 \u4ece\u786c\u76d8\u955c\u50cf\u6062\u590d \u00b6 \u9009\u62e9\u201c\u4ece\u6620\u50cf\u6062\u590d\u78c1\u76d8\",\u7136\u540e\u9009\u62e9U\u76d8\u4e2d\uff0c\u63d0\u524d\u51c6\u5907\u597d\u7684*.pmfx\u6587\u4ef6,\u7136\u540e\u9009\u62e9\u76ee\u6807\u78c1\u76d8,\u8fd8\u539f\u65b9\u5f0f\u4e3a:\u8fd8\u539f\u6240\u6709\u6247\u533a,\u7136\u540e\u70b9\u51fb\u5f00\u59cb,\u7cfb\u7edf\u5c31\u4f1a\u5f00\u59cb\u8fd8\u539f. \u8fd8\u539f\u5b8c\u6210\u540e,\u5982\u4e0b\u56fe\u6240\u793a: \u7136\u540e,\u79fb\u9664U\u76d8\uff0c\u91cd\u65b0\u542f\u52a8\uff0c\u5373\u53ef\u5b8c\u6210\u5b89\u88c5\uff0c\u5982\u4e0b\u56fe\u6240\u793a \u5907\u4efd\u6574\u4e2a\u786c\u76d8 \u00b6 \u9009\u62e9\"\u5907\u4efd\u78c1\u78c1\u76d8\u5230\u6620\\\u50cf\u6587\u4ef6\",\u5907\u4efd\u6a21\u5f0f\u4e3a:\u6240\u6709\u6247\u533a,\u9009\u62e9\u955c\u50cf\u6587\u4ef6,\u4e3a\u4e0b\u8f7d\u597d\u5e76\u63d0\u524d\u653e\u5165U\u76d8\u7684\u6269\u5c55\u540d\u4e3apmfx\u7684\u6620\u50cf\u6587\u4ef6,\u7136\u540e\u70b9\u51fb\"\u5f00\u59cb\" \u5927\u7ea6\u534a\u4e2a\u591a\u5c0f\u65f6,\u80fd\u5199\u5165\u5b8c\u6210.\u5982\u4e0b\u56fe\u6240\u793a,\u6620\u50cf\u6587\u4ef6\u5df2\u751f\u6210\u7ea6\u67095G\uff0c\u4fdd\u5b58\u5230\u5408\u9002\u7684\u5730\u65b9\uff0c\u53ef\u4ee5\u7528\u6765\u88c5\u673a\u6216\u8fd8\u539f\u7528\u3002","title":"BackupAndRestore"},{"location":"install-guide/BackupAndRestore/#_1","text":"HomeAssistant \u7684\u5b89\u88c5\u914d\u7f6e\u8fc7\u7a0b\u8f83\u591a,\u8017\u65f6\u8f83\u957f,\u4e3a\u6b64\u6211\u4eec\u7814\u7a76\u4e86\u4e00\u4e2a,\u5feb\u901f\u7684\u5c06\u63d0\u524d\u88c5\u597d\u7684HomeAssistant\u786c\u76d8,\u6574\u5907\u5907\u4efd\u4e0e\u6062\u590d\u7684\u529e\u6cd5.","title":"\u7cfb\u7edf\u7684\u5907\u4efd\u4e0e\u8fd8\u539f(\u786c\u76d8)"},{"location":"install-guide/BackupAndRestore/#_2","text":"\u955c\u50cf\u6587\u4ef6\u662f\u6211\u4eec\u63d0\u524d\u5236\u4f5c\u597d\u5e76\u5907\u4efd\u78c1\u76d8\u653e\u5230\u4e91\u7aef\u7684\uff0c\u6587\u4ef6\u8f83\u5927\uff0c\u9700\u8981\u5728\u5236\u4f5c\u597dWINpe\u7cfb\u7edf\u540e,\u4e0b\u8f7d\u5e76\u653e\u5230U\u76d8\u4e2d\u3002 \u70b9\u51fb\u6b64\u4e0b\u8f7d","title":"\u955c\u50cf\u6587\u4ef6\u4e0b\u8f7d"},{"location":"install-guide/BackupAndRestore/#_3","text":"\u5907\u4efd\u8fd8\u539f\u786c\u76d8\uff0c\u6211\u4eec\u5747\u662f\u5730windowsPE\u4e2d\u8fdb\u884c\u7684,\u4e3a\u6b64\u6211\u4eec\u9700\u51c6\u5907\u5982\u4e0b\u5de5\u5177: windowsPE(\u5fc5\u987b) windows\u7684PE\u5236\u4f5c\u5de5\u5177\u6709\u5f88\u591a\uff0c\u6bd4\u5982\u8001\u6bdb\u6843,\u5927\u767d\u83dc,\u7b49,\u4f46\u8fd9\u4e9b\u5927\u591a\u4f1a\u6709\u503c\u5165\u5e7f\u544a\u7b49,\u7528\u4e8e\u5b89\u88c5windows\u7cfb\u7edf\u4f1a\u6709\u8bb8\u591a\u5783\u573e\u8f6f\u4ef6,\u8fd9\u91cc\u63a8\u8350\u4f7f\u7528\" \u5faePE\u5de5\u5177\u7bb1 \",\u5176\u81ea\u5e26\u7684Diskgenus\u5e94\u5f53\u662f\u5df2\u7ecf\u662f\u4e13\u4e1a\u7834\u89e3\u7248\u4e86,\u53ef\u4ee5\u64cd\u4f5c\u5927\u4e8e4G\u7684\u955c\u50cf\u3002\u6240\u4ee5\u4e00\u822c\u60c5\u51b5\u4e0b\u4e0d\u5fc5\u518d\u53e6\u5916\u627e\u5de5\u5177\u3002\u5f53\u9009\u7b2c\u4e09\u65b9PE\uff0c\u6216\u7b2c\u4e09\u65b9PE\u5e26\u7684Diskgenus\u4e0d\u80fd\u6ee1\u8db3\u9700\u8981,\u4e0d\u80fd\u6b63\u5e38\u7684\u5907\u4efd\u4e0e\u8fd8\u539f\u955c\u50cf\u65f6,\u9700\u8981\u9009\u75282\u63d0\u4f9b\u7684\u4e13\u4e1a\u7248 ,\u5e76\u5c06\u5176\u590d\u5236\u5230U\u76d8\u4e2d\u3002 Diskgenus\u4e13\u4e1a\u7834\u89e3\u7248.(\u53ef\u9009) \u200b \u70b9\u51fb\u6b64\u5904\u4e0b\u8f7d \u7528winPE\u5f15\u5bfcU\u76d8\uff0c\u5f15\u5bfc\u7cfb\u7edf\uff0c\u8fdb\u5165PE,\u542f\u52a8SiskGenius \u5206\u533a\u52a9\u624b\u7a0b\u5e8f,\u9009\u4e2d\u8981\u64cd\u4f5c\u7684\u78c1\u76d8.\u7136\u540e,\u70b9\u51fb \u83dc\u5355 \u78c1\u76d8","title":"\u5de5\u5177\u7684\u51c6\u5907"},{"location":"install-guide/BackupAndRestore/#_4","text":"\u9009\u62e9\u201c\u4ece\u6620\u50cf\u6062\u590d\u78c1\u76d8\",\u7136\u540e\u9009\u62e9U\u76d8\u4e2d\uff0c\u63d0\u524d\u51c6\u5907\u597d\u7684*.pmfx\u6587\u4ef6,\u7136\u540e\u9009\u62e9\u76ee\u6807\u78c1\u76d8,\u8fd8\u539f\u65b9\u5f0f\u4e3a:\u8fd8\u539f\u6240\u6709\u6247\u533a,\u7136\u540e\u70b9\u51fb\u5f00\u59cb,\u7cfb\u7edf\u5c31\u4f1a\u5f00\u59cb\u8fd8\u539f. \u8fd8\u539f\u5b8c\u6210\u540e,\u5982\u4e0b\u56fe\u6240\u793a: \u7136\u540e,\u79fb\u9664U\u76d8\uff0c\u91cd\u65b0\u542f\u52a8\uff0c\u5373\u53ef\u5b8c\u6210\u5b89\u88c5\uff0c\u5982\u4e0b\u56fe\u6240\u793a","title":"\u4ece\u786c\u76d8\u955c\u50cf\u6062\u590d"},{"location":"install-guide/BackupAndRestore/#_5","text":"\u9009\u62e9\"\u5907\u4efd\u78c1\u78c1\u76d8\u5230\u6620\\\u50cf\u6587\u4ef6\",\u5907\u4efd\u6a21\u5f0f\u4e3a:\u6240\u6709\u6247\u533a,\u9009\u62e9\u955c\u50cf\u6587\u4ef6,\u4e3a\u4e0b\u8f7d\u597d\u5e76\u63d0\u524d\u653e\u5165U\u76d8\u7684\u6269\u5c55\u540d\u4e3apmfx\u7684\u6620\u50cf\u6587\u4ef6,\u7136\u540e\u70b9\u51fb\"\u5f00\u59cb\" \u5927\u7ea6\u534a\u4e2a\u591a\u5c0f\u65f6,\u80fd\u5199\u5165\u5b8c\u6210.\u5982\u4e0b\u56fe\u6240\u793a,\u6620\u50cf\u6587\u4ef6\u5df2\u751f\u6210\u7ea6\u67095G\uff0c\u4fdd\u5b58\u5230\u5408\u9002\u7684\u5730\u65b9\uff0c\u53ef\u4ee5\u7528\u6765\u88c5\u673a\u6216\u8fd8\u539f\u7528\u3002","title":"\u5907\u4efd\u6574\u4e2a\u786c\u76d8"},{"location":"install-guide/LinuxInstall/","text":"\u57fa\u4e8elinux\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf \u00b6 \u8fd9\u79cd\u65b9\u6cd5\u7684\u64cd\u4f5c\u65b9\u6cd5\u662f: \u5148\u4e0b\u8f7d ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf\u684c\u9762\u7248 \uff0c\u4fdd\u5b58\u4e3aubuntu24.04-desktip-amd.iso\u3002 \u5728\u865a\u62df\u673a\u6216\u7269\u7406\u673a\u4e2d\u5b89\u88c5\u6b64ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf.(\u4e34\u65f6\u4f7f\u7528)\u3002 \u8fd9\u4e2a\u8fc7\u7a0b \uff0c\u8bf7\u53c2\u8003\u5176\u5b83\u6559\u7a0b\u3002 \u4f7f\u7528ubuntu24.04\u5236\u4f5clinux\u542f\u52a8U\u76d8ubuntu live\u3002 \u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u628a\u4e0b\u8f7d\u7684ubuntu24.04-desktip-amd.iso\u653e\u5230\u65b0\u5b89\u88c5\u7684Ubuntu\u64cd\u4f5c\u7cfb\u7edf\u4e0b\u6298\u4efb\u610f\u76ee\u5f55,\u5982,\u653e\u5230 \u8fd9\u4e2a\u76ee\u5f55. \u7136\u540e,\u627e\u5230ubuntu\u81ea\u5e26\u7684\u542f\u52a8\u76d8\u5236\u4f5c\u5de5\u5177,\u5982\u56fe\u6240\u793a c\u8fd0\u884c\u542f\u52a8\u76d8\u521b\u5efa\u5668,\u5982\u4e0b \u5148\u62e9\u521a\u521a\u653e\u7f6e\u7684ubuntu24.04-desktip-amd.iso\u4f5c\u4e3a\u6e90\u955c\u50cf,\u7136\u540e\u628a\u8981\u5236\u4f5c\u542f\u52a8\u76d8\u7684U\u76d8\u63d2\u5165USB\u53e3\uff0c\u7136\u540e\uff0c\u9009 \u62e9\u4f5c\u4e3a\u8981\u4f7f\u7528\u7684\u78c1\u76d8\uff0c\u5f53\u7136\u53ef\u4ee5\u63d0\u524d\u63d2\u5165U\u76d8\u3002\u7136\u540e\u70b9\u51fb\u5236\u4f5c\u542f\u52a8\u76d8\u3002 \u5728\u5f39\u51fa\u7684\u786e\u8ba4\u6846\u4e2d\uff0c\u70b9\u51fb\u662f\uff0c \u7136\u540e\u8f93\u51fa\u5f53\u524d\u7684\u7528\u6237\u5bf9\u5e94\u7684\u5bc6\u7801\uff0c\u786e\u8ba4\uff0c \u7cfb\u7edf\u5c06\u4f1a\u81ea\u52a8\u5f00\u542f\u628aubuntu live \u542f\u52a8\u5f15\u5bfc\u76d8\u4fe1\u606f, \u5199\u5165U\u76d8\uff0c \u63d0\u793a\u5b8c\u6210\u65f6\uff0c\u70b9\u9000\u51fa\uff0c\u5f39\u51fa\u5982\u4e0b\u63d0\u793a \uff0c\u8bf4\u660e\u542f\u52a8U\u76d8\u5236\u4f5c\u6210\u529f\u4e86\u3002 \u4f7f\u7528\u542f\u52a8U\u76d8ubuntu live\u5f15\u5bfcx86\u5c0f\u5de5\u63a7\u673a. \u628aU\u76d8\u63d2\u5165\u5165X86\u5c0f\u5de5\u63a7\u673a\u5e76\u786e\u4fdd \u6b63\u786e\u914d\u7f6e\u4e86Bios \u542f\u52a8\u540e,\u6309F11\u5176\u5b83\u4e3b\u673a\u53ef\u80fd\u6709\u6240\u4e0d\u540c(\u53ef\u4ee5\u67e5\u4e3b\u677f\u8bf4\u660e\u4e66,\u6216\u54a8\u8be2\u4e3b\u677f\u5382\u5bb6),\u9009\u62e9\u4ee5U\u76d8\u5f15\u5bfc\u3002 \u516c\u53f8\u7684\u5c0f\u5de5\u63a7\u673a,\u662f\u542f\u52a8\u65f6,\u6309F11\u4e0d\u653e,\u8fdb\u5165\u7cfb\u7edf\u5f15\u5bfc\u83dc\u5355,\u6839\u636eU\u76d8\u7684\u4e0d\u540c,U\u76d8\u5f15\u5bfc\u76d8\u4e2d\u7684\u7cfb\u7edf\u7c7b\u522b\u4e0d\u540c,\u663e\u793a\u7684\u5185\u5bb9\u7565\u6709\u4e0d\u540c,\u5982\u4e0b\u56fe\u6240\u793a \u8fdb\u5165try\u6a21\u5f0f(\u4e0d\u5b89\u88c5). \u5f53\u7cfb\u7edf\u542f\u52a8\u65f6,\u8bf7\u786e\u4fdd\u9009\u62e9\u201cTry or Install Ubuntu\". \u7cfb\u7edf\u542f\u4f1a\u542f\u52a8U\u76d8\u4e2d\u7684Ubuntu live\u7cfb\u7edf, \u5728\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d, \u4f1a\u6709\u51e0\u4e2a\u9009\u9879\u8981\u9009\u62e9\u5982\u4e0b\u56fe\u6240\u793a, \u9009\u62e9\u8bed\u8a00 \u6b64\u5904\u76f4\u63a5\u4e0b\u4e00\u6b65 \u6b64\u5904\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u7f51\u7edc\u8fde\u63a5\u53ef\u4ee5\u9009\u76f4\u63a5\u8fde\u63a5,\u4e5f\u53ef\u4ee5\u9009\u62e9wifi\u5f53\u7136,wifi\u5357\u8981\u914d\u7f6e\u70ed\u70b9. \u540c\u65f6,\u5728\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d,\u8981\u4fdd\u6301\u7f51\u7edc\u7545\u901a( *\u4e00\u5b9a\u8981\u80fd\u6b63\u5e38\u8bbf\u95eeGoogle\u53caHomeAssistant\u5b98\u7f51 ),\u80fd\u6b63\u5e38\u7684\u8bbf\u95ee\u5e76\u4e0b\u8f7dHomeAssistantOS\u7684\u955c\u50cf. \u5728try\u6a21\u5f0f\u4e2d,\u4e0b\u8f7dha\u5b89\u65b9\u955c\u50cf \u8fdb\u5165Ubuntu Live\u7cfb\u7edf\u540e,\u6253\u5f00\u6d4f\u89c8\u5668,\u8bbf\u95eeHomeAssistant\u7684 \u5b98\u65b9\u6587\u6863 , \u8fdb\u5165HomeAssistant\u5b98\u7f51,\u70b9\\\u51fb\u83dc\u5355Installstatiion,\u8fdb\u5165\u5b89\u88c5\u8bf4\u660e \u627e\u5230GenericX86-84,\u5e76\u6253\u5f00\u8fd9\u4e2a\u5728\u9875\u9762 \u627e\u5230\u9875\u9762\u4e2d\u7684\u955c\u50cf\u4e0b\u8f7d\u5730\u5740\u5982\u4e0b\u56fe \u4e0b\u8f7d HomeAssistOs-x86-64\u955c\u50cf \u5f00\u59cb\u4e0b\u8f7d\u540e,\u5982\u4e0b\u56fe\u6240\u793a \u4e0b\u8f7d\u8fc7\u7a0b\u4e2d\u5982\u4e0b\u56fe\u6240\u793a \u4e0b\u8f7d\u5b8c\u6210\u540e \u6587\u4ef6\u4fdd\u5b58\u5728/home/Downloads/hos_Generic-86-64-15.1.img.xz \u4f7f\u7528ubuntu live\u7684\u81ea\u5e26\u7684\u78c1\u76d8\u6062\u590d\u5de5\u5177\u5199\u5165\u955c\u50cf\u5230\u786c\u76d8. \u5728Ubuntu Live\u7684\u7cfb\u7edf\u4e2d,\u627e\u5230\u663e\u793a\u5e94\u7528\u7a0b\u5e8f(\u4e00\u822c\u5728\u5de6\u4e0a\u89d2\u6216\u53f3\u4e0b\u89d2), \u641c\u7d22\u5e76\u627e\u5230Disks\u5e94\u7528\u7a0b\u5e8f,\u5e76\u6253\u5f00Disks\u5e94\u7528\u7a0b\u5e8f. \u5728\u5de6\u4fa7\u5217\u8868\u4e2d\u627e\u5230\u5e76\u9009\u62e9\u4f60\u7684\u76ee\u6807\u78c1\u76d8(\u4e00\u822c\u4e3a\u4f60\u8981\u5b89\u88c5HAOS\u7684\u786c\u76d8) \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u83dc\u5355\u56fe\u6807\uff08\u4e09\u4e2a\u70b9\uff09\uff0c\u9009\u62e9\u201c\u6062\u590d\u78c1\u76d8\u955c\u50cf\u201d \u6d4f\u89c8\u5e76\u9009\u62e9\u4f60\u4e0b\u8f7d\u7684HAOS\u955c\u50cf\u6587\u4ef6\u3002 \u70b9\u51fb,\u5e76\u6d4f\u89c8\u5230\u4e0b\u8f7d\u7684\u6587\u4ef6 hos_Generic-86-64-15.1.img.xz \u786e\u8ba4\u76ee\u6807\u78c1\u76d8\uff0c\u5e76\u5f00\u59cb\u955c\u50cf\u6062\u590d\u8fc7\u7a0b\u3002 \u786e\u8ba4\u6807\u786c\u76d8\u6b63\u786e\u540e,\u7ee7\u7eed \u63d0\u793a\u786e\u8ba4\u65f6\u70b9\u51fb Restore \u63d0\u793a\u6388\u6743\u65f6,\u70b9\u51fb Authenticate \u786e\u5b9a\u540e,\u5c31\u4f1a\u5f00\u59cb\u628a\u955c\u50cf\u6587\u4ef6\u5199\u5165\u786c\u76d8 \u8bf7\u6ce8\u610f,\u8fd9\u4e2a\u8fc7\u7a0b\u4e00\u5c06\u4f1a,\u6e05\u9664\u786c\u76d8\u4e0a\u539f\u6709\u7684\u6570\u636e,\u8bf7\u786e\u4fdd\u5df2\u5907\u4efd\u91cd\u8981\u6570\u636e. \u5199\u5165\u5b8c\u6210\u540e,\u5982\u4e0b\u56fe\u6240\u793a \u6b64\u65f6,\u5c31\u5df2\u7ecf\u6210\u529f\u7684\u628aHA\u955c\u50cf\u5199\u5165\u5230\u786c\u548c\u808b\u4e2d\u4e86 \u79fb\u9664U\u76d8 \u4e00\u65e6Home Assistant\u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\u5b8c\u6210\uff0c\u5173\u95ed\u7cfb\u7edf\u3002 \u5f53Ubuntu\u5173\u95ed\u540e\uff0c\u79fb\u9664USB\u95ea\u5b58\u9a71\u52a8\u5668\uff08Ubuntu\u4f1a\u901a\u77e5\u60a8\u53ef\u4ee5\u5b89\u5168\u79fb\u9664\uff09\u3002 \u91cd\u542f\u7cfb\u7edf. \u73b0\u5728\uff0c\u60a8\u7684Home Assistant\u670d\u52a1\u5668\u5df2\u7ecf\u8bbe\u7f6e\u5b8c\u6bd5\uff0c\u60a8\u53ef\u4ee5\u5f00\u59cb\u4f7f\u7528\u5b83\u3002 \u8fdb\u5165HA cli\u754c\u9762 \u7cfb\u7edf\u542f\u52a8\u6210\u529f\u540e\uff0c\u5982\u4e0b\u56fe\u6240\u793a \u901a\u8fc7\u6d4f\u89c8\u5668,\u8f93\u5165\u63a7\u5236\u53f0\u63d0\u793a\u7684IP\u52a0\u7aef\u53e3 http://192.168.3:8123 \u5373\u53ef\u8fdb\u5165\u56fe\u578b\u5316\u754c\u9762,\u5982\u4e0b","title":"\u57fa\u4e8elinux\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf"},{"location":"install-guide/LinuxInstall/#linux","text":"\u8fd9\u79cd\u65b9\u6cd5\u7684\u64cd\u4f5c\u65b9\u6cd5\u662f: \u5148\u4e0b\u8f7d ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf\u684c\u9762\u7248 \uff0c\u4fdd\u5b58\u4e3aubuntu24.04-desktip-amd.iso\u3002 \u5728\u865a\u62df\u673a\u6216\u7269\u7406\u673a\u4e2d\u5b89\u88c5\u6b64ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf.(\u4e34\u65f6\u4f7f\u7528)\u3002 \u8fd9\u4e2a\u8fc7\u7a0b \uff0c\u8bf7\u53c2\u8003\u5176\u5b83\u6559\u7a0b\u3002 \u4f7f\u7528ubuntu24.04\u5236\u4f5clinux\u542f\u52a8U\u76d8ubuntu live\u3002 \u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u628a\u4e0b\u8f7d\u7684ubuntu24.04-desktip-amd.iso\u653e\u5230\u65b0\u5b89\u88c5\u7684Ubuntu\u64cd\u4f5c\u7cfb\u7edf\u4e0b\u6298\u4efb\u610f\u76ee\u5f55,\u5982,\u653e\u5230 \u8fd9\u4e2a\u76ee\u5f55. \u7136\u540e,\u627e\u5230ubuntu\u81ea\u5e26\u7684\u542f\u52a8\u76d8\u5236\u4f5c\u5de5\u5177,\u5982\u56fe\u6240\u793a c\u8fd0\u884c\u542f\u52a8\u76d8\u521b\u5efa\u5668,\u5982\u4e0b \u5148\u62e9\u521a\u521a\u653e\u7f6e\u7684ubuntu24.04-desktip-amd.iso\u4f5c\u4e3a\u6e90\u955c\u50cf,\u7136\u540e\u628a\u8981\u5236\u4f5c\u542f\u52a8\u76d8\u7684U\u76d8\u63d2\u5165USB\u53e3\uff0c\u7136\u540e\uff0c\u9009 \u62e9\u4f5c\u4e3a\u8981\u4f7f\u7528\u7684\u78c1\u76d8\uff0c\u5f53\u7136\u53ef\u4ee5\u63d0\u524d\u63d2\u5165U\u76d8\u3002\u7136\u540e\u70b9\u51fb\u5236\u4f5c\u542f\u52a8\u76d8\u3002 \u5728\u5f39\u51fa\u7684\u786e\u8ba4\u6846\u4e2d\uff0c\u70b9\u51fb\u662f\uff0c \u7136\u540e\u8f93\u51fa\u5f53\u524d\u7684\u7528\u6237\u5bf9\u5e94\u7684\u5bc6\u7801\uff0c\u786e\u8ba4\uff0c \u7cfb\u7edf\u5c06\u4f1a\u81ea\u52a8\u5f00\u542f\u628aubuntu live \u542f\u52a8\u5f15\u5bfc\u76d8\u4fe1\u606f, \u5199\u5165U\u76d8\uff0c \u63d0\u793a\u5b8c\u6210\u65f6\uff0c\u70b9\u9000\u51fa\uff0c\u5f39\u51fa\u5982\u4e0b\u63d0\u793a \uff0c\u8bf4\u660e\u542f\u52a8U\u76d8\u5236\u4f5c\u6210\u529f\u4e86\u3002 \u4f7f\u7528\u542f\u52a8U\u76d8ubuntu live\u5f15\u5bfcx86\u5c0f\u5de5\u63a7\u673a. \u628aU\u76d8\u63d2\u5165\u5165X86\u5c0f\u5de5\u63a7\u673a\u5e76\u786e\u4fdd \u6b63\u786e\u914d\u7f6e\u4e86Bios \u542f\u52a8\u540e,\u6309F11\u5176\u5b83\u4e3b\u673a\u53ef\u80fd\u6709\u6240\u4e0d\u540c(\u53ef\u4ee5\u67e5\u4e3b\u677f\u8bf4\u660e\u4e66,\u6216\u54a8\u8be2\u4e3b\u677f\u5382\u5bb6),\u9009\u62e9\u4ee5U\u76d8\u5f15\u5bfc\u3002 \u516c\u53f8\u7684\u5c0f\u5de5\u63a7\u673a,\u662f\u542f\u52a8\u65f6,\u6309F11\u4e0d\u653e,\u8fdb\u5165\u7cfb\u7edf\u5f15\u5bfc\u83dc\u5355,\u6839\u636eU\u76d8\u7684\u4e0d\u540c,U\u76d8\u5f15\u5bfc\u76d8\u4e2d\u7684\u7cfb\u7edf\u7c7b\u522b\u4e0d\u540c,\u663e\u793a\u7684\u5185\u5bb9\u7565\u6709\u4e0d\u540c,\u5982\u4e0b\u56fe\u6240\u793a \u8fdb\u5165try\u6a21\u5f0f(\u4e0d\u5b89\u88c5). \u5f53\u7cfb\u7edf\u542f\u52a8\u65f6,\u8bf7\u786e\u4fdd\u9009\u62e9\u201cTry or Install Ubuntu\". \u7cfb\u7edf\u542f\u4f1a\u542f\u52a8U\u76d8\u4e2d\u7684Ubuntu live\u7cfb\u7edf, \u5728\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d, \u4f1a\u6709\u51e0\u4e2a\u9009\u9879\u8981\u9009\u62e9\u5982\u4e0b\u56fe\u6240\u793a, \u9009\u62e9\u8bed\u8a00 \u6b64\u5904\u76f4\u63a5\u4e0b\u4e00\u6b65 \u6b64\u5904\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u7f51\u7edc\u8fde\u63a5\u53ef\u4ee5\u9009\u76f4\u63a5\u8fde\u63a5,\u4e5f\u53ef\u4ee5\u9009\u62e9wifi\u5f53\u7136,wifi\u5357\u8981\u914d\u7f6e\u70ed\u70b9. \u540c\u65f6,\u5728\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d,\u8981\u4fdd\u6301\u7f51\u7edc\u7545\u901a( *\u4e00\u5b9a\u8981\u80fd\u6b63\u5e38\u8bbf\u95eeGoogle\u53caHomeAssistant\u5b98\u7f51 ),\u80fd\u6b63\u5e38\u7684\u8bbf\u95ee\u5e76\u4e0b\u8f7dHomeAssistantOS\u7684\u955c\u50cf. \u5728try\u6a21\u5f0f\u4e2d,\u4e0b\u8f7dha\u5b89\u65b9\u955c\u50cf \u8fdb\u5165Ubuntu Live\u7cfb\u7edf\u540e,\u6253\u5f00\u6d4f\u89c8\u5668,\u8bbf\u95eeHomeAssistant\u7684 \u5b98\u65b9\u6587\u6863 , \u8fdb\u5165HomeAssistant\u5b98\u7f51,\u70b9\\\u51fb\u83dc\u5355Installstatiion,\u8fdb\u5165\u5b89\u88c5\u8bf4\u660e \u627e\u5230GenericX86-84,\u5e76\u6253\u5f00\u8fd9\u4e2a\u5728\u9875\u9762 \u627e\u5230\u9875\u9762\u4e2d\u7684\u955c\u50cf\u4e0b\u8f7d\u5730\u5740\u5982\u4e0b\u56fe \u4e0b\u8f7d HomeAssistOs-x86-64\u955c\u50cf \u5f00\u59cb\u4e0b\u8f7d\u540e,\u5982\u4e0b\u56fe\u6240\u793a \u4e0b\u8f7d\u8fc7\u7a0b\u4e2d\u5982\u4e0b\u56fe\u6240\u793a \u4e0b\u8f7d\u5b8c\u6210\u540e \u6587\u4ef6\u4fdd\u5b58\u5728/home/Downloads/hos_Generic-86-64-15.1.img.xz \u4f7f\u7528ubuntu live\u7684\u81ea\u5e26\u7684\u78c1\u76d8\u6062\u590d\u5de5\u5177\u5199\u5165\u955c\u50cf\u5230\u786c\u76d8. \u5728Ubuntu Live\u7684\u7cfb\u7edf\u4e2d,\u627e\u5230\u663e\u793a\u5e94\u7528\u7a0b\u5e8f(\u4e00\u822c\u5728\u5de6\u4e0a\u89d2\u6216\u53f3\u4e0b\u89d2), \u641c\u7d22\u5e76\u627e\u5230Disks\u5e94\u7528\u7a0b\u5e8f,\u5e76\u6253\u5f00Disks\u5e94\u7528\u7a0b\u5e8f. \u5728\u5de6\u4fa7\u5217\u8868\u4e2d\u627e\u5230\u5e76\u9009\u62e9\u4f60\u7684\u76ee\u6807\u78c1\u76d8(\u4e00\u822c\u4e3a\u4f60\u8981\u5b89\u88c5HAOS\u7684\u786c\u76d8) \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u83dc\u5355\u56fe\u6807\uff08\u4e09\u4e2a\u70b9\uff09\uff0c\u9009\u62e9\u201c\u6062\u590d\u78c1\u76d8\u955c\u50cf\u201d \u6d4f\u89c8\u5e76\u9009\u62e9\u4f60\u4e0b\u8f7d\u7684HAOS\u955c\u50cf\u6587\u4ef6\u3002 \u70b9\u51fb,\u5e76\u6d4f\u89c8\u5230\u4e0b\u8f7d\u7684\u6587\u4ef6 hos_Generic-86-64-15.1.img.xz \u786e\u8ba4\u76ee\u6807\u78c1\u76d8\uff0c\u5e76\u5f00\u59cb\u955c\u50cf\u6062\u590d\u8fc7\u7a0b\u3002 \u786e\u8ba4\u6807\u786c\u76d8\u6b63\u786e\u540e,\u7ee7\u7eed \u63d0\u793a\u786e\u8ba4\u65f6\u70b9\u51fb Restore \u63d0\u793a\u6388\u6743\u65f6,\u70b9\u51fb Authenticate \u786e\u5b9a\u540e,\u5c31\u4f1a\u5f00\u59cb\u628a\u955c\u50cf\u6587\u4ef6\u5199\u5165\u786c\u76d8 \u8bf7\u6ce8\u610f,\u8fd9\u4e2a\u8fc7\u7a0b\u4e00\u5c06\u4f1a,\u6e05\u9664\u786c\u76d8\u4e0a\u539f\u6709\u7684\u6570\u636e,\u8bf7\u786e\u4fdd\u5df2\u5907\u4efd\u91cd\u8981\u6570\u636e. \u5199\u5165\u5b8c\u6210\u540e,\u5982\u4e0b\u56fe\u6240\u793a \u6b64\u65f6,\u5c31\u5df2\u7ecf\u6210\u529f\u7684\u628aHA\u955c\u50cf\u5199\u5165\u5230\u786c\u548c\u808b\u4e2d\u4e86 \u79fb\u9664U\u76d8 \u4e00\u65e6Home Assistant\u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\u5b8c\u6210\uff0c\u5173\u95ed\u7cfb\u7edf\u3002 \u5f53Ubuntu\u5173\u95ed\u540e\uff0c\u79fb\u9664USB\u95ea\u5b58\u9a71\u52a8\u5668\uff08Ubuntu\u4f1a\u901a\u77e5\u60a8\u53ef\u4ee5\u5b89\u5168\u79fb\u9664\uff09\u3002 \u91cd\u542f\u7cfb\u7edf. \u73b0\u5728\uff0c\u60a8\u7684Home Assistant\u670d\u52a1\u5668\u5df2\u7ecf\u8bbe\u7f6e\u5b8c\u6bd5\uff0c\u60a8\u53ef\u4ee5\u5f00\u59cb\u4f7f\u7528\u5b83\u3002 \u8fdb\u5165HA cli\u754c\u9762 \u7cfb\u7edf\u542f\u52a8\u6210\u529f\u540e\uff0c\u5982\u4e0b\u56fe\u6240\u793a \u901a\u8fc7\u6d4f\u89c8\u5668,\u8f93\u5165\u63a7\u5236\u53f0\u63d0\u793a\u7684IP\u52a0\u7aef\u53e3 http://192.168.3:8123 \u5373\u53ef\u8fdb\u5165\u56fe\u578b\u5316\u754c\u9762,\u5982\u4e0b","title":"\u57fa\u4e8elinux\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf"},{"location":"install-guide/WinPeInstall/","text":"Windows PE \u4e0b\u5199\u5165 HA \u955c\u50cf \u00b6 windows Pe\u4e0b\u5199\u5165\u786c\u76d8\u955c\u50cf\u7684\u4e3b\u8981\u601d\u8def\u662f\u4f7f\u7528Roadkilnet\u5f00\u53d1\u7684Rodakill's Disk Image\u5de5\u5177\u628aHA\u7684\u955c\u50cf\u5199\u5165\u786c\u76d8. \u4e0b\u8f7dDisk Image \u00b6 DiskImage\u7684\u5b98\u65b9\u4e0b\u8f7d\u5730\u5740\u4e3a ) https://roadkil.net/program.php?ProgramID=12&Action=NewOSID&DownloadVersion=12&Installer=NO \u8fdb\u5165\u7f51\u7ad9\u7684\u4e0b\u8f7d\u9875\u9762,\u5982\u4e0b,\u9009\u62e9windows8 10 or 11\u548cStand Alone Version\u7248\u672c,\u7136\u540e\u70b9\u51fb\u4e0b\u8f7d \u4e0b\u8f7d\u5b8c\u6210\u540e,\u5f97\u5230\u5982\u4e0bDiskImage_1_6_WinAll .exe\u6587\u4ef6 ,\u4fdd\u5b58\u597d,\u540e\u9762\u9700\u8981\u4fdd\u5b58\u4e48U\u76d8\u3002 \u5236\u4f5cWindowsPE\u5f15\u5bfcU\u76d8 \u00b6 windows\u7684PE\u5236\u4f5c\u5de5\u5177\u6709\u5f88\u591a\uff0c\u6bd4\u5982\u8001\u6bdb\u6843,\u5927\u767d\u83dc,\u7b49,\u4f46\u8fd9\u4e9b\u5927\u591a\u4f1a\u6709\u503c\u5165\u5e7f\u544a\u7b49,\u7528\u4e8e\u5b89\u88c5windows\u7cfb\u7edf\u4f1a\u6709\u8bb8\u591a\u5783\u573e\u8f6f\u4ef6,\u8fd9\u91cc\u63a8\u8350\u4f7f\u7528\" \u5faePE\u5de5\u5177\u7bb1 \",\u4e0b\u8f7d\u5b89\u88c5\u7a0b\u5e8f\u5982\u4e0b: \u8fd0\u884cWePev2.3.exe \u70b9\u51fb\u53f3\u4e0b\u89d2\u7684\u5b89\u88c5\u5230U\u76d8\u56fe\u6807 \u9009\u62e9\u6b63\u786e\u7684\u4ea7\uff0c\u5e76\u914d\u597d\u5377\u6807\uff0c\u70b9\u51fb\u7acb\u5373\u5b89\u88c5\u5230U\u76d8\uff0c \u63d0\u793a\u5f00\u59cb\u5236\u4f5cU\u76d8 \u7a0d\u7b49\u7247\u523b \u7cfb\u7edf\u63d0\u793a\u5236\u4f5c\u5b8c\u6210 \u4e0b\u8f7d\u5e76\u89e3\u538bHAOS\u955c\u50cf\u5230U\u76d8 \u00b6 \u70b9\u51fb\u8bbf\u95ee Ha-os-GenerricX86-64\u9875\u9762 ,\u627e\u5230\u4e0b\u955c\u50cf\u7684\u4e0b\u8f7d\u94fe\u63a5 \u4e5f\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u5982\u4e0b\u94fe\u63a5 \u4e0b\u8f7d,\u4f46\u5c3d\u91cf\u8fd8\u662f\u6309\u4e0a\u8ff0\u65b9\u6cd5\u4e0b\u8f7d,\u4fdd\u8bc1\u6bcf\u6b21\u4e0b\u8f7d\u7684\u90fd\u662f\u5b98\u7f51\u6700\u65b0\u7684\u7248\u672c. \u4e0b\u8f7d\u5b8c\u6210\u540e\u5982\u4e0b \u89e3\u538b\u8fd9\u4e2a\u6587\u4ef6 \u5f97\u5230haos_generic-x86-64-15.1.img,\u628a\u8fd9\u4e2a\u6587\u4ef6\u590d\u5236\u5230U\u76d8\u4e2d\u4efb\u610f\u76ee\u5f55 \u6bd4\u5982\uff0c\u6211\u653e\u5230\u4e86\u5982\u4e0b\u76ee\u5f55 \u628a\u4e4b\u524d\u4e0b\u8f7d\u597d\u7684Disk Image\u653e\u5165U\u76d8 \u00b6 \u81f3\u6b64WINpe\u5f15\u5bfcU\u76d8\u5c31\u5236\u4f5c\u597d\u4e86\u3002 \u7528\u6b64U\u76d8\u5f15\u5bfc\u5c0f\u5de5\u63a7\u673a\uff0c\u6ce8\u610f\u610f\u8981\u6b63\u786e\u7684\u914d\u7f6eBIOS\uff0c\u53ca\u8981\u7528\u6b63\u786e\u7684\u6539\u53d8\u542f\u52a8\u987a\u5e8f\u7684\u65b9\u6cd5\u5982F11\u5e38\u6309, \u5f15\u5bfc\u6210\u529f\u767d\u5e26 ,\u76f4\u5165PE\u542f\u52a8\u754c\u9762\uff0c\u9009 \u7b2c\u4e00\u9879\u9ed8\u8ba4\uff0c\u7ee7\u7eed \u7a0d\u5019\u4f1a\u8fdb\u5165PE\u7cfb\u7edf \u627e\u5230\u5e76\u542f\u52a8diskImage\u5199\u76d8\u5de5\u5177 \u70b9YES\u7ee7\u7eed \u9009 \u62e9\u4e0b\u8f7d\u597d\u7684HAOS\u7684\u5b89\u88c5\u955c\u50cfimg\u6587\u4ef6 \u63d0\u793a\u6570\u636e\u6709\u4e22\u5931\u98ce\u9669\u65f6,\u70b9\u662f \u6ce8\u610f\u5728\u5199\u5165\u4e4b\u524d,\u4e00\u5b9a\u8981\u786e\u8ba4\u662f\u786c\u76d8\u800c\u975eU\u76d8\uff0c\u4e00\u822c\u4e3aphysical disk 0 \u5199\u5165\u5b8c\u6210\u540e\u4f1a\u63d0\u793a\u5199\u5165\u6210\u529f \u91cd\u65b0\u542f\u52a8\u8fdb\u5165HA cli\u754c\u9762 \u00b6 \u7cfb\u7edf\u542f\u52a8\u6210\u529f\u540e\uff0c\u5982\u4e0b\u56fe\u6240\u793a \u901a\u8fc7\u6d4f\u89c8\u5668,\u8f93\u5165\u63a7\u5236\u53f0\u63d0\u793a\u7684IP\u52a0\u7aef\u53e3 http://192.168.3:8123 \u5373\u53ef\u8fdb\u5165\u56fe\u578b\u5316\u754c\u9762,\u5982\u4e0b","title":"Windows PE \u4e0b\u5199\u5165 HA \u955c\u50cf"},{"location":"install-guide/WinPeInstall/#windows-pe-ha","text":"windows Pe\u4e0b\u5199\u5165\u786c\u76d8\u955c\u50cf\u7684\u4e3b\u8981\u601d\u8def\u662f\u4f7f\u7528Roadkilnet\u5f00\u53d1\u7684Rodakill's Disk Image\u5de5\u5177\u628aHA\u7684\u955c\u50cf\u5199\u5165\u786c\u76d8.","title":"Windows PE \u4e0b\u5199\u5165 HA \u955c\u50cf"},{"location":"install-guide/WinPeInstall/#disk-image","text":"DiskImage\u7684\u5b98\u65b9\u4e0b\u8f7d\u5730\u5740\u4e3a ) https://roadkil.net/program.php?ProgramID=12&Action=NewOSID&DownloadVersion=12&Installer=NO \u8fdb\u5165\u7f51\u7ad9\u7684\u4e0b\u8f7d\u9875\u9762,\u5982\u4e0b,\u9009\u62e9windows8 10 or 11\u548cStand Alone Version\u7248\u672c,\u7136\u540e\u70b9\u51fb\u4e0b\u8f7d \u4e0b\u8f7d\u5b8c\u6210\u540e,\u5f97\u5230\u5982\u4e0bDiskImage_1_6_WinAll .exe\u6587\u4ef6 ,\u4fdd\u5b58\u597d,\u540e\u9762\u9700\u8981\u4fdd\u5b58\u4e48U\u76d8\u3002","title":"\u4e0b\u8f7dDisk Image"},{"location":"install-guide/WinPeInstall/#windowspeu","text":"windows\u7684PE\u5236\u4f5c\u5de5\u5177\u6709\u5f88\u591a\uff0c\u6bd4\u5982\u8001\u6bdb\u6843,\u5927\u767d\u83dc,\u7b49,\u4f46\u8fd9\u4e9b\u5927\u591a\u4f1a\u6709\u503c\u5165\u5e7f\u544a\u7b49,\u7528\u4e8e\u5b89\u88c5windows\u7cfb\u7edf\u4f1a\u6709\u8bb8\u591a\u5783\u573e\u8f6f\u4ef6,\u8fd9\u91cc\u63a8\u8350\u4f7f\u7528\" \u5faePE\u5de5\u5177\u7bb1 \",\u4e0b\u8f7d\u5b89\u88c5\u7a0b\u5e8f\u5982\u4e0b: \u8fd0\u884cWePev2.3.exe \u70b9\u51fb\u53f3\u4e0b\u89d2\u7684\u5b89\u88c5\u5230U\u76d8\u56fe\u6807 \u9009\u62e9\u6b63\u786e\u7684\u4ea7\uff0c\u5e76\u914d\u597d\u5377\u6807\uff0c\u70b9\u51fb\u7acb\u5373\u5b89\u88c5\u5230U\u76d8\uff0c \u63d0\u793a\u5f00\u59cb\u5236\u4f5cU\u76d8 \u7a0d\u7b49\u7247\u523b \u7cfb\u7edf\u63d0\u793a\u5236\u4f5c\u5b8c\u6210","title":"\u5236\u4f5cWindowsPE\u5f15\u5bfcU\u76d8"},{"location":"install-guide/WinPeInstall/#haosu","text":"\u70b9\u51fb\u8bbf\u95ee Ha-os-GenerricX86-64\u9875\u9762 ,\u627e\u5230\u4e0b\u955c\u50cf\u7684\u4e0b\u8f7d\u94fe\u63a5 \u4e5f\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u5982\u4e0b\u94fe\u63a5 \u4e0b\u8f7d,\u4f46\u5c3d\u91cf\u8fd8\u662f\u6309\u4e0a\u8ff0\u65b9\u6cd5\u4e0b\u8f7d,\u4fdd\u8bc1\u6bcf\u6b21\u4e0b\u8f7d\u7684\u90fd\u662f\u5b98\u7f51\u6700\u65b0\u7684\u7248\u672c. \u4e0b\u8f7d\u5b8c\u6210\u540e\u5982\u4e0b \u89e3\u538b\u8fd9\u4e2a\u6587\u4ef6 \u5f97\u5230haos_generic-x86-64-15.1.img,\u628a\u8fd9\u4e2a\u6587\u4ef6\u590d\u5236\u5230U\u76d8\u4e2d\u4efb\u610f\u76ee\u5f55 \u6bd4\u5982\uff0c\u6211\u653e\u5230\u4e86\u5982\u4e0b\u76ee\u5f55","title":"\u4e0b\u8f7d\u5e76\u89e3\u538bHAOS\u955c\u50cf\u5230U\u76d8"},{"location":"install-guide/WinPeInstall/#disk-imageu","text":"\u81f3\u6b64WINpe\u5f15\u5bfcU\u76d8\u5c31\u5236\u4f5c\u597d\u4e86\u3002 \u7528\u6b64U\u76d8\u5f15\u5bfc\u5c0f\u5de5\u63a7\u673a\uff0c\u6ce8\u610f\u610f\u8981\u6b63\u786e\u7684\u914d\u7f6eBIOS\uff0c\u53ca\u8981\u7528\u6b63\u786e\u7684\u6539\u53d8\u542f\u52a8\u987a\u5e8f\u7684\u65b9\u6cd5\u5982F11\u5e38\u6309, \u5f15\u5bfc\u6210\u529f\u767d\u5e26 ,\u76f4\u5165PE\u542f\u52a8\u754c\u9762\uff0c\u9009 \u7b2c\u4e00\u9879\u9ed8\u8ba4\uff0c\u7ee7\u7eed \u7a0d\u5019\u4f1a\u8fdb\u5165PE\u7cfb\u7edf \u627e\u5230\u5e76\u542f\u52a8diskImage\u5199\u76d8\u5de5\u5177 \u70b9YES\u7ee7\u7eed \u9009 \u62e9\u4e0b\u8f7d\u597d\u7684HAOS\u7684\u5b89\u88c5\u955c\u50cfimg\u6587\u4ef6 \u63d0\u793a\u6570\u636e\u6709\u4e22\u5931\u98ce\u9669\u65f6,\u70b9\u662f \u6ce8\u610f\u5728\u5199\u5165\u4e4b\u524d,\u4e00\u5b9a\u8981\u786e\u8ba4\u662f\u786c\u76d8\u800c\u975eU\u76d8\uff0c\u4e00\u822c\u4e3aphysical disk 0 \u5199\u5165\u5b8c\u6210\u540e\u4f1a\u63d0\u793a\u5199\u5165\u6210\u529f","title":"\u628a\u4e4b\u524d\u4e0b\u8f7d\u597d\u7684Disk Image\u653e\u5165U\u76d8"},{"location":"install-guide/WinPeInstall/#ha-cli","text":"\u7cfb\u7edf\u542f\u52a8\u6210\u529f\u540e\uff0c\u5982\u4e0b\u56fe\u6240\u793a \u901a\u8fc7\u6d4f\u89c8\u5668,\u8f93\u5165\u63a7\u5236\u53f0\u63d0\u793a\u7684IP\u52a0\u7aef\u53e3 http://192.168.3:8123 \u5373\u53ef\u8fdb\u5165\u56fe\u578b\u5316\u754c\u9762,\u5982\u4e0b","title":"\u91cd\u65b0\u542f\u52a8\u8fdb\u5165HA cli\u754c\u9762"},{"location":"install-guide/configX86Bios/","text":"\u901a\u7528\u8bbe\u7f6e \u00b6 \u8981\u542f\u52a8Home Assistant\u64cd\u4f5c\u7cfb\u7edf\uff0cBIOS\u9700\u8981\u542f\u7528UEFI\u542f\u52a8\u6a21\u5f0f\u5e76\u7981\u7528\u5b89\u5168\u542f\u52a8\u3002 \u4ee5\u4e0b\u622a\u56fe\u6765\u81ea\u7b2c\u4e03\u4ee3\u82f1\u7279\u5c14NUC\u7cfb\u7edf\u3002\u60a8\u7684\u7cfb\u7edf\u4e0a\u7684BIOS\u83dc\u5355\u53ef\u80fd\u770b\u8d77\u6765\u4e0d\u540c\uff0c\u4f46\u9009\u9879\u5e94\u8be5\u4ecd\u7136\u5b58\u5728\u5e76\u5177\u6709\u7c7b\u4f3c\u7684\u540d\u79f0\u3002 \u8981\u8fdb\u5165BIOS\uff0c\u8bf7\u542f\u52a8\u60a8\u7684x86-64\u786c\u4ef6\u5e76\u53cd\u590d\u6309\u4e0bF2\u952e\uff08\u5728\u67d0\u4e9b\u7cfb\u7edf\u4e0a\uff0c\u8fd9\u53ef\u80fd\u662fDel\u3001F1\u6216F10\u952e\uff09\u3002 \u786e\u4fdd\u542f\u7528\u4e86UEFI\u542f\u52a8\u6a21\u5f0f\u3002 \u7981\u7528\u5b89\u5168\u542f\u52a8\u3002 \u4fdd\u5b58\u66f4\u6539\u5e76\u9000\u51fa\u3002 BIOS\u914d\u7f6e\u73b0\u5df2\u5b8c\u6210\u3002 \u516c\u53f8\u5c0f\u5de5\u63a7\u673a(1900)\u914d\u7f6e \u00b6 \u516c\u53f8\u7684\u5c0f\u5de5\u63a7\u673a\u8fdb\u5165Bios\u7684\u65b9\u5f0f,\u662f\u5f00\u673a\u65f6,\u6309DEL\u952e,\u8fdb\u5165\u5982\u4e0b\u754c\u9762 \u8fdb\u5165Bios\u540e,\u8981\u8c03OS Selection,\u9ed8\u8ba4\u4e3awindows7\u9700\u8981\u8c03\u6574\u4e3aLinux\u5982\u4e0b\u56fe \u7136\u540e\u4fdd\u5b58,\u9000\u51fa \u63d0\u793a\u4fdd\u5b58\u65f6,\u9009\u62e9YES","title":"configX86Bios"},{"location":"install-guide/configX86Bios/#_1","text":"\u8981\u542f\u52a8Home Assistant\u64cd\u4f5c\u7cfb\u7edf\uff0cBIOS\u9700\u8981\u542f\u7528UEFI\u542f\u52a8\u6a21\u5f0f\u5e76\u7981\u7528\u5b89\u5168\u542f\u52a8\u3002 \u4ee5\u4e0b\u622a\u56fe\u6765\u81ea\u7b2c\u4e03\u4ee3\u82f1\u7279\u5c14NUC\u7cfb\u7edf\u3002\u60a8\u7684\u7cfb\u7edf\u4e0a\u7684BIOS\u83dc\u5355\u53ef\u80fd\u770b\u8d77\u6765\u4e0d\u540c\uff0c\u4f46\u9009\u9879\u5e94\u8be5\u4ecd\u7136\u5b58\u5728\u5e76\u5177\u6709\u7c7b\u4f3c\u7684\u540d\u79f0\u3002 \u8981\u8fdb\u5165BIOS\uff0c\u8bf7\u542f\u52a8\u60a8\u7684x86-64\u786c\u4ef6\u5e76\u53cd\u590d\u6309\u4e0bF2\u952e\uff08\u5728\u67d0\u4e9b\u7cfb\u7edf\u4e0a\uff0c\u8fd9\u53ef\u80fd\u662fDel\u3001F1\u6216F10\u952e\uff09\u3002 \u786e\u4fdd\u542f\u7528\u4e86UEFI\u542f\u52a8\u6a21\u5f0f\u3002 \u7981\u7528\u5b89\u5168\u542f\u52a8\u3002 \u4fdd\u5b58\u66f4\u6539\u5e76\u9000\u51fa\u3002 BIOS\u914d\u7f6e\u73b0\u5df2\u5b8c\u6210\u3002","title":"\u901a\u7528\u8bbe\u7f6e"},{"location":"install-guide/configX86Bios/#1900","text":"\u516c\u53f8\u7684\u5c0f\u5de5\u63a7\u673a\u8fdb\u5165Bios\u7684\u65b9\u5f0f,\u662f\u5f00\u673a\u65f6,\u6309DEL\u952e,\u8fdb\u5165\u5982\u4e0b\u754c\u9762 \u8fdb\u5165Bios\u540e,\u8981\u8c03OS Selection,\u9ed8\u8ba4\u4e3awindows7\u9700\u8981\u8c03\u6574\u4e3aLinux\u5982\u4e0b\u56fe \u7136\u540e\u4fdd\u5b58,\u9000\u51fa \u63d0\u793a\u4fdd\u5b58\u65f6,\u9009\u62e9YES","title":"\u516c\u53f8\u5c0f\u5de5\u63a7\u673a(1900)\u914d\u7f6e"},{"location":"install-guide/installHa/","text":"\u5b89\u88c5HomeAssistant \u00b6 HomeAssistant\u7684\u5b89\u88c5\u6709\u591a\u79cd\u65b9\u5f0f\u4e0e\u65b9\u6cd5,\u6700\u5e38\u7528\u6298\u6709\u786c\u5907\u76f4\u63a5\u5b89\u88c5,docker\u5b89\u88c5\u865a\u62df\u673a\u5b89\u88c5\u7b49. \u4e0b\u9762\u6211\u4eec\u5c31\u4ee5\u786c\u76d8\u5b89\u88c5HAOS\u4e3a\u4f8b\u4ecb\u7ecd\u57fa\u4e8ex86\u786c\u4ef6\u7684\u57fa\u7840\u4e0a\u5b89\u88c5HAOS,\u57fa\u5b83\u7684\u5b89\u88c5\u65b9\u5f0f,\u540e\u7eed\u4f1a\u4ecb\u7ecd. BIOS\u914d\u7f6e \u00b6 \u91cd\u8981\u63d0\u9192 \u5728\u5b89\u88c5HAOS\u4e4b\u524d\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684BIOS\u8bbe\u7f6e\u6b63\u786e\u3002\u4ee5\u4e0b\u662f\u4e00\u4e9b\u5efa\u8bae\u7684BIOS\u914d\u7f6e\uff1a \u542f\u7528\u865a\u62df\u5316\u6280\u672f\uff08VT-x\u6216AMD-V\uff09\u3002 \u7981\u7528\u5b89\u5168\u542f\u52a8\uff08Secure Boot\uff09\u3002 \u8bbe\u7f6e\u542f\u52a8\u987a\u5e8f\uff0c\u4ee5\u4fbf\u4eceUSB\u6216\u5149\u76d8\u542f\u52a8\u3002 \u8bf7\u5728\u5b89\u88c5\u4e4b\u524d\u52a1\u5fc5\u68c0\u67e5\u8fd9\u4e9b BIOS\u8bbe\u7f6e \u3002 \u516c\u53f8\u7684\u5c0f\u4e3b\u673a\u8fd9\u4e00 BIOS\u8bbe\u7f6e\u89c6\u9891\u6f14\u793a HAOS\u5b89\u88c5 \u00b6 \u5b89\u88c5\u5728X86PC\u786c\u76d8\u4e0a \u00b6 haos\u8981\u5b89\u88c5\u5728\u786c\u76d8\u4e0a,\u603b\u4f53\u601d\u8def\u662f,\u5148\u5230HA\u7684\u5b98\u7f51\u4e0b\u8f7dhaos\u7684\u5b98\u65b9\u955c\u50cf\u6587\u4ef6 ,\u4e00\u822c\u4e3a.gz\u6216.gz.xz\u7b49\u683c\u5f0f,\u7136\u540e\u518d\u7528\u5199\u76d8\u5de5\u5177,\u76f4\u63a5\u628a\u8fd9\u4e2a\u955c\u50cf\u5199\u5165\u786c\u76d8. \u5c06\u955c\u50cf\u6587\u4ef6\u5199\u5165\u786c\u76d8\u4e0a\u7ea6\u6709\u4e24\u79cd\u65b9\u6cd5: \u5728linux\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u5199\u5165\u955c\u50cf \u5728windows\u5e73\u53f0\u4e0a\u5199\u5165\u955c\u50cf \u57fa\u4e8elinux\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf \u00b6 \u8fd9\u79cd\u65b9\u6cd5\u7684\u64cd\u4f5c\u65b9\u6cd5\u662f: \u5148\u4e0b\u8f7d\u5b89\u88c5ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf \u5728\u865a\u62df\u673a\u6216\u7269\u7406\u673a\u4e2d\u5b89\u88c5\u6b64ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf.(\u4e34\u65f6\u4f7f\u7528) \u4f7f\u7528ubuntu24.04\u5236\u4f5clinux\u542f\u52a8U\u76d8ubuntu live \u4f7f\u7528\u542f\u52a8U\u76d8ubuntu live\u5f15\u5bfcx86\u5c0f\u5de5\u63a7\u673a. \u8fdb\u5165try\u6a21\u5f0f(\u4e0d\u5b89\u88c5). \u5728try\u6a21\u5f0f\u4e2d,\u4e0b\u8f7dha\u5b89\u65b9\u955c\u50cf \u4f7f\u7528ubuntu live\u7684\u81ea\u5e26\u7684\u78c1\u76d8\u6062\u590d\u5de5\u5177\u5199\u5165\u955c\u50cf\u5230\u786c\u76d8. \u79fb\u9664U\u76d8 \u91cd\u542f\u7cfb\u7edf \u8fdb\u5165HA cli\u754c\u9762 \u6b64\u79cd\u65b9\u6cd5\u7684\u597d\u5904\u662f,\u4e0d\u7528\u62c6\u9664\u786c\u76d8,\u76f4\u63a5\u5728\u5c0f\u5de5\u63a7\u673a\u4e0a\u5c31\u80fd\u5b9e\u73b0\u64cd\u4f5c. \u57fa\u4e8e windows\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf. \u00b6 \u5b98\u65b9\u5728\u4ecb\u7ecd\u8fd9\u79cd\u65b9\u6cd5\u662f\u8ba9\u7528\u6237\u628a\u5c0f\u5de5\u63a7\u673a\u7684\u786c\u76d8\u62c6\u4e0b,\u88c5\u5165\u7528\u6237\u81ea\u5df2\u7684\u7535\u8111\u4e2d,\u5e76\u7528balenaEtcher\u5199\u76d8\u5de5\u5177\u5c06\u955c\u50cf\u5199\u5165\u5c0f\u5de5\u63a7\u7684\u673a\u7684\u786c\u76d8\u540e,\u518d\u628a\u5c0f\u5de5\u63a7\u673a\u673a\u7684\u786c\u76d8\u88c5\u5165\u5c0f\u5de5\u63a7\u673a.\u8fd9\u65b9\u6cd5\u65b9\u4fbf\u5feb\u6377,\u4f46\u662f\u9700\u8981\u62c6\u673a,\u6709\u9700\u8981\u7684\u7528\u6237\u53ef\u4ee5\u5230\u5b98\u65b9\u4ecb\u7ecd\u9875\u9762 Geneic x86-64 \u53bb\u770b\u5177\u4f53\u64cd\u4f5c\u65b9\u6cd5. \u6211\u4eec\u5e38\u7528\u7684\u65b9\u6cd5\u5982\u4e0b: \u5236\u4f5c\u4e00\u4e2a\u5176\u4e8ewindows PE\u7cfb\u7edf\u7684\u5f15\u5bfcU\u76d8. \u4e0b\u8f7d\u5b98\u65b9\u955c\u50cf\u5230U\u76d8\u4e2d\u3002 \u89e3\u538b\u955c\u50cf\u4e3a.img\u6587\u4ef6 \u7528PE\u5e26\u7684\u5199\u76d8\u5de5\u5177\uff0c\u5c06HA\u955c\u50cf\u5199\u5165\u786c\u76d8\u3002 \u79fb\u9664U\u76d8\u3002 \u91cd\u542f\u8fdb\u5165HA ClI. \u76f4\u63a5 \u8fd8\u539f\u6574\u4e2a\u78c1\u76d8 \u00b6 \u56e0\u3001\u4e3aHA\u5b89\u88c5\u914d\u7f6e\uff0c\u8f83\u4e3a\u590d\u6742\uff0c\u6240\u4ee5\uff0c\u6211\u4eec\u4f7f\u7528\u78c1\u76d8\u5168\u76d8\u7684\u6620\u50cf\u6765\u8fd8\u539f\u78c1\u76d8\uff0c\u6765\u8fbe\u5230\u5feb\u901f\u5b89\u88c5\u76ee\u7684\uff0c\u6b64\u65b9\u6cd5\uff0c\u80fd\u5728\u534a\u5c0f\u65f6\u5de6\u53f3\u7684\u65f6\u95f4\uff0c\u76f4\u63a5\u5b89\u88c5\u597dHA\uff0c\u540c\u65f6\uff0c\u6240\u4ee5\u7528\u7684\u5230\u8bbe\u7f6e\u4e0e\u63d2\u4ef6\u7a0b\u5e8f\u4e0e\u540c\u6b65\u88c5\u597d\uff0c\u5927\u5927\u8282\u7701\u4e86\u65f6\u95f4\u3002 \u5b89\u88c5\u5728VMware ESXi\u4e0a \u00b6 vmware ESXi\u662f\u4e00\u4e2a\u4f01\u4e1a\u7ea7\u7684\u865a\u62df\u5316\u5e73\u53f0\uff0c\u53ef\u4ee5\u5728\u5176\u4e0a\u5b89\u88c5Home Assistant. \u8be6\u60c5\u89c1: vmwareExsi\u5b89\u88c5Ha.md","title":"\u5b89\u88c5"},{"location":"install-guide/installHa/#homeassistant","text":"HomeAssistant\u7684\u5b89\u88c5\u6709\u591a\u79cd\u65b9\u5f0f\u4e0e\u65b9\u6cd5,\u6700\u5e38\u7528\u6298\u6709\u786c\u5907\u76f4\u63a5\u5b89\u88c5,docker\u5b89\u88c5\u865a\u62df\u673a\u5b89\u88c5\u7b49. \u4e0b\u9762\u6211\u4eec\u5c31\u4ee5\u786c\u76d8\u5b89\u88c5HAOS\u4e3a\u4f8b\u4ecb\u7ecd\u57fa\u4e8ex86\u786c\u4ef6\u7684\u57fa\u7840\u4e0a\u5b89\u88c5HAOS,\u57fa\u5b83\u7684\u5b89\u88c5\u65b9\u5f0f,\u540e\u7eed\u4f1a\u4ecb\u7ecd.","title":"\u5b89\u88c5HomeAssistant"},{"location":"install-guide/installHa/#bios","text":"\u91cd\u8981\u63d0\u9192 \u5728\u5b89\u88c5HAOS\u4e4b\u524d\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684BIOS\u8bbe\u7f6e\u6b63\u786e\u3002\u4ee5\u4e0b\u662f\u4e00\u4e9b\u5efa\u8bae\u7684BIOS\u914d\u7f6e\uff1a \u542f\u7528\u865a\u62df\u5316\u6280\u672f\uff08VT-x\u6216AMD-V\uff09\u3002 \u7981\u7528\u5b89\u5168\u542f\u52a8\uff08Secure Boot\uff09\u3002 \u8bbe\u7f6e\u542f\u52a8\u987a\u5e8f\uff0c\u4ee5\u4fbf\u4eceUSB\u6216\u5149\u76d8\u542f\u52a8\u3002 \u8bf7\u5728\u5b89\u88c5\u4e4b\u524d\u52a1\u5fc5\u68c0\u67e5\u8fd9\u4e9b BIOS\u8bbe\u7f6e \u3002 \u516c\u53f8\u7684\u5c0f\u4e3b\u673a\u8fd9\u4e00 BIOS\u8bbe\u7f6e\u89c6\u9891\u6f14\u793a","title":"BIOS\u914d\u7f6e"},{"location":"install-guide/installHa/#haos","text":"","title":"HAOS\u5b89\u88c5"},{"location":"install-guide/installHa/#x86pc","text":"haos\u8981\u5b89\u88c5\u5728\u786c\u76d8\u4e0a,\u603b\u4f53\u601d\u8def\u662f,\u5148\u5230HA\u7684\u5b98\u7f51\u4e0b\u8f7dhaos\u7684\u5b98\u65b9\u955c\u50cf\u6587\u4ef6 ,\u4e00\u822c\u4e3a.gz\u6216.gz.xz\u7b49\u683c\u5f0f,\u7136\u540e\u518d\u7528\u5199\u76d8\u5de5\u5177,\u76f4\u63a5\u628a\u8fd9\u4e2a\u955c\u50cf\u5199\u5165\u786c\u76d8. \u5c06\u955c\u50cf\u6587\u4ef6\u5199\u5165\u786c\u76d8\u4e0a\u7ea6\u6709\u4e24\u79cd\u65b9\u6cd5: \u5728linux\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u5199\u5165\u955c\u50cf \u5728windows\u5e73\u53f0\u4e0a\u5199\u5165\u955c\u50cf","title":"\u5b89\u88c5\u5728X86PC\u786c\u76d8\u4e0a"},{"location":"install-guide/installHa/#linux","text":"\u8fd9\u79cd\u65b9\u6cd5\u7684\u64cd\u4f5c\u65b9\u6cd5\u662f: \u5148\u4e0b\u8f7d\u5b89\u88c5ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf \u5728\u865a\u62df\u673a\u6216\u7269\u7406\u673a\u4e2d\u5b89\u88c5\u6b64ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf.(\u4e34\u65f6\u4f7f\u7528) \u4f7f\u7528ubuntu24.04\u5236\u4f5clinux\u542f\u52a8U\u76d8ubuntu live \u4f7f\u7528\u542f\u52a8U\u76d8ubuntu live\u5f15\u5bfcx86\u5c0f\u5de5\u63a7\u673a. \u8fdb\u5165try\u6a21\u5f0f(\u4e0d\u5b89\u88c5). \u5728try\u6a21\u5f0f\u4e2d,\u4e0b\u8f7dha\u5b89\u65b9\u955c\u50cf \u4f7f\u7528ubuntu live\u7684\u81ea\u5e26\u7684\u78c1\u76d8\u6062\u590d\u5de5\u5177\u5199\u5165\u955c\u50cf\u5230\u786c\u76d8. \u79fb\u9664U\u76d8 \u91cd\u542f\u7cfb\u7edf \u8fdb\u5165HA cli\u754c\u9762 \u6b64\u79cd\u65b9\u6cd5\u7684\u597d\u5904\u662f,\u4e0d\u7528\u62c6\u9664\u786c\u76d8,\u76f4\u63a5\u5728\u5c0f\u5de5\u63a7\u673a\u4e0a\u5c31\u80fd\u5b9e\u73b0\u64cd\u4f5c.","title":"\u57fa\u4e8elinux\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf"},{"location":"install-guide/installHa/#windows","text":"\u5b98\u65b9\u5728\u4ecb\u7ecd\u8fd9\u79cd\u65b9\u6cd5\u662f\u8ba9\u7528\u6237\u628a\u5c0f\u5de5\u63a7\u673a\u7684\u786c\u76d8\u62c6\u4e0b,\u88c5\u5165\u7528\u6237\u81ea\u5df2\u7684\u7535\u8111\u4e2d,\u5e76\u7528balenaEtcher\u5199\u76d8\u5de5\u5177\u5c06\u955c\u50cf\u5199\u5165\u5c0f\u5de5\u63a7\u7684\u673a\u7684\u786c\u76d8\u540e,\u518d\u628a\u5c0f\u5de5\u63a7\u673a\u673a\u7684\u786c\u76d8\u88c5\u5165\u5c0f\u5de5\u63a7\u673a.\u8fd9\u65b9\u6cd5\u65b9\u4fbf\u5feb\u6377,\u4f46\u662f\u9700\u8981\u62c6\u673a,\u6709\u9700\u8981\u7684\u7528\u6237\u53ef\u4ee5\u5230\u5b98\u65b9\u4ecb\u7ecd\u9875\u9762 Geneic x86-64 \u53bb\u770b\u5177\u4f53\u64cd\u4f5c\u65b9\u6cd5. \u6211\u4eec\u5e38\u7528\u7684\u65b9\u6cd5\u5982\u4e0b: \u5236\u4f5c\u4e00\u4e2a\u5176\u4e8ewindows PE\u7cfb\u7edf\u7684\u5f15\u5bfcU\u76d8. \u4e0b\u8f7d\u5b98\u65b9\u955c\u50cf\u5230U\u76d8\u4e2d\u3002 \u89e3\u538b\u955c\u50cf\u4e3a.img\u6587\u4ef6 \u7528PE\u5e26\u7684\u5199\u76d8\u5de5\u5177\uff0c\u5c06HA\u955c\u50cf\u5199\u5165\u786c\u76d8\u3002 \u79fb\u9664U\u76d8\u3002 \u91cd\u542f\u8fdb\u5165HA ClI.","title":"\u57fa\u4e8ewindows\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf."},{"location":"install-guide/installHa/#_1","text":"\u56e0\u3001\u4e3aHA\u5b89\u88c5\u914d\u7f6e\uff0c\u8f83\u4e3a\u590d\u6742\uff0c\u6240\u4ee5\uff0c\u6211\u4eec\u4f7f\u7528\u78c1\u76d8\u5168\u76d8\u7684\u6620\u50cf\u6765\u8fd8\u539f\u78c1\u76d8\uff0c\u6765\u8fbe\u5230\u5feb\u901f\u5b89\u88c5\u76ee\u7684\uff0c\u6b64\u65b9\u6cd5\uff0c\u80fd\u5728\u534a\u5c0f\u65f6\u5de6\u53f3\u7684\u65f6\u95f4\uff0c\u76f4\u63a5\u5b89\u88c5\u597dHA\uff0c\u540c\u65f6\uff0c\u6240\u4ee5\u7528\u7684\u5230\u8bbe\u7f6e\u4e0e\u63d2\u4ef6\u7a0b\u5e8f\u4e0e\u540c\u6b65\u88c5\u597d\uff0c\u5927\u5927\u8282\u7701\u4e86\u65f6\u95f4\u3002","title":"\u76f4\u63a5\u8fd8\u539f\u6574\u4e2a\u78c1\u76d8"},{"location":"install-guide/installHa/#vmware-esxi","text":"vmware ESXi\u662f\u4e00\u4e2a\u4f01\u4e1a\u7ea7\u7684\u865a\u62df\u5316\u5e73\u53f0\uff0c\u53ef\u4ee5\u5728\u5176\u4e0a\u5b89\u88c5Home Assistant. \u8be6\u60c5\u89c1: vmwareExsi\u5b89\u88c5Ha.md","title":"\u5b89\u88c5\u5728VMware ESXi\u4e0a"},{"location":"install-guide/vmwareExsi%E5%AE%89%E8%A3%85Ha/","text":"\u57fa\u4e8evmWare Exsi\u5b89\u88c5HA \u00b6 1. \u51c6\u5907\u5de5\u4f5c \u00b6 \u4e0b\u8f7dVMware ESXi\u5b89\u88c5\u955c\u50cf. \u6253\u5f00\u9875\u9762 https://www.home-assistant.io/installation/alternative \u70b9\u51fb\u4e0b\u8f7d\u201c VMware ESXi/vSphere \u7684 .ova \u683c\u5f0f\u955c\u50cf\u6587\u4ef6\u201d \u6ce8\u610f1 \u4f7f\u7528 E1000 \u6216 E1000E \u865a\u62df\u7f51\u7edc\u9002\u914d\u5668\u3002\u5f53\u4f7f\u7528 VMware \u7684 VMXnet3 \u865a\u62df\u7f51\u7edc\u9002\u914d\u5668\u65f6\uff0c\u5df2\u786e\u8ba4\u5b58\u5728 mDNS/\u591a\u64ad\u53d1\u73b0\u95ee\u9898\u3002 \u89e3\u6790\uff1a E1000 \u548c E1000E\uff1a\u63a8\u8350\u7684\u865a\u62df\u7f51\u7edc\u9002\u914d\u5668 VMXnet3\uff1a\u53ef\u80fd\u4f1a\u5bfc\u81f4\u7f51\u7edc\u53d1\u73b0\u95ee\u9898 mDNS\uff1a\u591a\u64ad\u57df\u540d\u7cfb\u7edf \u591a\u64ad\u53d1\u73b0\uff1a\u8bbe\u5907\u5728\u7f51\u7edc\u4e0a\u81ea\u52a8\u53d1\u73b0\u548c\u901a\u4fe1\u7684\u673a\u5236 \u5efa\u8bae\uff1a \u5728 VMware ESXi \u521b\u5efa\u865a\u62df\u673a\u65f6 \u7f51\u7edc\u9002\u914d\u5668\u9009\u62e9 E1000 \u6216 E1000E \u907f\u514d\u4f7f\u7528 VMXnet3 \u6ce8\u610f2 \u5728ESXi\u4e0a\u901a\u8fc7OVF/OVA\u955c\u50cf\u5b89\u88c5\u865a\u62df\u673a\uff0c\u4e3b\u8981\u6b65\u9aa4\u5305\u62ec\uff1a\u767b\u5f55ESXi\u4e3b\u673a\uff0c\u9009\u62e9\u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\uff0c\u9009\u62e9\u201c\u4eceOVF\u6216OVA\u6587\u4ef6\u90e8\u7f72\u865a\u62df\u673a\u201d\uff0c\u7136\u540e\u9009\u62e9OVF\u6216OVA\u6587\u4ef6\u5e76\u5b8c\u6210\u540e\u7eed\u8bbe\u7f6e\u3002\ufeff \u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a \u767b\u5f55ESXi\u4e3b\u673a\uff1a:\u4f7f\u7528Web Client\u6216vSphere Client\u767b\u5f55\u5230\u60a8\u7684ESXi\u4e3b\u673a\u3002\ufeff \u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\uff1a:\u5728ESXi\u754c\u9762\u4e2d\uff0c\u627e\u5230\u5e76\u70b9\u51fb\u201c\u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\u201d\u9009\u9879\u3002\ufeff \u9009\u62e9\u90e8\u7f72\u7c7b\u578b\uff1a:\u9009\u62e9\u201c\u4eceOVF\u6216OVA\u6587\u4ef6\u90e8\u7f72\u865a\u62df\u673a\u201d\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u9009\u62e9OVF/OVA\u6587\u4ef6\uff1a:\u8f93\u5165\u865a\u62df\u673a\u540d\u79f0\uff0c\u7136\u540e\u9009\u62e9\u8981\u90e8\u7f72\u7684OVF\u6216OVA\u6587\u4ef6\uff0c\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u9009\u62e9\u5b58\u50a8\u4f4d\u7f6e\uff1a:\u9009\u62e9\u865a\u62df\u673a\u5b58\u50a8\u7684\u4f4d\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u9009\u62e9\u90e8\u7f72\u9009\u9879\uff1a:\u6839\u636e\u9700\u8981\u9009\u62e9\u90e8\u7f72\u9009\u9879\uff0c\u4f8b\u5982\u7f51\u7edc\u914d\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u5b8c\u6210\u90e8\u7f72\uff1a:\u5728\u201c\u5373\u5c06\u5b8c\u6210\u201d\u9875\u9762\uff0c\u68c0\u67e5\u8bbe\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u5b8c\u6210\u201d\u3002\ufeff \u542f\u52a8\u865a\u62df\u673a\uff1a:\u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u542f\u52a8\u65b0\u521b\u5efa\u7684\u865a\u62df\u673a\u5373\u53ef\u3002\ufeff \u6ce8\u610f\u4e8b\u9879\uff1a \u5982\u679c\u4f7f\u7528OVF\u6587\u4ef6\uff0c\u901a\u5e38\u9700\u8981\u914d\u5408VMDK\u7b49\u865a\u62df\u78c1\u76d8\u6587\u4ef6\u4e00\u8d77\u4f7f\u7528\u3002\ufeff \u786e\u4fddOVF\u6587\u4ef6\u548c\u76f8\u5173\u7684\u865a\u62df\u78c1\u76d8\u6587\u4ef6\u90fd\u5728\u540c\u4e00\u4e2a\u76ee\u5f55\u4e0b\uff0c\u6216\u8005\u4e0a\u4f20\u5230ESXi\u7684\u5b58\u50a8\u3002\ufeff \u5728\u201c\u90e8\u7f72\u9009\u9879\u201d\u9875\u9762\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u914d\u7f6e\u865a\u62df\u673a\u7684\u7f51\u7edc\u3001\u8d44\u6e90\u7b49\u8bbe\u7f6e\u3002\ufeff \u5982\u679c\u9047\u5230\u201c\u7f3a\u5c11\u78c1\u76d8\u955c\u50cf\u201d\u7b49\u62a5\u9519\uff0c\u53ef\u80fd\u662f\u7531\u4e8eOVF\u6587\u4ef6\u4e2d\u5f15\u7528\u7684\u78c1\u76d8\u6587\u4ef6\u8def\u5f84\u4e0d\u6b63\u786e\uff0c\u6216\u8005\u78c1\u76d8\u6587\u4ef6\u672a\u6b63\u786e\u4e0a\u4f20\u5230ESXi\u7684\u5b58\u50a8\uff0c\u9700\u8981\u68c0\u67e5\u5e76\u4fee\u6b63\u3002\ufeff \u5bf9\u4e8e\u67d0\u4e9bOVF\u6a21\u677f\uff0c\u53ef\u80fd\u9700\u8981\u8fdb\u884c\u4e00\u4e9b\u989d\u5916\u7684\u914d\u7f6e\uff0c\u4f8b\u5982\u4fee\u6539\u865a\u62df\u673a\u7684\u786c\u4ef6\u7248\u672c\u4ee5\u517c\u5bb9ESXi\u7248\u672c\u3002\ufeff \u901a\u8fc7\u4ee5\u4e0a\u6b65\u9aa4\uff0c\u60a8\u5c31\u53ef\u4ee5\u6210\u529f\u5730\u5728ESXi\u4e0a\u901a\u8fc7OVF/OVA\u955c\u50cf\u5b89\u88c5\u865a\u62df\u673a\u4e86 2. \u5b89\u88c5\u6b65\u9aa4 \u00b6 \u767b\u5f55\u5230ESXi\u4e3b\u673a\u7684Web\u754c\u9762\u3002 \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u70b9\u51fb\u201c\u865a\u62df\u673a\u201d\u3002 \u70b9\u51fb\u201c\u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\u201d\u6309\u94ae\u3002 \u9009\u62e9\u201c\u4eceOVF\u6216OVA\u6587\u4ef6\u90e8\u7f72\u865a\u62df\u673a\u201d\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u8f93\u5165\u865a\u62df\u673a\u540d\u79f0\uff0c\u5e76\u9009\u62e9\u4e0b\u8f7d\u7684Home Assistant OVA\u6587\u4ef6\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u9009\u62e9\u5b58\u50a8\u4f4d\u7f6e\uff0c\u901a\u5e38\u9009\u62e9\u9ed8\u8ba4\u7684\u5b58\u50a8\u4f4d\u7f6e\u5373\u53ef\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u5728\u201c\u7f51\u7edc\u6620\u5c04\u201d\u9875\u9762\uff0c\u9009\u62e9\u9002\u5f53\u7684\u7f51\u7edc\u9002\u914d\u5668\uff08\u786e\u4fdd\u4f7f\u7528E1000\u6216E1000E\uff09\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u5728\u201c\u5373\u5c06\u5b8c\u6210\u201d\u9875\u9762\uff0c\u68c0\u67e5\u8bbe\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u5b8c\u6210\u201d\u3002 \u9875\u9762\u5e95\u90e8\u4f1a\u663e\u793a\u90e8\u7f72\u8fdb\u5ea6\uff0c\u7b49\u5f85\u90e8\u7f72\u5b8c\u6210\u3002 \u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u60a8\u53ef\u4ee5\u5728\u865a\u62df\u673a\u5217\u8868\u4e2d\u770b\u5230\u65b0\u521b\u5efa\u7684Home Assistant\u865a\u62df\u673a\u3002 \u9009\u4e2dHome Assistant\u865a\u62df\u673a\uff0c\u70b9\u51fb\u201c\u542f\u52a8\u201d\u6309\u94ae\u6765\u542f\u52a8\u865a\u673a \u9996\u6b21\u542f\u52a8\u53ef\u80fd\u9700\u8981\u4e00\u4e9b\u65f6\u95f4\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\u3002 \u770b\u5230ha> \u8fdb\u793a\u7b26\u540e\uff0c\u53ef\u4ee5\u8bd5\u7740\u8f93\u5165 ha \u547d\u4ee4\u6765\u68c0\u67e5Home Assistant\u7684\u72b6\u6001\u3002 \u4e0a\u8ff0\u72b6\u6001\uff0c\u5982\u679c\u663e\u793a \"System is not ready with state: setup\"\uff0c\u8bf4\u660e\u7cfb\u7edf\u6b63\u5728\u5b89\u88c5\u4e2d\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\uff0c\u76f4\u5230\u7cfb\u7edf\u5b8c\u5168\u542f\u52a8\u540e\u518d\u8bbf\u95eeWeb\u754c\u9762\u3002\u9996\u6b21\u542f\u52a8 Home Assistant \u9700\u8981\u8f83\u957f\u65f6\u95f4\uff0c\u901a\u5e38\u9700\u8981 10-30 \u5206\u949f\uff0c\u8fd9\u53d6\u51b3\u4e8e\u60a8\u7684\u786c\u4ef6\u914d\u7f6e\u3002 \u7a0d\u7b49\u4e00\u4f1a\uff0c\u6211\u4eec\u518d\u6b21\u7528ha cli info\u6765\u67e5\u770b\u72b6\u6001 \u7136\u540e\u7528 ha network info \u6765\u67e5\u770b\u7f51\u7edc\u72b6\u6001,\u53ef\u89c1\u6211\u4eec\u7684IP\u5730\u5740\u662f:192.168.1.51,\u540e\u7eed\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u8fd9\u4e2aIP\u5730\u5740\u6765\u8bbf\u95eeHome Assistant\u7684Web\u754c\u9762\u3002 \u542f\u52a8\u540e\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u6d4f\u89c8\u5668\u8bbf\u95eeHome Assistant\u7684Web\u754c\u9762\uff0c\u901a\u5e38\u662f\u901a\u8fc7ESXi\u4e3b\u673a\u7684IP\u5730\u5740\u52a0\u4e0a\u7aef\u53e38123\u6765\u8bbf\u95ee\uff0c\u4f8b\u5982\uff1ahttp:// :8123\u3002 \u672c\u4f8b\u662fHttp://192.168.1.51:8123 \u5982\u4e0b\uff0c\u663e\u793a\uff0c\u8fd8\u5728\u5b89\u88c5\u4e2d \u7b49\u5f85\u5373\u53ef\uff0c\u540e\u7eed\u7684\u5b89\u88c5\u8c03\u8bd5\u7b49\uff0c\u89c1\u5176\u5b83\u6587\u6863\u3002","title":"vmwareExsi\u5b89\u88c5Ha"},{"location":"install-guide/vmwareExsi%E5%AE%89%E8%A3%85Ha/#vmware-exsiha","text":"","title":"\u57fa\u4e8evmWare Exsi\u5b89\u88c5HA"},{"location":"install-guide/vmwareExsi%E5%AE%89%E8%A3%85Ha/#1","text":"\u4e0b\u8f7dVMware ESXi\u5b89\u88c5\u955c\u50cf. \u6253\u5f00\u9875\u9762 https://www.home-assistant.io/installation/alternative \u70b9\u51fb\u4e0b\u8f7d\u201c VMware ESXi/vSphere \u7684 .ova \u683c\u5f0f\u955c\u50cf\u6587\u4ef6\u201d \u6ce8\u610f1 \u4f7f\u7528 E1000 \u6216 E1000E \u865a\u62df\u7f51\u7edc\u9002\u914d\u5668\u3002\u5f53\u4f7f\u7528 VMware \u7684 VMXnet3 \u865a\u62df\u7f51\u7edc\u9002\u914d\u5668\u65f6\uff0c\u5df2\u786e\u8ba4\u5b58\u5728 mDNS/\u591a\u64ad\u53d1\u73b0\u95ee\u9898\u3002 \u89e3\u6790\uff1a E1000 \u548c E1000E\uff1a\u63a8\u8350\u7684\u865a\u62df\u7f51\u7edc\u9002\u914d\u5668 VMXnet3\uff1a\u53ef\u80fd\u4f1a\u5bfc\u81f4\u7f51\u7edc\u53d1\u73b0\u95ee\u9898 mDNS\uff1a\u591a\u64ad\u57df\u540d\u7cfb\u7edf \u591a\u64ad\u53d1\u73b0\uff1a\u8bbe\u5907\u5728\u7f51\u7edc\u4e0a\u81ea\u52a8\u53d1\u73b0\u548c\u901a\u4fe1\u7684\u673a\u5236 \u5efa\u8bae\uff1a \u5728 VMware ESXi \u521b\u5efa\u865a\u62df\u673a\u65f6 \u7f51\u7edc\u9002\u914d\u5668\u9009\u62e9 E1000 \u6216 E1000E \u907f\u514d\u4f7f\u7528 VMXnet3 \u6ce8\u610f2 \u5728ESXi\u4e0a\u901a\u8fc7OVF/OVA\u955c\u50cf\u5b89\u88c5\u865a\u62df\u673a\uff0c\u4e3b\u8981\u6b65\u9aa4\u5305\u62ec\uff1a\u767b\u5f55ESXi\u4e3b\u673a\uff0c\u9009\u62e9\u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\uff0c\u9009\u62e9\u201c\u4eceOVF\u6216OVA\u6587\u4ef6\u90e8\u7f72\u865a\u62df\u673a\u201d\uff0c\u7136\u540e\u9009\u62e9OVF\u6216OVA\u6587\u4ef6\u5e76\u5b8c\u6210\u540e\u7eed\u8bbe\u7f6e\u3002\ufeff \u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a \u767b\u5f55ESXi\u4e3b\u673a\uff1a:\u4f7f\u7528Web Client\u6216vSphere Client\u767b\u5f55\u5230\u60a8\u7684ESXi\u4e3b\u673a\u3002\ufeff \u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\uff1a:\u5728ESXi\u754c\u9762\u4e2d\uff0c\u627e\u5230\u5e76\u70b9\u51fb\u201c\u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\u201d\u9009\u9879\u3002\ufeff \u9009\u62e9\u90e8\u7f72\u7c7b\u578b\uff1a:\u9009\u62e9\u201c\u4eceOVF\u6216OVA\u6587\u4ef6\u90e8\u7f72\u865a\u62df\u673a\u201d\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u9009\u62e9OVF/OVA\u6587\u4ef6\uff1a:\u8f93\u5165\u865a\u62df\u673a\u540d\u79f0\uff0c\u7136\u540e\u9009\u62e9\u8981\u90e8\u7f72\u7684OVF\u6216OVA\u6587\u4ef6\uff0c\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u9009\u62e9\u5b58\u50a8\u4f4d\u7f6e\uff1a:\u9009\u62e9\u865a\u62df\u673a\u5b58\u50a8\u7684\u4f4d\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u9009\u62e9\u90e8\u7f72\u9009\u9879\uff1a:\u6839\u636e\u9700\u8981\u9009\u62e9\u90e8\u7f72\u9009\u9879\uff0c\u4f8b\u5982\u7f51\u7edc\u914d\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u5b8c\u6210\u90e8\u7f72\uff1a:\u5728\u201c\u5373\u5c06\u5b8c\u6210\u201d\u9875\u9762\uff0c\u68c0\u67e5\u8bbe\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u5b8c\u6210\u201d\u3002\ufeff \u542f\u52a8\u865a\u62df\u673a\uff1a:\u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u542f\u52a8\u65b0\u521b\u5efa\u7684\u865a\u62df\u673a\u5373\u53ef\u3002\ufeff \u6ce8\u610f\u4e8b\u9879\uff1a \u5982\u679c\u4f7f\u7528OVF\u6587\u4ef6\uff0c\u901a\u5e38\u9700\u8981\u914d\u5408VMDK\u7b49\u865a\u62df\u78c1\u76d8\u6587\u4ef6\u4e00\u8d77\u4f7f\u7528\u3002\ufeff \u786e\u4fddOVF\u6587\u4ef6\u548c\u76f8\u5173\u7684\u865a\u62df\u78c1\u76d8\u6587\u4ef6\u90fd\u5728\u540c\u4e00\u4e2a\u76ee\u5f55\u4e0b\uff0c\u6216\u8005\u4e0a\u4f20\u5230ESXi\u7684\u5b58\u50a8\u3002\ufeff \u5728\u201c\u90e8\u7f72\u9009\u9879\u201d\u9875\u9762\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u914d\u7f6e\u865a\u62df\u673a\u7684\u7f51\u7edc\u3001\u8d44\u6e90\u7b49\u8bbe\u7f6e\u3002\ufeff \u5982\u679c\u9047\u5230\u201c\u7f3a\u5c11\u78c1\u76d8\u955c\u50cf\u201d\u7b49\u62a5\u9519\uff0c\u53ef\u80fd\u662f\u7531\u4e8eOVF\u6587\u4ef6\u4e2d\u5f15\u7528\u7684\u78c1\u76d8\u6587\u4ef6\u8def\u5f84\u4e0d\u6b63\u786e\uff0c\u6216\u8005\u78c1\u76d8\u6587\u4ef6\u672a\u6b63\u786e\u4e0a\u4f20\u5230ESXi\u7684\u5b58\u50a8\uff0c\u9700\u8981\u68c0\u67e5\u5e76\u4fee\u6b63\u3002\ufeff \u5bf9\u4e8e\u67d0\u4e9bOVF\u6a21\u677f\uff0c\u53ef\u80fd\u9700\u8981\u8fdb\u884c\u4e00\u4e9b\u989d\u5916\u7684\u914d\u7f6e\uff0c\u4f8b\u5982\u4fee\u6539\u865a\u62df\u673a\u7684\u786c\u4ef6\u7248\u672c\u4ee5\u517c\u5bb9ESXi\u7248\u672c\u3002\ufeff \u901a\u8fc7\u4ee5\u4e0a\u6b65\u9aa4\uff0c\u60a8\u5c31\u53ef\u4ee5\u6210\u529f\u5730\u5728ESXi\u4e0a\u901a\u8fc7OVF/OVA\u955c\u50cf\u5b89\u88c5\u865a\u62df\u673a\u4e86","title":"1. \u51c6\u5907\u5de5\u4f5c"},{"location":"install-guide/vmwareExsi%E5%AE%89%E8%A3%85Ha/#2","text":"\u767b\u5f55\u5230ESXi\u4e3b\u673a\u7684Web\u754c\u9762\u3002 \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u70b9\u51fb\u201c\u865a\u62df\u673a\u201d\u3002 \u70b9\u51fb\u201c\u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\u201d\u6309\u94ae\u3002 \u9009\u62e9\u201c\u4eceOVF\u6216OVA\u6587\u4ef6\u90e8\u7f72\u865a\u62df\u673a\u201d\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u8f93\u5165\u865a\u62df\u673a\u540d\u79f0\uff0c\u5e76\u9009\u62e9\u4e0b\u8f7d\u7684Home Assistant OVA\u6587\u4ef6\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u9009\u62e9\u5b58\u50a8\u4f4d\u7f6e\uff0c\u901a\u5e38\u9009\u62e9\u9ed8\u8ba4\u7684\u5b58\u50a8\u4f4d\u7f6e\u5373\u53ef\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u5728\u201c\u7f51\u7edc\u6620\u5c04\u201d\u9875\u9762\uff0c\u9009\u62e9\u9002\u5f53\u7684\u7f51\u7edc\u9002\u914d\u5668\uff08\u786e\u4fdd\u4f7f\u7528E1000\u6216E1000E\uff09\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u5728\u201c\u5373\u5c06\u5b8c\u6210\u201d\u9875\u9762\uff0c\u68c0\u67e5\u8bbe\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u5b8c\u6210\u201d\u3002 \u9875\u9762\u5e95\u90e8\u4f1a\u663e\u793a\u90e8\u7f72\u8fdb\u5ea6\uff0c\u7b49\u5f85\u90e8\u7f72\u5b8c\u6210\u3002 \u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u60a8\u53ef\u4ee5\u5728\u865a\u62df\u673a\u5217\u8868\u4e2d\u770b\u5230\u65b0\u521b\u5efa\u7684Home Assistant\u865a\u62df\u673a\u3002 \u9009\u4e2dHome Assistant\u865a\u62df\u673a\uff0c\u70b9\u51fb\u201c\u542f\u52a8\u201d\u6309\u94ae\u6765\u542f\u52a8\u865a\u673a \u9996\u6b21\u542f\u52a8\u53ef\u80fd\u9700\u8981\u4e00\u4e9b\u65f6\u95f4\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\u3002 \u770b\u5230ha> \u8fdb\u793a\u7b26\u540e\uff0c\u53ef\u4ee5\u8bd5\u7740\u8f93\u5165 ha \u547d\u4ee4\u6765\u68c0\u67e5Home Assistant\u7684\u72b6\u6001\u3002 \u4e0a\u8ff0\u72b6\u6001\uff0c\u5982\u679c\u663e\u793a \"System is not ready with state: setup\"\uff0c\u8bf4\u660e\u7cfb\u7edf\u6b63\u5728\u5b89\u88c5\u4e2d\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\uff0c\u76f4\u5230\u7cfb\u7edf\u5b8c\u5168\u542f\u52a8\u540e\u518d\u8bbf\u95eeWeb\u754c\u9762\u3002\u9996\u6b21\u542f\u52a8 Home Assistant \u9700\u8981\u8f83\u957f\u65f6\u95f4\uff0c\u901a\u5e38\u9700\u8981 10-30 \u5206\u949f\uff0c\u8fd9\u53d6\u51b3\u4e8e\u60a8\u7684\u786c\u4ef6\u914d\u7f6e\u3002 \u7a0d\u7b49\u4e00\u4f1a\uff0c\u6211\u4eec\u518d\u6b21\u7528ha cli info\u6765\u67e5\u770b\u72b6\u6001 \u7136\u540e\u7528 ha network info \u6765\u67e5\u770b\u7f51\u7edc\u72b6\u6001,\u53ef\u89c1\u6211\u4eec\u7684IP\u5730\u5740\u662f:192.168.1.51,\u540e\u7eed\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u8fd9\u4e2aIP\u5730\u5740\u6765\u8bbf\u95eeHome Assistant\u7684Web\u754c\u9762\u3002 \u542f\u52a8\u540e\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u6d4f\u89c8\u5668\u8bbf\u95eeHome Assistant\u7684Web\u754c\u9762\uff0c\u901a\u5e38\u662f\u901a\u8fc7ESXi\u4e3b\u673a\u7684IP\u5730\u5740\u52a0\u4e0a\u7aef\u53e38123\u6765\u8bbf\u95ee\uff0c\u4f8b\u5982\uff1ahttp:// :8123\u3002 \u672c\u4f8b\u662fHttp://192.168.1.51:8123 \u5982\u4e0b\uff0c\u663e\u793a\uff0c\u8fd8\u5728\u5b89\u88c5\u4e2d \u7b49\u5f85\u5373\u53ef\uff0c\u540e\u7eed\u7684\u5b89\u88c5\u8c03\u8bd5\u7b49\uff0c\u89c1\u5176\u5b83\u6587\u6863\u3002","title":"2. \u5b89\u88c5\u6b65\u9aa4"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/","text":"ModbusPoll v7.0.0 \u4f7f\u7528\u6559\u7a0b \u00b6 \u76ee\u5f55 \u00b6 \u8f6f\u4ef6\u4ecb\u7ecd \u5b89\u88c5\u4e0e\u542f\u52a8 \u57fa\u672c\u914d\u7f6e \u8fde\u63a5\u8bbe\u7f6e \u6570\u636e\u8bfb\u53d6\u914d\u7f6e \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u901a\u4fe1\u5b9e\u4f8b \u6570\u636e\u76d1\u63a7\u4e0e\u5206\u6790 \u6545\u969c\u6392\u9664 \u9ad8\u7ea7\u529f\u80fd \u8f6f\u4ef6\u4ecb\u7ecd \u00b6 ModbusPoll\u662f\u4e00\u6b3e\u4e13\u4e1a\u7684Modbus\u4e3b\u673a\u4eff\u771f\u5668\u5de5\u5177\uff0c\u4e3b\u8981\u7528\u4e8e\uff1a - \u6d4b\u8bd5\u548c\u8c03\u8bd5Modbus\u4ece\u8bbe\u5907 - \u76d1\u63a7Modbus\u8bbe\u5907\u6570\u636e - \u9a8c\u8bc1\u8bbe\u5907\u901a\u4fe1\u534f\u8bae - \u6545\u969c\u8bca\u65ad\u548c\u6392\u9664 \u4e3b\u8981\u7279\u6027 \u00b6 \u652f\u6301Modbus RTU/ASCII/TCP\u534f\u8bae \u5b9e\u65f6\u6570\u636e\u76d1\u63a7 \u591a\u79cd\u6570\u636e\u683c\u5f0f\u663e\u793a \u65e5\u5fd7\u8bb0\u5f55\u529f\u80fd \u6279\u91cf\u8bfb\u53d6\u529f\u80fd \u5b89\u88c5\u4e0e\u542f\u52a8 \u00b6 \u7cfb\u7edf\u8981\u6c42 \u00b6 Windows 7/8/10/11 .NET Framework 4.0 \u6216\u66f4\u9ad8\u7248\u672c \u81f3\u5c1150MB\u53ef\u7528\u78c1\u76d8\u7a7a\u95f4 \u5b89\u88c5\u6b65\u9aa4 \u00b6 \u4e0b\u8f7dModbusPoll-v7.0.0\u5b89\u88c5\u5305 \u53f3\u952e\u70b9\u51fb\u5b89\u88c5\u5305\uff0c\u9009\u62e9\"\u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884c\" \u6309\u7167\u5b89\u88c5\u5411\u5bfc\u5b8c\u6210\u5b89\u88c5 \u542f\u52a8\u7a0b\u5e8f\uff1a\u5f00\u59cb\u83dc\u5355 \u2192 ModbusPoll \u9996\u6b21\u542f\u52a8 \u00b6 \u542f\u52a8\u540e\u4f1a\u663e\u793a\u4e3b\u754c\u9762\uff0c\u5305\u542b\uff1a - \u83dc\u5355\u680f\uff1a\u6587\u4ef6\u3001\u8fde\u63a5\u3001\u8bbe\u7f6e\u7b49 - \u5de5\u5177\u680f\uff1a\u5e38\u7528\u529f\u80fd\u5feb\u6377\u6309\u94ae - \u6570\u636e\u663e\u793a\u533a\u57df\uff1a\u5bc4\u5b58\u5668\u6570\u636e\u8868\u683c - \u72b6\u6001\u680f\uff1a\u8fde\u63a5\u72b6\u6001\u548c\u7edf\u8ba1\u4fe1\u606f \u57fa\u672c\u914d\u7f6e \u00b6 \u8fde\u63a5\u8bbe\u7f6e \u00b6 \u4e32\u53e3\u8fde\u63a5\uff08RTU/ASCII\uff09 Connection \u2192 Connect \u6216\u70b9\u51fb\u5de5\u5177\u680f\u8fde\u63a5\u56fe\u6807 \u8fde\u63a5\u53c2\u6570\u914d\u7f6e Port : \u9009\u62e9\u4e32\u53e3\uff08COM1, COM2\u7b49\uff09 Baud Rate : \u6ce2\u7279\u7387\uff08\u5e38\u75289600, 19200, 38400\uff09 Data Bits : \u6570\u636e\u4f4d\uff08\u901a\u5e38\u4e3a8\uff09 Parity : \u6821\u9a8c\u4f4d\uff08None, Even, Odd\uff09 Stop Bits : \u505c\u6b62\u4f4d\uff081\u62162\uff09 Mode : \u9009\u62e9RTU\u6216ASCII TCP\u8fde\u63a5\u8bbe\u7f6e IP Address : \u8bbe\u5907IP\u5730\u5740 Port : \u7aef\u53e3\u53f7\uff08\u9ed8\u8ba4502\uff09 Unit ID : \u4ece\u7ad9\u5730\u5740 \u8fde\u63a5\u8bbe\u7f6e \u00b6 \u4e32\u53e3\u8fde\u63a5\u793a\u4f8b \u00b6 \u4ee5\u6c34\u5904\u7406\u673a\u4e3a\u4f8b\uff1a - Port: COM1 - Baud Rate: 9600 - Data Bits: 8 - Parity: None - Stop Bits: 1 - Mode: RTU - Response timeout: 1000ms - Delay between polls: 100ms TCP\u8fde\u63a5\u793a\u4f8b \u00b6 \u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u7f51\u7edc\u8fde\u63a5\uff1a - IP Address: 192.168.1.100 - Port: 502 - Unit ID: 1 - Response timeout: 3000ms - Delay between polls: 500ms \u6570\u636e\u8bfb\u53d6\u914d\u7f6e \u00b6 \u8bbe\u7f6e\u8bfb\u53d6\u53c2\u6570 \u00b6 Setup \u2192 Read/Write Definition \u914d\u7f6e\u8bfb\u53d6\u53c2\u6570\uff1a Slave ID : \u4ece\u7ad9\u5730\u5740\uff081-247\uff09 Function : \u529f\u80fd\u7801 01: \u8bfb\u53d6\u7ebf\u5708\u72b6\u6001 02: \u8bfb\u53d6\u8f93\u5165\u72b6\u6001 03: \u8bfb\u53d6\u4fdd\u6301\u5bc4\u5b58\u5668 04: \u8bfb\u53d6\u8f93\u5165\u5bc4\u5b58\u5668 Address : \u8d77\u59cb\u5730\u5740 Quantity : \u8bfb\u53d6\u6570\u91cf Scan Rate : \u626b\u63cf\u9891\u7387\uff08ms\uff09 \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u53c2\u6570\u914d\u7f6e\u793a\u4f8b \u00b6 \u6e29\u5ea6\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 03 (Read Holding Registers) - Address: 23 (0x0017) - Quantity: 2 - Scan Rate: 1000ms \u4f9b\u6db2\u538b\u529b\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 03 - Address: 25 (0x0019) - Quantity: 2 - Scan Rate: 500ms \u6db2\u4f4d\u72b6\u6001\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 01 (Read Coils) - Address: 0x0001 - Quantity: 16 - Scan Rate: 2000ms \u7535\u5bfc\u7387\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 03 - Address: 24 (0x0018) - Quantity: 2 - Scan Rate: 1000ms PH\u503c\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 03 - Address: 29 (0x001D) - Quantity: 2 - Scan Rate: 1000ms \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u901a\u4fe1\u5b9e\u4f8b \u00b6 \u6c34\u5904\u7406\u673a\u53c2\u6570\u8bfb\u53d6 \u00b6 \u6839\u636e\u6c34\u5904\u7406\u8bbe\u5907\u901a\u4fe1\u534f\u8bae\u914d\u7f6e\uff1a 1. \u6e29\u5ea6\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x0017\uff09 - Function: 03 - Address: 23 (0x0017) - Quantity: 2 - Data Format: Float (4\u5b57\u8282) 2. \u7535\u5bfc\u7387\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x0018\uff09 - Function: 03 - Address: 24 (0x0018) - Quantity: 2 - Data Format: Float 3. \u4f9b\u6db2\u538b\u529b\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x0019-0x001A\uff09 - Function: 03 - Address: 25 (0x0019) - Quantity: 4 - Data Format: Float (\u4f9b\u6db2\u4e00\u3001\u4f9b\u6db2\u4e8c\u538b\u529b) 4. \u6db2\u4f4d\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x001B-0x001C\uff09 - Function: 03 - Address: 27 (0x001B) - Quantity: 4 - Data Format: Float (\u50a8\u6db2\u3001\u914d\u6db2\u6db2\u4f4d) 5. PH\u503c\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x001D\uff09 - Function: 03 - Address: 29 (0x001D) - Quantity: 2 - Data Format: Float \u6279\u91cf\u8bfb\u53d6\u914d\u7f6e \u00b6 Setup \u2192 Read/Write Definition \u2192 Add Multiple \u521b\u5efa\u591a\u4e2a\u8bfb\u53d6\u7ec4\uff1a - \u7ec41\uff1a\u6e29\u5ea6\u76f8\u5173\u53c2\u6570 (0x0017-0x0018) - \u7ec42\uff1a\u538b\u529b\u76f8\u5173\u53c2\u6570 (0x0019-0x001A) - \u7ec43\uff1a\u6db2\u4f4d\u76f8\u5173\u53c2\u6570 (0x001B-0x001C) - \u7ec44\uff1aPH\u503c\u53c2\u6570 (0x001D) - \u7ec45\uff1a\u72b6\u6001\u76f8\u5173\u53c2\u6570 (0x0001-0x0010) \u6570\u636e\u76d1\u63a7\u4e0e\u5206\u6790 \u00b6 \u6570\u636e\u663e\u793a\u683c\u5f0f \u00b6 Display \u2192 Data Format \u9009\u62e9\u5408\u9002\u7684\u663e\u793a\u683c\u5f0f\uff1a Signed/Unsigned : \u6709\u7b26\u53f7/\u65e0\u7b26\u53f7 16-bit/32-bit : \u6570\u636e\u4f4d\u6570 Hex/Decimal/Binary : \u8fdb\u5236\u663e\u793a Float : \u6d6e\u70b9\u6570\u663e\u793a \u5b57\u8282\u5e8f\u914d\u7f6e\u8be6\u89e3 \u00b6 \u91cd\u8981 \uff1a\u6b63\u786e\u7684\u5b57\u8282\u5e8f\u8bbe\u7f6e\u662f\u6570\u636e\u6b63\u786e\u663e\u793a\u7684\u5173\u952e \u914d\u7f6e\u6b65\u9aa4 \uff1a 1. Display \u2192 Data Format \u2192 Advanced 2. \u5b57\u8282\u5e8f\u9009\u9879 \uff1a ``` \u25a1 Byte Swap - \u5b57\u8282\u4ea4\u6362 \u25a1 Word Swap - \u5b57\u4ea4\u6362 \u56db\u79cd\u7ec4\u5408\u5bf9\u5e94\u4e0d\u540c\u5b57\u8282\u5e8f\uff1a \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 \u9009\u9879\u7ec4\u5408 \u2502 \u5b57\u8282\u5e8f \u2502 \u793a\u4f8b \u2502 \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502 \u65e0\u52fe\u9009 \u2502 ABCD \u2502 42 0C CC CD \u2502 \u2502 Byte Swap \u2502 BADC \u2502 0C 42 CD CC \u2502 \u2502 Word Swap \u2502 CDAB \u2502 CC CD 42 0C \u2502 \u2502 Both \u2502 DCBA \u2502 CD CC 0C 42 \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 ``` \u5b9e\u9645\u9a8c\u8bc1\u65b9\u6cd5 \uff1a \u57fa\u4e8e\u60a8\u7684\u901a\u4fe1\u6570\u636e CD CC 0C 42\uff1a 1. \u5c1d\u8bd5DCBA\u683c\u5f0f\uff1aCD CC 0C 42 \u2192 35.2\u00b0C \u2713 2. \u5176\u4ed6\u683c\u5f0f\u90fd\u4f1a\u663e\u793a\u5f02\u5e38\u503c 3. \u56e0\u6b64\u60a8\u7684\u8bbe\u5907\u4f7f\u7528DCBA\u5b57\u8282\u5e8f \u914d\u7f6e\u5efa\u8bae \uff1a - \u6c34\u5904\u7406\u8bbe\u5907\u901a\u5e38\u4f7f\u7528\u5927\u7aef\u5e8f(ABCD) - PC-based\u8bbe\u5907\u901a\u5e38\u4f7f\u7528\u5c0f\u7aef\u5e8f(DCBA) - \u6839\u636e\u5b9e\u9645\u6570\u636e\u9a8c\u8bc1\u9009\u62e9\u6b63\u786e\u683c\u5f0f \u5b9e\u65f6\u76d1\u63a7 \u00b6 View\u83dc\u5355\u9009\u9879\uff1a - Data View: \u6570\u636e\u8868\u683c\u89c6\u56fe - Register View: \u5bc4\u5b58\u5668\u89c6\u56fe - Traffic View: \u901a\u4fe1\u6d41\u91cf\u89c6\u56fe - Error View: \u9519\u8bef\u65e5\u5fd7\u89c6\u56fe \u6570\u636e\u8bb0\u5f55 \u00b6 Log \u2192 Start Logging \u8bbe\u7f6e\u65e5\u5fd7\u6587\u4ef6\u8def\u5f84\u548c\u683c\u5f0f \u9009\u62e9\u8bb0\u5f55\u95f4\u9694\u548c\u6761\u4ef6 \u5f00\u59cb\u8bb0\u5f55\u6570\u636e\u53d8\u5316 \u544a\u8b66\u8bbe\u7f6e \u00b6 Setup \u2192 Alarm Setup \u914d\u7f6e\u544a\u8b66\u6761\u4ef6\uff1a - \u6c34\u6e29\u8d85\u9650\uff1a> 40\u00b0C \u6216 < 35\u00b0C - \u4f9b\u6db2\u538b\u529b\u5f02\u5e38\uff1a< 0.1MPa \u6216 > 0.5MPa - \u7535\u5bfc\u7387\u5f02\u5e38\uff1a< 13.0 \u6216 > 15.0 mS/cm - \u8bbe\u5907\u79bb\u7ebf\uff1a\u901a\u4fe1\u8d85\u65f6 > 5\u79d2 \u6545\u969c\u6392\u9664 \u00b6 \u5e38\u89c1\u95ee\u9898\u53ca\u89e3\u51b3\u65b9\u6848 \u00b6 1. \u8fde\u63a5\u5931\u8d25 \u00b6 \u95ee\u9898\uff1a\u65e0\u6cd5\u8fde\u63a5\u5230\u8bbe\u5907 \u89e3\u51b3\u65b9\u6848\uff1a - \u68c0\u67e5\u4e32\u53e3/\u7f51\u7edc\u8fde\u63a5 - \u786e\u8ba4\u6ce2\u7279\u7387\u548c\u901a\u4fe1\u53c2\u6570 - \u68c0\u67e5\u8bbe\u5907\u5730\u5740\u662f\u5426\u6b63\u786e - \u9a8c\u8bc1\u7535\u7f06\u8fde\u63a5 2. \u6570\u636e\u8bfb\u53d6\u5f02\u5e38 \u00b6 \u95ee\u9898\uff1a\u8bfb\u53d6\u6570\u636e\u5168\u4e3a0\u6216\u5f02\u5e38\u503c \u89e3\u51b3\u65b9\u6848\uff1a - \u68c0\u67e5\u529f\u80fd\u7801\u662f\u5426\u6b63\u786e - \u786e\u8ba4\u5bc4\u5b58\u5668\u5730\u5740 - \u68c0\u67e5\u6570\u636e\u683c\u5f0f\u8bbe\u7f6e - \u9a8c\u8bc1\u8bbe\u5907\u662f\u5426\u652f\u6301\u8be5\u529f\u80fd 3. \u901a\u4fe1\u8d85\u65f6 \u00b6 \u95ee\u9898\uff1a\u9891\u7e41\u51fa\u73b0\u901a\u4fe1\u8d85\u65f6 \u89e3\u51b3\u65b9\u6848\uff1a - \u589e\u52a0Response Timeout\u65f6\u95f4 - \u51cf\u5c11\u626b\u63cf\u9891\u7387 - \u68c0\u67e5\u7f51\u7edc\u7a33\u5b9a\u6027 - \u786e\u8ba4\u8bbe\u5907\u8d1f\u8f7d\u60c5\u51b5 4. \u6570\u636e\u683c\u5f0f\u9519\u8bef \u00b6 \u95ee\u9898\uff1a\u6570\u636e\u663e\u793a\u683c\u5f0f\u4e0d\u6b63\u786e \u89e3\u51b3\u65b9\u6848\uff1a - \u68c0\u67e5\u5b57\u8282\u5e8f\u8bbe\u7f6e\uff08\u5927\u7aef/\u5c0f\u7aef\uff09 - \u786e\u8ba4\u6570\u636e\u7c7b\u578b\uff08\u6574\u6570/\u6d6e\u70b9\uff09 - \u8c03\u6574\u6570\u636e\u4f4d\u6570\u8bbe\u7f6e - \u53c2\u8003\u8bbe\u5907\u624b\u518c\u786e\u8ba4\u683c\u5f0f 5. \u5b57\u8282\u5e8f\u95ee\u9898\u8bca\u65ad \u00b6 \u95ee\u9898\uff1a\u6570\u636e\u6570\u503c\u5f02\u5e38\uff08\u8fc7\u5927\u6216\u8fc7\u5c0f\uff09 \u75c7\u72b6\uff1a - \u6e29\u5ea6\u663e\u793a\u51e0\u5343\u5ea6\u6216\u8d1f\u503c - \u538b\u529b\u663e\u793a\u5f02\u5e38\u5927\u7684\u6570\u503c - \u7535\u5bfc\u7387\u663e\u793a\u4e0d\u5408\u7406\u6570\u503c \u89e3\u51b3\u6b65\u9aa4\uff1a 1. \u67e5\u770bTraffic View\u4e2d\u7684\u539f\u59cb\u5341\u516d\u8fdb\u5236\u6570\u636e 2. \u5c1d\u8bd5\u4e0d\u540c\u5b57\u8282\u5e8f\u7ec4\u5408\uff1a - Display \u2192 Data Format \u2192 Byte Swap - Display \u2192 Data Format \u2192 Word Swap 3. \u9009\u62e9\u663e\u793a\u5408\u7406\u6570\u503c\u7684\u7ec4\u5408 4. \u9a8c\u8bc1\u591a\u4e2a\u53c2\u6570\u786e\u4fdd\u8bbe\u7f6e\u6b63\u786e \u5b9e\u4f8b\uff1a \u539f\u59cb\u6570\u636e\uff1aCD CC 0C 42 - \u9ed8\u8ba4(ABCD)\uff1a\u5f02\u5e38\u503c - Byte swap(BADC)\uff1a\u5f02\u5e38\u503c - Word swap(CDAB)\uff1a\u5f02\u5e38\u503c - Byte+Word(DCBA)\uff1a35.2\u00b0C \u2713\u6b63\u786e \u9ad8\u7ea7\u529f\u80fd \u00b6 1. \u811a\u672c\u81ea\u52a8\u5316 \u00b6 Tools \u2192 Scripting \u652f\u6301VB\u811a\u672c\u81ea\u52a8\u5316\uff1a - \u81ea\u52a8\u8fde\u63a5\u8bbe\u5907 - \u6279\u91cf\u6570\u636e\u5904\u7406 - \u6761\u4ef6\u89e6\u53d1\u64cd\u4f5c - \u62a5\u544a\u751f\u6210 2. \u6570\u636e\u5bfc\u51fa \u00b6 File \u2192 Export Data \u652f\u6301\u591a\u79cd\u683c\u5f0f\uff1a - CSV\u6587\u4ef6 - Excel\u6587\u4ef6 - XML\u683c\u5f0f - \u81ea\u5b9a\u4e49\u683c\u5f0f 3. \u591a\u8bbe\u5907\u76d1\u63a7 \u00b6 \u53ef\u540c\u65f6\u76d1\u63a7\u591a\u4e2a\u8bbe\u5907\uff1a 1. File \u2192 New Document 2. \u914d\u7f6e\u4e0d\u540c\u8bbe\u5907\u53c2\u6570 3. Window \u2192 Tile \u5e73\u94fa\u663e\u793a 4. \u5b9e\u73b0\u591a\u8bbe\u5907\u96c6\u4e2d\u76d1\u63a7 4. \u8d8b\u52bf\u5206\u6790 \u00b6 View \u2192 Trend View \u529f\u80fd\u7279\u6027\uff1a - \u5b9e\u65f6\u8d8b\u52bf\u56fe\u8868 - \u5386\u53f2\u6570\u636e\u56de\u653e - \u6570\u636e\u7edf\u8ba1\u5206\u6790 - \u5f02\u5e38\u70b9\u6807\u8bb0 \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u76d1\u63a7\u5b9e\u6218 \u00b6 \u5b8c\u6574\u76d1\u63a7\u914d\u7f6e \u00b6 # \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u76d1\u63a7\u914d\u7f6e\u793a\u4f8b \u8bbe\u5907\u4fe1\u606f : \u8bbe\u5907\u578b\u53f7 : \u6c34\u5904\u7406\u673a+\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907 \u901a\u4fe1\u65b9\u5f0f : Modbus RTU/TCP \u6ce2\u7279\u7387 : 9600 \u4ece\u7ad9\u5730\u5740 : 1 \u76d1\u63a7\u53c2\u6570 : \u6e29\u5ea6\u76d1\u63a7 : \u5730\u5740 : 0x0017 \u5355\u4f4d : \u00b0C \u544a\u8b66 : 35-40\u00b0C \u7535\u5bfc\u7387\u76d1\u63a7 : \u5730\u5740 : 0x0018 \u5355\u4f4d : mS/cm \u544a\u8b66 : 13.0-15.0 \u538b\u529b\u76d1\u63a7 : \u4f9b\u6db2\u4e00 : 0x0019 \u4f9b\u6db2\u4e8c : 0x001A \u5355\u4f4d : MPa \u544a\u8b66 : 0.1-0.5 \u6db2\u4f4d\u76d1\u63a7 : \u50a8\u6db2 : 0x001B \u914d\u6db2 : 0x001C \u5355\u4f4d : % \u544a\u8b66 : 10-90% PH\u503c\u76d1\u63a7 : \u5730\u5740 : 0x001D \u5355\u4f4d : pH \u544a\u8b66 : 6.5-7.5 \u626b\u63cf\u8bbe\u7f6e : \u6b63\u5e38\u626b\u63cf : 1000ms \u5feb\u901f\u626b\u63cf : 500ms \u6162\u901f\u626b\u63cf : 2000ms \u901a\u4fe1\u534f\u8bae\u5206\u6790 : \u57fa\u4e8e\u5b9e\u9645\u901a\u4fe1\u6570\u636e : - \u4f7f\u7528Modbus TCP\u534f\u8bae - \u529f\u80fd\u780103 (Read Holding Registers) - \u8d77\u59cb\u5730\u5740 : 0x0017 (\u6e29\u5ea6) - \u6570\u636e\u683c\u5f0f : 32\u4f4d\u6d6e\u70b9\u6570 (IEEE 754) - \u5b57\u8282\u5e8f\u5206\u6790 : * \u539f\u59cb\u6570\u636e : CD CC 0C 42 * \u9700\u8981DCBA\u5b57\u8282\u5e8f (Byte+Word Swap) * \u89e3\u6790\u7ed3\u679c : 35.2\u00b0C - \u6570\u636e\u793a\u4f8b\u9a8c\u8bc1 : * CD CC 0C 42 (\u5341\u516d\u8fdb\u5236) * \u2192 0x420CCCCD (\u91cd\u6392\u540e) * \u2192 35.2000008 (IEEE 754\u6d6e\u70b9\u6570) * \u2192 35.2\u00b0C (\u663e\u793a\u503c) \u914d\u7f6e\u8981\u70b9 : - ModbusPoll\u8bbe\u7f6e : Display \u2192 Data Format - \u52fe\u9009 : Byte Swap + Word Swap - \u6570\u636e\u7c7b\u578b : 32-bit Float - \u9a8c\u8bc1\u65b9\u6cd5 : \u89c2\u5bdf\u6e29\u5ea6\u662f\u5426\u5728\u5408\u7406\u8303\u56f4(30-50\u00b0C) \u81ea\u52a8\u5316\u811a\u672c\u793a\u4f8b \u00b6 ' \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u72b6\u6001\u68c0\u67e5\u811a\u672c Sub CheckWaterTreatmentStatus () Dim temp , pressure1 , pressure2 , conductivity , ph ' \u8bfb\u53d6\u6e29\u5ea6 (\u5730\u574023) temp = mbPoll . ReadFloat ( 1 , 3 , 23 ) ' \u8bfb\u53d6\u538b\u529b (\u5730\u574025,26) pressure1 = mbPoll . ReadFloat ( 1 , 3 , 25 ) pressure2 = mbPoll . ReadFloat ( 1 , 3 , 26 ) ' \u8bfb\u53d6\u7535\u5bfc\u7387 (\u5730\u574024) conductivity = mbPoll . ReadFloat ( 1 , 3 , 24 ) ' \u8bfb\u53d6PH\u503c (\u5730\u574029) ph = mbPoll . ReadFloat ( 1 , 3 , 29 ) ' \u68c0\u67e5\u5f02\u5e38 If temp > 40 Or temp < 35 Then MsgBox \"\u6c34\u6e29\u5f02\u5e38: \" & temp & \"\u00b0C\" End If If pressure1 < 0.1 Or pressure1 > 0.5 Then MsgBox \"\u4f9b\u6db2\u4e00\u538b\u529b\u5f02\u5e38: \" & pressure1 & \"MPa\" End If If conductivity < 13.0 Or conductivity > 15.0 Then MsgBox \"\u7535\u5bfc\u7387\u5f02\u5e38: \" & conductivity & \"mS/cm\" End If If ph < 6.5 Or ph > 7.5 Then MsgBox \"PH\u503c\u5f02\u5e38: \" & ph End If End Sub \u6700\u4f73\u5b9e\u8df5\u5efa\u8bae \u00b6 1. \u6027\u80fd\u4f18\u5316 \u00b6 \u5408\u7406\u8bbe\u7f6e\u626b\u63cf\u9891\u7387\uff0c\u907f\u514d\u8fc7\u5ea6\u8f6e\u8be2 \u4f7f\u7528\u6279\u91cf\u8bfb\u53d6\u51cf\u5c11\u901a\u4fe1\u6b21\u6570 \u5b9a\u671f\u6e05\u7406\u65e5\u5fd7\u6587\u4ef6 \u76d1\u63a7\u7cfb\u7edf\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5 2. \u6570\u636e\u7ba1\u7406 \u00b6 \u5efa\u7acb\u89c4\u8303\u7684\u53c2\u6570\u547d\u540d\u89c4\u5219 \u5b9a\u671f\u5907\u4efd\u91cd\u8981\u914d\u7f6e \u8bbe\u7f6e\u5408\u7406\u7684\u6570\u636e\u4fdd\u5b58\u5468\u671f \u5b9e\u65bd\u6570\u636e\u5b89\u5168\u63aa\u65bd 3. \u7ef4\u62a4\u5efa\u8bae \u00b6 \u5b9a\u671f\u68c0\u67e5\u901a\u4fe1\u7ebf\u8def \u66f4\u65b0\u8bbe\u5907\u9a71\u52a8\u7a0b\u5e8f \u5907\u4efd\u5de5\u7a0b\u914d\u7f6e\u6587\u4ef6 \u5efa\u7acb\u6545\u969c\u5904\u7406\u6d41\u7a0b \u9644\u5f55 \u00b6 A. Modbus\u529f\u80fd\u7801\u5bf9\u7167\u8868 \u00b6 01 - Read Coils (\u8bfb\u53d6\u7ebf\u5708\u72b6\u6001) 02 - Read Discrete Inputs (\u8bfb\u53d6\u79bb\u6563\u8f93\u5165) 03 - Read Holding Registers (\u8bfb\u53d6\u4fdd\u6301\u5bc4\u5b58\u5668) 04 - Read Input Registers (\u8bfb\u53d6\u8f93\u5165\u5bc4\u5b58\u5668) 05 - Write Single Coil (\u5199\u5355\u4e2a\u7ebf\u5708) 06 - Write Single Register (\u5199\u5355\u4e2a\u5bc4\u5b58\u5668) 15 - Write Multiple Coils (\u5199\u591a\u4e2a\u7ebf\u5708) 16 - Write Multiple Registers (\u5199\u591a\u4e2a\u5bc4\u5b58\u5668) B. \u5e38\u7528\u6ce2\u7279\u7387\u8bbe\u7f6e \u00b6 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 C. \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u5e38\u7528\u5730\u5740\u6620\u5c04 \u00b6 \u57fa\u4e8e\u5b9e\u9645\u901a\u4fe1\u6570\u636e\u7684\u5730\u5740\u6620\u5c04\uff1a \u6e29\u5ea6\uff1a0x0017 (\u5341\u8fdb\u523623) \u7535\u5bfc\u7387\uff1a0x0018 (\u5341\u8fdb\u523624) \u4f9b\u6db2\u4e00\u538b\u529b\uff1a0x0019 (\u5341\u8fdb\u523625) \u4f9b\u6db2\u4e8c\u538b\u529b\uff1a0x001A (\u5341\u8fdb\u523626) \u50a8\u6db2\u6db2\u4f4d\uff1a0x001B (\u5341\u8fdb\u523627) \u914d\u6db2\u6db2\u4f4d\uff1a0x001C (\u5341\u8fdb\u523628) PH\u503c\uff1a0x001D (\u5341\u8fdb\u523629) \u72b6\u6001\u7c7b\uff1a0x0001-0x0010 \u63a7\u5236\u7c7b\uff1a0x0020-0x0030 D. \u5927\u7aef\u5c0f\u7aef\uff08\u5b57\u8282\u5e8f\uff09\u8be6\u89e3 \u00b6 \u4ec0\u4e48\u662f\u5927\u7aef\u5c0f\u7aef\uff1f \u00b6 \u5b57\u8282\u5e8f\uff08Byte Order\uff09\u662f\u6307\u591a\u5b57\u8282\u6570\u636e\u5728\u5185\u5b58\u4e2d\u7684\u5b58\u50a8\u987a\u5e8f\uff0c\u4e3b\u8981\u6709\u4e24\u79cd\uff1a \u5927\u7aef\u5e8f\uff08Big Endian\uff09 \uff1a - \u9ad8\u4f4d\u5b57\u8282\u5b58\u50a8\u5728\u4f4e\u5730\u5740 - \u7b26\u5408\u4eba\u7c7b\u9605\u8bfb\u4e60\u60ef - \u7f51\u7edc\u4f20\u8f93\u6807\u51c6\u5b57\u8282\u5e8f \u5c0f\u7aef\u5e8f\uff08Little Endian\uff09 \uff1a - \u4f4e\u4f4d\u5b57\u8282\u5b58\u50a8\u5728\u4f4e\u5730\u5740 - \u591a\u6570x86\u5904\u7406\u5668\u91c7\u7528 - Intel\u67b6\u6784\u9ed8\u8ba4\u5b57\u8282\u5e8f \u5b9e\u9645\u4f8b\u5b50\u8bf4\u660e \u00b6 \u4ee532\u4f4d\u6d6e\u70b9\u6570 35.2\u00b0C \u4e3a\u4f8b\uff1a IEEE 754 \u6d6e\u70b9\u6570\u8868\u793a\uff1a0x420C_CCCD \u5927\u7aef\u5e8f\u5b58\u50a8\uff1a \u5730\u5740 \u5185\u5bb9 0x1000 0x42 (\u6700\u9ad8\u4f4d\u5b57\u8282) 0x1001 0x0C 0x1002 0xCC 0x1003 0xCD (\u6700\u4f4e\u4f4d\u5b57\u8282) \u5c0f\u7aef\u5e8f\u5b58\u50a8\uff1a \u5730\u5740 \u5185\u5bb9 0x1000 0xCD (\u6700\u4f4e\u4f4d\u5b57\u8282) 0x1001 0xCC 0x1002 0x0C 0x1003 0x42 (\u6700\u9ad8\u4f4d\u5b57\u8282) \u5982\u4f55\u786e\u5b9a\u8bbe\u5907\u5b57\u8282\u5e8f\uff1f \u00b6 \u65b9\u6cd51\uff1a\u901a\u8fc7\u901a\u4fe1\u6570\u636e\u5206\u6790 \u4ececommdata.txt\u770b\u5230\u7684\u6570\u636e\uff1aCD CC 0C 42 1. \u5c06\u8fd94\u4e2a\u5b57\u8282\u6309\u4e0d\u540c\u5b57\u8282\u5e8f\u89e3\u91ca\uff1a - \u5927\u7aef\u5e8f\uff1a0x42_0C_CCCD = 35.2 (\u5408\u7406\u7684\u6e29\u5ea6\u503c) - \u5c0f\u7aef\u5e8f\uff1a0xCDCC_0C42 = \u975e\u5e38\u5927\u7684\u6570\u503c(\u4e0d\u5408\u7406) 2. \u7ed3\u8bba\uff1a\u8bbe\u5907\u4f7f\u7528\u5927\u7aef\u5e8f \u65b9\u6cd52\uff1a\u67e5\u770b\u8bbe\u5907\u624b\u518c \u8bbe\u5907\u6280\u672f\u6587\u6863\u901a\u5e38\u4f1a\u8bf4\u660e\uff1a - \"\u7f51\u7edc\u5b57\u8282\u5e8f\" = \u5927\u7aef\u5e8f - \"\u4e3b\u673a\u5b57\u8282\u5e8f\" = \u901a\u5e38\u662f\u5c0f\u7aef\u5e8f - \"Intel\u683c\u5f0f\" = \u5c0f\u7aef\u5e8f - \"Motorola\u683c\u5f0f\" = \u5927\u7aef\u5e8f \u65b9\u6cd53\uff1aModbusPoll\u4e2d\u7684\u9a8c\u8bc1 \u5728ModbusPoll\u4e2d\u6d4b\u8bd5\uff1a 1. Setup \u2192 Data Format \u2192 Byte Swap 2. \u89c2\u5bdf\u6570\u636e\u662f\u5426\u5408\u7406\uff1a - \u6e29\u5ea6\u5e94\u8be5\u57280-100\u00b0C\u8303\u56f4 - \u538b\u529b\u5e94\u8be5\u57280-10MPa\u8303\u56f4 - \u7535\u5bfc\u7387\u5e94\u8be5\u572810-20mS/cm\u8303\u56f4 3. \u9009\u62e9\u663e\u793a\u6b63\u786e\u6570\u503c\u7684\u5b57\u8282\u5e8f ModbusPoll\u5b57\u8282\u5e8f\u8bbe\u7f6e \u00b6 \u914d\u7f6e\u8def\u5f84 \uff1aDisplay \u2192 Data Format \u9009\u9879\u8bf4\u660e \uff1a \u25a1 Byte swap - \u4ea4\u6362\u5b57\u8282\u5e8f \u25a1 Word swap - \u4ea4\u6362\u5b57\u987a\u5e8f \u25a1 Dword swap - \u4ea4\u6362\u53cc\u5b57\u987a\u5e8f \u7ec4\u5408\u8bbe\u7f6e\u5bf9\u5e94\u4e0d\u540c\u683c\u5f0f\uff1a - \u65e0\u52fe\u9009\uff1aABCD (\u5927\u7aef\u5e8f) - Byte swap\uff1aBADC - Word swap\uff1aCDAB - Byte+Word swap\uff1aDCBA (\u5c0f\u7aef\u5e8f) \u5b9e\u9645\u5e94\u7528\u793a\u4f8b \u00b6 \u6848\u4f8b1\uff1a\u6e29\u5ea6\u8bfb\u53d6\u5f02\u5e38 \u95ee\u9898\uff1a\u8bfb\u53d6\u6e29\u5ea6\u663e\u793a\u4e3a\u51e0\u5343\u5ea6 \u539f\u56e0\uff1a\u5b57\u8282\u5e8f\u8bbe\u7f6e\u9519\u8bef \u89e3\u51b3\uff1a\u52fe\u9009\"Byte swap\"\u8c03\u6574\u5b57\u8282\u5e8f \u6848\u4f8b2\uff1a\u538b\u529b\u503c\u663e\u793a\u5f02\u5e38 \u8bfb\u53d6\u6570\u636e\uff1a12 34 56 78 \u5927\u7aef\u5e8f\u89e3\u91ca\uff1a0x12345678 = 305,419,896 (\u5f02\u5e38) \u5c0f\u7aef\u5e8f\u89e3\u91ca\uff1a0x78563412 = 2,018,915,346 (\u5f02\u5e38) \u9700\u8981Word swap\uff1a0x34127856 = 873,756,758 (\u4ecd\u5f02\u5e38) \u6b63\u786e\u8bbe\u7f6e\uff1aByte+Word swap = 0x78563412\u8f6c\u6362\u4e3a\u6d6e\u70b9\u6570 \u8c03\u8bd5\u6280\u5de7 \u00b6 \u6b65\u9aa41\uff1a\u8bb0\u5f55\u539f\u59cb\u6570\u636e \u4f7f\u7528Traffic View\u67e5\u770b\u539f\u59cb\u5341\u516d\u8fdb\u5236\u6570\u636e \u4f8b\u5982\uff1a42 0C CC CD \u6b65\u9aa42\uff1a\u624b\u52a8\u8ba1\u7b97\u9a8c\u8bc1 \u4f7f\u7528\u5728\u7ebfIEEE 754\u8f6c\u6362\u5668\uff1a - \u8f93\u5165\uff1a420CCCCD - \u8f93\u51fa\uff1a35.2000008... - \u9a8c\u8bc1\u662f\u5426\u4e3a\u5408\u7406\u6570\u503c \u6b65\u9aa43\uff1aModbusPoll\u4e2d\u6d4b\u8bd5 \u4f9d\u6b21\u5c1d\u8bd5\u56db\u79cd\u5b57\u8282\u5e8f\u7ec4\u5408\uff1a 1. ABCD - \u539f\u59cb\u987a\u5e8f 2. BADC - Byte swap 3. CDAB - Word swap 4. DCBA - Byte+Word swap \u9009\u62e9\u663e\u793a\u5408\u7406\u6570\u503c\u7684\u8bbe\u7f6e \u5e38\u89c1\u8bbe\u5907\u5b57\u8282\u5e8f \u00b6 \u5927\u7aef\u5e8f\u8bbe\u5907\uff1a - \u65bd\u8010\u5fb7PLC - \u897f\u95e8\u5b50S7\u7cfb\u5217 - ABB\u8bbe\u5907 - \u5927\u591a\u6570\u7f51\u7edc\u8bbe\u5907 \u5c0f\u7aef\u5e8f\u8bbe\u5907\uff1a - \u4e09\u83f1PLC - \u6b27\u59c6\u9f99PLC - PC-based\u63a7\u5236\u5668 - Intel\u67b6\u6784\u8bbe\u5907 \u672c\u6559\u7a0b\u57fa\u4e8eModbusPoll v7.0.0\u7248\u672c\u7f16\u5199\uff0c\u9002\u7528\u4e8e\u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u53c2\u6570\u76d1\u63a7\u7cfb\u7edf\u3002\u5982\u6709\u95ee\u9898\u8bf7\u53c2\u8003\u5b98\u65b9\u6587\u6863\u6216\u8054\u7cfb\u6280\u672f\u652f\u6301\u3002","title":"ModbusPoll-v7.0.0\u4f7f\u7528\u6559\u7a0b"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#modbuspoll-v700","text":"","title":"ModbusPoll v7.0.0 \u4f7f\u7528\u6559\u7a0b"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_1","text":"\u8f6f\u4ef6\u4ecb\u7ecd \u5b89\u88c5\u4e0e\u542f\u52a8 \u57fa\u672c\u914d\u7f6e \u8fde\u63a5\u8bbe\u7f6e \u6570\u636e\u8bfb\u53d6\u914d\u7f6e \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u901a\u4fe1\u5b9e\u4f8b \u6570\u636e\u76d1\u63a7\u4e0e\u5206\u6790 \u6545\u969c\u6392\u9664 \u9ad8\u7ea7\u529f\u80fd","title":"\u76ee\u5f55"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_2","text":"ModbusPoll\u662f\u4e00\u6b3e\u4e13\u4e1a\u7684Modbus\u4e3b\u673a\u4eff\u771f\u5668\u5de5\u5177\uff0c\u4e3b\u8981\u7528\u4e8e\uff1a - \u6d4b\u8bd5\u548c\u8c03\u8bd5Modbus\u4ece\u8bbe\u5907 - \u76d1\u63a7Modbus\u8bbe\u5907\u6570\u636e - \u9a8c\u8bc1\u8bbe\u5907\u901a\u4fe1\u534f\u8bae - \u6545\u969c\u8bca\u65ad\u548c\u6392\u9664","title":"\u8f6f\u4ef6\u4ecb\u7ecd"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_3","text":"\u652f\u6301Modbus RTU/ASCII/TCP\u534f\u8bae \u5b9e\u65f6\u6570\u636e\u76d1\u63a7 \u591a\u79cd\u6570\u636e\u683c\u5f0f\u663e\u793a \u65e5\u5fd7\u8bb0\u5f55\u529f\u80fd \u6279\u91cf\u8bfb\u53d6\u529f\u80fd","title":"\u4e3b\u8981\u7279\u6027"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_4","text":"","title":"\u5b89\u88c5\u4e0e\u542f\u52a8"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_5","text":"Windows 7/8/10/11 .NET Framework 4.0 \u6216\u66f4\u9ad8\u7248\u672c \u81f3\u5c1150MB\u53ef\u7528\u78c1\u76d8\u7a7a\u95f4","title":"\u7cfb\u7edf\u8981\u6c42"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_6","text":"\u4e0b\u8f7dModbusPoll-v7.0.0\u5b89\u88c5\u5305 \u53f3\u952e\u70b9\u51fb\u5b89\u88c5\u5305\uff0c\u9009\u62e9\"\u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884c\" \u6309\u7167\u5b89\u88c5\u5411\u5bfc\u5b8c\u6210\u5b89\u88c5 \u542f\u52a8\u7a0b\u5e8f\uff1a\u5f00\u59cb\u83dc\u5355 \u2192 ModbusPoll","title":"\u5b89\u88c5\u6b65\u9aa4"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_7","text":"\u542f\u52a8\u540e\u4f1a\u663e\u793a\u4e3b\u754c\u9762\uff0c\u5305\u542b\uff1a - \u83dc\u5355\u680f\uff1a\u6587\u4ef6\u3001\u8fde\u63a5\u3001\u8bbe\u7f6e\u7b49 - \u5de5\u5177\u680f\uff1a\u5e38\u7528\u529f\u80fd\u5feb\u6377\u6309\u94ae - \u6570\u636e\u663e\u793a\u533a\u57df\uff1a\u5bc4\u5b58\u5668\u6570\u636e\u8868\u683c - \u72b6\u6001\u680f\uff1a\u8fde\u63a5\u72b6\u6001\u548c\u7edf\u8ba1\u4fe1\u606f","title":"\u9996\u6b21\u542f\u52a8"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_8","text":"","title":"\u57fa\u672c\u914d\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_9","text":"\u4e32\u53e3\u8fde\u63a5\uff08RTU/ASCII\uff09 Connection \u2192 Connect \u6216\u70b9\u51fb\u5de5\u5177\u680f\u8fde\u63a5\u56fe\u6807 \u8fde\u63a5\u53c2\u6570\u914d\u7f6e Port : \u9009\u62e9\u4e32\u53e3\uff08COM1, COM2\u7b49\uff09 Baud Rate : \u6ce2\u7279\u7387\uff08\u5e38\u75289600, 19200, 38400\uff09 Data Bits : \u6570\u636e\u4f4d\uff08\u901a\u5e38\u4e3a8\uff09 Parity : \u6821\u9a8c\u4f4d\uff08None, Even, Odd\uff09 Stop Bits : \u505c\u6b62\u4f4d\uff081\u62162\uff09 Mode : \u9009\u62e9RTU\u6216ASCII TCP\u8fde\u63a5\u8bbe\u7f6e IP Address : \u8bbe\u5907IP\u5730\u5740 Port : \u7aef\u53e3\u53f7\uff08\u9ed8\u8ba4502\uff09 Unit ID : \u4ece\u7ad9\u5730\u5740","title":"\u8fde\u63a5\u8bbe\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_10","text":"","title":"\u8fde\u63a5\u8bbe\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_11","text":"\u4ee5\u6c34\u5904\u7406\u673a\u4e3a\u4f8b\uff1a - Port: COM1 - Baud Rate: 9600 - Data Bits: 8 - Parity: None - Stop Bits: 1 - Mode: RTU - Response timeout: 1000ms - Delay between polls: 100ms","title":"\u4e32\u53e3\u8fde\u63a5\u793a\u4f8b"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#tcp","text":"\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u7f51\u7edc\u8fde\u63a5\uff1a - IP Address: 192.168.1.100 - Port: 502 - Unit ID: 1 - Response timeout: 3000ms - Delay between polls: 500ms","title":"TCP\u8fde\u63a5\u793a\u4f8b"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_12","text":"","title":"\u6570\u636e\u8bfb\u53d6\u914d\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_13","text":"Setup \u2192 Read/Write Definition \u914d\u7f6e\u8bfb\u53d6\u53c2\u6570\uff1a Slave ID : \u4ece\u7ad9\u5730\u5740\uff081-247\uff09 Function : \u529f\u80fd\u7801 01: \u8bfb\u53d6\u7ebf\u5708\u72b6\u6001 02: \u8bfb\u53d6\u8f93\u5165\u72b6\u6001 03: \u8bfb\u53d6\u4fdd\u6301\u5bc4\u5b58\u5668 04: \u8bfb\u53d6\u8f93\u5165\u5bc4\u5b58\u5668 Address : \u8d77\u59cb\u5730\u5740 Quantity : \u8bfb\u53d6\u6570\u91cf Scan Rate : \u626b\u63cf\u9891\u7387\uff08ms\uff09","title":"\u8bbe\u7f6e\u8bfb\u53d6\u53c2\u6570"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_14","text":"\u6e29\u5ea6\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 03 (Read Holding Registers) - Address: 23 (0x0017) - Quantity: 2 - Scan Rate: 1000ms \u4f9b\u6db2\u538b\u529b\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 03 - Address: 25 (0x0019) - Quantity: 2 - Scan Rate: 500ms \u6db2\u4f4d\u72b6\u6001\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 01 (Read Coils) - Address: 0x0001 - Quantity: 16 - Scan Rate: 2000ms \u7535\u5bfc\u7387\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 03 - Address: 24 (0x0018) - Quantity: 2 - Scan Rate: 1000ms PH\u503c\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 03 - Address: 29 (0x001D) - Quantity: 2 - Scan Rate: 1000ms","title":"\u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u53c2\u6570\u914d\u7f6e\u793a\u4f8b"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_15","text":"","title":"\u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u901a\u4fe1\u5b9e\u4f8b"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_16","text":"\u6839\u636e\u6c34\u5904\u7406\u8bbe\u5907\u901a\u4fe1\u534f\u8bae\u914d\u7f6e\uff1a 1. \u6e29\u5ea6\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x0017\uff09 - Function: 03 - Address: 23 (0x0017) - Quantity: 2 - Data Format: Float (4\u5b57\u8282) 2. \u7535\u5bfc\u7387\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x0018\uff09 - Function: 03 - Address: 24 (0x0018) - Quantity: 2 - Data Format: Float 3. \u4f9b\u6db2\u538b\u529b\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x0019-0x001A\uff09 - Function: 03 - Address: 25 (0x0019) - Quantity: 4 - Data Format: Float (\u4f9b\u6db2\u4e00\u3001\u4f9b\u6db2\u4e8c\u538b\u529b) 4. \u6db2\u4f4d\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x001B-0x001C\uff09 - Function: 03 - Address: 27 (0x001B) - Quantity: 4 - Data Format: Float (\u50a8\u6db2\u3001\u914d\u6db2\u6db2\u4f4d) 5. PH\u503c\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x001D\uff09 - Function: 03 - Address: 29 (0x001D) - Quantity: 2 - Data Format: Float","title":"\u6c34\u5904\u7406\u673a\u53c2\u6570\u8bfb\u53d6"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_17","text":"Setup \u2192 Read/Write Definition \u2192 Add Multiple \u521b\u5efa\u591a\u4e2a\u8bfb\u53d6\u7ec4\uff1a - \u7ec41\uff1a\u6e29\u5ea6\u76f8\u5173\u53c2\u6570 (0x0017-0x0018) - \u7ec42\uff1a\u538b\u529b\u76f8\u5173\u53c2\u6570 (0x0019-0x001A) - \u7ec43\uff1a\u6db2\u4f4d\u76f8\u5173\u53c2\u6570 (0x001B-0x001C) - \u7ec44\uff1aPH\u503c\u53c2\u6570 (0x001D) - \u7ec45\uff1a\u72b6\u6001\u76f8\u5173\u53c2\u6570 (0x0001-0x0010)","title":"\u6279\u91cf\u8bfb\u53d6\u914d\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_18","text":"","title":"\u6570\u636e\u76d1\u63a7\u4e0e\u5206\u6790"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_19","text":"Display \u2192 Data Format \u9009\u62e9\u5408\u9002\u7684\u663e\u793a\u683c\u5f0f\uff1a Signed/Unsigned : \u6709\u7b26\u53f7/\u65e0\u7b26\u53f7 16-bit/32-bit : \u6570\u636e\u4f4d\u6570 Hex/Decimal/Binary : \u8fdb\u5236\u663e\u793a Float : \u6d6e\u70b9\u6570\u663e\u793a","title":"\u6570\u636e\u663e\u793a\u683c\u5f0f"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_20","text":"\u91cd\u8981 \uff1a\u6b63\u786e\u7684\u5b57\u8282\u5e8f\u8bbe\u7f6e\u662f\u6570\u636e\u6b63\u786e\u663e\u793a\u7684\u5173\u952e \u914d\u7f6e\u6b65\u9aa4 \uff1a 1. Display \u2192 Data Format \u2192 Advanced 2. \u5b57\u8282\u5e8f\u9009\u9879 \uff1a ``` \u25a1 Byte Swap - \u5b57\u8282\u4ea4\u6362 \u25a1 Word Swap - \u5b57\u4ea4\u6362 \u56db\u79cd\u7ec4\u5408\u5bf9\u5e94\u4e0d\u540c\u5b57\u8282\u5e8f\uff1a \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 \u9009\u9879\u7ec4\u5408 \u2502 \u5b57\u8282\u5e8f \u2502 \u793a\u4f8b \u2502 \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502 \u65e0\u52fe\u9009 \u2502 ABCD \u2502 42 0C CC CD \u2502 \u2502 Byte Swap \u2502 BADC \u2502 0C 42 CD CC \u2502 \u2502 Word Swap \u2502 CDAB \u2502 CC CD 42 0C \u2502 \u2502 Both \u2502 DCBA \u2502 CD CC 0C 42 \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 ``` \u5b9e\u9645\u9a8c\u8bc1\u65b9\u6cd5 \uff1a \u57fa\u4e8e\u60a8\u7684\u901a\u4fe1\u6570\u636e CD CC 0C 42\uff1a 1. \u5c1d\u8bd5DCBA\u683c\u5f0f\uff1aCD CC 0C 42 \u2192 35.2\u00b0C \u2713 2. \u5176\u4ed6\u683c\u5f0f\u90fd\u4f1a\u663e\u793a\u5f02\u5e38\u503c 3. \u56e0\u6b64\u60a8\u7684\u8bbe\u5907\u4f7f\u7528DCBA\u5b57\u8282\u5e8f \u914d\u7f6e\u5efa\u8bae \uff1a - \u6c34\u5904\u7406\u8bbe\u5907\u901a\u5e38\u4f7f\u7528\u5927\u7aef\u5e8f(ABCD) - PC-based\u8bbe\u5907\u901a\u5e38\u4f7f\u7528\u5c0f\u7aef\u5e8f(DCBA) - \u6839\u636e\u5b9e\u9645\u6570\u636e\u9a8c\u8bc1\u9009\u62e9\u6b63\u786e\u683c\u5f0f","title":"\u5b57\u8282\u5e8f\u914d\u7f6e\u8be6\u89e3"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_21","text":"View\u83dc\u5355\u9009\u9879\uff1a - Data View: \u6570\u636e\u8868\u683c\u89c6\u56fe - Register View: \u5bc4\u5b58\u5668\u89c6\u56fe - Traffic View: \u901a\u4fe1\u6d41\u91cf\u89c6\u56fe - Error View: \u9519\u8bef\u65e5\u5fd7\u89c6\u56fe","title":"\u5b9e\u65f6\u76d1\u63a7"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_22","text":"Log \u2192 Start Logging \u8bbe\u7f6e\u65e5\u5fd7\u6587\u4ef6\u8def\u5f84\u548c\u683c\u5f0f \u9009\u62e9\u8bb0\u5f55\u95f4\u9694\u548c\u6761\u4ef6 \u5f00\u59cb\u8bb0\u5f55\u6570\u636e\u53d8\u5316","title":"\u6570\u636e\u8bb0\u5f55"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_23","text":"Setup \u2192 Alarm Setup \u914d\u7f6e\u544a\u8b66\u6761\u4ef6\uff1a - \u6c34\u6e29\u8d85\u9650\uff1a> 40\u00b0C \u6216 < 35\u00b0C - \u4f9b\u6db2\u538b\u529b\u5f02\u5e38\uff1a< 0.1MPa \u6216 > 0.5MPa - \u7535\u5bfc\u7387\u5f02\u5e38\uff1a< 13.0 \u6216 > 15.0 mS/cm - \u8bbe\u5907\u79bb\u7ebf\uff1a\u901a\u4fe1\u8d85\u65f6 > 5\u79d2","title":"\u544a\u8b66\u8bbe\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_24","text":"","title":"\u6545\u969c\u6392\u9664"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_25","text":"","title":"\u5e38\u89c1\u95ee\u9898\u53ca\u89e3\u51b3\u65b9\u6848"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#1","text":"\u95ee\u9898\uff1a\u65e0\u6cd5\u8fde\u63a5\u5230\u8bbe\u5907 \u89e3\u51b3\u65b9\u6848\uff1a - \u68c0\u67e5\u4e32\u53e3/\u7f51\u7edc\u8fde\u63a5 - \u786e\u8ba4\u6ce2\u7279\u7387\u548c\u901a\u4fe1\u53c2\u6570 - \u68c0\u67e5\u8bbe\u5907\u5730\u5740\u662f\u5426\u6b63\u786e - \u9a8c\u8bc1\u7535\u7f06\u8fde\u63a5","title":"1. \u8fde\u63a5\u5931\u8d25"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#2","text":"\u95ee\u9898\uff1a\u8bfb\u53d6\u6570\u636e\u5168\u4e3a0\u6216\u5f02\u5e38\u503c \u89e3\u51b3\u65b9\u6848\uff1a - \u68c0\u67e5\u529f\u80fd\u7801\u662f\u5426\u6b63\u786e - \u786e\u8ba4\u5bc4\u5b58\u5668\u5730\u5740 - \u68c0\u67e5\u6570\u636e\u683c\u5f0f\u8bbe\u7f6e - \u9a8c\u8bc1\u8bbe\u5907\u662f\u5426\u652f\u6301\u8be5\u529f\u80fd","title":"2. \u6570\u636e\u8bfb\u53d6\u5f02\u5e38"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#3","text":"\u95ee\u9898\uff1a\u9891\u7e41\u51fa\u73b0\u901a\u4fe1\u8d85\u65f6 \u89e3\u51b3\u65b9\u6848\uff1a - \u589e\u52a0Response Timeout\u65f6\u95f4 - \u51cf\u5c11\u626b\u63cf\u9891\u7387 - \u68c0\u67e5\u7f51\u7edc\u7a33\u5b9a\u6027 - \u786e\u8ba4\u8bbe\u5907\u8d1f\u8f7d\u60c5\u51b5","title":"3. \u901a\u4fe1\u8d85\u65f6"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#4","text":"\u95ee\u9898\uff1a\u6570\u636e\u663e\u793a\u683c\u5f0f\u4e0d\u6b63\u786e \u89e3\u51b3\u65b9\u6848\uff1a - \u68c0\u67e5\u5b57\u8282\u5e8f\u8bbe\u7f6e\uff08\u5927\u7aef/\u5c0f\u7aef\uff09 - \u786e\u8ba4\u6570\u636e\u7c7b\u578b\uff08\u6574\u6570/\u6d6e\u70b9\uff09 - \u8c03\u6574\u6570\u636e\u4f4d\u6570\u8bbe\u7f6e - \u53c2\u8003\u8bbe\u5907\u624b\u518c\u786e\u8ba4\u683c\u5f0f","title":"4. \u6570\u636e\u683c\u5f0f\u9519\u8bef"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#5","text":"\u95ee\u9898\uff1a\u6570\u636e\u6570\u503c\u5f02\u5e38\uff08\u8fc7\u5927\u6216\u8fc7\u5c0f\uff09 \u75c7\u72b6\uff1a - \u6e29\u5ea6\u663e\u793a\u51e0\u5343\u5ea6\u6216\u8d1f\u503c - \u538b\u529b\u663e\u793a\u5f02\u5e38\u5927\u7684\u6570\u503c - \u7535\u5bfc\u7387\u663e\u793a\u4e0d\u5408\u7406\u6570\u503c \u89e3\u51b3\u6b65\u9aa4\uff1a 1. \u67e5\u770bTraffic View\u4e2d\u7684\u539f\u59cb\u5341\u516d\u8fdb\u5236\u6570\u636e 2. \u5c1d\u8bd5\u4e0d\u540c\u5b57\u8282\u5e8f\u7ec4\u5408\uff1a - Display \u2192 Data Format \u2192 Byte Swap - Display \u2192 Data Format \u2192 Word Swap 3. \u9009\u62e9\u663e\u793a\u5408\u7406\u6570\u503c\u7684\u7ec4\u5408 4. \u9a8c\u8bc1\u591a\u4e2a\u53c2\u6570\u786e\u4fdd\u8bbe\u7f6e\u6b63\u786e \u5b9e\u4f8b\uff1a \u539f\u59cb\u6570\u636e\uff1aCD CC 0C 42 - \u9ed8\u8ba4(ABCD)\uff1a\u5f02\u5e38\u503c - Byte swap(BADC)\uff1a\u5f02\u5e38\u503c - Word swap(CDAB)\uff1a\u5f02\u5e38\u503c - Byte+Word(DCBA)\uff1a35.2\u00b0C \u2713\u6b63\u786e","title":"5. \u5b57\u8282\u5e8f\u95ee\u9898\u8bca\u65ad"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_26","text":"","title":"\u9ad8\u7ea7\u529f\u80fd"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#1_1","text":"Tools \u2192 Scripting \u652f\u6301VB\u811a\u672c\u81ea\u52a8\u5316\uff1a - \u81ea\u52a8\u8fde\u63a5\u8bbe\u5907 - \u6279\u91cf\u6570\u636e\u5904\u7406 - \u6761\u4ef6\u89e6\u53d1\u64cd\u4f5c - \u62a5\u544a\u751f\u6210","title":"1. \u811a\u672c\u81ea\u52a8\u5316"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#2_1","text":"File \u2192 Export Data \u652f\u6301\u591a\u79cd\u683c\u5f0f\uff1a - CSV\u6587\u4ef6 - Excel\u6587\u4ef6 - XML\u683c\u5f0f - \u81ea\u5b9a\u4e49\u683c\u5f0f","title":"2. \u6570\u636e\u5bfc\u51fa"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#3_1","text":"\u53ef\u540c\u65f6\u76d1\u63a7\u591a\u4e2a\u8bbe\u5907\uff1a 1. File \u2192 New Document 2. \u914d\u7f6e\u4e0d\u540c\u8bbe\u5907\u53c2\u6570 3. Window \u2192 Tile \u5e73\u94fa\u663e\u793a 4. \u5b9e\u73b0\u591a\u8bbe\u5907\u96c6\u4e2d\u76d1\u63a7","title":"3. \u591a\u8bbe\u5907\u76d1\u63a7"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#4_1","text":"View \u2192 Trend View \u529f\u80fd\u7279\u6027\uff1a - \u5b9e\u65f6\u8d8b\u52bf\u56fe\u8868 - \u5386\u53f2\u6570\u636e\u56de\u653e - \u6570\u636e\u7edf\u8ba1\u5206\u6790 - \u5f02\u5e38\u70b9\u6807\u8bb0","title":"4. \u8d8b\u52bf\u5206\u6790"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_27","text":"","title":"\u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u76d1\u63a7\u5b9e\u6218"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_28","text":"# \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u76d1\u63a7\u914d\u7f6e\u793a\u4f8b \u8bbe\u5907\u4fe1\u606f : \u8bbe\u5907\u578b\u53f7 : \u6c34\u5904\u7406\u673a+\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907 \u901a\u4fe1\u65b9\u5f0f : Modbus RTU/TCP \u6ce2\u7279\u7387 : 9600 \u4ece\u7ad9\u5730\u5740 : 1 \u76d1\u63a7\u53c2\u6570 : \u6e29\u5ea6\u76d1\u63a7 : \u5730\u5740 : 0x0017 \u5355\u4f4d : \u00b0C \u544a\u8b66 : 35-40\u00b0C \u7535\u5bfc\u7387\u76d1\u63a7 : \u5730\u5740 : 0x0018 \u5355\u4f4d : mS/cm \u544a\u8b66 : 13.0-15.0 \u538b\u529b\u76d1\u63a7 : \u4f9b\u6db2\u4e00 : 0x0019 \u4f9b\u6db2\u4e8c : 0x001A \u5355\u4f4d : MPa \u544a\u8b66 : 0.1-0.5 \u6db2\u4f4d\u76d1\u63a7 : \u50a8\u6db2 : 0x001B \u914d\u6db2 : 0x001C \u5355\u4f4d : % \u544a\u8b66 : 10-90% PH\u503c\u76d1\u63a7 : \u5730\u5740 : 0x001D \u5355\u4f4d : pH \u544a\u8b66 : 6.5-7.5 \u626b\u63cf\u8bbe\u7f6e : \u6b63\u5e38\u626b\u63cf : 1000ms \u5feb\u901f\u626b\u63cf : 500ms \u6162\u901f\u626b\u63cf : 2000ms \u901a\u4fe1\u534f\u8bae\u5206\u6790 : \u57fa\u4e8e\u5b9e\u9645\u901a\u4fe1\u6570\u636e : - \u4f7f\u7528Modbus TCP\u534f\u8bae - \u529f\u80fd\u780103 (Read Holding Registers) - \u8d77\u59cb\u5730\u5740 : 0x0017 (\u6e29\u5ea6) - \u6570\u636e\u683c\u5f0f : 32\u4f4d\u6d6e\u70b9\u6570 (IEEE 754) - \u5b57\u8282\u5e8f\u5206\u6790 : * \u539f\u59cb\u6570\u636e : CD CC 0C 42 * \u9700\u8981DCBA\u5b57\u8282\u5e8f (Byte+Word Swap) * \u89e3\u6790\u7ed3\u679c : 35.2\u00b0C - \u6570\u636e\u793a\u4f8b\u9a8c\u8bc1 : * CD CC 0C 42 (\u5341\u516d\u8fdb\u5236) * \u2192 0x420CCCCD (\u91cd\u6392\u540e) * \u2192 35.2000008 (IEEE 754\u6d6e\u70b9\u6570) * \u2192 35.2\u00b0C (\u663e\u793a\u503c) \u914d\u7f6e\u8981\u70b9 : - ModbusPoll\u8bbe\u7f6e : Display \u2192 Data Format - \u52fe\u9009 : Byte Swap + Word Swap - \u6570\u636e\u7c7b\u578b : 32-bit Float - \u9a8c\u8bc1\u65b9\u6cd5 : \u89c2\u5bdf\u6e29\u5ea6\u662f\u5426\u5728\u5408\u7406\u8303\u56f4(30-50\u00b0C)","title":"\u5b8c\u6574\u76d1\u63a7\u914d\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_29","text":"' \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u72b6\u6001\u68c0\u67e5\u811a\u672c Sub CheckWaterTreatmentStatus () Dim temp , pressure1 , pressure2 , conductivity , ph ' \u8bfb\u53d6\u6e29\u5ea6 (\u5730\u574023) temp = mbPoll . ReadFloat ( 1 , 3 , 23 ) ' \u8bfb\u53d6\u538b\u529b (\u5730\u574025,26) pressure1 = mbPoll . ReadFloat ( 1 , 3 , 25 ) pressure2 = mbPoll . ReadFloat ( 1 , 3 , 26 ) ' \u8bfb\u53d6\u7535\u5bfc\u7387 (\u5730\u574024) conductivity = mbPoll . ReadFloat ( 1 , 3 , 24 ) ' \u8bfb\u53d6PH\u503c (\u5730\u574029) ph = mbPoll . ReadFloat ( 1 , 3 , 29 ) ' \u68c0\u67e5\u5f02\u5e38 If temp > 40 Or temp < 35 Then MsgBox \"\u6c34\u6e29\u5f02\u5e38: \" & temp & \"\u00b0C\" End If If pressure1 < 0.1 Or pressure1 > 0.5 Then MsgBox \"\u4f9b\u6db2\u4e00\u538b\u529b\u5f02\u5e38: \" & pressure1 & \"MPa\" End If If conductivity < 13.0 Or conductivity > 15.0 Then MsgBox \"\u7535\u5bfc\u7387\u5f02\u5e38: \" & conductivity & \"mS/cm\" End If If ph < 6.5 Or ph > 7.5 Then MsgBox \"PH\u503c\u5f02\u5e38: \" & ph End If End Sub","title":"\u81ea\u52a8\u5316\u811a\u672c\u793a\u4f8b"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_30","text":"","title":"\u6700\u4f73\u5b9e\u8df5\u5efa\u8bae"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#1_2","text":"\u5408\u7406\u8bbe\u7f6e\u626b\u63cf\u9891\u7387\uff0c\u907f\u514d\u8fc7\u5ea6\u8f6e\u8be2 \u4f7f\u7528\u6279\u91cf\u8bfb\u53d6\u51cf\u5c11\u901a\u4fe1\u6b21\u6570 \u5b9a\u671f\u6e05\u7406\u65e5\u5fd7\u6587\u4ef6 \u76d1\u63a7\u7cfb\u7edf\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5","title":"1. \u6027\u80fd\u4f18\u5316"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#2_2","text":"\u5efa\u7acb\u89c4\u8303\u7684\u53c2\u6570\u547d\u540d\u89c4\u5219 \u5b9a\u671f\u5907\u4efd\u91cd\u8981\u914d\u7f6e \u8bbe\u7f6e\u5408\u7406\u7684\u6570\u636e\u4fdd\u5b58\u5468\u671f \u5b9e\u65bd\u6570\u636e\u5b89\u5168\u63aa\u65bd","title":"2. \u6570\u636e\u7ba1\u7406"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#3_2","text":"\u5b9a\u671f\u68c0\u67e5\u901a\u4fe1\u7ebf\u8def \u66f4\u65b0\u8bbe\u5907\u9a71\u52a8\u7a0b\u5e8f \u5907\u4efd\u5de5\u7a0b\u914d\u7f6e\u6587\u4ef6 \u5efa\u7acb\u6545\u969c\u5904\u7406\u6d41\u7a0b","title":"3. \u7ef4\u62a4\u5efa\u8bae"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_31","text":"","title":"\u9644\u5f55"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#a-modbus","text":"01 - Read Coils (\u8bfb\u53d6\u7ebf\u5708\u72b6\u6001) 02 - Read Discrete Inputs (\u8bfb\u53d6\u79bb\u6563\u8f93\u5165) 03 - Read Holding Registers (\u8bfb\u53d6\u4fdd\u6301\u5bc4\u5b58\u5668) 04 - Read Input Registers (\u8bfb\u53d6\u8f93\u5165\u5bc4\u5b58\u5668) 05 - Write Single Coil (\u5199\u5355\u4e2a\u7ebf\u5708) 06 - Write Single Register (\u5199\u5355\u4e2a\u5bc4\u5b58\u5668) 15 - Write Multiple Coils (\u5199\u591a\u4e2a\u7ebf\u5708) 16 - Write Multiple Registers (\u5199\u591a\u4e2a\u5bc4\u5b58\u5668)","title":"A. Modbus\u529f\u80fd\u7801\u5bf9\u7167\u8868"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#b","text":"1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200","title":"B. \u5e38\u7528\u6ce2\u7279\u7387\u8bbe\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#c","text":"\u57fa\u4e8e\u5b9e\u9645\u901a\u4fe1\u6570\u636e\u7684\u5730\u5740\u6620\u5c04\uff1a \u6e29\u5ea6\uff1a0x0017 (\u5341\u8fdb\u523623) \u7535\u5bfc\u7387\uff1a0x0018 (\u5341\u8fdb\u523624) \u4f9b\u6db2\u4e00\u538b\u529b\uff1a0x0019 (\u5341\u8fdb\u523625) \u4f9b\u6db2\u4e8c\u538b\u529b\uff1a0x001A (\u5341\u8fdb\u523626) \u50a8\u6db2\u6db2\u4f4d\uff1a0x001B (\u5341\u8fdb\u523627) \u914d\u6db2\u6db2\u4f4d\uff1a0x001C (\u5341\u8fdb\u523628) PH\u503c\uff1a0x001D (\u5341\u8fdb\u523629) \u72b6\u6001\u7c7b\uff1a0x0001-0x0010 \u63a7\u5236\u7c7b\uff1a0x0020-0x0030","title":"C. \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u5e38\u7528\u5730\u5740\u6620\u5c04"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#d","text":"","title":"D. \u5927\u7aef\u5c0f\u7aef\uff08\u5b57\u8282\u5e8f\uff09\u8be6\u89e3"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_32","text":"\u5b57\u8282\u5e8f\uff08Byte Order\uff09\u662f\u6307\u591a\u5b57\u8282\u6570\u636e\u5728\u5185\u5b58\u4e2d\u7684\u5b58\u50a8\u987a\u5e8f\uff0c\u4e3b\u8981\u6709\u4e24\u79cd\uff1a \u5927\u7aef\u5e8f\uff08Big Endian\uff09 \uff1a - \u9ad8\u4f4d\u5b57\u8282\u5b58\u50a8\u5728\u4f4e\u5730\u5740 - \u7b26\u5408\u4eba\u7c7b\u9605\u8bfb\u4e60\u60ef - \u7f51\u7edc\u4f20\u8f93\u6807\u51c6\u5b57\u8282\u5e8f \u5c0f\u7aef\u5e8f\uff08Little Endian\uff09 \uff1a - \u4f4e\u4f4d\u5b57\u8282\u5b58\u50a8\u5728\u4f4e\u5730\u5740 - \u591a\u6570x86\u5904\u7406\u5668\u91c7\u7528 - Intel\u67b6\u6784\u9ed8\u8ba4\u5b57\u8282\u5e8f","title":"\u4ec0\u4e48\u662f\u5927\u7aef\u5c0f\u7aef\uff1f"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_33","text":"\u4ee532\u4f4d\u6d6e\u70b9\u6570 35.2\u00b0C \u4e3a\u4f8b\uff1a IEEE 754 \u6d6e\u70b9\u6570\u8868\u793a\uff1a0x420C_CCCD \u5927\u7aef\u5e8f\u5b58\u50a8\uff1a \u5730\u5740 \u5185\u5bb9 0x1000 0x42 (\u6700\u9ad8\u4f4d\u5b57\u8282) 0x1001 0x0C 0x1002 0xCC 0x1003 0xCD (\u6700\u4f4e\u4f4d\u5b57\u8282) \u5c0f\u7aef\u5e8f\u5b58\u50a8\uff1a \u5730\u5740 \u5185\u5bb9 0x1000 0xCD (\u6700\u4f4e\u4f4d\u5b57\u8282) 0x1001 0xCC 0x1002 0x0C 0x1003 0x42 (\u6700\u9ad8\u4f4d\u5b57\u8282)","title":"\u5b9e\u9645\u4f8b\u5b50\u8bf4\u660e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_34","text":"\u65b9\u6cd51\uff1a\u901a\u8fc7\u901a\u4fe1\u6570\u636e\u5206\u6790 \u4ececommdata.txt\u770b\u5230\u7684\u6570\u636e\uff1aCD CC 0C 42 1. \u5c06\u8fd94\u4e2a\u5b57\u8282\u6309\u4e0d\u540c\u5b57\u8282\u5e8f\u89e3\u91ca\uff1a - \u5927\u7aef\u5e8f\uff1a0x42_0C_CCCD = 35.2 (\u5408\u7406\u7684\u6e29\u5ea6\u503c) - \u5c0f\u7aef\u5e8f\uff1a0xCDCC_0C42 = \u975e\u5e38\u5927\u7684\u6570\u503c(\u4e0d\u5408\u7406) 2. \u7ed3\u8bba\uff1a\u8bbe\u5907\u4f7f\u7528\u5927\u7aef\u5e8f \u65b9\u6cd52\uff1a\u67e5\u770b\u8bbe\u5907\u624b\u518c \u8bbe\u5907\u6280\u672f\u6587\u6863\u901a\u5e38\u4f1a\u8bf4\u660e\uff1a - \"\u7f51\u7edc\u5b57\u8282\u5e8f\" = \u5927\u7aef\u5e8f - \"\u4e3b\u673a\u5b57\u8282\u5e8f\" = \u901a\u5e38\u662f\u5c0f\u7aef\u5e8f - \"Intel\u683c\u5f0f\" = \u5c0f\u7aef\u5e8f - \"Motorola\u683c\u5f0f\" = \u5927\u7aef\u5e8f \u65b9\u6cd53\uff1aModbusPoll\u4e2d\u7684\u9a8c\u8bc1 \u5728ModbusPoll\u4e2d\u6d4b\u8bd5\uff1a 1. Setup \u2192 Data Format \u2192 Byte Swap 2. \u89c2\u5bdf\u6570\u636e\u662f\u5426\u5408\u7406\uff1a - \u6e29\u5ea6\u5e94\u8be5\u57280-100\u00b0C\u8303\u56f4 - \u538b\u529b\u5e94\u8be5\u57280-10MPa\u8303\u56f4 - \u7535\u5bfc\u7387\u5e94\u8be5\u572810-20mS/cm\u8303\u56f4 3. \u9009\u62e9\u663e\u793a\u6b63\u786e\u6570\u503c\u7684\u5b57\u8282\u5e8f","title":"\u5982\u4f55\u786e\u5b9a\u8bbe\u5907\u5b57\u8282\u5e8f\uff1f"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#modbuspoll","text":"\u914d\u7f6e\u8def\u5f84 \uff1aDisplay \u2192 Data Format \u9009\u9879\u8bf4\u660e \uff1a \u25a1 Byte swap - \u4ea4\u6362\u5b57\u8282\u5e8f \u25a1 Word swap - \u4ea4\u6362\u5b57\u987a\u5e8f \u25a1 Dword swap - \u4ea4\u6362\u53cc\u5b57\u987a\u5e8f \u7ec4\u5408\u8bbe\u7f6e\u5bf9\u5e94\u4e0d\u540c\u683c\u5f0f\uff1a - \u65e0\u52fe\u9009\uff1aABCD (\u5927\u7aef\u5e8f) - Byte swap\uff1aBADC - Word swap\uff1aCDAB - Byte+Word swap\uff1aDCBA (\u5c0f\u7aef\u5e8f)","title":"ModbusPoll\u5b57\u8282\u5e8f\u8bbe\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_35","text":"\u6848\u4f8b1\uff1a\u6e29\u5ea6\u8bfb\u53d6\u5f02\u5e38 \u95ee\u9898\uff1a\u8bfb\u53d6\u6e29\u5ea6\u663e\u793a\u4e3a\u51e0\u5343\u5ea6 \u539f\u56e0\uff1a\u5b57\u8282\u5e8f\u8bbe\u7f6e\u9519\u8bef \u89e3\u51b3\uff1a\u52fe\u9009\"Byte swap\"\u8c03\u6574\u5b57\u8282\u5e8f \u6848\u4f8b2\uff1a\u538b\u529b\u503c\u663e\u793a\u5f02\u5e38 \u8bfb\u53d6\u6570\u636e\uff1a12 34 56 78 \u5927\u7aef\u5e8f\u89e3\u91ca\uff1a0x12345678 = 305,419,896 (\u5f02\u5e38) \u5c0f\u7aef\u5e8f\u89e3\u91ca\uff1a0x78563412 = 2,018,915,346 (\u5f02\u5e38) \u9700\u8981Word swap\uff1a0x34127856 = 873,756,758 (\u4ecd\u5f02\u5e38) \u6b63\u786e\u8bbe\u7f6e\uff1aByte+Word swap = 0x78563412\u8f6c\u6362\u4e3a\u6d6e\u70b9\u6570","title":"\u5b9e\u9645\u5e94\u7528\u793a\u4f8b"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_36","text":"\u6b65\u9aa41\uff1a\u8bb0\u5f55\u539f\u59cb\u6570\u636e \u4f7f\u7528Traffic View\u67e5\u770b\u539f\u59cb\u5341\u516d\u8fdb\u5236\u6570\u636e \u4f8b\u5982\uff1a42 0C CC CD \u6b65\u9aa42\uff1a\u624b\u52a8\u8ba1\u7b97\u9a8c\u8bc1 \u4f7f\u7528\u5728\u7ebfIEEE 754\u8f6c\u6362\u5668\uff1a - \u8f93\u5165\uff1a420CCCCD - \u8f93\u51fa\uff1a35.2000008... - \u9a8c\u8bc1\u662f\u5426\u4e3a\u5408\u7406\u6570\u503c \u6b65\u9aa43\uff1aModbusPoll\u4e2d\u6d4b\u8bd5 \u4f9d\u6b21\u5c1d\u8bd5\u56db\u79cd\u5b57\u8282\u5e8f\u7ec4\u5408\uff1a 1. ABCD - \u539f\u59cb\u987a\u5e8f 2. BADC - Byte swap 3. CDAB - Word swap 4. DCBA - Byte+Word swap \u9009\u62e9\u663e\u793a\u5408\u7406\u6570\u503c\u7684\u8bbe\u7f6e","title":"\u8c03\u8bd5\u6280\u5de7"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_37","text":"\u5927\u7aef\u5e8f\u8bbe\u5907\uff1a - \u65bd\u8010\u5fb7PLC - \u897f\u95e8\u5b50S7\u7cfb\u5217 - ABB\u8bbe\u5907 - \u5927\u591a\u6570\u7f51\u7edc\u8bbe\u5907 \u5c0f\u7aef\u5e8f\u8bbe\u5907\uff1a - \u4e09\u83f1PLC - \u6b27\u59c6\u9f99PLC - PC-based\u63a7\u5236\u5668 - Intel\u67b6\u6784\u8bbe\u5907 \u672c\u6559\u7a0b\u57fa\u4e8eModbusPoll v7.0.0\u7248\u672c\u7f16\u5199\uff0c\u9002\u7528\u4e8e\u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u53c2\u6570\u76d1\u63a7\u7cfb\u7edf\u3002\u5982\u6709\u95ee\u9898\u8bf7\u53c2\u8003\u5b98\u65b9\u6587\u6863\u6216\u8054\u7cfb\u6280\u672f\u652f\u6301\u3002","title":"\u5e38\u89c1\u8bbe\u5907\u5b57\u8282\u5e8f"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/","text":"node-red\u5982\u4f55\u8fde\u63a5modbus slave\u8bbe\u5907 \u00b6 \u8bf4\u660e \u00b6 \u6211\u60f3\u5728node-red\u4e2d\u7528\u6d41\u7a0b\u56fe\u4e2d\u914d\u7f6emodbus master\u4e3b\u8bbe\u5907\u901a\u8fc7mocbus tcp rtu\u53bb\u8054\u63a5modbus slave\u8bbe\u5907\uff0c\u5982\u4f55\u914d\u7f6e\u5462\uff1f \u6b65\u9aa4\u4e00\uff1a\u5b89\u88c5Modbus\u76f8\u5173\u8282\u70b9 \u00b6 \u6253\u5f00Node-RED\u7f16\u8f91\u5668\uff08\u6d4f\u89c8\u5668\u8bbf\u95ee http://<\u4f60\u7684\u8bbe\u5907IP>:1880\uff09\u3002 \u70b9\u51fb\u53f3\u4e0a\u89d2\u83dc\u5355\uff0c\u9009\u62e9\u201cManage palette\uff08\u7ba1\u7406\u8c03\u8272\u677f\uff09\u201d\u3002 \u5728\u201cInstall\u201d\u6807\u7b7e\u9875\u4e2d\u641c\u7d22 node-red-contrib-modbus \uff0c\u70b9\u51fb\u201cInstall\u201d\u5b89\u88c5\u3002 \u6b65\u9aa4\u4e8c\uff1a\u6dfb\u52a0Modbus TCP/RTU\u8282\u70b9 \u00b6 \u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u5de6\u4fa7\u4f1a\u51fa\u73b0\u201cmodbus\u201d\u7c7b\u522b\u3002 \u62d6\u62fd modbus-read \u6216 modbus-write \u8282\u70b9\u5230\u6d41\u7a0b\u56fe\u4e2d\u3002 \u53cc\u51fb\u8282\u70b9\uff0c\u70b9\u51fb\u201cServer\u201d\u53f3\u4fa7\u7684\u94c5\u7b14\u56fe\u6807\uff0c\u65b0\u589eModbus\u670d\u52a1\u5668\u914d\u7f6e\u3002 \u6b65\u9aa4\u4e09\uff1a\u914d\u7f6eModbus\u4e3b\u8bbe\u5907\uff08Master\uff09 \u00b6 \u8fde\u63a5\u7c7b\u578b \uff1a \u5982\u679c\u662fTCP\uff0c\u9009\u62e9\u201cTCP\u201d\uff0c\u586b\u5199Slave\u8bbe\u5907\u7684IP\u548c\u7aef\u53e3\uff08\u901a\u5e38\u4e3a502\uff09\u3002 \u5982\u679c\u662fRTU\uff08\u4e32\u53e3\uff09\uff0c\u9009\u62e9\u201cSerial\u201d\uff0c\u586b\u5199\u4e32\u53e3\u8bbe\u5907\uff08\u5982 /dev/ttyUSB0 \uff09\u3001\u6ce2\u7279\u7387\u3001\u6570\u636e\u4f4d\u3001\u6821\u9a8c\u7b49\u53c2\u6570\u3002 Unit-Id \uff1a\u586b\u5199\u76ee\u6807Slave\u7684\u5730\u5740\uff08\u901a\u5e38\u4e3a1\uff09\u3002 \u5176\u4ed6\u53c2\u6570\u6309\u5b9e\u9645\u9700\u6c42\u8bbe\u7f6e\u3002 \u6b65\u9aa4\u56db\uff1a\u914d\u7f6e\u8bfb\u5199\u64cd\u4f5c \u00b6 modbus-read \u8282\u70b9\uff1a\u8bbe\u7f6e\u529f\u80fd\u7801\uff08\u598203\u8bfb\u4fdd\u6301\u5bc4\u5b58\u5668\uff09\u3001\u8d77\u59cb\u5730\u5740\u3001\u957f\u5ea6\u3001\u8f6e\u8be2\u95f4\u9694\u7b49\u3002 modbus-write \u8282\u70b9\uff1a\u8bbe\u7f6e\u529f\u80fd\u7801\u3001\u76ee\u6807\u5730\u5740\u3001\u5199\u5165\u6570\u636e\u7b49\u3002 Modbus-Read\u8282\u70b9\u53c2\u6570\u586b\u5199\u8bf4\u660e \u00b6 \u540d\u79f0 \uff1a\u81ea\u5b9a\u4e49\uff0c\u4fbf\u4e8e\u8bc6\u522b\u3002 \u4e3b\u9898\uff08Topic\uff09 \uff1a\u53ef\u7559\u7a7a\u6216\u81ea\u5b9a\u4e49\uff08\u5982\u7528\u4e8e\u6d88\u606f\u5206\u6d41\u65f6\u586b\u5199\uff09\uff0c\u4e00\u822c\u9ed8\u8ba4\u5373\u53ef\u3002 Unit-Id \uff1a\u586b\u5199\u76ee\u6807 Modbus slave \u8bbe\u5907\u7684\u5730\u5740\uff08\u901a\u5e38\u4e3a1\uff0c\u5177\u4f53\u770b\u4f60\u7684\u8bbe\u5907\u8bbe\u7f6e\uff09\u3002 FC\uff08\u529f\u80fd\u7801\uff09 \uff1a\u9009\u62e9\u4f60\u8981\u6267\u884c\u7684Modbus\u529f\u80fd\u7801\uff0c\u5e38\u7528\u5982\u4e0b\uff1a 1\uff1a\u8bfb\u7ebf\u5708\uff08Coil Status\uff09 2\uff1a\u8bfb\u79bb\u6563\u8f93\u5165\uff08Input Status\uff09 3\uff1a\u8bfb\u4fdd\u6301\u5bc4\u5b58\u5668\uff08Holding Registers\uff0c\u6700\u5e38\u7528\uff09 4\uff1a\u8bfb\u8f93\u5165\u5bc4\u5b58\u5668\uff08Input Registers\uff09 Address \uff1a\u8981\u8bfb\u53d6\u7684\u5bc4\u5b58\u5668\u6216\u7ebf\u5708\u7684\u8d77\u59cb\u5730\u5740\uff08\u901a\u5e38\u4ece0\u62161\u5f00\u59cb\uff0c\u5177\u4f53\u770b\u8bbe\u5907\u624b\u518c\uff09\u3002 Quantity \uff1a\u8bfb\u53d6\u7684\u6570\u91cf\uff08\u5982\u8981\u8bfb2\u4e2a\u5bc4\u5b58\u5668\u5c31\u586b2\uff09\u3002 Poll Rate \uff1a\u8f6e\u8be2\u5468\u671f\uff0c\u5355\u4f4d\u4e3a\u6beb\u79d2\uff08\u59821000\u8868\u793a\u6bcf\u79d2\u8bfb\u53d6\u4e00\u6b21\uff09\u3002 \u4e3e\u4f8b\uff08\u8bfb\u53d6slave\u5730\u5740\u4e3a1\uff0c\u4fdd\u6301\u5bc4\u5b58\u5668\uff0c\u8d77\u59cb\u5730\u57400\uff0c\u6570\u91cf2\uff0c\u6bcf\u79d2\u8f6e\u8be2\uff09\uff1a - Unit-Id\uff1a1 - FC\uff1a3 - Address\uff1a0 - Quantity\uff1a2 - Poll Rate\uff1a1000 \u6b65\u9aa4\u4e94\uff1a\u90e8\u7f72\u4e0e\u8c03\u8bd5 \u00b6 \u8fde\u63a5\u8282\u70b9\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u201c\u90e8\u7f72\u201d\u3002 \u67e5\u770bdebug\u9762\u677f\uff0c\u786e\u8ba4\u6570\u636e\u662f\u5426\u6b63\u5e38\u6536\u53d1\u3002 \u53c2\u8003\u793a\u4f8b \u00b6 [modbus-read] \u2192 [debug] \u5e38\u89c1\u95ee\u9898 \u00b6 \u786e\u8ba4\u7269\u7406\u8fde\u63a5\u548c\u4e32\u53e3\u6743\u9650\u3002 TCP\u6a21\u5f0f\u4e0b\u9632\u706b\u5899\u9700\u653e\u884c502\u7aef\u53e3\u3002 RTU\u6a21\u5f0f\u4e0b\u9700\u6b63\u786e\u914d\u7f6e\u4e32\u53e3\u53c2\u6570\u3002 \u5982\u9700\u66f4\u8be6\u7ec6\u7684\u914d\u7f6e\u8bf4\u660e\uff0c\u53ef\u53c2\u8003 node-red-contrib-modbus\u5b98\u65b9\u6587\u6863","title":"node-red\u5982\u4f55\u8fde\u63a5modbus _slave\u8bbe\u5907"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#node-redmodbus-slave","text":"","title":"node-red\u5982\u4f55\u8fde\u63a5modbus slave\u8bbe\u5907"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#_1","text":"\u6211\u60f3\u5728node-red\u4e2d\u7528\u6d41\u7a0b\u56fe\u4e2d\u914d\u7f6emodbus master\u4e3b\u8bbe\u5907\u901a\u8fc7mocbus tcp rtu\u53bb\u8054\u63a5modbus slave\u8bbe\u5907\uff0c\u5982\u4f55\u914d\u7f6e\u5462\uff1f","title":"\u8bf4\u660e"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#modbus","text":"\u6253\u5f00Node-RED\u7f16\u8f91\u5668\uff08\u6d4f\u89c8\u5668\u8bbf\u95ee http://<\u4f60\u7684\u8bbe\u5907IP>:1880\uff09\u3002 \u70b9\u51fb\u53f3\u4e0a\u89d2\u83dc\u5355\uff0c\u9009\u62e9\u201cManage palette\uff08\u7ba1\u7406\u8c03\u8272\u677f\uff09\u201d\u3002 \u5728\u201cInstall\u201d\u6807\u7b7e\u9875\u4e2d\u641c\u7d22 node-red-contrib-modbus \uff0c\u70b9\u51fb\u201cInstall\u201d\u5b89\u88c5\u3002","title":"\u6b65\u9aa4\u4e00\uff1a\u5b89\u88c5Modbus\u76f8\u5173\u8282\u70b9"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#modbus-tcprtu","text":"\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u5de6\u4fa7\u4f1a\u51fa\u73b0\u201cmodbus\u201d\u7c7b\u522b\u3002 \u62d6\u62fd modbus-read \u6216 modbus-write \u8282\u70b9\u5230\u6d41\u7a0b\u56fe\u4e2d\u3002 \u53cc\u51fb\u8282\u70b9\uff0c\u70b9\u51fb\u201cServer\u201d\u53f3\u4fa7\u7684\u94c5\u7b14\u56fe\u6807\uff0c\u65b0\u589eModbus\u670d\u52a1\u5668\u914d\u7f6e\u3002","title":"\u6b65\u9aa4\u4e8c\uff1a\u6dfb\u52a0Modbus TCP/RTU\u8282\u70b9"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#modbusmaster","text":"\u8fde\u63a5\u7c7b\u578b \uff1a \u5982\u679c\u662fTCP\uff0c\u9009\u62e9\u201cTCP\u201d\uff0c\u586b\u5199Slave\u8bbe\u5907\u7684IP\u548c\u7aef\u53e3\uff08\u901a\u5e38\u4e3a502\uff09\u3002 \u5982\u679c\u662fRTU\uff08\u4e32\u53e3\uff09\uff0c\u9009\u62e9\u201cSerial\u201d\uff0c\u586b\u5199\u4e32\u53e3\u8bbe\u5907\uff08\u5982 /dev/ttyUSB0 \uff09\u3001\u6ce2\u7279\u7387\u3001\u6570\u636e\u4f4d\u3001\u6821\u9a8c\u7b49\u53c2\u6570\u3002 Unit-Id \uff1a\u586b\u5199\u76ee\u6807Slave\u7684\u5730\u5740\uff08\u901a\u5e38\u4e3a1\uff09\u3002 \u5176\u4ed6\u53c2\u6570\u6309\u5b9e\u9645\u9700\u6c42\u8bbe\u7f6e\u3002","title":"\u6b65\u9aa4\u4e09\uff1a\u914d\u7f6eModbus\u4e3b\u8bbe\u5907\uff08Master\uff09"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#_2","text":"modbus-read \u8282\u70b9\uff1a\u8bbe\u7f6e\u529f\u80fd\u7801\uff08\u598203\u8bfb\u4fdd\u6301\u5bc4\u5b58\u5668\uff09\u3001\u8d77\u59cb\u5730\u5740\u3001\u957f\u5ea6\u3001\u8f6e\u8be2\u95f4\u9694\u7b49\u3002 modbus-write \u8282\u70b9\uff1a\u8bbe\u7f6e\u529f\u80fd\u7801\u3001\u76ee\u6807\u5730\u5740\u3001\u5199\u5165\u6570\u636e\u7b49\u3002","title":"\u6b65\u9aa4\u56db\uff1a\u914d\u7f6e\u8bfb\u5199\u64cd\u4f5c"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#modbus-read","text":"\u540d\u79f0 \uff1a\u81ea\u5b9a\u4e49\uff0c\u4fbf\u4e8e\u8bc6\u522b\u3002 \u4e3b\u9898\uff08Topic\uff09 \uff1a\u53ef\u7559\u7a7a\u6216\u81ea\u5b9a\u4e49\uff08\u5982\u7528\u4e8e\u6d88\u606f\u5206\u6d41\u65f6\u586b\u5199\uff09\uff0c\u4e00\u822c\u9ed8\u8ba4\u5373\u53ef\u3002 Unit-Id \uff1a\u586b\u5199\u76ee\u6807 Modbus slave \u8bbe\u5907\u7684\u5730\u5740\uff08\u901a\u5e38\u4e3a1\uff0c\u5177\u4f53\u770b\u4f60\u7684\u8bbe\u5907\u8bbe\u7f6e\uff09\u3002 FC\uff08\u529f\u80fd\u7801\uff09 \uff1a\u9009\u62e9\u4f60\u8981\u6267\u884c\u7684Modbus\u529f\u80fd\u7801\uff0c\u5e38\u7528\u5982\u4e0b\uff1a 1\uff1a\u8bfb\u7ebf\u5708\uff08Coil Status\uff09 2\uff1a\u8bfb\u79bb\u6563\u8f93\u5165\uff08Input Status\uff09 3\uff1a\u8bfb\u4fdd\u6301\u5bc4\u5b58\u5668\uff08Holding Registers\uff0c\u6700\u5e38\u7528\uff09 4\uff1a\u8bfb\u8f93\u5165\u5bc4\u5b58\u5668\uff08Input Registers\uff09 Address \uff1a\u8981\u8bfb\u53d6\u7684\u5bc4\u5b58\u5668\u6216\u7ebf\u5708\u7684\u8d77\u59cb\u5730\u5740\uff08\u901a\u5e38\u4ece0\u62161\u5f00\u59cb\uff0c\u5177\u4f53\u770b\u8bbe\u5907\u624b\u518c\uff09\u3002 Quantity \uff1a\u8bfb\u53d6\u7684\u6570\u91cf\uff08\u5982\u8981\u8bfb2\u4e2a\u5bc4\u5b58\u5668\u5c31\u586b2\uff09\u3002 Poll Rate \uff1a\u8f6e\u8be2\u5468\u671f\uff0c\u5355\u4f4d\u4e3a\u6beb\u79d2\uff08\u59821000\u8868\u793a\u6bcf\u79d2\u8bfb\u53d6\u4e00\u6b21\uff09\u3002 \u4e3e\u4f8b\uff08\u8bfb\u53d6slave\u5730\u5740\u4e3a1\uff0c\u4fdd\u6301\u5bc4\u5b58\u5668\uff0c\u8d77\u59cb\u5730\u57400\uff0c\u6570\u91cf2\uff0c\u6bcf\u79d2\u8f6e\u8be2\uff09\uff1a - Unit-Id\uff1a1 - FC\uff1a3 - Address\uff1a0 - Quantity\uff1a2 - Poll Rate\uff1a1000","title":"Modbus-Read\u8282\u70b9\u53c2\u6570\u586b\u5199\u8bf4\u660e"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#_3","text":"\u8fde\u63a5\u8282\u70b9\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u201c\u90e8\u7f72\u201d\u3002 \u67e5\u770bdebug\u9762\u677f\uff0c\u786e\u8ba4\u6570\u636e\u662f\u5426\u6b63\u5e38\u6536\u53d1\u3002","title":"\u6b65\u9aa4\u4e94\uff1a\u90e8\u7f72\u4e0e\u8c03\u8bd5"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#_4","text":"[modbus-read] \u2192 [debug]","title":"\u53c2\u8003\u793a\u4f8b"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#_5","text":"\u786e\u8ba4\u7269\u7406\u8fde\u63a5\u548c\u4e32\u53e3\u6743\u9650\u3002 TCP\u6a21\u5f0f\u4e0b\u9632\u706b\u5899\u9700\u653e\u884c502\u7aef\u53e3\u3002 RTU\u6a21\u5f0f\u4e0b\u9700\u6b63\u786e\u914d\u7f6e\u4e32\u53e3\u53c2\u6570\u3002 \u5982\u9700\u66f4\u8be6\u7ec6\u7684\u914d\u7f6e\u8bf4\u660e\uff0c\u53ef\u53c2\u8003 node-red-contrib-modbus\u5b98\u65b9\u6587\u6863","title":"\u5e38\u89c1\u95ee\u9898"},{"location":"node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/","text":"Node-RED \u5e38\u7528\u7ec4\u4ef6\u5217\u8868 \u00b6 \u4ee5\u4e0b\u662f\u5e38\u7528\u7684 Node-RED \u7ec4\u4ef6\u53ca\u5176\u7248\u672c\uff0c\u5efa\u8bae\u6839\u636e\u5b9e\u9645\u9700\u6c42\u9009\u62e9\u5b89\u88c5\u3002 \u7ec4\u4ef6\u540d\u79f0 \u7248\u672c \u8bf4\u660e @node-red-contrib-themes/theme-collection 4.0.11 \u4e3b\u9898\u96c6\u5408 node-red 4.0.9 Node-RED \u4e3b\u7a0b\u5e8f node-red-contrib-aedes 0.6.0 MQTT Broker \u8282\u70b9 node-red-contrib-bigtimer 2.8.6 \u5f3a\u5927\u7684\u5b9a\u65f6\u5668\u8282\u70b9 node-red-contrib-cast 0.2.17 Google Cast \u652f\u6301 node-red-contrib-counter 0.1.6 \u8ba1\u6570\u5668\u8282\u70b9 node-red-contrib-cron-plus 2.1.0 \u9ad8\u7ea7\u5b9a\u65f6\u4efb\u52a1\u8282\u70b9 node-red-contrib-home-assistant-websocket 0.77.1 Home Assistant \u96c6\u6210 node-red-contrib-influxdb 0.7.0 InfluxDB \u6570\u636e\u5e93\u652f\u6301 node-red-contrib-interval-length 0.0.6 \u95f4\u9694\u957f\u5ea6\u8ba1\u7b97 node-red-contrib-lvin-crc16 1.0.2 CRC16 \u6821\u9a8c node-red-contrib-md5 1.0.4 MD5 \u52a0\u5bc6 node-red-contrib-modbus 5.43.0 Modbus \u534f\u8bae\u652f\u6301 node-red-contrib-moment 5.0.0 \u65f6\u95f4\u5904\u7406 node-red-contrib-mqtt-broker 0.2.9 MQTT Broker \u8282\u70b9 node-red-contrib-persistent-fsm 1.2.1 \u6709\u72b6\u6001\u673a\u8282\u70b9 node-red-contrib-sunevents 3.1.1 \u65e5\u51fa\u65e5\u843d\u4e8b\u4ef6 node-red-contrib-time-range-switch 1.2.0 \u65f6\u95f4\u8303\u56f4\u5f00\u5173 node-red-dashboard 3.6.5 \u4eea\u8868\u76d8\u7ec4\u4ef6 node-red-node-base64 1.0.0 Base64 \u7f16\u7801\u89e3\u7801 node-red-node-email 3.0.3 \u90ae\u4ef6\u53d1\u9001\u8282\u70b9 node-red-node-feedparser 0.3.0 RSS Feed \u89e3\u6790 node-red-node-ping 0.3.3 Ping \u8282\u70b9 node-red-node-random 0.4.1 \u968f\u673a\u6570\u8282\u70b9 node-red-node-serialport 2.0.3 \u4e32\u53e3\u8282\u70b9 node-red-node-smooth 0.1.2 \u5e73\u6ed1\u6570\u636e\u8282\u70b9 node-red-node-suncalc 1.2.0 \u592a\u9633\u8ba1\u7b97\u8282\u70b9 node-red-node-twitter 1.2.0 Twitter \u96c6\u6210 \u5982\u9700\u8be6\u7ec6\u4f7f\u7528\u65b9\u6cd5\uff0c\u8bf7\u53c2\u8003\u5b98\u65b9\u6587\u6863\u6216\u793e\u533a\u6559\u7a0b\u3002","title":"node-red\u5e38\u7528\u7ec4\u4ef6\u5217\u8868"},{"location":"node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/#node-red","text":"\u4ee5\u4e0b\u662f\u5e38\u7528\u7684 Node-RED \u7ec4\u4ef6\u53ca\u5176\u7248\u672c\uff0c\u5efa\u8bae\u6839\u636e\u5b9e\u9645\u9700\u6c42\u9009\u62e9\u5b89\u88c5\u3002 \u7ec4\u4ef6\u540d\u79f0 \u7248\u672c \u8bf4\u660e @node-red-contrib-themes/theme-collection 4.0.11 \u4e3b\u9898\u96c6\u5408 node-red 4.0.9 Node-RED \u4e3b\u7a0b\u5e8f node-red-contrib-aedes 0.6.0 MQTT Broker \u8282\u70b9 node-red-contrib-bigtimer 2.8.6 \u5f3a\u5927\u7684\u5b9a\u65f6\u5668\u8282\u70b9 node-red-contrib-cast 0.2.17 Google Cast \u652f\u6301 node-red-contrib-counter 0.1.6 \u8ba1\u6570\u5668\u8282\u70b9 node-red-contrib-cron-plus 2.1.0 \u9ad8\u7ea7\u5b9a\u65f6\u4efb\u52a1\u8282\u70b9 node-red-contrib-home-assistant-websocket 0.77.1 Home Assistant \u96c6\u6210 node-red-contrib-influxdb 0.7.0 InfluxDB \u6570\u636e\u5e93\u652f\u6301 node-red-contrib-interval-length 0.0.6 \u95f4\u9694\u957f\u5ea6\u8ba1\u7b97 node-red-contrib-lvin-crc16 1.0.2 CRC16 \u6821\u9a8c node-red-contrib-md5 1.0.4 MD5 \u52a0\u5bc6 node-red-contrib-modbus 5.43.0 Modbus \u534f\u8bae\u652f\u6301 node-red-contrib-moment 5.0.0 \u65f6\u95f4\u5904\u7406 node-red-contrib-mqtt-broker 0.2.9 MQTT Broker \u8282\u70b9 node-red-contrib-persistent-fsm 1.2.1 \u6709\u72b6\u6001\u673a\u8282\u70b9 node-red-contrib-sunevents 3.1.1 \u65e5\u51fa\u65e5\u843d\u4e8b\u4ef6 node-red-contrib-time-range-switch 1.2.0 \u65f6\u95f4\u8303\u56f4\u5f00\u5173 node-red-dashboard 3.6.5 \u4eea\u8868\u76d8\u7ec4\u4ef6 node-red-node-base64 1.0.0 Base64 \u7f16\u7801\u89e3\u7801 node-red-node-email 3.0.3 \u90ae\u4ef6\u53d1\u9001\u8282\u70b9 node-red-node-feedparser 0.3.0 RSS Feed \u89e3\u6790 node-red-node-ping 0.3.3 Ping \u8282\u70b9 node-red-node-random 0.4.1 \u968f\u673a\u6570\u8282\u70b9 node-red-node-serialport 2.0.3 \u4e32\u53e3\u8282\u70b9 node-red-node-smooth 0.1.2 \u5e73\u6ed1\u6570\u636e\u8282\u70b9 node-red-node-suncalc 1.2.0 \u592a\u9633\u8ba1\u7b97\u8282\u70b9 node-red-node-twitter 1.2.0 Twitter \u96c6\u6210 \u5982\u9700\u8be6\u7ec6\u4f7f\u7528\u65b9\u6cd5\uff0c\u8bf7\u53c2\u8003\u5b98\u65b9\u6587\u6863\u6216\u793e\u533a\u6559\u7a0b\u3002","title":"Node-RED \u5e38\u7528\u7ec4\u4ef6\u5217\u8868"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/","text":"\u5982\u4f55\u5b89\u88c5node-red\u5b89\u88c5\u5230orangepi Zero3 \u00b6 \u64cd\u4f5c\u7cfb\u7edf \u00b6 \u57fa\u4e8eubuntu\u7684\u64cd\u4f5c\u7cfb\u7edf\u7684orangepizero3\u5b9a\u5236\u7248 \u5b89\u88c5\u6b65\u9aa4 \u00b6 1. \u66f4\u65b0\u7cfb\u7edf \u00b6 \u5728\u7ec8\u7aef\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u786e\u4fdd\u7cfb\u7edf\u4e3a\u6700\u65b0\uff1a sudo apt-get update && sudo apt-get upgrade -y 2. \u5b89\u88c5Node-RED \u00b6 Node-RED\u5b98\u65b9\u63d0\u4f9b\u4e86\u4e00\u952e\u5b89\u88c5\u811a\u672c\uff0c\u9002\u7528\u4e8eDebian/Ubuntu\u7cfb\u7edf\uff1a bash < ( curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered ) \u5b89\u88c5\u8fc7\u7a0b\u4e2d\u53ef\u6839\u636e\u63d0\u793a\u9009\u62e9\u201cy\u201d\u7ee7\u7eed\u3002 3. \u542f\u52a8\u4e0e\u505c\u6b62Node-RED \u00b6 \u542f\u52a8\uff1a bash node-red-start \u505c\u6b62\uff1a bash node-red-stop \u67e5\u770b\u65e5\u5fd7\uff1a bash node-red-log 4. \u8bbe\u7f6e\u5f00\u673a\u81ea\u542f \u00b6 \u901a\u5e38\u5b89\u88c5\u811a\u672c\u4f1a\u81ea\u52a8\u8bbe\u7f6e\u5f00\u673a\u81ea\u542f\uff0c\u5982\u9700\u624b\u52a8\u8bbe\u7f6e\uff1a sudo systemctl enable nodered.service 5. \u8bbf\u95eeNode-RED \u00b6 \u5728\u6d4f\u89c8\u5668\u8bbf\u95ee\uff1a http://<\u4f60\u7684OrangePi\u7684IP\u5730\u5740>:1880 \u53ef\u7528 hostname -I \u6216 ip a \u547d\u4ee4\u67e5\u8be2IP\u5730\u5740 sudo systemctl status nodered.service sudo systemctl start nodered.service sudo systemctl stop nodered.service sudo systemctl restart nodered.service \u5982\u4f55\u5b89\u88c5\u63d2\u4ef6 \u00b6 \u5982\u4f55\u8fdb\u5165\u63d2\u4ef6\u7ba1\u7406 \u00b6 \u5982\u4f55\u5b89\u88c5MQTT\u63d2\u4ef6 \u00b6","title":"\u5982\u4f55\u628anode-red\u5b89\u88c5\u5230orangepiZero"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#node-redorangepi-zero3","text":"","title":"\u5982\u4f55\u5b89\u88c5node-red\u5b89\u88c5\u5230orangepi Zero3"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#_1","text":"\u57fa\u4e8eubuntu\u7684\u64cd\u4f5c\u7cfb\u7edf\u7684orangepizero3\u5b9a\u5236\u7248","title":"\u64cd\u4f5c\u7cfb\u7edf"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#_2","text":"","title":"\u5b89\u88c5\u6b65\u9aa4"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#1","text":"\u5728\u7ec8\u7aef\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u786e\u4fdd\u7cfb\u7edf\u4e3a\u6700\u65b0\uff1a sudo apt-get update && sudo apt-get upgrade -y","title":"1. \u66f4\u65b0\u7cfb\u7edf"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#2-node-red","text":"Node-RED\u5b98\u65b9\u63d0\u4f9b\u4e86\u4e00\u952e\u5b89\u88c5\u811a\u672c\uff0c\u9002\u7528\u4e8eDebian/Ubuntu\u7cfb\u7edf\uff1a bash < ( curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered ) \u5b89\u88c5\u8fc7\u7a0b\u4e2d\u53ef\u6839\u636e\u63d0\u793a\u9009\u62e9\u201cy\u201d\u7ee7\u7eed\u3002","title":"2. \u5b89\u88c5Node-RED"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#3-node-red","text":"\u542f\u52a8\uff1a bash node-red-start \u505c\u6b62\uff1a bash node-red-stop \u67e5\u770b\u65e5\u5fd7\uff1a bash node-red-log","title":"3. \u542f\u52a8\u4e0e\u505c\u6b62Node-RED"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#4","text":"\u901a\u5e38\u5b89\u88c5\u811a\u672c\u4f1a\u81ea\u52a8\u8bbe\u7f6e\u5f00\u673a\u81ea\u542f\uff0c\u5982\u9700\u624b\u52a8\u8bbe\u7f6e\uff1a sudo systemctl enable nodered.service","title":"4. \u8bbe\u7f6e\u5f00\u673a\u81ea\u542f"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#5-node-red","text":"\u5728\u6d4f\u89c8\u5668\u8bbf\u95ee\uff1a http://<\u4f60\u7684OrangePi\u7684IP\u5730\u5740>:1880 \u53ef\u7528 hostname -I \u6216 ip a \u547d\u4ee4\u67e5\u8be2IP\u5730\u5740 sudo systemctl status nodered.service sudo systemctl start nodered.service sudo systemctl stop nodered.service sudo systemctl restart nodered.service","title":"5. \u8bbf\u95eeNode-RED"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#_3","text":"","title":"\u5982\u4f55\u5b89\u88c5\u63d2\u4ef6"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#_4","text":"","title":"\u5982\u4f55\u8fdb\u5165\u63d2\u4ef6\u7ba1\u7406"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#mqtt","text":"","title":"\u5982\u4f55\u5b89\u88c5MQTT\u63d2\u4ef6"},{"location":"node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/","text":"unning Node-RED install for user orangepi at /home/orangepi on ubuntu [sudo] password for orangepi: This can take 20-30 minutes on the slower Pi versions - please wait. Stop Node-RED \u2714 Remove old version of Node-RED \u2714 Remove old version of Node.js \u2714 Install Node 20.19.3-1nodesource1 \u2714 v20.19.3 Npm 10.8.2 Clean npm cache \u2714 Install Node-RED core \u2714 4.0.9 Move global nodes to local - Npm rebuild existing nodes \u2714 Install extra Pi nodes \u2714 Add shortcut commands \u2718 Update systemd script \u2714 Any errors will be logged to /var/log/nodered-install.log All done. You can now start Node-RED with the command node-red-start or using the icon under Menu / Programming / Node-RED Then point your browser to localhost:1880 or http://{your_pi_ip-address}:1880 Started : Wed Jul 9 12:28:33 PM CST 2025 Finished: Wed Jul 9 12:37:17 PM CST 2025 ### WARNING DO NOT EXPOSE NODE-RED TO THE OPEN INTERNET WITHOUT SECURING IT FIRST Even if your Node-RED doesn't have anything valuable, (automated) attacks will happen and could provide a foothold in your local network Follow the guide at https://nodered.org/docs/user-guide/runtime/securing-node-red to setup security. ### ADDITIONAL RECOMMENDATIONS You can customise the initial settings by running: node-red admin init Node-RED Settings File initialisation ===================================== This tool will help you create a Node-RED settings file. \u2716 Settings file \u00b7 /home/orangepi/.node-red/settings.js orangepi@orangepizero3:~$ ^C orangepi@orangepizero3:~$","title":"\u5b89\u88c5node-red\u8bb0\u5f55"}]}
\ No newline at end of file
+{"config":{"indexing":"full","lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"HomeAssistant\u672c\u5730\u90e8\u7f72\u53ca\u88c5\u8c03\u8bd5\u8bf4\u660e \u00b6 \u7b80\u8981\u8bf4\u660e \u5b89\u88c5HomeAssistant linux \u4e0b\u5b89\u88c5","title":"\u9996\u9875"},{"location":"#homeassistant","text":"\u7b80\u8981\u8bf4\u660e \u5b89\u88c5HomeAssistant linux \u4e0b\u5b89\u88c5","title":"HomeAssistant\u672c\u5730\u90e8\u7f72\u53ca\u88c5\u8c03\u8bd5\u8bf4\u660e"},{"location":"about/","text":"\u5173\u4e8e\u6211\u4eec \u00b6 \u5cb1\u7279\u667a\u80fd\u79d1\u6280\uff08\u4e0a\u6d77\uff09\u6709\u9650\u516c\u53f8 \u00b6 \u6570\u636e\u6d41\u52a8\u4e4b\u5904\uff0c\u6548\u7387\u81ea\u7136\u53d1\u751f\u3002 \u00b6 DATA\u4ee3\u8868\u611f\u77e5\u3001\u8fde\u63a5\u4e0e\u667a\u80fd\u3002\u5728\u7e41\u6742\u7684\u533b\u7597\u6570\u636e\u4e2d\uff0c\u4e00\u573a\u6570\u5b57\u5316\u9769\u547d\u6b63\u5728\u53d1\u751f\uff0c\u6211\u4eec\u5b88\u62a4\u7684\u4e0d\u6b62\u662f\u6570\u636e\uff0c\u66f4\u662f\u60a3\u8005\u7684\u6bcf\u4e00\u5206\u949f\u3002\u5cb1\u7279\u667a\u80fd\u2013\u8ba9\u6bcf\u4e00\u53f0\u8bbe\u5907\u6210\u4e3a\u667a\u6167\u533b\u7597\u7684\u795e\u7ecf\u5143\u3002 25\u5e74\u533b\u7597\u4fe1\u606f\u5316\u6df1\u8015\u8005\uff0c\u56e2\u961f\u81ea2000\u5e74\u8d77\u6301\u7eed\u63a2\u7d22\u4fe1\u606f\u5316\u5728\u533b\u7597\u573a\u666f\u7684\u6df1\u5ea6\u5e94\u7528 \u00b6 \u6700\u4f73\u5b9e\u8df5\uff1a\u670d\u52a1\u5168\u7403\u8d85\u8fc7600+\u533b\u7597\u673a\u6784\uff0c\u7eed\u7ea6\u7387\u8d8597% \u5168\u7403\u670d\u52a1\uff1a\u72ec\u7acb\u7684\u82f1/\u65e5/\u9a6c\u6765\u8bed\u7248\u672c\uff0c\u9002\u914d\u5f53\u5730\u4e34\u5e8a\u8def\u5f84 \u6784\u5efa\u6807\u51c6\uff1a\u4e3b\u5bfc\u5236\u5b9a\u591a\u9879\u6807\u51c6\uff0c\u300c\u8840\u6db2\u900f\u6790\u8f6f\u4ef6\u6280\u672f\u8981\u6c42\u300d \u6570\u636e\u4e3b\u6743\uff1a\u5373\u4f7f\u7ec8\u6b62\u5408\u4f5c\uff0c\u4ecd\u7136\u4fdd\u8bc1\u7528\u6237\u4e0d\u53d7\u9650\u5236\u7684\u8bbf\u95ee \u56de\u5f52\u672c\u8d28 \u00b6 \u4e0d\u662f\u7528\u6280\u672f\u66ff\u4ee3\u4eba,\u800c\u662f\u8ba9\u800c\u662f\u8ba9\u4eba\u4ece\u91cd\u590d\u52b3\u52a8\u4e2d\u89e3\u653e\uff0c\u56de\u5f52\u533b\u7597\u670d\u52a1\u7684\u672c\u8d28\u3002 \u77e5\u8bc6\u53cd\u54fa \u00b6 \u57fa\u5c42\u533b\u9662\u6848\u4f8b\u81ea\u52a8\u6c89\u6dc0\u4e3a\u4e09\u7532\u4f18\u5316\u7b56\u7565\uff0c\u8bc6\u522b\u79d1\u5ba4\u5de5\u4f5c\u6d41\u5dee\u5f02\uff0c\u751f\u6210\u5b9a\u5236\u65b9\u6848\u3002 \u5f00\u653e\u751f\u6001 \u00b6 \u5f00\u653eAPI\uff0c\u96c6\u6210100+\u7b2c\u4e09\u65b9\u89e3\u51b3\u65b9\u6848\uff0c\u5171\u5efa\u533b\u7597\u6570\u636e\u4ea4\u4e92\u6807\u51c6\u3002 \u4e3a\u60a8\u6784\u5efa\u53ef\u751f\u957f\u7684\u6280\u672f\u751f\u6001\u548c\u53ef\u6301\u7eed\u7684\u4e1a\u52a1 \u00b6 \u50cf\u642d\u79ef\u6728\u822c\u81ea\u7531\u6269\u5c55\uff0c\u7834\u9664\u201d\u6570\u5b57\u5316=\u9ad8\u6295\u5165\uff0c\u4ece\u57fa\u7840\u7269\u8054\u5230AI\u51b3\u7b56\uff0c\u5206\u9636\u6bb5\u5efa\u8bbe\u907f\u514d\u4e00\u6b21\u6027\u8fc7\u8f7d\u6295\u5165\u3002\u4e0d\u662f\u63a8\u7ffb\u91cd\u5efa\u7cfb\u7edf\uff0c\u800c\u662f\u8ba9\u73b0\u6709\u8d44\u4ea7\u6301\u7eed\u4ea7\u751f\u6307\u6570\u7ea7\u4ef7\u503c\u2014\u2014\u8fd9\u624d\u662f\u533b\u7597\u6570\u5b57\u5316\u7684\u7ec8\u6781\u4f7f\u547d\u3002","title":"\u5173\u4e8e"},{"location":"about/#_1","text":"","title":"\u5173\u4e8e\u6211\u4eec"},{"location":"about/#_2","text":"","title":"\u5cb1\u7279\u667a\u80fd\u79d1\u6280\uff08\u4e0a\u6d77\uff09\u6709\u9650\u516c\u53f8"},{"location":"about/#_3","text":"DATA\u4ee3\u8868\u611f\u77e5\u3001\u8fde\u63a5\u4e0e\u667a\u80fd\u3002\u5728\u7e41\u6742\u7684\u533b\u7597\u6570\u636e\u4e2d\uff0c\u4e00\u573a\u6570\u5b57\u5316\u9769\u547d\u6b63\u5728\u53d1\u751f\uff0c\u6211\u4eec\u5b88\u62a4\u7684\u4e0d\u6b62\u662f\u6570\u636e\uff0c\u66f4\u662f\u60a3\u8005\u7684\u6bcf\u4e00\u5206\u949f\u3002\u5cb1\u7279\u667a\u80fd\u2013\u8ba9\u6bcf\u4e00\u53f0\u8bbe\u5907\u6210\u4e3a\u667a\u6167\u533b\u7597\u7684\u795e\u7ecf\u5143\u3002","title":"\u6570\u636e\u6d41\u52a8\u4e4b\u5904\uff0c\u6548\u7387\u81ea\u7136\u53d1\u751f\u3002"},{"location":"about/#252000","text":"\u6700\u4f73\u5b9e\u8df5\uff1a\u670d\u52a1\u5168\u7403\u8d85\u8fc7600+\u533b\u7597\u673a\u6784\uff0c\u7eed\u7ea6\u7387\u8d8597% \u5168\u7403\u670d\u52a1\uff1a\u72ec\u7acb\u7684\u82f1/\u65e5/\u9a6c\u6765\u8bed\u7248\u672c\uff0c\u9002\u914d\u5f53\u5730\u4e34\u5e8a\u8def\u5f84 \u6784\u5efa\u6807\u51c6\uff1a\u4e3b\u5bfc\u5236\u5b9a\u591a\u9879\u6807\u51c6\uff0c\u300c\u8840\u6db2\u900f\u6790\u8f6f\u4ef6\u6280\u672f\u8981\u6c42\u300d \u6570\u636e\u4e3b\u6743\uff1a\u5373\u4f7f\u7ec8\u6b62\u5408\u4f5c\uff0c\u4ecd\u7136\u4fdd\u8bc1\u7528\u6237\u4e0d\u53d7\u9650\u5236\u7684\u8bbf\u95ee","title":"25\u5e74\u533b\u7597\u4fe1\u606f\u5316\u6df1\u8015\u8005\uff0c\u56e2\u961f\u81ea2000\u5e74\u8d77\u6301\u7eed\u63a2\u7d22\u4fe1\u606f\u5316\u5728\u533b\u7597\u573a\u666f\u7684\u6df1\u5ea6\u5e94\u7528"},{"location":"about/#_4","text":"\u4e0d\u662f\u7528\u6280\u672f\u66ff\u4ee3\u4eba,\u800c\u662f\u8ba9\u800c\u662f\u8ba9\u4eba\u4ece\u91cd\u590d\u52b3\u52a8\u4e2d\u89e3\u653e\uff0c\u56de\u5f52\u533b\u7597\u670d\u52a1\u7684\u672c\u8d28\u3002","title":"\u56de\u5f52\u672c\u8d28"},{"location":"about/#_5","text":"\u57fa\u5c42\u533b\u9662\u6848\u4f8b\u81ea\u52a8\u6c89\u6dc0\u4e3a\u4e09\u7532\u4f18\u5316\u7b56\u7565\uff0c\u8bc6\u522b\u79d1\u5ba4\u5de5\u4f5c\u6d41\u5dee\u5f02\uff0c\u751f\u6210\u5b9a\u5236\u65b9\u6848\u3002","title":"\u77e5\u8bc6\u53cd\u54fa"},{"location":"about/#_6","text":"\u5f00\u653eAPI\uff0c\u96c6\u6210100+\u7b2c\u4e09\u65b9\u89e3\u51b3\u65b9\u6848\uff0c\u5171\u5efa\u533b\u7597\u6570\u636e\u4ea4\u4e92\u6807\u51c6\u3002","title":"\u5f00\u653e\u751f\u6001"},{"location":"about/#_7","text":"\u50cf\u642d\u79ef\u6728\u822c\u81ea\u7531\u6269\u5c55\uff0c\u7834\u9664\u201d\u6570\u5b57\u5316=\u9ad8\u6295\u5165\uff0c\u4ece\u57fa\u7840\u7269\u8054\u5230AI\u51b3\u7b56\uff0c\u5206\u9636\u6bb5\u5efa\u8bbe\u907f\u514d\u4e00\u6b21\u6027\u8fc7\u8f7d\u6295\u5165\u3002\u4e0d\u662f\u63a8\u7ffb\u91cd\u5efa\u7cfb\u7edf\uff0c\u800c\u662f\u8ba9\u73b0\u6709\u8d44\u4ea7\u6301\u7eed\u4ea7\u751f\u6307\u6570\u7ea7\u4ef7\u503c\u2014\u2014\u8fd9\u624d\u662f\u533b\u7597\u6570\u5b57\u5316\u7684\u7ec8\u6781\u4f7f\u547d\u3002","title":"\u4e3a\u60a8\u6784\u5efa\u53ef\u751f\u957f\u7684\u6280\u672f\u751f\u6001\u548c\u53ef\u6301\u7eed\u7684\u4e1a\u52a1"},{"location":"Usages/usage/","text":"\u4f7f\u7528\u6559\u7a0b \u00b6 \u57fa\u7840\u914d\u7f6e \u00b6 \u914d\u7f6e\u7f51\u7edc \u521d\u59cb\u5316\u914d\u7f6e \u5fc5\u88c5\u63d2\u4ef6\u6216\u7ec4\u4ef6 \u00b6 - HACS \u00b6","title":"\u4f7f\u7528\u6982\u8ff0"},{"location":"Usages/usage/#_1","text":"","title":"\u4f7f\u7528\u6559\u7a0b"},{"location":"Usages/usage/#_2","text":"\u914d\u7f6e\u7f51\u7edc \u521d\u59cb\u5316\u914d\u7f6e","title":"\u57fa\u7840\u914d\u7f6e"},{"location":"Usages/usage/#_3","text":"","title":"\u5fc5\u88c5\u63d2\u4ef6\u6216\u7ec4\u4ef6"},{"location":"Usages/usage/#-hacs","text":"","title":"- HACS"},{"location":"Usages/QA/HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/","text":"\u9996\u5148\uff0c\u5728\u5c0f\u7c73\u7684\u8bbe\u5907\u91cc\uff0c\u627e\u5230\u4f60\u8981\u53cd\u8f6c\u72b6\u8bb0\u7684\u4f20\u611f\u5668\u7684 ID, \u4ee5\u5927\u8fde\u4e3a\u4f8b\uff0c\u51b0\u7bb1\u95e8\u7684\u4f20\u611f\u5668\u72b6\u6001\u662f\u53cd\u7684\uff0c\u95e8\u5f00\u65f6\u663e\u793a\u5173\u7684\uff0c\u95e8\u5173\u65f6\u663e\u793a\u5f00\u7684\uff0c\u9700\u8981\u53cd\u8f6c\u663e \u6cd5\uff0c\u6b64\u8bbe\u5907\u7684\u4f20\u611f\u5668 ID \u4e3a\uff1a \u201cbinary_sensor.isa_cn_blt_3_1lqaf2rrgco01_dw2hl_contact_state_p_2_2 \u8bb0\u4f4f\u8fd9\u4e2a ID \u627e\u5230\u914d\u7f6e\u6587\u4ef6 \u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u589e\u52a0\u5982\u4e0b\u683c\u5f0f\u7684\u4f20\u611f\u5668\u53cd\u8f6c\u914d\u7f6e\uff0c\u6ce8\u610f\uff0c\u6b64\u914d\u7f6e\u8981\u4e25\u683c\u9075\u5b88 YML \u683c\u5f0f\uff0c\u4e0d\u61c2 \u7684\u53ef\u4ee5\u767e\u5ea6\u5b66\u4e00\u4e0b\uff0c \u5185\u5bb9\u4e3a\uff1a - binary_sensor: - name: \"\u5927\u8fde\u51b0\u7bb1\u95e8-1 (\u72b6\u6001\u53cd\u8f6c)\" unique_id: \"reversed_\u5927\u8fde\u51b0\u7bb1\u95e8_1\" state: > {{ is_state('binary_sensor.isa_cn_blt_3_1lqaf2rrgco01_dw2hl_contact_state_p_2_2', 'off') }} \u6ce8\u610f\uff0cstate \u540e\u9762\u7684\u683c\u5f0f\u8981\u5bf9\uff0c\u4f20\u611f\u5668 ID \u8981\u6362\u6210\u521a\u8bb0\u4e0b\u7684\u4f20\u611f\u5668 ID \u8fd9\u6837\u4f60\u5c31\u591a\u4e86\u4e00\u4e2a\u540d\u79f0\u4e3a\uff1a\u201c\u5927\u8fde\u51b0\u7bb1\u95e8-1 (\u72b6\u6001\u53cd\u8f6c)\u201d\u7684\u4f20\u611f\u5668 \u7136\u540e\uff0c\u5230\u4eea\u8868\u76d8\uff0c\u5bf9\u5e94\u7684\u7ec4\u4ef6\u4e2d \u9009\u4e2d \u5927\u8fde\u51b0\u7bb1\u95e8-1 (\u72b6\u6001\u53cd\u8f6c) \u4fdd\u5b58\u5373\u53ef \u8fd9\u6837\u5c31\u5b9e\u73b0\u4e86\u53cd\u8f6c\uff0c\u4eea\u8868\u76d8\u4e2d\uff0c\u4e0d\u8981\u518d\u4f7f\u7528\u539f\u6765\u7684 ID\uff0c\u8981\u4f7f\u7528\u4f60\u914d\u7f6e\u6587\u4ef6\u4e2d\u65b0\u589e\u7684 id \u6ce8\u610f\uff1a \u5982\u679c\uff0c\u72b6\u6001\u6ca1\u6709\u53cd\u8f6c\uff0c\u53ef\u4ee5\u4ece\u5f00\u53d1\u8005\u5de5\u5177\u4e2d\u67e5\u770b\u4f20\u611f\u5668\u7684\u72b6\u6001\uff0c\u786e\u8ba4\u662f\u5426\u6b63\u786e\u53cd\u8f6c\u3002","title":"HA-\u5982\u4f55\u5b9e\u73b0\u72b6\u6001\u53cd\u8f6c"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/","text":"TQS-88 \u5355\u4eba\u8840\u6db2\u900f\u6790\u673a-\u6570\u636e\u901a\u4fe1\u64cd\u4f5c\u624b\u518c \u00b6 \u6ce8\u610f\u4e8b\u9879 \u00b6 \u5728\u5f00\u59cb\u4f7f\u7528\u900f\u6790\u673a\u524d\u8bf7\u4ed4\u7ec6\u9605\u8bfb\u672c\u64cd\u4f5c\u624b\u518c\u3002 \u4efb\u4f55\u4e0d\u5f53\u64cd\u4f5c\u90fd\u53ef\u80fd\u4f1a\u5bfc\u81f4\u4e8b\u6545\u3002\u4f7f\u7528\u7b26\u5408\u672c\u8bf4\u660e\u7684\u900f\u6790\u673a\u3002 \u8bf7\u5c06\u672c\u64cd\u4f5c\u624b\u518c\u7f6e\u4e8e\u6613\u4e8e\u83b7\u53d6\u7684\u4f4d\u7f6e\uff0c\u4ee5\u4fbf\u5728\u9700\u8981\u65f6\u53ef\u968f\u65f6\u53c2\u9605\u3002 \u672c\u64cd\u4f5c\u624b\u518c\u65e8\u5728\u4e3a\u64cd\u4f5c\u4eba\u5458\u63d0\u4f9b\u4f7f\u7528\"\u6570\u636e\u901a\u4fe1\"\u6240\u9700\u7684\u4fe1\u606f\u3002 \u672c\u64cd\u4f5c\u624b\u518c\u4e3b\u8981\u6db5\u76d6\u4ee5\u4e0b\u6709\u5173\"\u6570\u636e\u901a\u4fe1\"\u7684\u5185\u5bb9\uff1a 1. \u89c4\u683c 2. \u4e0ePC\u7684\u8fde\u63a5 \u6b63\u6587\u4e2d\u8b66\u793a\u5b9a\u4e49\u5982\u4e0b\uff1a - \u6ce8\u610f \uff1a\u6b64\u6807\u5fd7\u540e\u7684\u63cf\u8ff0\u662f\u4f7f\u7528\u8bf4\u660e\u3002\u60a8\u5fc5\u987b\u9075\u5b88\u4f7f\u7528\u8bf4\u660e\u3002 - \u9644\u6ce8 \uff1a\u6b64\u6807\u5fd7\u540e\u7684\u63cf\u8ff0\u662f\u4e3a\u4e86\u8ba9\u60a8\u589e\u8fdb\u7406\u89e3\u7684\u6709\u7528\u4fe1\u606f\u6216\u8865\u5145\u8bf4\u660e\u4e8b\u9879\u3002 \u7b80\u4ecb \u00b6 \u64cd\u4f5c\u6b64\u9009\u914d\u4ef6\uff08\"\u6570\u636e\u901a\u4fe1\"\u529f\u80fd\uff09\u65f6\uff0c\u8bf7\u52a1\u5fc5\u5145\u5206\u7406\u89e3\u548c\u7279\u522b\u6ce8\u610f\u4ee5\u4e0b\u4e8b\u9879\u3002\u4f7f\u7528\u524d\u5fc5\u987b\u5145\u5206\u4e86\u89e3\u5185\u5bb9\u3002 1. \u64cd\u4f5c\u624b\u518c \u00b6 (1) \u672c\u64cd\u4f5c\u624b\u518c\u4ecb\u7ecd\u4e86\u6b63\u786e\u4f7f\u7528\"\u6570\u636e\u901a\u4fe1\"\u6240\u9700\u7684\u4fe1\u606f\u548c\u5b89\u5168\u7684\u64cd\u4f5c\u65b9\u6cd5\uff0c\u5e76\u975e\u65e8\u5728\u8bf4\u660e\u5bf9\u60a3\u8005\u7684\u6cbb\u7597\u3002 (2) \u53ea\u6709\u4ed4\u7ec6\u9605\u8bfb\u5e76\u5145\u5206\u7406\u89e3\u672c\u64cd\u4f5c\u624b\u518c\u4e2d\u6240\u542b\u7684\u8bf4\u660e\u540e\uff0c\u624d\u80fd\u4f7f\u7528\u8bbe\u5907\u5e76\u8fdb\u884c\u64cd\u4f5c\u4ee5\u53ca\u7ef4\u62a4\u3002 (3) \u672c\u64cd\u4f5c\u624b\u518c\u4e2d\u7684\u64cd\u4f5c\u65b9\u6cd5\u548c\u5b89\u5168\u6ce8\u610f\u4e8b\u9879\u9002\u7528\u4e8e\u8fdb\u884c\u7279\u5b9a\u76ee\u7684\u7684\"\u6570\u636e\u901a\u4fe1\"\u4f7f\u7528\u3002\u8bf7\u52ff\u5c1d\u8bd5\u4ee5\u672c\u624b\u518c\u4e2d\u6240\u5217\u4ee5\u5916\u7684\u4efb\u4f55\u65b9\u5f0f\u4f7f\u7528\u8bbe\u5907\u3002 \u672c\u624b\u518c\u7684\u5185\u5bb9\u53d7\u4e1c\u4e3d\u533b\u7597\u79d1\u6280\uff08\u9752\u5c9b\uff09\u80a1\u4efd\u6709\u9650\u516c\u53f8\u7248\u6743\u4fdd\u62a4\uff0c\u4e1c\u4e3d\u533b\u7597\u79d1\u6280\uff08\u9752\u5c9b\uff09\u80a1\u4efd\u6709\u9650\u516c\u53f8\u4fdd\u7559\u6240\u6709\u6743\u5229\u3002\u672a\u7ecf\u4e1c\u4e3d\u533b\u7597\u79d1\u6280\uff08\u9752\u5c9b\uff09\u80a1\u4efd\u6709\u9650\u516c\u53f8\u4e8b\u5148\u4e66\u9762\u540c\u610f\uff0c\u4e0d\u5f97\u4ee5\u4efb\u4f55\u5f62\u5f0f\u590d\u5236\u3001\u8f6c\u8f7d\u672c\u624b\u518c\u4e2d\u7684\u4efb\u4f55\u5185\u5bb9\uff0c\u6216\u5c06\u5176\u8bd1\u4e3a\u5176\u4ed6\u8bed\u8a00\u3002 2. \u8d23\u4efb\u9650\u5236 \u00b6 \u6211\u4eec\u5e0c\u671b\u60a8\u4e8b\u524d\u4e86\u89e3\uff0c\u5bf9\u7531\u4e8e\u64cd\u4f5c\u6b64\u900f\u6790\u673a\u6240\u9020\u6210\u7684\u4efb\u4f55\u53ef\u80fd\u7684\u635f\u5bb3\u6216\u5229\u76ca\u635f\u5931\uff0c\u6211\u4eec\u4e0d\u627f\u62c5\u4efb\u4f55\u8d23\u4efb\u3002 \u8bf7\u52ff\u62c6\u5378\u6216\u6539\u9020\u900f\u6790\u673a\uff0c\u5426\u5219\u5c06\u4e0d\u5728\u5236\u9020\u5546\u4fdd\u4fee\u8303\u56f4\u4e4b\u5185\u3002 \u7531\u4e8e\u5ba2\u6237\u62c6\u5378\u3001\u6539\u9020\u3001\u5206\u89e3\u6216\u4f7f\u7528\u4e0d\u5f53\u4ee5\u53ca\u5b89\u88c5\u73af\u5883\u3001\u642c\u8fd0\u4e0d\u5f53\u7b49\u9020\u6210\u7684\u635f\u5bb3\uff0c\u6211\u4eec\u4e0d\u627f\u62c5\u4efb\u4f55\u8d23\u4efb\u3002 \u5982\u679c\u65e0\u6cd5\u53d1\u6325\u56fa\u6709\u529f\u80fd\uff0c\u5219\u4e0d\u5f97\u7528\u4e8e\u6cbb\u7597\u7528\u9014\u3002\u5bf9\u6b64\u7c7b\u60c5\u5f62\u4e0b\u9020\u6210\u7684\u4efb\u4f55\u635f\u5bb3\u6216\u5bf9\u60a3\u8005\u7684\u635f\u4f24\uff0c\u6211\u4eec\u4e0d\u627f\u62c5\u4efb\u4f55\u8d23\u4efb\u3002 \u900f\u6790\u673a\u7684\u65e5\u5e38\u7ef4\u62a4\u548c\u68c0\u67e5\u5e94\u6839\u636e\"\u7ef4\u62a4\u68c0\u67e5\u624b\u518c\"\u8fdb\u884c\u3002 \u7b2c1\u7ae0 \u89c4\u683c \u00b6 1.1 \u6570\u636e\u901a\u4fe1\u529f\u80fd\u7684\u63cf\u8ff0 \u00b6 \u900f\u6790\u673a\u7684\u6cbb\u7597\u6570\u636e\u548c\u8bbe\u7f6e\u6570\u636e\u53ef\u4ece\u4ee5\u592a\u7f51\u63a5\u53e3\u4f20\u8f93\u5230\u8ba1\u7b97\u673a\u4e2d\u3002 1.2 \u901a\u4fe1\u89c4\u683c \u00b6 1.2.1 LAN\u53c2\u6570 \u00b6 \u7f16\u53f7 \u9879\u76ee \u63cf\u8ff0 1 \u4ee5\u592a\u7f51\u63a5\u53e3 10Base-T \u6216 100Base-TX\uff08\u81ea\u52a8\u611f\u5e94\uff09 2 \u4e32\u53e3 RJ45 3 \u7f51\u7edc\u914d\u7f6e \u53ef\u81ea\u5b9a\u4e49 1.2.2 \u900f\u6790\u673a\u901a\u4fe1\u6b65\u9aa4 \u00b6 \u900f\u6790\u673a\u7aef\u7ba1\u7406\u7684\u6570\u636e\u901a\u8fc7PC\u7aef\u7684\u6570\u636e\u4f20\u8f93\u8bf7\u6c42\u8fdb\u884c\u4f20\u8f93\u3002 graph TD A[PC] -->|\u6570\u636e\u4f20\u8f93\u8bf7\u6c42| B[\u900f\u6790\u673a] B -->|\u6570\u636e\u4f20\u8f93| A B -->|\u4e34\u5e8a\u6570\u636e\u4f20\u8f93| A [1] PC\u7aef\u4f20\u8f93\u6570\u636e\u8bf7\u6c42\u4fe1\u53f7\uff08\u53c2\u9605\u7b2c1.2.3\u8282\uff09\u3002 [2] \u900f\u6790\u673a\u63a5\u6536PC\u7684\u6570\u636e\u8bf7\u6c42\u4fe1\u53f7\uff0c\u5e76\u53d1\u9001\u5404\u79cd\u76f8\u5e94\u7684\u6570\u636e\uff08\u53c2\u9605\u7b2c1.2.4\u8282\u548c\u7b2c1.2.5\u8282\uff09\u3002 1.2.3 \u4ecePC\u4f20\u8f93\u5230\u900f\u6790\u673a\u7684\u6570\u636e\u53ca\u5176\u683c\u5f0f \u00b6 \u6570\u636e\u4f20\u8f93\u8bf7\u6c42\uff083\u4e2a\u5b57\u8282\uff09 \"K\"\uff084BH\uff09 CR\uff080DH\uff09 LF\uff080AH\uff09 1.2.4 \u4ece\u900f\u6790\u673a\u4f20\u8f93\u5230PC\u7684\u6570\u636e\u683c\u5f0f \u00b6 \u4e34\u5e8a\u6570\u636e \u00b6 \u5f00\u59cb [1] \u6570\u636e\u957f\u5ea6 [2] \u6570\u636e [3] \u603b\u6570 [4] \u7ed3\u675f [5] \u6570\u636e\u7ec4\u6210 \u00b6 \u7f16\u53f7 \u5b57\u8282\u6570 \u63cf\u8ff0 [1] 2 \u6570\u636e\u5f00\u59cb\u4ee3\u7801\uff08ASCII\uff09 \"K\"\"1\" [2] 3 \u6570\u636e\u957f\u5ea6\uff08ASCII\uff09 \u91c7\u75283\u4f4d\u6570\u7684\u5f62\u5f0f\u8868\u793a\u7b2c\u4e09\u9879\u4e2d\u8ba1\u7b97\u7684\u6240\u6709\u5b57\u8282\u7684\u603b\u548c\u3002 \u4f8b\u5982\uff09\u5982\u679c\u603b\u6570\u4e3a123\u4e2a\u5b57\u8282\uff0c\u5219\u663e\u793a\u4e3a\uff1a\"1\",\"2\",\"3\" [3] 1 \u6570\u636e\u9a8c\u8bc1\u4ee3\u7801\uff08ASCII\uff09 \uff08\u8bf7\u53c2\u96051.2.5\u3002\uff09 * \u6309\u6570\u636e\u7c7b\u578b\u7684\u7f16\u53f7\u53cd\u590d\u4f20\u8f93\u3002 [3] \u5355\u4e2a \u6570\u636e\uff08ASCII\uff09 \uff08\u8bf7\u53c2\u96051.2.5\u3002\uff09 * \u6309\u6570\u636e\u7c7b\u578b\u7684\u7f16\u53f7\u53cd\u590d\u4f20\u8f93\u3002 [4] 2 \u7528\u4e8e\u548c\u6570\u6821\u9a8c\u7684\u6570\u636e \u8ba1\u7b97[1]\uff5e[3]\u603b\u548c\uff0c\u8f83\u4f4e\u7684\u5341\u516d\u8fdb\u52362\u4f4d\u6570\u4f1a\u8f6c\u6362\u6210ASCII\u4ee3\u7801\u3002 \u4f8b\u5982\uff09\u603b\u51715aH\u5b57\u8282\uff0c\u5219\u663e\u793a\u4e3a\uff1a\"5\"\u3001\"A\" [5] 2 \u6570\u636e\u7ed3\u675f\u4ee3\u7801 CR\u3001LF 1.2.5 \u4ece\u900f\u6790\u673a\u4f20\u8f93\u5230PC\u7684\u6570\u636e \u00b6 \u6570\u636e\u5217\u8868 \u00b6 \u7f16\u53f7 \u6570\u636e\u540d\u79f0 \u6570\u636e\u6807\u8bc6\u4ee3\u7801 \u5b57\u8282\u6570 \u5355\u4f4d 1 UF\u76ee\u6807 \"A\" 5 L 2 UF\u91cf \"B\" 5 L 3 UF\u901f\u7387 \"C\" 5 L/hr 4 \u8840\u6db2\u6d41\u901f \"D\" 5 mL/min 5 \u6ce8\u5c04\u5668\u6d41\u901f \"E\" 5 mL/h 6 \u900f\u6790\u6db2\u6e29\u5ea6 \"F\" 5 \u6444\u6c0f\u5ea6 7 \u900f\u6790\u6db2\u7535\u5bfc\u5ea6 \"G\" 5 mS/cm 8 \u9759\u8109\u538b \"H\" 5 mmHg 9 \u900f\u6790\u6db2\u538b \"I\" 5 mmHg 10 TMP \"J\" 5 mmHg 11 \u900f\u6790\u65f6\u95f4 \"K\" 5 min 12 \u900f\u6790\u6db2\u6e29\u5ea6\u8b66\u62a5 \"a\" 1 \u2014 13 \u7535\u5bfc\u5ea6\u8b66\u62a5 \"b\" 1 \u2014 14 \u9759\u8109\u538b\u8b66\u62a5 \"c\" 1 \u2014 15 \u900f\u6790\u6db2\u538b\u529b\u8b66\u62a5 \"d\" 1 \u2014 16 TMP\u8b66\u62a5 \"e\" 1 \u2014 17 \u6c14\u6ce1\u4fa6\u6d4b\u5668\u8b66\u62a5 \"f\" 1 \u2014 18 \u6f0f\u8840\u8b66\u62a5 \"g\" 1 \u2014 19 \u5176\u4ed6\u8b66\u62a5 \"h\" 1 \u2014 20 \u900f\u6790\u6db2\u6d41\u901f \"L\" 5 mL/min 21 BPM\u68c0\u6d4b\u65f6\u95f4 \"M\" 5 \u65f6\u95f4 22 BPM\u6700\u9ad8\u8840\u538b \"N\" 5 mmHg 23 BPM\u6700\u4f4e\u8840\u538b \"O\" 5 mmHg 24 BPM\u8109\u51b2 \"P\" 5 \u8109\u51b2 25 BPM\u6536\u7f29\u4e0a\u9650\u8b66\u62a5 \"Q\" 5 mmHg 26 BPM\u6536\u7f29\u4e0b\u9650\u8b66\u62a5 \"R\" 5 mmHg 27 BPM\u538b\u8109\u5e26\u538b\u529b \"S\" 5 mmHg 28 BPM\u68c0\u6d4b\u95f4\u9694\u65f6\u95f4 \"T\" 5 min 29 \u603b\u8840\u6db2\u6d41\u91cf \"U\" 5 L 30 \u9759\u8109\u538b\u4e0a\u9650\u8b66\u62a5 \"V\" 5 mmHg 31 \u9759\u8109\u538b\u4e0b\u9650\u8b66\u62a5 \"W\" 5 mmHg 32 \u603b\u6ce8\u5c04\u6d41\u91cf \"X\" 5 mL 33 \u900f\u6790\u6db2\u538b\u4e0a\u9650\u8b66\u62a5 \"Y\" 5 mmHg 34 \u900f\u6790\u6db2\u538b\u4e0b\u9650\u8b66\u62a5 \"Z\" 5 mmHg 35 NaCl\u6ce8\u5165\u7ea7\u522b \"i\" 5 \u2014 36 UF\u4e2a\u6027\u5316\u7a0b\u5e8f \"j\" 1 \u2014 37 \u900f\u6790\u6db2\u9009\u62e9 \"k\" 1 \u2014 38 \u7535\u5bfc\u5ea6\u7ea7\u522b \"l\" 1 \u2014 39 \u6570\u636e\u901a\u4fe1\u72b6\u6001 \"m\" 1 \u2014 40 \u5e8f\u5217\u53f7 \"n\" 8 \u2014 41 \u52a8\u8109\u538b \"o\" 5 mmHg 42 \u52a8\u8109\u538b\u8b66\u62a5 \"p\" 1 \u2014 43 \u52a8\u8109\u538b\u4e0a\u9650\u8b66\u62a5 \"q\" 5 mmHg 44 \u52a8\u8109\u538b\u4e0b\u9650\u8b66\u62a5 \"r\" 5 mmHg 45 TMP\u4e0a\u9650\u8b66\u62a5 \"s\" 5 mmHg 46 TMP\u4e0b\u9650\u8b66\u62a5 \"t\" 5 mmHg 47 \u7f6e\u6362\u7387 \"u\" 5 L/hr 48 \u7f6e\u6362\u76ee\u6807\u91cf \"v\" 5 L 49 \u7f6e\u6362\u6db2\u8fdb\u7a0b\u91cf \"w\" 5 L 50 Na\u4e2a\u6027\u5316\u7a0b\u5e8f \"x\" 1 \u2014 51 \u8840\u6db2\u6cf5\u4e2a\u6027\u5316\u7a0b\u5e8f \"y\" 1 \u2014 52 \u6ce8\u5c04\u6cf5\u4e2a\u6027\u5316\u7a0b\u5e8f \"z\" 1 \u2014 53 \u900f\u6790\u6db2\u4e2a\u6027\u5316\u7a0b\u5e8f \"!\" 1 \u2014 54 \u900f\u6790\u6db2\u6e29\u5ea6\u8bbe\u7f6e\u503c \"#\" 5 \u6444\u6c0f\u5ea6 55 \u7f3a\u6c342\u8b66\u62a5 \"$\" 1 \u2014 \u6570\u636e\u8bf4\u660e \u00b6 1) \u672a\u6307\u5b9a\u6570\u636e\u4f20\u8f93\u7684\u987a\u5e8f\u3002 2) \u7b2c1\u523011\u9879\u300120\u523035\u9879\u300141\u9879\u300143\u523049\u9879\u548c54\u9879\u7684\u6570\u636e\u4ee55\u4f4d\u6570\u8868\u793a\u3002 - \u5982\u679c\u5305\u542b\u5c0f\u6570\u70b9\uff0c\u52195\u4f4d\u6570\u5305\u542b\u4e86\u5c0f\u6570\u70b9\u3002 - \u5982\u679c\u6570\u636e\u4e3a\u8d1f\u6570\uff0c\u6570\u5b57\u5c06\u4ee5\u51cf\u53f7\u6807\u5fd7\"-\"\u5f00\u5934\u3002 - \u5982\u679c\u9ad8\u4f4d\u5b57\u8282\u4e3a\u96f6\uff0c\u5219\u663e\u793a\"0\"\u3002 - \u4f8b\u5982\uff09\u76ee\u6807UF\u91cf\u4e3a2.35L\uff0c\u5219\u8f93\u5165\"0\"\u3001\"2\"\u3001\".\"\u3001\"3\"\u548c\"5\"\u3002 3) \u7b2c12\u81f319\u9879\u300142\u9879\u548c55\u9879\u7684\u8b66\u62a5\u503c\u4e3a\"1\"\uff08\u5df2\u8b66\u62a5\uff09\u6216\"0\"\uff08\u672a\u8b66\u62a5\uff09\u3002 4) \u7b2c19\u9879\u5176\u4ed6\u8b66\u62a5\u662f\u9664\u7b2c12\u81f318\u9879\u300142\u9879\u548c55\u9879\u4ee5\u5916\u7684\u8b66\u62a5\u3002 5) \u7b2c40\u9879\u6570\u636e\u662f\u5e8f\u5217\u53f7\uff08\u5de6\u5bf9\u9f50\uff09\u3002 6) \u7b2c21\u9879\"\u8840\u538b\u68c0\u6d4b\u65f6\u95f4\"\u6307\u662f\u5426\u5bf9\u8840\u538b\u8fdb\u884c\u68c0\u6d4b\u7684\u5224\u65ad\u3002 7) \u7b2c25\u81f328\u9879\u662f\u4e0e\u8840\u538b\u76f8\u5173\u7684\u8bbe\u7f6e\u3002 - \u8bbe\u7f6e\u66f4\u6539\u540e\uff0c\u6700\u65b0\u8bbe\u7f6e\u4f1a\u5728\u4e0b\u4e00\u6b21\u6570\u636e\u4f20\u8f93\u8bf7\u6c42\u65f6\u4f20\u8f93\u3002 \u7b2c2\u7ae0 \u4e0ePC\u7684\u8fde\u63a5 \u00b6 2.1 \u8fde\u63a5\u900f\u6790\u673a\u548cPC \u00b6 \u7f16\u53f7 \u540d\u79f0 \u529f\u80fd 1 LAN - \u901a\u8fc7\u672c\u900f\u6790\u673a\u80cc\u9762\u63d0\u4f9b\u7684LAN\u63a5\u53e3\uff0c\u8fde\u63a5\u6b64\u900f\u6790\u673a\u548cPC\u3002 - LAN\uff1aRJ-45\u4e32\u53e3\u3002 2.2 \u901a\u4fe1\u57fa\u677fIP\u7684\u8bbe\u5b9a \u00b6 2.2.1 \u6253\u5f00\"\u641c\u7d22\u5de5\u5177\"\u5e94\u7528\u7a0b\u5e8f \u00b6 \u5982\u4e0b\u56fe\u6240\u793a\uff1a 2.2.2 \u641c\u7d22\u901a\u4fe1\u57fa\u677f \u00b6 \u5728\u6253\u5f00\u7684\"\u641c\u7d22\u5de5\u5177\"\u754c\u9762\u4e0b\uff0c\u70b9\u51fb\u5de6\u4e0a\u89d2\u7c7b\u4f3c\u671b\u8fdc\u955c\u6807\u5fd7\u7684\"\u641c\u7d22\"\u6309\u94ae\uff0c\u641c\u7d22\u5df2\u7ecf\u8fde\u63a5\u5230\u7535\u8111\u7684\u901a\u4fe1\u57fa\u677f\u3002 2.2.3 \u8bbe\u5b9aPC\u7f51\u7edc\u53c2\u6570 \u00b6 \u4e3a\u786e\u4fddPC\u548c\u901a\u4fe1\u57fa\u677f\u7684\u6b63\u5e38\u901a\u4fe1\uff0c\u6839\u636e\u641c\u7d22\u5230\u7684\u901a\u4fe1\u57fa\u677f\u7684IP\u5bf9\u901a\u4fe1\u7528PC\u8fdb\u884c\u53c2\u6570\u8bbe\u5b9a\uff08IP\u5730\u5740\u3001\u5b50\u7f51\u63a9\u7801\u3001\u9ed8\u8ba4\u7f51\u5173\uff09\u3002 IP\u5730\u5740\u3001\u5b50\u7f51\u63a9\u7801\u3001\u9ed8\u8ba4\u7f51\u5173\u7684\u8bbe\u5b9a\uff1a 1) \u786e\u4fdd\u548c\u901a\u4fe1\u57fa\u677fIP\u5730\u5740\u5728\u540c\u4e00\u57df\u5185\uff0c\u4e14\u8bbe\u5b9a\u7684IP\u548c\u540c\u4e00\u57df\u5185\u5176\u4ed6\u8bbe\u5907\u7684IP\u4e0d\u51b2\u7a81\u3002 2) PC\u7684IP\u5730\u5740\u8bbe\u5b9a\u5b8c\u6210\u540e\uff0c\u9f20\u6807\u70b9\u51fb\u5b50\u7f51\u63a9\u7801\u8f93\u5165\u680f\uff0c\u5b50\u7f51\u63a9\u7801\u4f1a\u81ea\u52a8\u751f\u6210\uff08\u539f\u5219\u4e0a\u81ea\u52a8\u751f\u6210\u7684\u5b50\u7f51\u63a9\u7801\u548c\u901a\u4fe1\u57fa\u677f\u7684\u5b50\u7f51\u63a9\u7801\u662f\u76f8\u540c\u7684\uff0c\u53c2\u80032.2.4\u5bf9\u5b50\u7f51\u63a9\u7801\u8fdb\u884c\u786e\u8ba4\uff09\u3002 3) PC\u7684\u9ed8\u8ba4\u7f51\u5173\u548c\u901a\u4fe1\u57fa\u677f\u76f8\u540c\uff08\u53c2\u80032.2.4\u5bf9\u9ed8\u8ba4\u7f51\u5173\u8fdb\u884c\u786e\u8ba4\uff09\u3002 2.2.4 \u8fdb\u5165IP\u8bbe\u5b9a\u754c\u9762 \u00b6 \u9009\u4e2d\u641c\u7d22\u5230\u7684\u76ee\u6807IP\uff0c\u70b9\u51fb\"\u8bbe\u7f6e\"\u6309\u94ae\uff0c\u8fdb\u5165IP\u8bbe\u5b9a\u754c\u9762\u3002\u5728IP\u8bbe\u5b9a\u754c\u9762\u4e0b\uff0c\u6839\u636e\u9700\u8981\uff0c\u91cd\u65b0\u8bbe\u5b9a\u901a\u4fe1\u57fa\u677f\u7684IP\uff0c\u5e76\u70b9\u51fb\"\u4fdd\u5b58\"\u952e\uff0c\u5b8c\u6210\u65b0IP\u7684\u8bbe\u5b9a\u3002 \u6ce8\u610f \uff1a\u901a\u4fe1\u57fa\u677fIP\u8bbe\u5b9a\u754c\u9762\u4e5f\u53ef\u4ee5\u4e0d\u7528\"\u641c\u7d22\u5de5\u5177\"\u8f6f\u4ef6\u800c\u76f4\u63a5\u5728IE\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165 http://192.168.0.233/ \u76f4\u63a5\u6253\u5f00\u3002 2.3 \u901a\u4fe1\u57fa\u677f\u4e34\u65f6IP\u7684\u8bbe\u5b9a\u65b9\u6cd5 \u00b6 2.3.1 \u8bbe\u7f6e\u4e34\u65f6IP \u00b6 \u70b9\u51fb\"\u641c\u7d22\"\u6309\u94ae\u5bf9\u8fde\u63a5\u5230PC\u7684\u901a\u4fe1\u8bbe\u5907\u8fdb\u884c\u641c\u7d22\uff0c\u9009\u4e2d\u76ee\u6807IP\uff0c\u70b9\u51fb\"\u8bbe\u7f6e\u4e34\u65f6IP\uff08F\uff09\"\u6309\u94ae\u3002 2.3.2 \u914d\u7f6e\u4e34\u65f6IP \u00b6 \u5728\u6253\u5f00\u7684\"\u8bbe\u7f6e\u4e34\u65f6IP\uff08F\uff09\"\u754c\u9762\u4e0b\uff0c\u5373\u53ef\u6839\u636e\u9700\u8981\u5bf9\u76ee\u6807IP\u8fdb\u884c\u4e34\u65f6\u8bbe\u5b9a\u3002 \u6ce8\u610f \uff1a\u8bbe\u5b9a\u7684IP\u53ea\u6709\u5728\u8bbe\u5907\u672a\u65ad\u7535\u548c\u672a\u91cd\u542f\u65f6\u6709\u6548\uff0c\u5982\u679c\u8bbe\u5907\u91cd\u542f\u6216\u8005\u65ad\u7535\uff0cIP\u7684\u8bbe\u5b9a\u4f1a\u81ea\u52a8\u6062\u590d\u5230\u51fa\u5382\u8bbe\u7f6e\u3002 2.4 \u901a\u4fe1\u57fa\u677f\u7684\u91cd\u7f6e\u529f\u80fd \u00b6 2.4.1 \u6253\u5f00\u57fa\u677f\u7ba1\u7406\u754c\u9762 \u00b6 \u5728PC\u7684IE\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165\u901a\u4fe1\u57fa\u677f\u7684IP\u5730\u5740\u8fdb\u884c\u641c\u7d22\uff08\u4ee5IP\u5730\u5740\u4e3a192.168.0.233\u4e3a\u4f8b\uff0c\u5728IE\u6d4f\u89c8\u5668\u4e2d\u5e94\u8f93\u5165 http://192.168.0.233/ \uff09\u6253\u5f00\u5982\u4e0b\u7684\u753b\u9762\u3002 2.4.2 \u6267\u884c\u6062\u590d\u51fa\u5382\u8bbe\u7f6e \u00b6 \u70b9\u51fb\u753b\u9762\u5de6\u4fa7\u7684\"\u6062\u590d\u51fa\u5382\u8bbe\u7f6e\"\u9879\uff0c\u8fdb\u5165\"\u6062\u590d\u51fa\u5382\u8bbe\u7f6e\"\u754c\u9762\u3002\u70b9\u51fb\"\u6062\u590d\"\u952e\u5373\u53ef\u6062\u590d\u51fa\u5382\u8bbe\u7f6e\u3002 \u6587\u6863\u4fe1\u606f \u00b6 \u5355\u4eba\u8840\u6db2\u900f\u6790\u673a TQS-88 \u9009\u914d \u6570\u636e\u901a\u4fe1\u64cd\u4f5c\u624b\u518c 00\u7248\u53d1\u5e03 2019/01/11 \u4e1c\u4e3d\u533b\u7597\u79d1\u6280\uff08\u9752\u5c9b\uff09\u80a1\u4efd\u6709\u9650\u516c\u53f8 \u9752\u5c9b\u5e02\u5373\u58a8\u533a\u670d\u88c5\u5de5\u4e1a\u56ed\u5185\u5b54\u96c0\u6cb3\u56db\u8def63\u53f7 \u7535\u8bdd\uff1a0532-81721030 \u4f20\u771f\uff1a0532-81721025 \u90ae\u653f\u7f16\u7801\uff1a266200 \u2611 \u539f\u7248\u53d1\u884c \u25a1 \u539f\u7248\u8bd1\u672c \u9644\u5f55 \u00b6","title":"TS88\u900f\u6790\u673a\u8054\u673a\u901a\u4fe1-\u4e2d\u6587\u7248"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#tqs-88-","text":"","title":"TQS-88 \u5355\u4eba\u8840\u6db2\u900f\u6790\u673a-\u6570\u636e\u901a\u4fe1\u64cd\u4f5c\u624b\u518c"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#_1","text":"\u5728\u5f00\u59cb\u4f7f\u7528\u900f\u6790\u673a\u524d\u8bf7\u4ed4\u7ec6\u9605\u8bfb\u672c\u64cd\u4f5c\u624b\u518c\u3002 \u4efb\u4f55\u4e0d\u5f53\u64cd\u4f5c\u90fd\u53ef\u80fd\u4f1a\u5bfc\u81f4\u4e8b\u6545\u3002\u4f7f\u7528\u7b26\u5408\u672c\u8bf4\u660e\u7684\u900f\u6790\u673a\u3002 \u8bf7\u5c06\u672c\u64cd\u4f5c\u624b\u518c\u7f6e\u4e8e\u6613\u4e8e\u83b7\u53d6\u7684\u4f4d\u7f6e\uff0c\u4ee5\u4fbf\u5728\u9700\u8981\u65f6\u53ef\u968f\u65f6\u53c2\u9605\u3002 \u672c\u64cd\u4f5c\u624b\u518c\u65e8\u5728\u4e3a\u64cd\u4f5c\u4eba\u5458\u63d0\u4f9b\u4f7f\u7528\"\u6570\u636e\u901a\u4fe1\"\u6240\u9700\u7684\u4fe1\u606f\u3002 \u672c\u64cd\u4f5c\u624b\u518c\u4e3b\u8981\u6db5\u76d6\u4ee5\u4e0b\u6709\u5173\"\u6570\u636e\u901a\u4fe1\"\u7684\u5185\u5bb9\uff1a 1. \u89c4\u683c 2. \u4e0ePC\u7684\u8fde\u63a5 \u6b63\u6587\u4e2d\u8b66\u793a\u5b9a\u4e49\u5982\u4e0b\uff1a - \u6ce8\u610f \uff1a\u6b64\u6807\u5fd7\u540e\u7684\u63cf\u8ff0\u662f\u4f7f\u7528\u8bf4\u660e\u3002\u60a8\u5fc5\u987b\u9075\u5b88\u4f7f\u7528\u8bf4\u660e\u3002 - \u9644\u6ce8 \uff1a\u6b64\u6807\u5fd7\u540e\u7684\u63cf\u8ff0\u662f\u4e3a\u4e86\u8ba9\u60a8\u589e\u8fdb\u7406\u89e3\u7684\u6709\u7528\u4fe1\u606f\u6216\u8865\u5145\u8bf4\u660e\u4e8b\u9879\u3002","title":"\u6ce8\u610f\u4e8b\u9879"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#_2","text":"\u64cd\u4f5c\u6b64\u9009\u914d\u4ef6\uff08\"\u6570\u636e\u901a\u4fe1\"\u529f\u80fd\uff09\u65f6\uff0c\u8bf7\u52a1\u5fc5\u5145\u5206\u7406\u89e3\u548c\u7279\u522b\u6ce8\u610f\u4ee5\u4e0b\u4e8b\u9879\u3002\u4f7f\u7528\u524d\u5fc5\u987b\u5145\u5206\u4e86\u89e3\u5185\u5bb9\u3002","title":"\u7b80\u4ecb"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#1","text":"(1) \u672c\u64cd\u4f5c\u624b\u518c\u4ecb\u7ecd\u4e86\u6b63\u786e\u4f7f\u7528\"\u6570\u636e\u901a\u4fe1\"\u6240\u9700\u7684\u4fe1\u606f\u548c\u5b89\u5168\u7684\u64cd\u4f5c\u65b9\u6cd5\uff0c\u5e76\u975e\u65e8\u5728\u8bf4\u660e\u5bf9\u60a3\u8005\u7684\u6cbb\u7597\u3002 (2) \u53ea\u6709\u4ed4\u7ec6\u9605\u8bfb\u5e76\u5145\u5206\u7406\u89e3\u672c\u64cd\u4f5c\u624b\u518c\u4e2d\u6240\u542b\u7684\u8bf4\u660e\u540e\uff0c\u624d\u80fd\u4f7f\u7528\u8bbe\u5907\u5e76\u8fdb\u884c\u64cd\u4f5c\u4ee5\u53ca\u7ef4\u62a4\u3002 (3) \u672c\u64cd\u4f5c\u624b\u518c\u4e2d\u7684\u64cd\u4f5c\u65b9\u6cd5\u548c\u5b89\u5168\u6ce8\u610f\u4e8b\u9879\u9002\u7528\u4e8e\u8fdb\u884c\u7279\u5b9a\u76ee\u7684\u7684\"\u6570\u636e\u901a\u4fe1\"\u4f7f\u7528\u3002\u8bf7\u52ff\u5c1d\u8bd5\u4ee5\u672c\u624b\u518c\u4e2d\u6240\u5217\u4ee5\u5916\u7684\u4efb\u4f55\u65b9\u5f0f\u4f7f\u7528\u8bbe\u5907\u3002 \u672c\u624b\u518c\u7684\u5185\u5bb9\u53d7\u4e1c\u4e3d\u533b\u7597\u79d1\u6280\uff08\u9752\u5c9b\uff09\u80a1\u4efd\u6709\u9650\u516c\u53f8\u7248\u6743\u4fdd\u62a4\uff0c\u4e1c\u4e3d\u533b\u7597\u79d1\u6280\uff08\u9752\u5c9b\uff09\u80a1\u4efd\u6709\u9650\u516c\u53f8\u4fdd\u7559\u6240\u6709\u6743\u5229\u3002\u672a\u7ecf\u4e1c\u4e3d\u533b\u7597\u79d1\u6280\uff08\u9752\u5c9b\uff09\u80a1\u4efd\u6709\u9650\u516c\u53f8\u4e8b\u5148\u4e66\u9762\u540c\u610f\uff0c\u4e0d\u5f97\u4ee5\u4efb\u4f55\u5f62\u5f0f\u590d\u5236\u3001\u8f6c\u8f7d\u672c\u624b\u518c\u4e2d\u7684\u4efb\u4f55\u5185\u5bb9\uff0c\u6216\u5c06\u5176\u8bd1\u4e3a\u5176\u4ed6\u8bed\u8a00\u3002","title":"1. \u64cd\u4f5c\u624b\u518c"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#2","text":"\u6211\u4eec\u5e0c\u671b\u60a8\u4e8b\u524d\u4e86\u89e3\uff0c\u5bf9\u7531\u4e8e\u64cd\u4f5c\u6b64\u900f\u6790\u673a\u6240\u9020\u6210\u7684\u4efb\u4f55\u53ef\u80fd\u7684\u635f\u5bb3\u6216\u5229\u76ca\u635f\u5931\uff0c\u6211\u4eec\u4e0d\u627f\u62c5\u4efb\u4f55\u8d23\u4efb\u3002 \u8bf7\u52ff\u62c6\u5378\u6216\u6539\u9020\u900f\u6790\u673a\uff0c\u5426\u5219\u5c06\u4e0d\u5728\u5236\u9020\u5546\u4fdd\u4fee\u8303\u56f4\u4e4b\u5185\u3002 \u7531\u4e8e\u5ba2\u6237\u62c6\u5378\u3001\u6539\u9020\u3001\u5206\u89e3\u6216\u4f7f\u7528\u4e0d\u5f53\u4ee5\u53ca\u5b89\u88c5\u73af\u5883\u3001\u642c\u8fd0\u4e0d\u5f53\u7b49\u9020\u6210\u7684\u635f\u5bb3\uff0c\u6211\u4eec\u4e0d\u627f\u62c5\u4efb\u4f55\u8d23\u4efb\u3002 \u5982\u679c\u65e0\u6cd5\u53d1\u6325\u56fa\u6709\u529f\u80fd\uff0c\u5219\u4e0d\u5f97\u7528\u4e8e\u6cbb\u7597\u7528\u9014\u3002\u5bf9\u6b64\u7c7b\u60c5\u5f62\u4e0b\u9020\u6210\u7684\u4efb\u4f55\u635f\u5bb3\u6216\u5bf9\u60a3\u8005\u7684\u635f\u4f24\uff0c\u6211\u4eec\u4e0d\u627f\u62c5\u4efb\u4f55\u8d23\u4efb\u3002 \u900f\u6790\u673a\u7684\u65e5\u5e38\u7ef4\u62a4\u548c\u68c0\u67e5\u5e94\u6839\u636e\"\u7ef4\u62a4\u68c0\u67e5\u624b\u518c\"\u8fdb\u884c\u3002","title":"2. \u8d23\u4efb\u9650\u5236"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#1_1","text":"","title":"\u7b2c1\u7ae0 \u89c4\u683c"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#11","text":"\u900f\u6790\u673a\u7684\u6cbb\u7597\u6570\u636e\u548c\u8bbe\u7f6e\u6570\u636e\u53ef\u4ece\u4ee5\u592a\u7f51\u63a5\u53e3\u4f20\u8f93\u5230\u8ba1\u7b97\u673a\u4e2d\u3002","title":"1.1 \u6570\u636e\u901a\u4fe1\u529f\u80fd\u7684\u63cf\u8ff0"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#12","text":"","title":"1.2 \u901a\u4fe1\u89c4\u683c"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#121-lan","text":"\u7f16\u53f7 \u9879\u76ee \u63cf\u8ff0 1 \u4ee5\u592a\u7f51\u63a5\u53e3 10Base-T \u6216 100Base-TX\uff08\u81ea\u52a8\u611f\u5e94\uff09 2 \u4e32\u53e3 RJ45 3 \u7f51\u7edc\u914d\u7f6e \u53ef\u81ea\u5b9a\u4e49","title":"1.2.1 LAN\u53c2\u6570"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#122","text":"\u900f\u6790\u673a\u7aef\u7ba1\u7406\u7684\u6570\u636e\u901a\u8fc7PC\u7aef\u7684\u6570\u636e\u4f20\u8f93\u8bf7\u6c42\u8fdb\u884c\u4f20\u8f93\u3002 graph TD A[PC] -->|\u6570\u636e\u4f20\u8f93\u8bf7\u6c42| B[\u900f\u6790\u673a] B -->|\u6570\u636e\u4f20\u8f93| A B -->|\u4e34\u5e8a\u6570\u636e\u4f20\u8f93| A [1] PC\u7aef\u4f20\u8f93\u6570\u636e\u8bf7\u6c42\u4fe1\u53f7\uff08\u53c2\u9605\u7b2c1.2.3\u8282\uff09\u3002 [2] \u900f\u6790\u673a\u63a5\u6536PC\u7684\u6570\u636e\u8bf7\u6c42\u4fe1\u53f7\uff0c\u5e76\u53d1\u9001\u5404\u79cd\u76f8\u5e94\u7684\u6570\u636e\uff08\u53c2\u9605\u7b2c1.2.4\u8282\u548c\u7b2c1.2.5\u8282\uff09\u3002","title":"1.2.2 \u900f\u6790\u673a\u901a\u4fe1\u6b65\u9aa4"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#123-pc","text":"\u6570\u636e\u4f20\u8f93\u8bf7\u6c42\uff083\u4e2a\u5b57\u8282\uff09 \"K\"\uff084BH\uff09 CR\uff080DH\uff09 LF\uff080AH\uff09","title":"1.2.3 \u4ecePC\u4f20\u8f93\u5230\u900f\u6790\u673a\u7684\u6570\u636e\u53ca\u5176\u683c\u5f0f"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#124-pc","text":"","title":"1.2.4 \u4ece\u900f\u6790\u673a\u4f20\u8f93\u5230PC\u7684\u6570\u636e\u683c\u5f0f"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#_3","text":"\u5f00\u59cb [1] \u6570\u636e\u957f\u5ea6 [2] \u6570\u636e [3] \u603b\u6570 [4] \u7ed3\u675f [5]","title":"\u4e34\u5e8a\u6570\u636e"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#_4","text":"\u7f16\u53f7 \u5b57\u8282\u6570 \u63cf\u8ff0 [1] 2 \u6570\u636e\u5f00\u59cb\u4ee3\u7801\uff08ASCII\uff09 \"K\"\"1\" [2] 3 \u6570\u636e\u957f\u5ea6\uff08ASCII\uff09 \u91c7\u75283\u4f4d\u6570\u7684\u5f62\u5f0f\u8868\u793a\u7b2c\u4e09\u9879\u4e2d\u8ba1\u7b97\u7684\u6240\u6709\u5b57\u8282\u7684\u603b\u548c\u3002 \u4f8b\u5982\uff09\u5982\u679c\u603b\u6570\u4e3a123\u4e2a\u5b57\u8282\uff0c\u5219\u663e\u793a\u4e3a\uff1a\"1\",\"2\",\"3\" [3] 1 \u6570\u636e\u9a8c\u8bc1\u4ee3\u7801\uff08ASCII\uff09 \uff08\u8bf7\u53c2\u96051.2.5\u3002\uff09 * \u6309\u6570\u636e\u7c7b\u578b\u7684\u7f16\u53f7\u53cd\u590d\u4f20\u8f93\u3002 [3] \u5355\u4e2a \u6570\u636e\uff08ASCII\uff09 \uff08\u8bf7\u53c2\u96051.2.5\u3002\uff09 * \u6309\u6570\u636e\u7c7b\u578b\u7684\u7f16\u53f7\u53cd\u590d\u4f20\u8f93\u3002 [4] 2 \u7528\u4e8e\u548c\u6570\u6821\u9a8c\u7684\u6570\u636e \u8ba1\u7b97[1]\uff5e[3]\u603b\u548c\uff0c\u8f83\u4f4e\u7684\u5341\u516d\u8fdb\u52362\u4f4d\u6570\u4f1a\u8f6c\u6362\u6210ASCII\u4ee3\u7801\u3002 \u4f8b\u5982\uff09\u603b\u51715aH\u5b57\u8282\uff0c\u5219\u663e\u793a\u4e3a\uff1a\"5\"\u3001\"A\" [5] 2 \u6570\u636e\u7ed3\u675f\u4ee3\u7801 CR\u3001LF","title":"\u6570\u636e\u7ec4\u6210"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#125-pc","text":"","title":"1.2.5 \u4ece\u900f\u6790\u673a\u4f20\u8f93\u5230PC\u7684\u6570\u636e"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#_5","text":"\u7f16\u53f7 \u6570\u636e\u540d\u79f0 \u6570\u636e\u6807\u8bc6\u4ee3\u7801 \u5b57\u8282\u6570 \u5355\u4f4d 1 UF\u76ee\u6807 \"A\" 5 L 2 UF\u91cf \"B\" 5 L 3 UF\u901f\u7387 \"C\" 5 L/hr 4 \u8840\u6db2\u6d41\u901f \"D\" 5 mL/min 5 \u6ce8\u5c04\u5668\u6d41\u901f \"E\" 5 mL/h 6 \u900f\u6790\u6db2\u6e29\u5ea6 \"F\" 5 \u6444\u6c0f\u5ea6 7 \u900f\u6790\u6db2\u7535\u5bfc\u5ea6 \"G\" 5 mS/cm 8 \u9759\u8109\u538b \"H\" 5 mmHg 9 \u900f\u6790\u6db2\u538b \"I\" 5 mmHg 10 TMP \"J\" 5 mmHg 11 \u900f\u6790\u65f6\u95f4 \"K\" 5 min 12 \u900f\u6790\u6db2\u6e29\u5ea6\u8b66\u62a5 \"a\" 1 \u2014 13 \u7535\u5bfc\u5ea6\u8b66\u62a5 \"b\" 1 \u2014 14 \u9759\u8109\u538b\u8b66\u62a5 \"c\" 1 \u2014 15 \u900f\u6790\u6db2\u538b\u529b\u8b66\u62a5 \"d\" 1 \u2014 16 TMP\u8b66\u62a5 \"e\" 1 \u2014 17 \u6c14\u6ce1\u4fa6\u6d4b\u5668\u8b66\u62a5 \"f\" 1 \u2014 18 \u6f0f\u8840\u8b66\u62a5 \"g\" 1 \u2014 19 \u5176\u4ed6\u8b66\u62a5 \"h\" 1 \u2014 20 \u900f\u6790\u6db2\u6d41\u901f \"L\" 5 mL/min 21 BPM\u68c0\u6d4b\u65f6\u95f4 \"M\" 5 \u65f6\u95f4 22 BPM\u6700\u9ad8\u8840\u538b \"N\" 5 mmHg 23 BPM\u6700\u4f4e\u8840\u538b \"O\" 5 mmHg 24 BPM\u8109\u51b2 \"P\" 5 \u8109\u51b2 25 BPM\u6536\u7f29\u4e0a\u9650\u8b66\u62a5 \"Q\" 5 mmHg 26 BPM\u6536\u7f29\u4e0b\u9650\u8b66\u62a5 \"R\" 5 mmHg 27 BPM\u538b\u8109\u5e26\u538b\u529b \"S\" 5 mmHg 28 BPM\u68c0\u6d4b\u95f4\u9694\u65f6\u95f4 \"T\" 5 min 29 \u603b\u8840\u6db2\u6d41\u91cf \"U\" 5 L 30 \u9759\u8109\u538b\u4e0a\u9650\u8b66\u62a5 \"V\" 5 mmHg 31 \u9759\u8109\u538b\u4e0b\u9650\u8b66\u62a5 \"W\" 5 mmHg 32 \u603b\u6ce8\u5c04\u6d41\u91cf \"X\" 5 mL 33 \u900f\u6790\u6db2\u538b\u4e0a\u9650\u8b66\u62a5 \"Y\" 5 mmHg 34 \u900f\u6790\u6db2\u538b\u4e0b\u9650\u8b66\u62a5 \"Z\" 5 mmHg 35 NaCl\u6ce8\u5165\u7ea7\u522b \"i\" 5 \u2014 36 UF\u4e2a\u6027\u5316\u7a0b\u5e8f \"j\" 1 \u2014 37 \u900f\u6790\u6db2\u9009\u62e9 \"k\" 1 \u2014 38 \u7535\u5bfc\u5ea6\u7ea7\u522b \"l\" 1 \u2014 39 \u6570\u636e\u901a\u4fe1\u72b6\u6001 \"m\" 1 \u2014 40 \u5e8f\u5217\u53f7 \"n\" 8 \u2014 41 \u52a8\u8109\u538b \"o\" 5 mmHg 42 \u52a8\u8109\u538b\u8b66\u62a5 \"p\" 1 \u2014 43 \u52a8\u8109\u538b\u4e0a\u9650\u8b66\u62a5 \"q\" 5 mmHg 44 \u52a8\u8109\u538b\u4e0b\u9650\u8b66\u62a5 \"r\" 5 mmHg 45 TMP\u4e0a\u9650\u8b66\u62a5 \"s\" 5 mmHg 46 TMP\u4e0b\u9650\u8b66\u62a5 \"t\" 5 mmHg 47 \u7f6e\u6362\u7387 \"u\" 5 L/hr 48 \u7f6e\u6362\u76ee\u6807\u91cf \"v\" 5 L 49 \u7f6e\u6362\u6db2\u8fdb\u7a0b\u91cf \"w\" 5 L 50 Na\u4e2a\u6027\u5316\u7a0b\u5e8f \"x\" 1 \u2014 51 \u8840\u6db2\u6cf5\u4e2a\u6027\u5316\u7a0b\u5e8f \"y\" 1 \u2014 52 \u6ce8\u5c04\u6cf5\u4e2a\u6027\u5316\u7a0b\u5e8f \"z\" 1 \u2014 53 \u900f\u6790\u6db2\u4e2a\u6027\u5316\u7a0b\u5e8f \"!\" 1 \u2014 54 \u900f\u6790\u6db2\u6e29\u5ea6\u8bbe\u7f6e\u503c \"#\" 5 \u6444\u6c0f\u5ea6 55 \u7f3a\u6c342\u8b66\u62a5 \"$\" 1 \u2014","title":"\u6570\u636e\u5217\u8868"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#_6","text":"1) \u672a\u6307\u5b9a\u6570\u636e\u4f20\u8f93\u7684\u987a\u5e8f\u3002 2) \u7b2c1\u523011\u9879\u300120\u523035\u9879\u300141\u9879\u300143\u523049\u9879\u548c54\u9879\u7684\u6570\u636e\u4ee55\u4f4d\u6570\u8868\u793a\u3002 - \u5982\u679c\u5305\u542b\u5c0f\u6570\u70b9\uff0c\u52195\u4f4d\u6570\u5305\u542b\u4e86\u5c0f\u6570\u70b9\u3002 - \u5982\u679c\u6570\u636e\u4e3a\u8d1f\u6570\uff0c\u6570\u5b57\u5c06\u4ee5\u51cf\u53f7\u6807\u5fd7\"-\"\u5f00\u5934\u3002 - \u5982\u679c\u9ad8\u4f4d\u5b57\u8282\u4e3a\u96f6\uff0c\u5219\u663e\u793a\"0\"\u3002 - \u4f8b\u5982\uff09\u76ee\u6807UF\u91cf\u4e3a2.35L\uff0c\u5219\u8f93\u5165\"0\"\u3001\"2\"\u3001\".\"\u3001\"3\"\u548c\"5\"\u3002 3) \u7b2c12\u81f319\u9879\u300142\u9879\u548c55\u9879\u7684\u8b66\u62a5\u503c\u4e3a\"1\"\uff08\u5df2\u8b66\u62a5\uff09\u6216\"0\"\uff08\u672a\u8b66\u62a5\uff09\u3002 4) \u7b2c19\u9879\u5176\u4ed6\u8b66\u62a5\u662f\u9664\u7b2c12\u81f318\u9879\u300142\u9879\u548c55\u9879\u4ee5\u5916\u7684\u8b66\u62a5\u3002 5) \u7b2c40\u9879\u6570\u636e\u662f\u5e8f\u5217\u53f7\uff08\u5de6\u5bf9\u9f50\uff09\u3002 6) \u7b2c21\u9879\"\u8840\u538b\u68c0\u6d4b\u65f6\u95f4\"\u6307\u662f\u5426\u5bf9\u8840\u538b\u8fdb\u884c\u68c0\u6d4b\u7684\u5224\u65ad\u3002 7) \u7b2c25\u81f328\u9879\u662f\u4e0e\u8840\u538b\u76f8\u5173\u7684\u8bbe\u7f6e\u3002 - \u8bbe\u7f6e\u66f4\u6539\u540e\uff0c\u6700\u65b0\u8bbe\u7f6e\u4f1a\u5728\u4e0b\u4e00\u6b21\u6570\u636e\u4f20\u8f93\u8bf7\u6c42\u65f6\u4f20\u8f93\u3002","title":"\u6570\u636e\u8bf4\u660e"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#2-pc","text":"","title":"\u7b2c2\u7ae0 \u4e0ePC\u7684\u8fde\u63a5"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#21-pc","text":"\u7f16\u53f7 \u540d\u79f0 \u529f\u80fd 1 LAN - \u901a\u8fc7\u672c\u900f\u6790\u673a\u80cc\u9762\u63d0\u4f9b\u7684LAN\u63a5\u53e3\uff0c\u8fde\u63a5\u6b64\u900f\u6790\u673a\u548cPC\u3002 - LAN\uff1aRJ-45\u4e32\u53e3\u3002","title":"2.1 \u8fde\u63a5\u900f\u6790\u673a\u548cPC"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#22-ip","text":"","title":"2.2 \u901a\u4fe1\u57fa\u677fIP\u7684\u8bbe\u5b9a"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#221","text":"\u5982\u4e0b\u56fe\u6240\u793a\uff1a","title":"2.2.1 \u6253\u5f00\"\u641c\u7d22\u5de5\u5177\"\u5e94\u7528\u7a0b\u5e8f"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#222","text":"\u5728\u6253\u5f00\u7684\"\u641c\u7d22\u5de5\u5177\"\u754c\u9762\u4e0b\uff0c\u70b9\u51fb\u5de6\u4e0a\u89d2\u7c7b\u4f3c\u671b\u8fdc\u955c\u6807\u5fd7\u7684\"\u641c\u7d22\"\u6309\u94ae\uff0c\u641c\u7d22\u5df2\u7ecf\u8fde\u63a5\u5230\u7535\u8111\u7684\u901a\u4fe1\u57fa\u677f\u3002","title":"2.2.2 \u641c\u7d22\u901a\u4fe1\u57fa\u677f"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#223-pc","text":"\u4e3a\u786e\u4fddPC\u548c\u901a\u4fe1\u57fa\u677f\u7684\u6b63\u5e38\u901a\u4fe1\uff0c\u6839\u636e\u641c\u7d22\u5230\u7684\u901a\u4fe1\u57fa\u677f\u7684IP\u5bf9\u901a\u4fe1\u7528PC\u8fdb\u884c\u53c2\u6570\u8bbe\u5b9a\uff08IP\u5730\u5740\u3001\u5b50\u7f51\u63a9\u7801\u3001\u9ed8\u8ba4\u7f51\u5173\uff09\u3002 IP\u5730\u5740\u3001\u5b50\u7f51\u63a9\u7801\u3001\u9ed8\u8ba4\u7f51\u5173\u7684\u8bbe\u5b9a\uff1a 1) \u786e\u4fdd\u548c\u901a\u4fe1\u57fa\u677fIP\u5730\u5740\u5728\u540c\u4e00\u57df\u5185\uff0c\u4e14\u8bbe\u5b9a\u7684IP\u548c\u540c\u4e00\u57df\u5185\u5176\u4ed6\u8bbe\u5907\u7684IP\u4e0d\u51b2\u7a81\u3002 2) PC\u7684IP\u5730\u5740\u8bbe\u5b9a\u5b8c\u6210\u540e\uff0c\u9f20\u6807\u70b9\u51fb\u5b50\u7f51\u63a9\u7801\u8f93\u5165\u680f\uff0c\u5b50\u7f51\u63a9\u7801\u4f1a\u81ea\u52a8\u751f\u6210\uff08\u539f\u5219\u4e0a\u81ea\u52a8\u751f\u6210\u7684\u5b50\u7f51\u63a9\u7801\u548c\u901a\u4fe1\u57fa\u677f\u7684\u5b50\u7f51\u63a9\u7801\u662f\u76f8\u540c\u7684\uff0c\u53c2\u80032.2.4\u5bf9\u5b50\u7f51\u63a9\u7801\u8fdb\u884c\u786e\u8ba4\uff09\u3002 3) PC\u7684\u9ed8\u8ba4\u7f51\u5173\u548c\u901a\u4fe1\u57fa\u677f\u76f8\u540c\uff08\u53c2\u80032.2.4\u5bf9\u9ed8\u8ba4\u7f51\u5173\u8fdb\u884c\u786e\u8ba4\uff09\u3002","title":"2.2.3 \u8bbe\u5b9aPC\u7f51\u7edc\u53c2\u6570"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#224-ip","text":"\u9009\u4e2d\u641c\u7d22\u5230\u7684\u76ee\u6807IP\uff0c\u70b9\u51fb\"\u8bbe\u7f6e\"\u6309\u94ae\uff0c\u8fdb\u5165IP\u8bbe\u5b9a\u754c\u9762\u3002\u5728IP\u8bbe\u5b9a\u754c\u9762\u4e0b\uff0c\u6839\u636e\u9700\u8981\uff0c\u91cd\u65b0\u8bbe\u5b9a\u901a\u4fe1\u57fa\u677f\u7684IP\uff0c\u5e76\u70b9\u51fb\"\u4fdd\u5b58\"\u952e\uff0c\u5b8c\u6210\u65b0IP\u7684\u8bbe\u5b9a\u3002 \u6ce8\u610f \uff1a\u901a\u4fe1\u57fa\u677fIP\u8bbe\u5b9a\u754c\u9762\u4e5f\u53ef\u4ee5\u4e0d\u7528\"\u641c\u7d22\u5de5\u5177\"\u8f6f\u4ef6\u800c\u76f4\u63a5\u5728IE\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165 http://192.168.0.233/ \u76f4\u63a5\u6253\u5f00\u3002","title":"2.2.4 \u8fdb\u5165IP\u8bbe\u5b9a\u754c\u9762"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#23-ip","text":"","title":"2.3 \u901a\u4fe1\u57fa\u677f\u4e34\u65f6IP\u7684\u8bbe\u5b9a\u65b9\u6cd5"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#231-ip","text":"\u70b9\u51fb\"\u641c\u7d22\"\u6309\u94ae\u5bf9\u8fde\u63a5\u5230PC\u7684\u901a\u4fe1\u8bbe\u5907\u8fdb\u884c\u641c\u7d22\uff0c\u9009\u4e2d\u76ee\u6807IP\uff0c\u70b9\u51fb\"\u8bbe\u7f6e\u4e34\u65f6IP\uff08F\uff09\"\u6309\u94ae\u3002","title":"2.3.1 \u8bbe\u7f6e\u4e34\u65f6IP"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#232-ip","text":"\u5728\u6253\u5f00\u7684\"\u8bbe\u7f6e\u4e34\u65f6IP\uff08F\uff09\"\u754c\u9762\u4e0b\uff0c\u5373\u53ef\u6839\u636e\u9700\u8981\u5bf9\u76ee\u6807IP\u8fdb\u884c\u4e34\u65f6\u8bbe\u5b9a\u3002 \u6ce8\u610f \uff1a\u8bbe\u5b9a\u7684IP\u53ea\u6709\u5728\u8bbe\u5907\u672a\u65ad\u7535\u548c\u672a\u91cd\u542f\u65f6\u6709\u6548\uff0c\u5982\u679c\u8bbe\u5907\u91cd\u542f\u6216\u8005\u65ad\u7535\uff0cIP\u7684\u8bbe\u5b9a\u4f1a\u81ea\u52a8\u6062\u590d\u5230\u51fa\u5382\u8bbe\u7f6e\u3002","title":"2.3.2 \u914d\u7f6e\u4e34\u65f6IP"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#24","text":"","title":"2.4 \u901a\u4fe1\u57fa\u677f\u7684\u91cd\u7f6e\u529f\u80fd"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#241","text":"\u5728PC\u7684IE\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165\u901a\u4fe1\u57fa\u677f\u7684IP\u5730\u5740\u8fdb\u884c\u641c\u7d22\uff08\u4ee5IP\u5730\u5740\u4e3a192.168.0.233\u4e3a\u4f8b\uff0c\u5728IE\u6d4f\u89c8\u5668\u4e2d\u5e94\u8f93\u5165 http://192.168.0.233/ \uff09\u6253\u5f00\u5982\u4e0b\u7684\u753b\u9762\u3002","title":"2.4.1 \u6253\u5f00\u57fa\u677f\u7ba1\u7406\u754c\u9762"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#242","text":"\u70b9\u51fb\u753b\u9762\u5de6\u4fa7\u7684\"\u6062\u590d\u51fa\u5382\u8bbe\u7f6e\"\u9879\uff0c\u8fdb\u5165\"\u6062\u590d\u51fa\u5382\u8bbe\u7f6e\"\u754c\u9762\u3002\u70b9\u51fb\"\u6062\u590d\"\u952e\u5373\u53ef\u6062\u590d\u51fa\u5382\u8bbe\u7f6e\u3002","title":"2.4.2 \u6267\u884c\u6062\u590d\u51fa\u5382\u8bbe\u7f6e"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#_7","text":"\u5355\u4eba\u8840\u6db2\u900f\u6790\u673a TQS-88 \u9009\u914d \u6570\u636e\u901a\u4fe1\u64cd\u4f5c\u624b\u518c 00\u7248\u53d1\u5e03 2019/01/11 \u4e1c\u4e3d\u533b\u7597\u79d1\u6280\uff08\u9752\u5c9b\uff09\u80a1\u4efd\u6709\u9650\u516c\u53f8 \u9752\u5c9b\u5e02\u5373\u58a8\u533a\u670d\u88c5\u5de5\u4e1a\u56ed\u5185\u5b54\u96c0\u6cb3\u56db\u8def63\u53f7 \u7535\u8bdd\uff1a0532-81721030 \u4f20\u771f\uff1a0532-81721025 \u90ae\u653f\u7f16\u7801\uff1a266200 \u2611 \u539f\u7248\u53d1\u884c \u25a1 \u539f\u7248\u8bd1\u672c","title":"\u6587\u6863\u4fe1\u606f"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#_8","text":"","title":"\u9644\u5f55"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/","text":"VMware ESXi\u4e2d\u6269\u5c55Home Assistant OS\u786c\u76d8\u7a7a\u95f4\u6307\u5357 \u00b6 \u6982\u8ff0 \u00b6 \u672c\u6587\u6863\u4ecb\u7ecd\u5982\u4f55\u5728VMware ESXi\u73af\u5883\u4e2d\u5c06\u901a\u8fc7OVA\u65b9\u5f0f\u5b89\u88c5\u7684Home Assistant OS\u865a\u62df\u673a\u786c\u76d8\u4ece32GB\u6269\u5c55\u5230500GB\u3002 \u524d\u63d0\u6761\u4ef6 \u00b6 VMware ESXi 5.5 \u6216\u66f4\u9ad8\u7248\u672c \u5df2\u5b89\u88c5\u7684Home Assistant OS\u865a\u62df\u673a ESXi\u4e3b\u673a\u6709\u8db3\u591f\u7684\u5b58\u50a8\u7a7a\u95f4\uff08\u81f3\u5c11500GB\u53ef\u7528\uff09 \u7ba1\u7406\u5458\u6743\u9650\u8bbf\u95eeESXi Web\u754c\u9762 \u64cd\u4f5c\u6b65\u9aa4 \u00b6 \u6b65\u9aa41\uff1a\u51c6\u5907\u5de5\u4f5c \u00b6 \u521b\u5efa\u865a\u62df\u673a\u5feb\u7167 \uff08\u5f3a\u70c8\u5efa\u8bae\uff09 \u5728ESXi Web\u754c\u9762\u4e2d\u9009\u62e9Home Assistant\u865a\u62df\u673a \u70b9\u51fb\"\u64cd\u4f5c\" \u2192 \"\u521b\u5efa\u5feb\u7167\" \u8f93\u5165\u5feb\u7167\u540d\u79f0\uff1a \u6269\u5bb9\u524d\u5907\u4efd_YYYY-MM-DD \u70b9\u51fb\"\u521b\u5efa\u5feb\u7167\" \u5b8c\u5168\u5173\u95ed\u865a\u62df\u673a \u5728Home Assistant\u754c\u9762\u4e2d\u9009\u62e9\"\u7cfb\u7edf\" \u2192 \"\u91cd\u542f\u7cfb\u7edf\" \u9009\u62e9\"\u5173\u673a\"\u9009\u9879 \u6216\u5728ESXi\u754c\u9762\u4e2d\u9009\u62e9\u865a\u62df\u673a\uff0c\u70b9\u51fb\"\u5173\u95ed\u7535\u6e90\" \u26a0\ufe0f \u91cd\u8981 \uff1a\u786e\u4fdd\u662f\u5b8c\u5168\u5173\u95ed\uff0c\u4e0d\u662f\u6302\u8d77\u72b6\u6001 \u6b65\u9aa42\uff1a\u5728ESXi\u4e2d\u6269\u5c55\u786c\u76d8 \u00b6 \u8fdb\u5165\u865a\u62df\u673a\u7f16\u8f91\u6a21\u5f0f \u5728ESXi Web\u754c\u9762\u4e2d\u53f3\u952e\u70b9\u51fbHome Assistant\u865a\u62df\u673a \u9009\u62e9\"\u7f16\u8f91\u8bbe\u7f6e\" \u4fee\u6539\u786c\u76d8\u5bb9\u91cf \u5728\u865a\u62df\u786c\u4ef6\u5217\u8868\u4e2d\u627e\u5230\"\u786c\u76d81\" \u5f53\u524d\u663e\u793a\u4e3a\"32 GB\" \u5c06\u6570\u503c\u6539\u4e3a\"500\"\uff0c\u5355\u4f4d\u4fdd\u6301\"GB\" \u70b9\u51fb\"\u4fdd\u5b58\" \u786e\u8ba4\u66f4\u6539 \u68c0\u67e5\u865a\u62df\u673a\u8bbe\u7f6e\u4e2d\u786c\u76d8\u5bb9\u91cf\u5df2\u663e\u793a\u4e3a500GB \u5173\u95ed\u7f16\u8f91\u7a97\u53e3 \u6b65\u9aa43\uff1a\u542f\u52a8\u865a\u62df\u673a \u00b6 \u542f\u52a8Home Assistant \u70b9\u51fb\u865a\u62df\u673a\u7684\"\u5f00\u542f\u7535\u6e90\"\u6309\u94ae \u7b49\u5f85Home Assistant\u5b8c\u5168\u542f\u52a8 \u901a\u8fc7Web\u754c\u9762\u786e\u8ba4\u7cfb\u7edf\u6b63\u5e38\u8fd0\u884c \u6b65\u9aa44\uff1a\u6269\u5c55\u6587\u4ef6\u7cfb\u7edf \u00b6 \u865a\u62df\u786c\u76d8\u5df2\u6269\u5c55\uff0c\u4f46\u64cd\u4f5c\u7cfb\u7edf\u8fd8\u9700\u8981\u8bc6\u522b\u5e76\u4f7f\u7528\u65b0\u589e\u7a7a\u95f4\u3002 \u65b9\u6cd51\uff1a\u4f7f\u7528Home Assistant\u5185\u7f6e\u5de5\u5177\uff08\u63a8\u8350\uff09 \u00b6 \u8bbf\u95eeHome Assistant\u7ec8\u7aef \u5728Home Assistant Web\u754c\u9762\u4e2d \u8fdb\u5165\"\u8bbe\u7f6e\" \u2192 \"\u9644\u52a0\u7ec4\u4ef6\" \u2192 \"Advanced SSH & Web Terminal\" \u5982\u679c\u6ca1\u6709\u5b89\u88c5\uff0c\u9700\u8981\u5148\u5b89\u88c5SSH\u9644\u52a0\u7ec4\u4ef6 \u6267\u884c\u6269\u5c55\u547d\u4ee4 ```bash # \u67e5\u770b\u5f53\u524d\u78c1\u76d8\u4f7f\u7528\u60c5\u51b5 df -h # \u6269\u5c55\u6839\u5206\u533a\uff08\u901a\u5e38\u662f/dev/sda8\uff09 resize2fs /dev/sda8 # \u518d\u6b21\u67e5\u770b\u78c1\u76d8\u4f7f\u7528\u60c5\u51b5\uff0c\u786e\u8ba4\u6269\u5c55\u6210\u529f df -h ``` \u65b9\u6cd52\uff1a\u4f7f\u7528SSH\u8fde\u63a5\uff08\u5907\u9009\uff09 \u00b6 \u542f\u7528SSH \u5728Home Assistant Web\u754c\u9762\u4e2d\u542f\u7528SSH\u529f\u80fd \u901a\u8fc7SSH\u8fde\u63a5 ```bash # \u8fde\u63a5\u5230Home Assistant ssh root@[Home_Assistant_IP] # \u67e5\u770b\u78c1\u76d8\u5206\u533a fdisk -l # \u6269\u5c55\u6587\u4ef6\u7cfb\u7edf resize2fs /dev/sda8 ``` \u6b65\u9aa45\uff1a\u9a8c\u8bc1\u6269\u5c55\u7ed3\u679c \u00b6 \u68c0\u67e5\u5b58\u50a8\u7a7a\u95f4 \u901a\u8fc7SSH\u6216\u7ec8\u7aef\u6267\u884c\u547d\u4ee4\uff1a df -h \u6216\u5728Home Assistant Web\u754c\u9762\u4e2d\u8fdb\u5165\"\u8bbe\u7f6e\" \u2192 \"\u7cfb\u7edf\" \u2192 \"\u5b58\u50a8\" \u786e\u8ba4\u53ef\u7528\u7a7a\u95f4\u63a5\u8fd1500GB \u6210\u529f\u6848\u4f8b\u8f93\u51fa\u793a\u4f8b\uff1a bash \u279c ~ df -h Filesystem Size Used Available Use% Mounted on /dev/sda8 491.4G 5.4G 466.0G 1% /homeassistant /dev/sda8 491.4G 5.4G 466.0G 1% /data /dev/sda8 491.4G 5.4G 466.0G 1% /backup /dev/sda8 491.4G 5.4G 466.0G 1% /media /dev/sda8 491.4G 5.4G 466.0G 1% /share \u53ef\u4ee5\u770b\u5230 /dev/sda8 \u5206\u533a\u5df2\u6210\u529f\u6269\u5c55\u5230 491.4GB \uff0c\u53ef\u7528\u7a7a\u95f4 466.0GB \u3002 \u9a8c\u8bc1\u7cfb\u7edf\u7a33\u5b9a\u6027 \u91cd\u542fHome Assistant\u7cfb\u7edf \u786e\u8ba4\u6240\u6709\u529f\u80fd\u6b63\u5e38\u5de5\u4f5c \u68c0\u67e5\u65e5\u5fd7\u4e2d\u65e0\u9519\u8bef\u4fe1\u606f \u6545\u969c\u6392\u9664 \u00b6 \u95ee\u98981\uff1a\u865a\u62df\u673a\u65e0\u6cd5\u542f\u52a8 \u00b6 \u89e3\u51b3\u65b9\u6848\uff1a - \u68c0\u67e5ESXi\u4e3b\u673a\u5b58\u50a8\u7a7a\u95f4\u662f\u5426\u5145\u8db3 - \u6062\u590d\u5230\u6269\u5bb9\u524d\u7684\u5feb\u7167 - \u91cd\u65b0\u6267\u884c\u6269\u5bb9\u6b65\u9aa4 \u95ee\u98982\uff1a\u6587\u4ef6\u7cfb\u7edf\u6269\u5c55\u5931\u8d25 \u00b6 \u89e3\u51b3\u65b9\u6848\uff1a # \u68c0\u67e5\u6587\u4ef6\u7cfb\u7edf fsck /dev/sda8 # \u5f3a\u5236\u6269\u5c55 resize2fs -f /dev/sda8 \u95ee\u98983\uff1a\u6269\u5c55\u540e\u7a7a\u95f4\u672a\u663e\u793a \u00b6 \u89e3\u51b3\u65b9\u6848\uff1a - \u91cd\u542fHome Assistant\u7cfb\u7edf - \u68c0\u67e5\u5206\u533a\u8868\uff1a fdisk -l - \u624b\u52a8\u6269\u5c55\u5206\u533a\uff1a parted /dev/sda resizepart 8 100% \u6ce8\u610f\u4e8b\u9879 \u00b6 \u26a0\ufe0f \u5b89\u5168\u8b66\u544a \u00b6 \u5fc5\u987b \u5728\u64cd\u4f5c\u524d\u521b\u5efa\u865a\u62df\u673a\u5feb\u7167 \u786e\u4fdd\u5728\u7ef4\u62a4\u7a97\u53e3\u671f\u95f4\u6267\u884c\u6b64\u64cd\u4f5c \u5efa\u8bae\u5728\u6d4b\u8bd5\u73af\u5883\u4e2d\u5148\u9a8c\u8bc1\u6b65\u9aa4 \ud83d\udca1 \u6700\u4f73\u5b9e\u8df5 \u00b6 \u5b9a\u671f\u5907\u4efdHome Assistant\u914d\u7f6e \u76d1\u63a7ESXi\u4e3b\u673a\u5b58\u50a8\u4f7f\u7528\u60c5\u51b5 \u8003\u8651\u4f7f\u7528\u7cbe\u7b80\u914d\u7f6e\u78c1\u76d8\u4ee5\u8282\u7701\u7a7a\u95f4 \ud83d\udccb \u9a8c\u8bc1\u6e05\u5355 \u00b6 \u521b\u5efa\u865a\u62df\u673a\u5feb\u7167 \u5b8c\u5168\u5173\u95ed\u865a\u62df\u673a \u4fee\u6539\u865a\u62df\u786c\u76d8\u5927\u5c0f\u4e3a500GB \u542f\u52a8\u865a\u62df\u673a\u5e76\u786e\u8ba4\u6b63\u5e38\u8fd0\u884c \u6267\u884c\u6587\u4ef6\u7cfb\u7edf\u6269\u5c55\u547d\u4ee4 \u9a8c\u8bc1\u5b58\u50a8\u7a7a\u95f4\u663e\u793a\u63a5\u8fd1500GB \u6d4b\u8bd5Home Assistant\u6240\u6709\u529f\u80fd \u5220\u9664\u4e0d\u9700\u8981\u7684\u5feb\u7167\uff08\u53ef\u9009\uff09 \u76f8\u5173\u6587\u6863 \u00b6 Home Assistant\u5907\u4efd\u548c\u6062\u590d\u6307\u5357 VMware ESXi\u865a\u62df\u673a\u7ba1\u7406\u6307\u5357 \u66f4\u65b0\u8bb0\u5f55 \u00b6 2025-07-17\uff1a\u521d\u59cb\u7248\u672c\u521b\u5efa 2025-07-17\uff1a\u6dfb\u52a0\u6210\u529f\u6848\u4f8b\u9a8c\u8bc1\uff0c\u786e\u8ba432GB\u2192500GB\u6269\u5c55\u5b8c\u5168\u6210\u529f \u5305\u542b\u4ece32GB\u6269\u5c55\u5230500GB\u7684\u5b8c\u6574\u6b65\u9aa4\u548c\u5b9e\u9645\u9a8c\u8bc1\u7ed3\u679c \u6587\u6863\u4f5c\u8005 \uff1a\u6280\u672f\u56e2\u961f \u6700\u540e\u66f4\u65b0 \uff1a2025\u5e747\u670817\u65e5 \u9002\u7528\u7248\u672c \uff1aVMware ESXi 5.5+, Home Assistant OS \u6240\u6709\u7248\u672c","title":"VMware-ESXi\u6269\u5c55HomeAssistant\u786c\u76d8\u6307\u5357"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#vmware-esxihome-assistant-os","text":"","title":"VMware ESXi\u4e2d\u6269\u5c55Home Assistant OS\u786c\u76d8\u7a7a\u95f4\u6307\u5357"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_1","text":"\u672c\u6587\u6863\u4ecb\u7ecd\u5982\u4f55\u5728VMware ESXi\u73af\u5883\u4e2d\u5c06\u901a\u8fc7OVA\u65b9\u5f0f\u5b89\u88c5\u7684Home Assistant OS\u865a\u62df\u673a\u786c\u76d8\u4ece32GB\u6269\u5c55\u5230500GB\u3002","title":"\u6982\u8ff0"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_2","text":"VMware ESXi 5.5 \u6216\u66f4\u9ad8\u7248\u672c \u5df2\u5b89\u88c5\u7684Home Assistant OS\u865a\u62df\u673a ESXi\u4e3b\u673a\u6709\u8db3\u591f\u7684\u5b58\u50a8\u7a7a\u95f4\uff08\u81f3\u5c11500GB\u53ef\u7528\uff09 \u7ba1\u7406\u5458\u6743\u9650\u8bbf\u95eeESXi Web\u754c\u9762","title":"\u524d\u63d0\u6761\u4ef6"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_3","text":"","title":"\u64cd\u4f5c\u6b65\u9aa4"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#1","text":"\u521b\u5efa\u865a\u62df\u673a\u5feb\u7167 \uff08\u5f3a\u70c8\u5efa\u8bae\uff09 \u5728ESXi Web\u754c\u9762\u4e2d\u9009\u62e9Home Assistant\u865a\u62df\u673a \u70b9\u51fb\"\u64cd\u4f5c\" \u2192 \"\u521b\u5efa\u5feb\u7167\" \u8f93\u5165\u5feb\u7167\u540d\u79f0\uff1a \u6269\u5bb9\u524d\u5907\u4efd_YYYY-MM-DD \u70b9\u51fb\"\u521b\u5efa\u5feb\u7167\" \u5b8c\u5168\u5173\u95ed\u865a\u62df\u673a \u5728Home Assistant\u754c\u9762\u4e2d\u9009\u62e9\"\u7cfb\u7edf\" \u2192 \"\u91cd\u542f\u7cfb\u7edf\" \u9009\u62e9\"\u5173\u673a\"\u9009\u9879 \u6216\u5728ESXi\u754c\u9762\u4e2d\u9009\u62e9\u865a\u62df\u673a\uff0c\u70b9\u51fb\"\u5173\u95ed\u7535\u6e90\" \u26a0\ufe0f \u91cd\u8981 \uff1a\u786e\u4fdd\u662f\u5b8c\u5168\u5173\u95ed\uff0c\u4e0d\u662f\u6302\u8d77\u72b6\u6001","title":"\u6b65\u9aa41\uff1a\u51c6\u5907\u5de5\u4f5c"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#2esxi","text":"\u8fdb\u5165\u865a\u62df\u673a\u7f16\u8f91\u6a21\u5f0f \u5728ESXi Web\u754c\u9762\u4e2d\u53f3\u952e\u70b9\u51fbHome Assistant\u865a\u62df\u673a \u9009\u62e9\"\u7f16\u8f91\u8bbe\u7f6e\" \u4fee\u6539\u786c\u76d8\u5bb9\u91cf \u5728\u865a\u62df\u786c\u4ef6\u5217\u8868\u4e2d\u627e\u5230\"\u786c\u76d81\" \u5f53\u524d\u663e\u793a\u4e3a\"32 GB\" \u5c06\u6570\u503c\u6539\u4e3a\"500\"\uff0c\u5355\u4f4d\u4fdd\u6301\"GB\" \u70b9\u51fb\"\u4fdd\u5b58\" \u786e\u8ba4\u66f4\u6539 \u68c0\u67e5\u865a\u62df\u673a\u8bbe\u7f6e\u4e2d\u786c\u76d8\u5bb9\u91cf\u5df2\u663e\u793a\u4e3a500GB \u5173\u95ed\u7f16\u8f91\u7a97\u53e3","title":"\u6b65\u9aa42\uff1a\u5728ESXi\u4e2d\u6269\u5c55\u786c\u76d8"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#3","text":"\u542f\u52a8Home Assistant \u70b9\u51fb\u865a\u62df\u673a\u7684\"\u5f00\u542f\u7535\u6e90\"\u6309\u94ae \u7b49\u5f85Home Assistant\u5b8c\u5168\u542f\u52a8 \u901a\u8fc7Web\u754c\u9762\u786e\u8ba4\u7cfb\u7edf\u6b63\u5e38\u8fd0\u884c","title":"\u6b65\u9aa43\uff1a\u542f\u52a8\u865a\u62df\u673a"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#4","text":"\u865a\u62df\u786c\u76d8\u5df2\u6269\u5c55\uff0c\u4f46\u64cd\u4f5c\u7cfb\u7edf\u8fd8\u9700\u8981\u8bc6\u522b\u5e76\u4f7f\u7528\u65b0\u589e\u7a7a\u95f4\u3002","title":"\u6b65\u9aa44\uff1a\u6269\u5c55\u6587\u4ef6\u7cfb\u7edf"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#1home-assistant","text":"\u8bbf\u95eeHome Assistant\u7ec8\u7aef \u5728Home Assistant Web\u754c\u9762\u4e2d \u8fdb\u5165\"\u8bbe\u7f6e\" \u2192 \"\u9644\u52a0\u7ec4\u4ef6\" \u2192 \"Advanced SSH & Web Terminal\" \u5982\u679c\u6ca1\u6709\u5b89\u88c5\uff0c\u9700\u8981\u5148\u5b89\u88c5SSH\u9644\u52a0\u7ec4\u4ef6 \u6267\u884c\u6269\u5c55\u547d\u4ee4 ```bash # \u67e5\u770b\u5f53\u524d\u78c1\u76d8\u4f7f\u7528\u60c5\u51b5 df -h # \u6269\u5c55\u6839\u5206\u533a\uff08\u901a\u5e38\u662f/dev/sda8\uff09 resize2fs /dev/sda8 # \u518d\u6b21\u67e5\u770b\u78c1\u76d8\u4f7f\u7528\u60c5\u51b5\uff0c\u786e\u8ba4\u6269\u5c55\u6210\u529f df -h ```","title":"\u65b9\u6cd51\uff1a\u4f7f\u7528Home Assistant\u5185\u7f6e\u5de5\u5177\uff08\u63a8\u8350\uff09"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#2ssh","text":"\u542f\u7528SSH \u5728Home Assistant Web\u754c\u9762\u4e2d\u542f\u7528SSH\u529f\u80fd \u901a\u8fc7SSH\u8fde\u63a5 ```bash # \u8fde\u63a5\u5230Home Assistant ssh root@[Home_Assistant_IP] # \u67e5\u770b\u78c1\u76d8\u5206\u533a fdisk -l # \u6269\u5c55\u6587\u4ef6\u7cfb\u7edf resize2fs /dev/sda8 ```","title":"\u65b9\u6cd52\uff1a\u4f7f\u7528SSH\u8fde\u63a5\uff08\u5907\u9009\uff09"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#5","text":"\u68c0\u67e5\u5b58\u50a8\u7a7a\u95f4 \u901a\u8fc7SSH\u6216\u7ec8\u7aef\u6267\u884c\u547d\u4ee4\uff1a df -h \u6216\u5728Home Assistant Web\u754c\u9762\u4e2d\u8fdb\u5165\"\u8bbe\u7f6e\" \u2192 \"\u7cfb\u7edf\" \u2192 \"\u5b58\u50a8\" \u786e\u8ba4\u53ef\u7528\u7a7a\u95f4\u63a5\u8fd1500GB \u6210\u529f\u6848\u4f8b\u8f93\u51fa\u793a\u4f8b\uff1a bash \u279c ~ df -h Filesystem Size Used Available Use% Mounted on /dev/sda8 491.4G 5.4G 466.0G 1% /homeassistant /dev/sda8 491.4G 5.4G 466.0G 1% /data /dev/sda8 491.4G 5.4G 466.0G 1% /backup /dev/sda8 491.4G 5.4G 466.0G 1% /media /dev/sda8 491.4G 5.4G 466.0G 1% /share \u53ef\u4ee5\u770b\u5230 /dev/sda8 \u5206\u533a\u5df2\u6210\u529f\u6269\u5c55\u5230 491.4GB \uff0c\u53ef\u7528\u7a7a\u95f4 466.0GB \u3002 \u9a8c\u8bc1\u7cfb\u7edf\u7a33\u5b9a\u6027 \u91cd\u542fHome Assistant\u7cfb\u7edf \u786e\u8ba4\u6240\u6709\u529f\u80fd\u6b63\u5e38\u5de5\u4f5c \u68c0\u67e5\u65e5\u5fd7\u4e2d\u65e0\u9519\u8bef\u4fe1\u606f","title":"\u6b65\u9aa45\uff1a\u9a8c\u8bc1\u6269\u5c55\u7ed3\u679c"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_4","text":"","title":"\u6545\u969c\u6392\u9664"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#1_1","text":"\u89e3\u51b3\u65b9\u6848\uff1a - \u68c0\u67e5ESXi\u4e3b\u673a\u5b58\u50a8\u7a7a\u95f4\u662f\u5426\u5145\u8db3 - \u6062\u590d\u5230\u6269\u5bb9\u524d\u7684\u5feb\u7167 - \u91cd\u65b0\u6267\u884c\u6269\u5bb9\u6b65\u9aa4","title":"\u95ee\u98981\uff1a\u865a\u62df\u673a\u65e0\u6cd5\u542f\u52a8"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#2","text":"\u89e3\u51b3\u65b9\u6848\uff1a # \u68c0\u67e5\u6587\u4ef6\u7cfb\u7edf fsck /dev/sda8 # \u5f3a\u5236\u6269\u5c55 resize2fs -f /dev/sda8","title":"\u95ee\u98982\uff1a\u6587\u4ef6\u7cfb\u7edf\u6269\u5c55\u5931\u8d25"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#3_1","text":"\u89e3\u51b3\u65b9\u6848\uff1a - \u91cd\u542fHome Assistant\u7cfb\u7edf - \u68c0\u67e5\u5206\u533a\u8868\uff1a fdisk -l - \u624b\u52a8\u6269\u5c55\u5206\u533a\uff1a parted /dev/sda resizepart 8 100%","title":"\u95ee\u98983\uff1a\u6269\u5c55\u540e\u7a7a\u95f4\u672a\u663e\u793a"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_5","text":"","title":"\u6ce8\u610f\u4e8b\u9879"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_6","text":"\u5fc5\u987b \u5728\u64cd\u4f5c\u524d\u521b\u5efa\u865a\u62df\u673a\u5feb\u7167 \u786e\u4fdd\u5728\u7ef4\u62a4\u7a97\u53e3\u671f\u95f4\u6267\u884c\u6b64\u64cd\u4f5c \u5efa\u8bae\u5728\u6d4b\u8bd5\u73af\u5883\u4e2d\u5148\u9a8c\u8bc1\u6b65\u9aa4","title":"\u26a0\ufe0f \u5b89\u5168\u8b66\u544a"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_7","text":"\u5b9a\u671f\u5907\u4efdHome Assistant\u914d\u7f6e \u76d1\u63a7ESXi\u4e3b\u673a\u5b58\u50a8\u4f7f\u7528\u60c5\u51b5 \u8003\u8651\u4f7f\u7528\u7cbe\u7b80\u914d\u7f6e\u78c1\u76d8\u4ee5\u8282\u7701\u7a7a\u95f4","title":"\ud83d\udca1 \u6700\u4f73\u5b9e\u8df5"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_8","text":"\u521b\u5efa\u865a\u62df\u673a\u5feb\u7167 \u5b8c\u5168\u5173\u95ed\u865a\u62df\u673a \u4fee\u6539\u865a\u62df\u786c\u76d8\u5927\u5c0f\u4e3a500GB \u542f\u52a8\u865a\u62df\u673a\u5e76\u786e\u8ba4\u6b63\u5e38\u8fd0\u884c \u6267\u884c\u6587\u4ef6\u7cfb\u7edf\u6269\u5c55\u547d\u4ee4 \u9a8c\u8bc1\u5b58\u50a8\u7a7a\u95f4\u663e\u793a\u63a5\u8fd1500GB \u6d4b\u8bd5Home Assistant\u6240\u6709\u529f\u80fd \u5220\u9664\u4e0d\u9700\u8981\u7684\u5feb\u7167\uff08\u53ef\u9009\uff09","title":"\ud83d\udccb \u9a8c\u8bc1\u6e05\u5355"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_9","text":"Home Assistant\u5907\u4efd\u548c\u6062\u590d\u6307\u5357 VMware ESXi\u865a\u62df\u673a\u7ba1\u7406\u6307\u5357","title":"\u76f8\u5173\u6587\u6863"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_10","text":"2025-07-17\uff1a\u521d\u59cb\u7248\u672c\u521b\u5efa 2025-07-17\uff1a\u6dfb\u52a0\u6210\u529f\u6848\u4f8b\u9a8c\u8bc1\uff0c\u786e\u8ba432GB\u2192500GB\u6269\u5c55\u5b8c\u5168\u6210\u529f \u5305\u542b\u4ece32GB\u6269\u5c55\u5230500GB\u7684\u5b8c\u6574\u6b65\u9aa4\u548c\u5b9e\u9645\u9a8c\u8bc1\u7ed3\u679c \u6587\u6863\u4f5c\u8005 \uff1a\u6280\u672f\u56e2\u961f \u6700\u540e\u66f4\u65b0 \uff1a2025\u5e747\u670817\u65e5 \u9002\u7528\u7248\u672c \uff1aVMware ESXi 5.5+, Home Assistant OS \u6240\u6709\u7248\u672c","title":"\u66f4\u65b0\u8bb0\u5f55"},{"location":"Usages/QA/errorsQA/","text":"\u5e38\u89c1\u9519\u8bef \u00b6 \u914d\u7f6e\u6587\u4ef6\u51fa\u9519 \u00b6 \u5f53\u51fa\u73b0\u8fd9\u79cd\u56fe,\u4f30\u8ba1\u662f\u914d\u7f6e\u6587\u4ef6\u683c\u5f0f\u51fa\u9519,\u4e0d\u7b26\u5408yam\u683c\u5f0f,\u8bf7\u7528\u5171\u4eab\u76ee\u5f55smb\u6216ssh\u6253\u5f00\u914d\u7f6e\u6587\u4ef6\u4fee\u6b63\u683c\u5f0f\u540e,\u91cd\u542f\u518d\u8bd5","title":"errorsQA"},{"location":"Usages/QA/errorsQA/#_1","text":"","title":"\u5e38\u89c1\u9519\u8bef"},{"location":"Usages/QA/errorsQA/#_2","text":"\u5f53\u51fa\u73b0\u8fd9\u79cd\u56fe,\u4f30\u8ba1\u662f\u914d\u7f6e\u6587\u4ef6\u683c\u5f0f\u51fa\u9519,\u4e0d\u7b26\u5408yam\u683c\u5f0f,\u8bf7\u7528\u5171\u4eab\u76ee\u5f55smb\u6216ssh\u6253\u5f00\u914d\u7f6e\u6587\u4ef6\u4fee\u6b63\u683c\u5f0f\u540e,\u91cd\u542f\u518d\u8bd5","title":"\u914d\u7f6e\u6587\u4ef6\u51fa\u9519"},{"location":"Usages/QA/ubunte-desktop%E6%A1%8C%E9%9D%A2%E7%B3%BB%E7%BB%9F%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AE%E5%BC%80%E5%90%AF%E8%BF%9C%E7%A8%8B%E5%8D%8F%E5%8A%A9/","text":"\u5b89\u88c5curl \u00b6 \u5148\u68c0\u67e5\u662f\u5426\u5b89\u88c5curl\u5982\u679c\u6ca1\u88c5\uff0c\u5219\u5148\u7528\u4ee5\u4e0b\u6307\u4ee4\u5b89\u88c5 sudo apt update sudo apt install curl \u914d\u7f6e\u8fdc\u7a0b\u534f\u52a9\u5f00\u673a\u52a8\u767b\u5f55\u4e0eedge\u81ea\u542f \u00b6 \u6253\u5f00\u7ec8\u7aef,\u590d\u5236\u4e0b\u9762\u547d\u4ee4\uff0c\u6267\u884c\uff0c\u5b8c\u6210\u540e\u91cd\u542f\u7535\u8111\u5373\u53ef\u3002 curl -fsSL http://datacdn.data-it.tech/HomeAssistant/tools/install-uds.sh | bash \u8fd9\u4e2a\u8fc7\u7a0b\u53ef\u80fd\u6bd4\u8f83\u4e45\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\u3002 \u672c\u811a\u672c\u5b9e\u5b9e\u73b0\u7684\u529f\u80fd \u00b6 SSH\u670d\u52a1 - \u81ea\u52a8\u5b89\u88c5\u5e76\u542f\u7528SSH\u670d\u52a1 \u7cfb\u7edf\u66f4\u65b0 - \u66f4\u65b0\u7cfb\u7edf\u8f6f\u4ef6\u5305\u5230\u6700\u65b0\u7248\u672c \u7981\u7528\u81ea\u52a8\u5f85\u673a - \u963b\u6b62\u7cfb\u7edfAC\u7535\u6e90\u548c\u7535\u6c60\u6a21\u5f0f\u4e0b\u81ea\u52a8\u7761\u7720 \u7981\u7528\u5c4f\u5e55\u9501\u5b9a - \u53d6\u6d88\u5c4f\u5e55\u4fdd\u62a4\u7a0b\u5e8f\u9501\u5b9a\u529f\u80fd \u7981\u7528\u5c4f\u5e55\u81ea\u52a8\u5173\u95ed - \u9632\u6b62\u663e\u793a\u5668\u81ea\u52a8\u5173\u95ed \u7981\u7528\u81ea\u52a8\u66f4\u65b0 - \u914d\u7f6eAPT\u7b56\u7565\u963b\u6b62\u7cfb\u7edf\u81ea\u52a8\u66f4\u65b0 \u7981\u7528MOTD\u901a\u77e5 - \u5173\u95ed\u767b\u5f55\u65f6\u7684\u65b0\u95fb\u901a\u77e5 Microsoft Edge\u5b89\u88c5 - \u81ea\u52a8\u4e0b\u8f7d\u5b89\u88c5\u6700\u65b0\u7248Edge\u6d4f\u89c8\u5668 \u81ea\u52a8\u767b\u5f55\u914d\u7f6e - \u8bbe\u7f6eGDM\u81ea\u52a8\u767b\u5f55\uff0c\u91cd\u542f\u540e\u65e0\u9700\u5bc6\u7801 XRDP\u8fdc\u7a0b\u684c\u9762 - \u5b89\u88c5\u914d\u7f6eRDP\u8fdc\u7a0b\u684c\u9762\u670d\u52a1\uff08\u7aef\u53e33389\uff09 Polkit\u7b56\u7565\u914d\u7f6e - \u89e3\u51b3\u8fdc\u7a0b\u684c\u9762\u6743\u9650\u8ba4\u8bc1\u95ee\u9898 \u9632\u706b\u5899\u914d\u7f6e - \u667a\u80fd\u68c0\u6d4bUFW\u72b6\u6001\u5e76\u914d\u7f6e\u5fc5\u8981\u7aef\u53e3 \u4e2d\u6587\u8f93\u5165\u6cd5 - \u5b89\u88c5ibus-pinyin\u4e2d\u6587\u62fc\u97f3\u8f93\u5165\u6cd5 NoMachine\u8fdc\u7a0b\u8f6f\u4ef6 - \u667a\u80fd\u68c0\u6d4b\u5b89\u88c5NoMachine\uff08\u7aef\u53e34000\uff09 Edge Kiosk\u81ea\u542f\u52a8 - \u914d\u7f6eEdge\u5168\u5c4f\u6a21\u5f0f\u81ea\u52a8\u542f\u52a8\u6307\u5b9a\u7f51\u9875 \u5bc6\u94a5\u73af\u5904\u7406 - \u914d\u7f6e\u542f\u52a8\u53c2\u6570\u907f\u514d\u5bc6\u94a5\u73af\u5bc6\u7801\u63d0\u793a \u684c\u9762\u81ea\u542f\u52a8\u6587\u4ef6 - \u521b\u5efaautostart\u684c\u9762\u6587\u4ef6\u5b9e\u73b0\u81ea\u542f\u52a8 \u5907\u7528\u542f\u52a8\u811a\u672c - \u63d0\u4f9bbackup\u542f\u52a8\u811a\u672c\u4f5c\u4e3a\u5907\u7528\u65b9\u6848 \u670d\u52a1\u6e05\u7406 - \u81ea\u52a8\u6e05\u7406\u51b2\u7a81\u7684systemd\u670d\u52a1 \u5b8c\u6574\u65e5\u5fd7\u8bb0\u5f55 - \u8bb0\u5f55\u6240\u6709\u64cd\u4f5c\u5230\u65e5\u5fd7\u6587\u4ef6 \u9519\u8bef\u5904\u7406\u673a\u5236 - \u6bcf\u6b65\u9aa4\u5b8c\u5584\u7684\u9519\u8bef\u68c0\u6d4b\u5904\u7406 \u65e0\u4ea4\u4e92\u6a21\u5f0f - \u652f\u6301curl\u8fdc\u7a0b\u6267\u884c\u65e0\u9700\u7528\u6237\u8f93\u5165 \u73af\u5883\u53d8\u91cf\u652f\u6301 - \u53ef\u901a\u8fc7KIOSK_URL\u81ea\u5b9a\u4e49\u542f\u52a8\u9875\u9762 \u9632\u706b\u5899\u7aef\u53e3\u7ba1\u7406 - \u81ea\u52a8\u5f00\u653eSSH/RDP/NoMachine\u7aef\u53e3 \u5b89\u5168\u53c2\u6570\u914d\u7f6e - Edge\u542f\u52a8\u5305\u542b\u5b89\u5168\u548c\u517c\u5bb9\u6027\u53c2\u6570 \u4fee\u6539\u5927\u5c4f\u6253\u5f00\u7684\u5730\u5740 \u00b6 \u627e\u5230\u811a\u672c\u7684\u7b2c192\u884c\uff0c\u4fee\u6539\u5ba2\u6237\u4ee3\u7801\uff0c \u627e\u5230\u811a\u672c\u7684\u7b2c193\u884c\uff0c\u4fee\u6539\u7b2c\u9875\u663e\u793a\u6570\u91cf \u5982\u4e0b\u56fe\u6240\u793a","title":"Ubuntu-desktop\u684c\u9762\u7cfb\u7edf\u5982\u4f55\u914d\u7f6e\u5f00\u542f\u8fdc\u7a0b\u534f\u52a9"},{"location":"Usages/QA/ubunte-desktop%E6%A1%8C%E9%9D%A2%E7%B3%BB%E7%BB%9F%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AE%E5%BC%80%E5%90%AF%E8%BF%9C%E7%A8%8B%E5%8D%8F%E5%8A%A9/#curl","text":"\u5148\u68c0\u67e5\u662f\u5426\u5b89\u88c5curl\u5982\u679c\u6ca1\u88c5\uff0c\u5219\u5148\u7528\u4ee5\u4e0b\u6307\u4ee4\u5b89\u88c5 sudo apt update sudo apt install curl","title":"\u5b89\u88c5curl"},{"location":"Usages/QA/ubunte-desktop%E6%A1%8C%E9%9D%A2%E7%B3%BB%E7%BB%9F%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AE%E5%BC%80%E5%90%AF%E8%BF%9C%E7%A8%8B%E5%8D%8F%E5%8A%A9/#edge","text":"\u6253\u5f00\u7ec8\u7aef,\u590d\u5236\u4e0b\u9762\u547d\u4ee4\uff0c\u6267\u884c\uff0c\u5b8c\u6210\u540e\u91cd\u542f\u7535\u8111\u5373\u53ef\u3002 curl -fsSL http://datacdn.data-it.tech/HomeAssistant/tools/install-uds.sh | bash \u8fd9\u4e2a\u8fc7\u7a0b\u53ef\u80fd\u6bd4\u8f83\u4e45\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\u3002","title":"\u914d\u7f6e\u8fdc\u7a0b\u534f\u52a9\u5f00\u673a\u52a8\u767b\u5f55\u4e0eedge\u81ea\u542f"},{"location":"Usages/QA/ubunte-desktop%E6%A1%8C%E9%9D%A2%E7%B3%BB%E7%BB%9F%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AE%E5%BC%80%E5%90%AF%E8%BF%9C%E7%A8%8B%E5%8D%8F%E5%8A%A9/#_1","text":"SSH\u670d\u52a1 - \u81ea\u52a8\u5b89\u88c5\u5e76\u542f\u7528SSH\u670d\u52a1 \u7cfb\u7edf\u66f4\u65b0 - \u66f4\u65b0\u7cfb\u7edf\u8f6f\u4ef6\u5305\u5230\u6700\u65b0\u7248\u672c \u7981\u7528\u81ea\u52a8\u5f85\u673a - \u963b\u6b62\u7cfb\u7edfAC\u7535\u6e90\u548c\u7535\u6c60\u6a21\u5f0f\u4e0b\u81ea\u52a8\u7761\u7720 \u7981\u7528\u5c4f\u5e55\u9501\u5b9a - \u53d6\u6d88\u5c4f\u5e55\u4fdd\u62a4\u7a0b\u5e8f\u9501\u5b9a\u529f\u80fd \u7981\u7528\u5c4f\u5e55\u81ea\u52a8\u5173\u95ed - \u9632\u6b62\u663e\u793a\u5668\u81ea\u52a8\u5173\u95ed \u7981\u7528\u81ea\u52a8\u66f4\u65b0 - \u914d\u7f6eAPT\u7b56\u7565\u963b\u6b62\u7cfb\u7edf\u81ea\u52a8\u66f4\u65b0 \u7981\u7528MOTD\u901a\u77e5 - \u5173\u95ed\u767b\u5f55\u65f6\u7684\u65b0\u95fb\u901a\u77e5 Microsoft Edge\u5b89\u88c5 - \u81ea\u52a8\u4e0b\u8f7d\u5b89\u88c5\u6700\u65b0\u7248Edge\u6d4f\u89c8\u5668 \u81ea\u52a8\u767b\u5f55\u914d\u7f6e - \u8bbe\u7f6eGDM\u81ea\u52a8\u767b\u5f55\uff0c\u91cd\u542f\u540e\u65e0\u9700\u5bc6\u7801 XRDP\u8fdc\u7a0b\u684c\u9762 - \u5b89\u88c5\u914d\u7f6eRDP\u8fdc\u7a0b\u684c\u9762\u670d\u52a1\uff08\u7aef\u53e33389\uff09 Polkit\u7b56\u7565\u914d\u7f6e - \u89e3\u51b3\u8fdc\u7a0b\u684c\u9762\u6743\u9650\u8ba4\u8bc1\u95ee\u9898 \u9632\u706b\u5899\u914d\u7f6e - \u667a\u80fd\u68c0\u6d4bUFW\u72b6\u6001\u5e76\u914d\u7f6e\u5fc5\u8981\u7aef\u53e3 \u4e2d\u6587\u8f93\u5165\u6cd5 - \u5b89\u88c5ibus-pinyin\u4e2d\u6587\u62fc\u97f3\u8f93\u5165\u6cd5 NoMachine\u8fdc\u7a0b\u8f6f\u4ef6 - \u667a\u80fd\u68c0\u6d4b\u5b89\u88c5NoMachine\uff08\u7aef\u53e34000\uff09 Edge Kiosk\u81ea\u542f\u52a8 - \u914d\u7f6eEdge\u5168\u5c4f\u6a21\u5f0f\u81ea\u52a8\u542f\u52a8\u6307\u5b9a\u7f51\u9875 \u5bc6\u94a5\u73af\u5904\u7406 - \u914d\u7f6e\u542f\u52a8\u53c2\u6570\u907f\u514d\u5bc6\u94a5\u73af\u5bc6\u7801\u63d0\u793a \u684c\u9762\u81ea\u542f\u52a8\u6587\u4ef6 - \u521b\u5efaautostart\u684c\u9762\u6587\u4ef6\u5b9e\u73b0\u81ea\u542f\u52a8 \u5907\u7528\u542f\u52a8\u811a\u672c - \u63d0\u4f9bbackup\u542f\u52a8\u811a\u672c\u4f5c\u4e3a\u5907\u7528\u65b9\u6848 \u670d\u52a1\u6e05\u7406 - \u81ea\u52a8\u6e05\u7406\u51b2\u7a81\u7684systemd\u670d\u52a1 \u5b8c\u6574\u65e5\u5fd7\u8bb0\u5f55 - \u8bb0\u5f55\u6240\u6709\u64cd\u4f5c\u5230\u65e5\u5fd7\u6587\u4ef6 \u9519\u8bef\u5904\u7406\u673a\u5236 - \u6bcf\u6b65\u9aa4\u5b8c\u5584\u7684\u9519\u8bef\u68c0\u6d4b\u5904\u7406 \u65e0\u4ea4\u4e92\u6a21\u5f0f - \u652f\u6301curl\u8fdc\u7a0b\u6267\u884c\u65e0\u9700\u7528\u6237\u8f93\u5165 \u73af\u5883\u53d8\u91cf\u652f\u6301 - \u53ef\u901a\u8fc7KIOSK_URL\u81ea\u5b9a\u4e49\u542f\u52a8\u9875\u9762 \u9632\u706b\u5899\u7aef\u53e3\u7ba1\u7406 - \u81ea\u52a8\u5f00\u653eSSH/RDP/NoMachine\u7aef\u53e3 \u5b89\u5168\u53c2\u6570\u914d\u7f6e - Edge\u542f\u52a8\u5305\u542b\u5b89\u5168\u548c\u517c\u5bb9\u6027\u53c2\u6570","title":"\u672c\u811a\u672c\u5b9e\u5b9e\u73b0\u7684\u529f\u80fd"},{"location":"Usages/QA/ubunte-desktop%E6%A1%8C%E9%9D%A2%E7%B3%BB%E7%BB%9F%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AE%E5%BC%80%E5%90%AF%E8%BF%9C%E7%A8%8B%E5%8D%8F%E5%8A%A9/#_2","text":"\u627e\u5230\u811a\u672c\u7684\u7b2c192\u884c\uff0c\u4fee\u6539\u5ba2\u6237\u4ee3\u7801\uff0c \u627e\u5230\u811a\u672c\u7684\u7b2c193\u884c\uff0c\u4fee\u6539\u7b2c\u9875\u663e\u793a\u6570\u91cf \u5982\u4e0b\u56fe\u6240\u793a","title":"\u4fee\u6539\u5927\u5c4f\u6253\u5f00\u7684\u5730\u5740"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/","text":"Win11/10\u8bbf\u95eeSamba\u5171\u4eab\u548cVSCode SSH\u8bbf\u95ee\u89e3\u51b3\u65b9\u6848 \u00b6 \u95ee\u9898\u63cf\u8ff0 \u00b6 Docker\u5b89\u88c5\u7684HomeAssistant\u4f7f\u7528Samba\u5171\u4eab\u914d\u7f6e\u76ee\u5f55\uff0c\u4f46Win11/10\u6709\u65f6\u65e0\u6cd5\u6b63\u5e38\u8bbf\u95ee\u65e0\u5bc6\u7801\u7684Samba\u5171\u4eab\u3002 \u89e3\u51b3\u65b9\u6848 \u00b6 \u65b9\u6848\u4e00\uff1a\u4fee\u590dWin11/10 Samba\u8bbf\u95ee\u95ee\u9898 \u00b6 1. \u542f\u7528SMB1.0\u534f\u8bae\uff08\u4e0d\u63a8\u8350\uff0c\u5b89\u5168\u6027\u8f83\u4f4e\uff09 \u00b6 # \u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884cPowerShell Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol 2. \u4fee\u6539\u672c\u5730\u5b89\u5168\u7b56\u7565\uff08\u63a8\u8350\uff09 \u00b6 \u6309 Win+R \u6253\u5f00\u8fd0\u884c\u5bf9\u8bdd\u6846\uff0c\u8f93\u5165 gpedit.msc \u5bfc\u822a\u5230\uff1a \u8ba1\u7b97\u673a\u914d\u7f6e > Windows\u8bbe\u7f6e > \u5b89\u5168\u8bbe\u7f6e > \u672c\u5730\u7b56\u7565 > \u5b89\u5168\u9009\u9879 \u627e\u5230\u5e76\u4fee\u6539\u4ee5\u4e0b\u7b56\u7565\uff1a \u7f51\u7edc\u5b89\u5168: LAN Manager\u8eab\u4efd\u9a8c\u8bc1\u7ea7\u522b \u8bbe\u7f6e\u4e3a \u53d1\u9001LM\u548cNTLM\u54cd\u5e94 \u7f51\u7edc\u5b89\u5168: \u5bf9\u4e8eNTLM SSP(\u5305\u62ec\u5b89\u5168RPC)\u7684\u6700\u5c0f\u4f1a\u8bdd\u5b89\u5168 \u8bbe\u7f6e\u4e3a \u65e0\u8981\u6c42 3. \u4fee\u6539\u6ce8\u518c\u8868\uff08\u9ad8\u7ea7\u7528\u6237\uff09 \u00b6 # \u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884ccmd reg add HKLM\\SYSTEM\\CurrentControlSet\\Services\\lanmanserver\\parameters /v RequireSecuritySignature /t REG_DWORD /d 0 /f reg add HKLM\\SYSTEM\\CurrentControlSet\\Services\\lanmanworkstation\\parameters /v RequireSecuritySignature /t REG_DWORD /d 0 /f reg add HKLM\\SYSTEM\\CurrentControlSet\\Services\\lanmanworkstation\\parameters /v EnableSecuritySignature /t REG_DWORD /d 0 /f 4. \u6dfb\u52a0\u7f51\u7edc\u51ed\u636e \u00b6 \u6253\u5f00 \u63a7\u5236\u9762\u677f > \u7528\u6237\u8d26\u6237 > \u51ed\u636e\u7ba1\u7406\u5668 \u9009\u62e9 Windows\u51ed\u636e \u70b9\u51fb \u6dfb\u52a0Windows\u51ed\u636e \u8f93\u5165\uff1a \u4e92\u8054\u7f51\u6216\u7f51\u7edc\u5730\u5740\uff1a \\\\\u4f60\u7684\u670d\u52a1\u5668IP \u7528\u6237\u540d\uff1a\u7559\u7a7a\u6216\u8f93\u5165 guest \u5bc6\u7801\uff1a\u7559\u7a7a 5. \u4f7f\u7528Windows\u5ba2\u6237\u7aef\u5f3a\u5236\u65e0\u5bc6\u7801\u8bbf\u95ee\uff08\u63a8\u8350\u89e3\u51b3\u65b9\u6848\uff09 \u00b6 \u7531\u4e8ecompose-all.yaml\u6587\u4ef6\u4e0d\u80fd\u4fee\u6539\uff0c\u6211\u4eec\u901a\u8fc7Windows\u5ba2\u6237\u7aef\u914d\u7f6e\u6765\u89e3\u51b3\u8bbf\u95ee\u95ee\u9898\uff1a \u65b9\u6cd5A\uff1a\u81ea\u52a8\u4fee\u590d\u811a\u672c\uff08\u6700\u63a8\u8350\uff09 \u6211\u4eec\u63d0\u4f9b\u4e86\u4e00\u4e2aPowerShell\u81ea\u52a8\u4fee\u590d\u811a\u672c\uff0c\u53ef\u4ee5\u4e00\u952e\u5b8c\u6210\u6240\u6709\u914d\u7f6e\uff1a \u89c2\u770b\u89c6\u9891\uff1a\u4fee\u590d Windows SMB \u9519\u8bef \u4fee\u590dWindows SMB \u9519\u8bef\u811a\u672c\u4e0b\u8f7d\u5730\u5740 \uff1a http://datacdn.data-it.tech/HomeAssistant/tools/fixwindows.ps1 \u4e0b\u8f7d\u811a\u672c\u6587\u4ef6 fixwindows.ps1 curl -o fixwindows.ps1 http://datacdn.data-it.tech/HomeAssistant/tools/fixwindows.ps1 \u5c06\u811a\u672c\u4fdd\u5b58\u5230\u672c\u5730\uff08\u5982c\u76d8\u7684\u6839\u76ee\u5f55\uff09 \u53f3\u952e\u70b9\u51fb\u811a\u672c\uff0c\u9009\u62e9\"\u4f7f\u7528PowerShell\u8fd0\u884c\" \u9009\u62e9\"\u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884c\" # \u5982\u679c\u63d0\u793a\u7981\u6b62\u8fd0\u884c\u811a\u672c\uff0c\u8bf7\u5148\u6267\u884c\u5982\u4e0b\u6307\u4ee4\u540e\uff0c\u518d\u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884c Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process #\u7136\u540e\u518d\u8fd0\u884c\u811a\u672c .\\fixwindows.ps1 \u6309\u63d0\u793a\u8f93\u5165\u670d\u52a1\u5668IP\u5730\u5740 \u4f7f\u7528\u65b9\u6cd5\uff1a # \u65b9\u5f0f1\uff1a\u76f4\u63a5\u8fd0\u884c\uff08\u4ea4\u4e92\u5f0f\u8f93\u5165IP\uff09 .\\ fixwindows . ps1 # \u65b9\u5f0f2\uff1a\u5e26\u53c2\u6570\u8fd0\u884c .\\ fixwindows . ps1 -ServerIP \"192.168.1.100\" # \u65b9\u5f0f3\uff1a\u5b8c\u6574\u53c2\u6570 .\\ fixwindows . ps1 -ServerIP \"192.168.1.100\" -ShareName \"HAConfig\" -DriveLetter \"Z\" \u811a\u672c\u529f\u80fd\uff1a \u81ea\u52a8\u4fee\u6539\u6ce8\u518c\u8868\u8bbe\u7f6e \u8c03\u6574Windows\u5b89\u5168\u7b56\u7565 \u5efa\u7acbSamba\u8fde\u63a5\u5e76\u6620\u5c04\u9a71\u52a8\u5668 \u6d4b\u8bd5\u8fde\u63a5\u72b6\u6001 \u53ef\u9009\u521b\u5efa\u684c\u9762\u5feb\u6377\u65b9\u5f0f \u65b9\u6cd5B\uff1a\u901a\u8fc7\u6620\u5c04\u7f51\u7edc\u9a71\u52a8\u5668 \u6253\u5f00\u6587\u4ef6\u8d44\u6e90\u7ba1\u7406\u5668 \u53f3\u952e\u70b9\u51fb\"\u6b64\u7535\u8111\"\uff0c\u9009\u62e9\"\u6620\u5c04\u7f51\u7edc\u9a71\u52a8\u5668\" \u9a71\u52a8\u5668\u9009\u62e9\u4e00\u4e2a\u53ef\u7528\u76d8\u7b26\uff08\u5982Z:\uff09 \u6587\u4ef6\u5939\u8f93\u5165\uff1a \\\\\u4f60\u7684\u670d\u52a1\u5668IP\\HAConfig \u53d6\u6d88\u52fe\u9009 \"\u767b\u5f55\u65f6\u91cd\u65b0\u8fde\u63a5\" \u70b9\u51fb\"\u4f7f\u7528\u5176\u4ed6\u51ed\u636e\u8fde\u63a5\" \u7528\u6237\u540d\u7559\u7a7a\u6216\u8f93\u5165 guest \uff0c\u5bc6\u7801\u7559\u7a7a \u52fe\u9009\"\u8bb0\u4f4f\u6211\u7684\u51ed\u636e\" \u65b9\u6cd5C\uff1a\u901a\u8fc7\u547d\u4ee4\u884c\u5f3a\u5236\u8fde\u63a5 \u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884ccmd\uff0c\u6267\u884c\uff1a net use \\\\\u4f60\u7684\u670d\u52a1\u5668IP\\HAConfig \"\" /user:\"\" \u65b9\u6cd5D\uff1a\u4fee\u6539Windows\u672c\u5730\u7ec4\u7b56\u7565 \u8fd0\u884c gpedit.msc \u5bfc\u822a\u5230\uff1a \u8ba1\u7b97\u673a\u914d\u7f6e > Windows\u8bbe\u7f6e > \u5b89\u5168\u8bbe\u7f6e > \u672c\u5730\u7b56\u7565 > \u5b89\u5168\u9009\u9879 \u4fee\u6539\uff1a \u7f51\u7edc\u5b89\u5168: \u5bf9\u533f\u540dSID/\u540d\u79f0\u7ffb\u8bd1\u7684\u9650\u5236 \u8bbe\u7f6e\u4e3a \u65e0 \u4fee\u6539\uff1a \u7f51\u7edc\u8bbf\u95ee: \u4e0d\u5141\u8bb8SAM\u8d26\u6237\u7684\u533f\u540d\u679a\u4e3e \u8bbe\u7f6e\u4e3a \u5df2\u7981\u7528 \u65b9\u6848\u4e8c\uff1a\u4f7f\u7528VSCode SSH\u8bbf\u95eeHomeAssistant\u6302\u8f7d\u76ee\u5f55 \u00b6 1. \u786e\u4fddSSH\u670d\u52a1\u8fd0\u884c \u00b6 \u5728HomeAssistant\u4e3b\u673a\u4e0a\u786e\u4fddSSH\u670d\u52a1\u5df2\u542f\u52a8\uff1a # \u68c0\u67e5SSH\u670d\u52a1\u72b6\u6001 sudo systemctl status ssh # \u5982\u679c\u672a\u542f\u52a8\uff0c\u542f\u7528\u5e76\u542f\u52a8SSH sudo systemctl enable ssh sudo systemctl start ssh 2. \u5b89\u88c5VSCode\u6269\u5c55 \u00b6 \u5728VSCode\u4e2d\u5b89\u88c5\u4ee5\u4e0b\u6269\u5c55\uff1a - Remote - SSH - Remote - SSH: Editing Configuration Files 3. \u914d\u7f6eSSH\u8fde\u63a5 \u00b6 \u6309 Ctrl+Shift+P \u6253\u5f00\u547d\u4ee4\u9762\u677f \u8f93\u5165 Remote-SSH: Connect to Host \u9009\u62e9 Configure SSH Hosts \u9009\u62e9\u914d\u7f6e\u6587\u4ef6\uff08\u901a\u5e38\u662f C:\\Users\\\u7528\u6237\u540d\\.ssh\\config \uff09 \u6dfb\u52a0\u4ee5\u4e0b\u914d\u7f6e\uff1a Host homeassistant HostName \u4f60\u7684HomeAssistant\u670d\u52a1\u5668IP User dtuser Port 22 4. \u8fde\u63a5\u5230\u670d\u52a1\u5668 \u00b6 \u5728VSCode\u4e2d\u6309 Ctrl+Shift+P \u8f93\u5165 Remote-SSH: Connect to Host \u9009\u62e9 homeassistant \u8f93\u5165\u670d\u52a1\u5668\u5bc6\u7801\u8fdb\u884c\u767b\u5f55 \u8fde\u63a5\u6210\u529f\u540e\uff0c\u6253\u5f00\u6587\u4ef6\u5939\uff1a /home/dtuser/opt/ha/config \u65b9\u6848\u4e09\uff1a\u4f7f\u7528SFTP\u5ba2\u6237\u7aef \u00b6 \u5982\u679cVSCode SSH\u6709\u95ee\u9898\uff0c\u53ef\u4ee5\u4f7f\u7528SFTP\u5ba2\u6237\u7aef\uff1a WinSCP \uff1a\u56fe\u5f62\u754c\u9762SFTP\u5ba2\u6237\u7aef FileZilla \uff1a\u652f\u6301SFTP\u534f\u8bae PuTTY + PSFTP \uff1a\u547d\u4ee4\u884c\u5de5\u5177 \u8fde\u63a5\u4fe1\u606f\uff1a \u534f\u8bae\uff1aSFTP \u4e3b\u673a\uff1a\u4f60\u7684\u670d\u52a1\u5668IP \u7aef\u53e3\uff1a22 \u7528\u6237\u540d\uff1adtuser \u5bc6\u7801\uff1a\uff08\u4f60\u7684\u670d\u52a1\u5668\u5bc6\u7801\uff09 \u63a8\u8350\u65b9\u6848 \u00b6 \u6700\u4f73\u5b9e\u8df5\u7ec4\u5408 \uff1a \u4f7f\u7528\u81ea\u52a8\u4fee\u590d\u811a\u672c\uff08\u65b9\u6848\u4e00\u7b2c5\u70b9\u65b9\u6cd5A\uff09- \u6700\u7b80\u5355\u9ad8\u6548 \u914d\u7f6eVSCode SSH\u8bbf\u95ee\u4f5c\u4e3a\u5907\u7528\u65b9\u6848\uff08\u65b9\u6848\u4e8c\uff09 \u8fd9\u6837\u65e2\u4e0d\u9700\u8981\u4fee\u6539compose\u6587\u4ef6\uff0c\u53c8\u63d0\u4f9b\u4e86\u81ea\u52a8\u5316\u548c\u624b\u52a8\u7684\u591a\u79cd\u8bbf\u95ee\u65b9\u5f0f\u3002 \u6545\u969c\u6392\u9664 \u00b6 Samba\u8bbf\u95ee\u95ee\u9898 \u00b6 \u68c0\u67e5\u9632\u706b\u5899\u662f\u5426\u963b\u6b62\u4e86445\u548c139\u7aef\u53e3 \u786e\u8ba4\u670d\u52a1\u5668IP\u5730\u5740\u6b63\u786e \u5c1d\u8bd5\u91cd\u542fSamba\u5bb9\u5668\uff1a docker restart samba SSH\u8bbf\u95ee\u95ee\u9898 \u00b6 \u68c0\u67e5SSH\u670d\u52a1\u72b6\u6001\uff1a sudo systemctl status ssh \u786e\u8ba4\u9632\u706b\u5899\u5141\u8bb822\u7aef\u53e3 \u68c0\u67e5SSH\u5bc6\u94a5\u6743\u9650\uff1a chmod 600 ~/.ssh/id_rsa \u7f51\u7edc\u8fde\u901a\u6027\u6d4b\u8bd5 \u00b6 # \u6d4b\u8bd5\u7aef\u53e3\u8fde\u901a\u6027 telnet \u670d\u52a1\u5668IP 445 # Samba telnet \u670d\u52a1\u5668IP 22 # SSH \u91cd\u8981\u63d0\u9192 \u4efb\u4f55\u5bf9HomeAssistant\u4e2d\u7684\u914d\u7f6e\u6587\u4ef6\u7684\u66f4\u6539\uff0c\u90fd\u9700\u8981\u91cd\u542fHomeAssistant\u624d\u80fd\u751f\u6548\u3002","title":"windows\u4e0d\u80fd\u8bbf\u95eeHA\u7684\u5171\u4eab\u914d\u7f6e\u76ee\u5f55\u7684\u89e3\u51b3\u529e\u6cd5"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#win1110sambavscode-ssh","text":"","title":"Win11/10\u8bbf\u95eeSamba\u5171\u4eab\u548cVSCode SSH\u8bbf\u95ee\u89e3\u51b3\u65b9\u6848"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#_1","text":"Docker\u5b89\u88c5\u7684HomeAssistant\u4f7f\u7528Samba\u5171\u4eab\u914d\u7f6e\u76ee\u5f55\uff0c\u4f46Win11/10\u6709\u65f6\u65e0\u6cd5\u6b63\u5e38\u8bbf\u95ee\u65e0\u5bc6\u7801\u7684Samba\u5171\u4eab\u3002","title":"\u95ee\u9898\u63cf\u8ff0"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#_2","text":"","title":"\u89e3\u51b3\u65b9\u6848"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#win1110-samba","text":"","title":"\u65b9\u6848\u4e00\uff1a\u4fee\u590dWin11/10 Samba\u8bbf\u95ee\u95ee\u9898"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#1-smb10","text":"# \u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884cPowerShell Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol","title":"1. \u542f\u7528SMB1.0\u534f\u8bae\uff08\u4e0d\u63a8\u8350\uff0c\u5b89\u5168\u6027\u8f83\u4f4e\uff09"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#2","text":"\u6309 Win+R \u6253\u5f00\u8fd0\u884c\u5bf9\u8bdd\u6846\uff0c\u8f93\u5165 gpedit.msc \u5bfc\u822a\u5230\uff1a \u8ba1\u7b97\u673a\u914d\u7f6e > Windows\u8bbe\u7f6e > \u5b89\u5168\u8bbe\u7f6e > \u672c\u5730\u7b56\u7565 > \u5b89\u5168\u9009\u9879 \u627e\u5230\u5e76\u4fee\u6539\u4ee5\u4e0b\u7b56\u7565\uff1a \u7f51\u7edc\u5b89\u5168: LAN Manager\u8eab\u4efd\u9a8c\u8bc1\u7ea7\u522b \u8bbe\u7f6e\u4e3a \u53d1\u9001LM\u548cNTLM\u54cd\u5e94 \u7f51\u7edc\u5b89\u5168: \u5bf9\u4e8eNTLM SSP(\u5305\u62ec\u5b89\u5168RPC)\u7684\u6700\u5c0f\u4f1a\u8bdd\u5b89\u5168 \u8bbe\u7f6e\u4e3a \u65e0\u8981\u6c42","title":"2. \u4fee\u6539\u672c\u5730\u5b89\u5168\u7b56\u7565\uff08\u63a8\u8350\uff09"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#3","text":"# \u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884ccmd reg add HKLM\\SYSTEM\\CurrentControlSet\\Services\\lanmanserver\\parameters /v RequireSecuritySignature /t REG_DWORD /d 0 /f reg add HKLM\\SYSTEM\\CurrentControlSet\\Services\\lanmanworkstation\\parameters /v RequireSecuritySignature /t REG_DWORD /d 0 /f reg add HKLM\\SYSTEM\\CurrentControlSet\\Services\\lanmanworkstation\\parameters /v EnableSecuritySignature /t REG_DWORD /d 0 /f","title":"3. \u4fee\u6539\u6ce8\u518c\u8868\uff08\u9ad8\u7ea7\u7528\u6237\uff09"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#4","text":"\u6253\u5f00 \u63a7\u5236\u9762\u677f > \u7528\u6237\u8d26\u6237 > \u51ed\u636e\u7ba1\u7406\u5668 \u9009\u62e9 Windows\u51ed\u636e \u70b9\u51fb \u6dfb\u52a0Windows\u51ed\u636e \u8f93\u5165\uff1a \u4e92\u8054\u7f51\u6216\u7f51\u7edc\u5730\u5740\uff1a \\\\\u4f60\u7684\u670d\u52a1\u5668IP \u7528\u6237\u540d\uff1a\u7559\u7a7a\u6216\u8f93\u5165 guest \u5bc6\u7801\uff1a\u7559\u7a7a","title":"4. \u6dfb\u52a0\u7f51\u7edc\u51ed\u636e"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#5-windows","text":"\u7531\u4e8ecompose-all.yaml\u6587\u4ef6\u4e0d\u80fd\u4fee\u6539\uff0c\u6211\u4eec\u901a\u8fc7Windows\u5ba2\u6237\u7aef\u914d\u7f6e\u6765\u89e3\u51b3\u8bbf\u95ee\u95ee\u9898\uff1a \u65b9\u6cd5A\uff1a\u81ea\u52a8\u4fee\u590d\u811a\u672c\uff08\u6700\u63a8\u8350\uff09 \u6211\u4eec\u63d0\u4f9b\u4e86\u4e00\u4e2aPowerShell\u81ea\u52a8\u4fee\u590d\u811a\u672c\uff0c\u53ef\u4ee5\u4e00\u952e\u5b8c\u6210\u6240\u6709\u914d\u7f6e\uff1a \u89c2\u770b\u89c6\u9891\uff1a\u4fee\u590d Windows SMB \u9519\u8bef \u4fee\u590dWindows SMB \u9519\u8bef\u811a\u672c\u4e0b\u8f7d\u5730\u5740 \uff1a http://datacdn.data-it.tech/HomeAssistant/tools/fixwindows.ps1 \u4e0b\u8f7d\u811a\u672c\u6587\u4ef6 fixwindows.ps1 curl -o fixwindows.ps1 http://datacdn.data-it.tech/HomeAssistant/tools/fixwindows.ps1 \u5c06\u811a\u672c\u4fdd\u5b58\u5230\u672c\u5730\uff08\u5982c\u76d8\u7684\u6839\u76ee\u5f55\uff09 \u53f3\u952e\u70b9\u51fb\u811a\u672c\uff0c\u9009\u62e9\"\u4f7f\u7528PowerShell\u8fd0\u884c\" \u9009\u62e9\"\u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884c\" # \u5982\u679c\u63d0\u793a\u7981\u6b62\u8fd0\u884c\u811a\u672c\uff0c\u8bf7\u5148\u6267\u884c\u5982\u4e0b\u6307\u4ee4\u540e\uff0c\u518d\u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884c Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process #\u7136\u540e\u518d\u8fd0\u884c\u811a\u672c .\\fixwindows.ps1 \u6309\u63d0\u793a\u8f93\u5165\u670d\u52a1\u5668IP\u5730\u5740 \u4f7f\u7528\u65b9\u6cd5\uff1a # \u65b9\u5f0f1\uff1a\u76f4\u63a5\u8fd0\u884c\uff08\u4ea4\u4e92\u5f0f\u8f93\u5165IP\uff09 .\\ fixwindows . ps1 # \u65b9\u5f0f2\uff1a\u5e26\u53c2\u6570\u8fd0\u884c .\\ fixwindows . ps1 -ServerIP \"192.168.1.100\" # \u65b9\u5f0f3\uff1a\u5b8c\u6574\u53c2\u6570 .\\ fixwindows . ps1 -ServerIP \"192.168.1.100\" -ShareName \"HAConfig\" -DriveLetter \"Z\" \u811a\u672c\u529f\u80fd\uff1a \u81ea\u52a8\u4fee\u6539\u6ce8\u518c\u8868\u8bbe\u7f6e \u8c03\u6574Windows\u5b89\u5168\u7b56\u7565 \u5efa\u7acbSamba\u8fde\u63a5\u5e76\u6620\u5c04\u9a71\u52a8\u5668 \u6d4b\u8bd5\u8fde\u63a5\u72b6\u6001 \u53ef\u9009\u521b\u5efa\u684c\u9762\u5feb\u6377\u65b9\u5f0f \u65b9\u6cd5B\uff1a\u901a\u8fc7\u6620\u5c04\u7f51\u7edc\u9a71\u52a8\u5668 \u6253\u5f00\u6587\u4ef6\u8d44\u6e90\u7ba1\u7406\u5668 \u53f3\u952e\u70b9\u51fb\"\u6b64\u7535\u8111\"\uff0c\u9009\u62e9\"\u6620\u5c04\u7f51\u7edc\u9a71\u52a8\u5668\" \u9a71\u52a8\u5668\u9009\u62e9\u4e00\u4e2a\u53ef\u7528\u76d8\u7b26\uff08\u5982Z:\uff09 \u6587\u4ef6\u5939\u8f93\u5165\uff1a \\\\\u4f60\u7684\u670d\u52a1\u5668IP\\HAConfig \u53d6\u6d88\u52fe\u9009 \"\u767b\u5f55\u65f6\u91cd\u65b0\u8fde\u63a5\" \u70b9\u51fb\"\u4f7f\u7528\u5176\u4ed6\u51ed\u636e\u8fde\u63a5\" \u7528\u6237\u540d\u7559\u7a7a\u6216\u8f93\u5165 guest \uff0c\u5bc6\u7801\u7559\u7a7a \u52fe\u9009\"\u8bb0\u4f4f\u6211\u7684\u51ed\u636e\" \u65b9\u6cd5C\uff1a\u901a\u8fc7\u547d\u4ee4\u884c\u5f3a\u5236\u8fde\u63a5 \u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884ccmd\uff0c\u6267\u884c\uff1a net use \\\\\u4f60\u7684\u670d\u52a1\u5668IP\\HAConfig \"\" /user:\"\" \u65b9\u6cd5D\uff1a\u4fee\u6539Windows\u672c\u5730\u7ec4\u7b56\u7565 \u8fd0\u884c gpedit.msc \u5bfc\u822a\u5230\uff1a \u8ba1\u7b97\u673a\u914d\u7f6e > Windows\u8bbe\u7f6e > \u5b89\u5168\u8bbe\u7f6e > \u672c\u5730\u7b56\u7565 > \u5b89\u5168\u9009\u9879 \u4fee\u6539\uff1a \u7f51\u7edc\u5b89\u5168: \u5bf9\u533f\u540dSID/\u540d\u79f0\u7ffb\u8bd1\u7684\u9650\u5236 \u8bbe\u7f6e\u4e3a \u65e0 \u4fee\u6539\uff1a \u7f51\u7edc\u8bbf\u95ee: \u4e0d\u5141\u8bb8SAM\u8d26\u6237\u7684\u533f\u540d\u679a\u4e3e \u8bbe\u7f6e\u4e3a \u5df2\u7981\u7528","title":"5. \u4f7f\u7528Windows\u5ba2\u6237\u7aef\u5f3a\u5236\u65e0\u5bc6\u7801\u8bbf\u95ee\uff08\u63a8\u8350\u89e3\u51b3\u65b9\u6848\uff09"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#vscode-sshhomeassistant","text":"","title":"\u65b9\u6848\u4e8c\uff1a\u4f7f\u7528VSCode SSH\u8bbf\u95eeHomeAssistant\u6302\u8f7d\u76ee\u5f55"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#1-ssh","text":"\u5728HomeAssistant\u4e3b\u673a\u4e0a\u786e\u4fddSSH\u670d\u52a1\u5df2\u542f\u52a8\uff1a # \u68c0\u67e5SSH\u670d\u52a1\u72b6\u6001 sudo systemctl status ssh # \u5982\u679c\u672a\u542f\u52a8\uff0c\u542f\u7528\u5e76\u542f\u52a8SSH sudo systemctl enable ssh sudo systemctl start ssh","title":"1. \u786e\u4fddSSH\u670d\u52a1\u8fd0\u884c"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#2-vscode","text":"\u5728VSCode\u4e2d\u5b89\u88c5\u4ee5\u4e0b\u6269\u5c55\uff1a - Remote - SSH - Remote - SSH: Editing Configuration Files","title":"2. \u5b89\u88c5VSCode\u6269\u5c55"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#3-ssh","text":"\u6309 Ctrl+Shift+P \u6253\u5f00\u547d\u4ee4\u9762\u677f \u8f93\u5165 Remote-SSH: Connect to Host \u9009\u62e9 Configure SSH Hosts \u9009\u62e9\u914d\u7f6e\u6587\u4ef6\uff08\u901a\u5e38\u662f C:\\Users\\\u7528\u6237\u540d\\.ssh\\config \uff09 \u6dfb\u52a0\u4ee5\u4e0b\u914d\u7f6e\uff1a Host homeassistant HostName \u4f60\u7684HomeAssistant\u670d\u52a1\u5668IP User dtuser Port 22","title":"3. \u914d\u7f6eSSH\u8fde\u63a5"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#4_1","text":"\u5728VSCode\u4e2d\u6309 Ctrl+Shift+P \u8f93\u5165 Remote-SSH: Connect to Host \u9009\u62e9 homeassistant \u8f93\u5165\u670d\u52a1\u5668\u5bc6\u7801\u8fdb\u884c\u767b\u5f55 \u8fde\u63a5\u6210\u529f\u540e\uff0c\u6253\u5f00\u6587\u4ef6\u5939\uff1a /home/dtuser/opt/ha/config","title":"4. \u8fde\u63a5\u5230\u670d\u52a1\u5668"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#sftp","text":"\u5982\u679cVSCode SSH\u6709\u95ee\u9898\uff0c\u53ef\u4ee5\u4f7f\u7528SFTP\u5ba2\u6237\u7aef\uff1a WinSCP \uff1a\u56fe\u5f62\u754c\u9762SFTP\u5ba2\u6237\u7aef FileZilla \uff1a\u652f\u6301SFTP\u534f\u8bae PuTTY + PSFTP \uff1a\u547d\u4ee4\u884c\u5de5\u5177 \u8fde\u63a5\u4fe1\u606f\uff1a \u534f\u8bae\uff1aSFTP \u4e3b\u673a\uff1a\u4f60\u7684\u670d\u52a1\u5668IP \u7aef\u53e3\uff1a22 \u7528\u6237\u540d\uff1adtuser \u5bc6\u7801\uff1a\uff08\u4f60\u7684\u670d\u52a1\u5668\u5bc6\u7801\uff09","title":"\u65b9\u6848\u4e09\uff1a\u4f7f\u7528SFTP\u5ba2\u6237\u7aef"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#_3","text":"\u6700\u4f73\u5b9e\u8df5\u7ec4\u5408 \uff1a \u4f7f\u7528\u81ea\u52a8\u4fee\u590d\u811a\u672c\uff08\u65b9\u6848\u4e00\u7b2c5\u70b9\u65b9\u6cd5A\uff09- \u6700\u7b80\u5355\u9ad8\u6548 \u914d\u7f6eVSCode SSH\u8bbf\u95ee\u4f5c\u4e3a\u5907\u7528\u65b9\u6848\uff08\u65b9\u6848\u4e8c\uff09 \u8fd9\u6837\u65e2\u4e0d\u9700\u8981\u4fee\u6539compose\u6587\u4ef6\uff0c\u53c8\u63d0\u4f9b\u4e86\u81ea\u52a8\u5316\u548c\u624b\u52a8\u7684\u591a\u79cd\u8bbf\u95ee\u65b9\u5f0f\u3002","title":"\u63a8\u8350\u65b9\u6848"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#_4","text":"","title":"\u6545\u969c\u6392\u9664"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#samba","text":"\u68c0\u67e5\u9632\u706b\u5899\u662f\u5426\u963b\u6b62\u4e86445\u548c139\u7aef\u53e3 \u786e\u8ba4\u670d\u52a1\u5668IP\u5730\u5740\u6b63\u786e \u5c1d\u8bd5\u91cd\u542fSamba\u5bb9\u5668\uff1a docker restart samba","title":"Samba\u8bbf\u95ee\u95ee\u9898"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#ssh","text":"\u68c0\u67e5SSH\u670d\u52a1\u72b6\u6001\uff1a sudo systemctl status ssh \u786e\u8ba4\u9632\u706b\u5899\u5141\u8bb822\u7aef\u53e3 \u68c0\u67e5SSH\u5bc6\u94a5\u6743\u9650\uff1a chmod 600 ~/.ssh/id_rsa","title":"SSH\u8bbf\u95ee\u95ee\u9898"},{"location":"Usages/QA/windows%E4%B8%8D%E8%83%BD%E8%AE%BF%E9%97%AEHA%E7%9A%84%E5%85%B1%E4%BA%AB%E9%85%8D%E7%BD%AE%E7%9B%AE%E5%BD%95%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/#_5","text":"# \u6d4b\u8bd5\u7aef\u53e3\u8fde\u901a\u6027 telnet \u670d\u52a1\u5668IP 445 # Samba telnet \u670d\u52a1\u5668IP 22 # SSH \u91cd\u8981\u63d0\u9192 \u4efb\u4f55\u5bf9HomeAssistant\u4e2d\u7684\u914d\u7f6e\u6587\u4ef6\u7684\u66f4\u6539\uff0c\u90fd\u9700\u8981\u91cd\u542fHomeAssistant\u624d\u80fd\u751f\u6548\u3002","title":"\u7f51\u7edc\u8fde\u901a\u6027\u6d4b\u8bd5"},{"location":"Usages/QA/%E5%9F%BA%E4%BA%8EDocker%E7%9A%84%E6%96%B9%E5%BC%8F%E5%AE%89%E8%A3%85HomeAssistant/","text":"\u57fa\u4e8eDocker\u7684\u65b9\u5f0f\u5b89\u88c5HomeAssistant \u00b6 HomeAssistant\u57fa\u4e8eDocker\u5bb9\u5668\u6280\u672f\uff0c\u53ef\u4ee5\u5feb\u901f\u90e8\u7f72\u548c\u7ba1\u7406.\u5e76\u53ef\u4e0e\u5176\u5b83\u4e3b\u673a\u6216\u670d\u52a1\u5668\u5171\u7528\uff0c\u6709\u6548\u8282\u7701\u8d44\u6e90\u3002 \u4f46Docker\u5bb9\u5668\u6280\u672f\u5bf9\u7cfb\u7edf\u8d44\u6e90\u6709\u4e00\u5b9a\u8981\u6c42\uff0c\u4e14\u5bf9\u7f51\u7edc\u73af\u5883\u6709\u4f9d\u8d56\u3002\u5e76\u4e14\u5728\u67d0\u4e9b\u60c5\u51b5\u4e0b\uff0c\u5728\u5168\u65ad\u7f51\u5b8c\u5168\u5168\u79bb\u7ebf\u7684\u60c5\u51b5\u4e0b\u90e8\u7f72\u3002 \u56e0\u6b64\uff0c\u624d\u6709\u4e86\u672c\u6587\u6863\u3002 \u5b89\u88c5\u51c6\u5907 \u00b6 \u4e3a\u4e86\u80fd\u5728\u4efb\u610f\u4e3b\u673a\u4e0a\u7528Docker\u5feb\u901f\u5b89\u88c5HomeAssistant\uff0c\u5efa\u8bae\u63d0\u524d\u51c6\u5907\u597dDocker\u73af\u5883\uff0c\u4f46Docker\u5b98\u7f51\u88ab\u5c01\u9501\uff0c\u5bfc\u81f4Docker\u7684\u5b89\u88c5\uff0c\u53ca\u955c\u50cf\u7684\u62c9\u53d6\u90fd\u6781\u4e3a\u56f0\u96be\u3002\u56e0\u6b64\uff0c\u53ef\u4ee5\u4f7f\u7528\u5982\u4e0b\u65b9\u5f0f\u5b89\u88c5Docker\u53caDocker Compose\uff1a \u5b89\u88c5Docker\u57fa\u7840\u73af\u5883-\u652f\u6301\u79bb\u7ebf\u5b89\u88c5 \u5b89\u88c5\u65b9\u5f0f \u00b6 HKO \u5728\u7ebf\u5b89\u88c5 \u79bb\u7ebf\u5b89\u88c5 \u670d\u52a1\u8bbf\u95ee\u5730\u5740\uff1a \u00b6 Home Assistant: http://$(\u4e3b\u673aIP):8123 Node-RED: http://$(\u4e3b\u673aIP):1880 Mosquitto MQTT: http://$(\u4e3b\u673aIP):1883 PostgreSQL: http://$(\u4e3b\u673aIP):5432 Samba: //$(\u4e3b\u673aIP)/HAConfig portainer: http://$(\u4e3b\u673aIP):9000 \u4f7f\u7528\u8bf4\u660e \u00b6 \u56e0\u4e3a\u4f7f\u7528\u4e86Docker\u5bb9\u5668\u6280\u672f\uff0c\u6240\u4ee5HomeAssistant\u7684\u52a0\u8f7d\u9879\u662f\u6ca1\u6709\u7684\uff0c\u5b98\u65b9\u5bf9Docker\u4e0d\u63d0\u4f9b\u52a0\u8f7d\u9879\u529f\u80fd\uff0c\u4e5f\u6ca1\u529e\u5b89\u88c5\u4e0b\u3002 \u6240\u4ee5\u4f5c\u4e3a\u66ff\u4ee3\uff0c\u6211\u4eec\u628a\u52a0\u8f7d\u9879\u4e2d\u6700\u91cd\u8981\u8981\u7684\u51e0\u4e2a\u63d2\u4ef6\u90fd\u4ee5docker\u7684\u65b9\u5f0f\u5355\u72ec\u63d0\u4f9b\uff0c\u5e76\u80fd\u4e0eHomeAssistant\u76f8\u4e92\u914d\u5408\u5de5\u4f5c\uff0c\u5b83\u4eec\u662f Node-RED, Mosquitto MQTT, PostgreSQL, Samba\u7b49\u3002 \u672c\u6587\u63d0\u4f9b\u7684HomeAssistant\u662f\u81ea\u5df2\u91cd\u65b0\u6253\u5305\u7684docker\u96c6\u6210\u4e86HACS\uff0c\u53ca\u4e00\u4e9b\u65b0\u5b89\u5e38\u7528\u7684\u4e3b\u9898UI\u98ce\u683c\uff0c\u548c\u5c0f\u7c73HOME\u96c6\u6210\u7b49\u3002\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u65e0\u9700\u518d\u5b89\u88c5\u6b64\u7c7b\u63d2\u4ef6\u3002 HomeAssistant\u5df2\u914d\u7f6e\u9ed8\u8ba4\u4f7f\u7528\u5bb9\u5668\u63d0\u4f9b\u7684pgsql\u6570\u636e\u5e93\u6765\u5b58\u50a8\u6570\u636e\uff0c\u5e76\u8bbe\u5b9a\u4e865\u5929\u53ef\u80fd\u81ea\u52a8\u6e05\u9664\u6570\u636e\uff0c\u5bb9\u5668\u5185\u7684\u65e5\u5fd7\uff0c\u4fdd\u7559\u7f6e\u4e09\u5929\u3002 \u56e0\u4e3a\u4f7f\u4f7f\u7528\u4e86Docker\u5bb9\u5668\u6280\u672f\uff0c\u6240\u4ee5HomeAssistant\u7684\u914d\u7f6e\u6587\u4ef6\u662f\u5b58\u653e\u5728\u4e3b\u673a\u7684 /dt_opt/ha/config \u76ee\u5f55\u4e0b\uff0c\u53ef\u4ee5\u901a\u8fc7Samba\u5171\u4eab\u8bbf\u95ee\u6b64\u76ee\u5f55\uff0c\u6216\u76f4\u63a5\u5728\u4e3b\u673a\u4e0a\u8bbf\u95ee\u6b64\u76ee\u5f55\u6765\u7ba1\u7406\u914d\u7f6e\u6587\u4ef6\u3002\u5728HomeAssistant\u4e2d\uff0c\u4e0d\u5728\u6709FileEditor\u63d2\u4ef6\u4e86,\u56e0\u6b64\u53ea\u80fd\u4f7f\u7528\u5171\u4eab\u6587\u4ef6\u5939\u6765\u7ba1\u7406\u914d\u7f6e\u6587\u4ef6\u3002 \u767b\u5f55\u4fe1\u606f \u00b6 Home Assistant: http://$(\u4e3b\u673aIP):8123 \u7528\u6237\u540d:admin \u5bc6\u7801:Dtuse1r Node-RED: http://$(\u4e3b\u673aIP):1880 \u65e0\u7528\u6237\u540d Mosquitto MQTT: http://$(\u4e3b\u673aIP):1883 \u7528\u6237\u540d:dtuser \u5bc6\u7801:Dtuse1r PostgreSQL: http://$(\u4e3b\u673aIP):5432 \u6570\u636e\u5e93\u540d:dtha \u7528\u6237\u540d:dtuser \u5bc6\u7801:Dtuse1r Samba: //$(\u4e3b\u673aIP)/HAConfig \u65e0\u9700\u8981\u5bc6\u7801\u5373\u53ef\u8bbf\u95ee portainer: http://$(\u4e3b\u673aIP):9000 \u7528\u6237\u540d:admin \u5bc6\u7801:Dtuse1r_abcd \u8bf4\u660e \u00b6 \u5173\u4e8eSamba(\u5171\u4eab\u76ee\u5f55\u8bbf\u95ee\u914d\u7f6e\u76ee\u5f55) Windows \u7aef\u8bbf\u95ee\u65f6\uff0c\u8f93\u5165\u6b63\u786e\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002\u56e0\u672c\u670d\u52a1\u914d\u7f6e\u4e86\u5141\u8bb8guest\u8bbf\u95ee\uff0c\u6240\u4ee5\u53ef\u76f4\u63a5\u8bbf\u95ee,\u800c\u65e0\u987b\u7528\u6237\u540d\u4e0e\u5bc6\u7801\u3002\u4f46\u662f\u5bf9\u4e8ewindows10/11,\u6709\u53ef\u80fd\u4f1a\u53cd\u590d\u8981\u6c42\u8f93\u5165\u5bc6\u7801\u800c\u65e0\u6cd5\u8bbf\u95ee\uff0c\u662f\u56e0\u4e3a\u5b89\u5168\u7b56\u7565\u95ee\u9898\uff0c\u53ef\u5728 Windows \u672c\u5730\u7ec4\u7b56\u7565\u4e2d\u8c03\u6574\uff1a \u6253\u5f00\u201c\u672c\u5730\u7ec4\u7b56\u7565\u7f16\u8f91\u5668\u201d\uff08gpedit.msc\uff09\uff0c\u8ba1\u7b97\u673a\u914d\u7f6e \u2192 \u7ba1\u7406\u6a21\u677f \u2192 \u7f51\u7edc \u2192 Lanman\u5de5\u4f5c\u7ad9\uff0c\u542f\u7528\u201c\u542f\u7528\u4e0d\u5b89\u5168\u7684\u6765\u5bbe\u767b\u5f55\u201d\u3002\u542f\u7528\u540e\uff0c\u5373\u53ef\u6b63\u5e38\u8bbf\u95ee\u6b64\u5171\u4eab\u7684\u914d\u7f6e\u76ee\u5f55\u3002 \u5982\u4e0b\u56fe\u662f\u4ee5\u5171\u4eab\u7684\u65b9\u5f0f\u8bbf\u95ee\u914d\u7f6e\u76ee\u5f55\uff1a \u5171\u4eab\u76ee\u5f55\u8bbf\u95ee\u5931\u8d25\u7684\u89e3\u51b3\u529e\u6cd5 windows\u4e0d\u80fd\u8bbf\u95eeHA\u7684\u5171\u4eab\u914d\u7f6e\u76ee\u5f55\u7684\u89e3\u51b3\u529e\u6cd5 \u5173\u4e8eportainer(\u56fe\u578b\u5316Docker\u7ba1\u7406\u5de5\u5177) Portainer \u662f\u4e00\u4e2a\u8f7b\u91cf\u7ea7\u7684\u7ba1\u7406UI\uff0c\u53ef\u4ee5\u8ba9\u4f60\u66f4\u5bb9\u6613\u5730\u7ba1\u7406Docker\u5bb9\u5668\u3002\u901a\u8fc7Portainer\uff0c\u4f60\u53ef\u4ee5\u8f7b\u677e\u5730\u521b\u5efa\u3001\u7ba1\u7406\u548c\u76d1\u63a7Docker\u5bb9\u5668\uff0c\u67e5\u770b\u5bb9\u5668\u65e5\u5fd7\uff0c\u7ba1\u7406Docker\u955c\u50cf\u7b49\u3002Portainer\u7684Web\u754c\u9762\u53cb\u597d\uff0c\u9002\u5408Docker\u65b0\u624b\u548c\u9700\u8981\u5feb\u901f\u7ba1\u7406Docker\u73af\u5883\u7684\u7528\u6237\u3002 \u5982\u4e0b\u56fe\u6240\u793a\uff1a","title":"\u57fa\u4e8eDocker\u7684\u65b9\u5f0f\u5b89\u88c5HomeAssistant"},{"location":"Usages/QA/%E5%9F%BA%E4%BA%8EDocker%E7%9A%84%E6%96%B9%E5%BC%8F%E5%AE%89%E8%A3%85HomeAssistant/#dockerhomeassistant","text":"HomeAssistant\u57fa\u4e8eDocker\u5bb9\u5668\u6280\u672f\uff0c\u53ef\u4ee5\u5feb\u901f\u90e8\u7f72\u548c\u7ba1\u7406.\u5e76\u53ef\u4e0e\u5176\u5b83\u4e3b\u673a\u6216\u670d\u52a1\u5668\u5171\u7528\uff0c\u6709\u6548\u8282\u7701\u8d44\u6e90\u3002 \u4f46Docker\u5bb9\u5668\u6280\u672f\u5bf9\u7cfb\u7edf\u8d44\u6e90\u6709\u4e00\u5b9a\u8981\u6c42\uff0c\u4e14\u5bf9\u7f51\u7edc\u73af\u5883\u6709\u4f9d\u8d56\u3002\u5e76\u4e14\u5728\u67d0\u4e9b\u60c5\u51b5\u4e0b\uff0c\u5728\u5168\u65ad\u7f51\u5b8c\u5168\u5168\u79bb\u7ebf\u7684\u60c5\u51b5\u4e0b\u90e8\u7f72\u3002 \u56e0\u6b64\uff0c\u624d\u6709\u4e86\u672c\u6587\u6863\u3002","title":"\u57fa\u4e8eDocker\u7684\u65b9\u5f0f\u5b89\u88c5HomeAssistant"},{"location":"Usages/QA/%E5%9F%BA%E4%BA%8EDocker%E7%9A%84%E6%96%B9%E5%BC%8F%E5%AE%89%E8%A3%85HomeAssistant/#_1","text":"\u4e3a\u4e86\u80fd\u5728\u4efb\u610f\u4e3b\u673a\u4e0a\u7528Docker\u5feb\u901f\u5b89\u88c5HomeAssistant\uff0c\u5efa\u8bae\u63d0\u524d\u51c6\u5907\u597dDocker\u73af\u5883\uff0c\u4f46Docker\u5b98\u7f51\u88ab\u5c01\u9501\uff0c\u5bfc\u81f4Docker\u7684\u5b89\u88c5\uff0c\u53ca\u955c\u50cf\u7684\u62c9\u53d6\u90fd\u6781\u4e3a\u56f0\u96be\u3002\u56e0\u6b64\uff0c\u53ef\u4ee5\u4f7f\u7528\u5982\u4e0b\u65b9\u5f0f\u5b89\u88c5Docker\u53caDocker Compose\uff1a \u5b89\u88c5Docker\u57fa\u7840\u73af\u5883-\u652f\u6301\u79bb\u7ebf\u5b89\u88c5","title":"\u5b89\u88c5\u51c6\u5907"},{"location":"Usages/QA/%E5%9F%BA%E4%BA%8EDocker%E7%9A%84%E6%96%B9%E5%BC%8F%E5%AE%89%E8%A3%85HomeAssistant/#_2","text":"HKO \u5728\u7ebf\u5b89\u88c5 \u79bb\u7ebf\u5b89\u88c5","title":"\u5b89\u88c5\u65b9\u5f0f"},{"location":"Usages/QA/%E5%9F%BA%E4%BA%8EDocker%E7%9A%84%E6%96%B9%E5%BC%8F%E5%AE%89%E8%A3%85HomeAssistant/#_3","text":"Home Assistant: http://$(\u4e3b\u673aIP):8123 Node-RED: http://$(\u4e3b\u673aIP):1880 Mosquitto MQTT: http://$(\u4e3b\u673aIP):1883 PostgreSQL: http://$(\u4e3b\u673aIP):5432 Samba: //$(\u4e3b\u673aIP)/HAConfig portainer: http://$(\u4e3b\u673aIP):9000","title":"\u670d\u52a1\u8bbf\u95ee\u5730\u5740\uff1a"},{"location":"Usages/QA/%E5%9F%BA%E4%BA%8EDocker%E7%9A%84%E6%96%B9%E5%BC%8F%E5%AE%89%E8%A3%85HomeAssistant/#_4","text":"\u56e0\u4e3a\u4f7f\u7528\u4e86Docker\u5bb9\u5668\u6280\u672f\uff0c\u6240\u4ee5HomeAssistant\u7684\u52a0\u8f7d\u9879\u662f\u6ca1\u6709\u7684\uff0c\u5b98\u65b9\u5bf9Docker\u4e0d\u63d0\u4f9b\u52a0\u8f7d\u9879\u529f\u80fd\uff0c\u4e5f\u6ca1\u529e\u5b89\u88c5\u4e0b\u3002 \u6240\u4ee5\u4f5c\u4e3a\u66ff\u4ee3\uff0c\u6211\u4eec\u628a\u52a0\u8f7d\u9879\u4e2d\u6700\u91cd\u8981\u8981\u7684\u51e0\u4e2a\u63d2\u4ef6\u90fd\u4ee5docker\u7684\u65b9\u5f0f\u5355\u72ec\u63d0\u4f9b\uff0c\u5e76\u80fd\u4e0eHomeAssistant\u76f8\u4e92\u914d\u5408\u5de5\u4f5c\uff0c\u5b83\u4eec\u662f Node-RED, Mosquitto MQTT, PostgreSQL, Samba\u7b49\u3002 \u672c\u6587\u63d0\u4f9b\u7684HomeAssistant\u662f\u81ea\u5df2\u91cd\u65b0\u6253\u5305\u7684docker\u96c6\u6210\u4e86HACS\uff0c\u53ca\u4e00\u4e9b\u65b0\u5b89\u5e38\u7528\u7684\u4e3b\u9898UI\u98ce\u683c\uff0c\u548c\u5c0f\u7c73HOME\u96c6\u6210\u7b49\u3002\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u65e0\u9700\u518d\u5b89\u88c5\u6b64\u7c7b\u63d2\u4ef6\u3002 HomeAssistant\u5df2\u914d\u7f6e\u9ed8\u8ba4\u4f7f\u7528\u5bb9\u5668\u63d0\u4f9b\u7684pgsql\u6570\u636e\u5e93\u6765\u5b58\u50a8\u6570\u636e\uff0c\u5e76\u8bbe\u5b9a\u4e865\u5929\u53ef\u80fd\u81ea\u52a8\u6e05\u9664\u6570\u636e\uff0c\u5bb9\u5668\u5185\u7684\u65e5\u5fd7\uff0c\u4fdd\u7559\u7f6e\u4e09\u5929\u3002 \u56e0\u4e3a\u4f7f\u4f7f\u7528\u4e86Docker\u5bb9\u5668\u6280\u672f\uff0c\u6240\u4ee5HomeAssistant\u7684\u914d\u7f6e\u6587\u4ef6\u662f\u5b58\u653e\u5728\u4e3b\u673a\u7684 /dt_opt/ha/config \u76ee\u5f55\u4e0b\uff0c\u53ef\u4ee5\u901a\u8fc7Samba\u5171\u4eab\u8bbf\u95ee\u6b64\u76ee\u5f55\uff0c\u6216\u76f4\u63a5\u5728\u4e3b\u673a\u4e0a\u8bbf\u95ee\u6b64\u76ee\u5f55\u6765\u7ba1\u7406\u914d\u7f6e\u6587\u4ef6\u3002\u5728HomeAssistant\u4e2d\uff0c\u4e0d\u5728\u6709FileEditor\u63d2\u4ef6\u4e86,\u56e0\u6b64\u53ea\u80fd\u4f7f\u7528\u5171\u4eab\u6587\u4ef6\u5939\u6765\u7ba1\u7406\u914d\u7f6e\u6587\u4ef6\u3002","title":"\u4f7f\u7528\u8bf4\u660e"},{"location":"Usages/QA/%E5%9F%BA%E4%BA%8EDocker%E7%9A%84%E6%96%B9%E5%BC%8F%E5%AE%89%E8%A3%85HomeAssistant/#_5","text":"Home Assistant: http://$(\u4e3b\u673aIP):8123 \u7528\u6237\u540d:admin \u5bc6\u7801:Dtuse1r Node-RED: http://$(\u4e3b\u673aIP):1880 \u65e0\u7528\u6237\u540d Mosquitto MQTT: http://$(\u4e3b\u673aIP):1883 \u7528\u6237\u540d:dtuser \u5bc6\u7801:Dtuse1r PostgreSQL: http://$(\u4e3b\u673aIP):5432 \u6570\u636e\u5e93\u540d:dtha \u7528\u6237\u540d:dtuser \u5bc6\u7801:Dtuse1r Samba: //$(\u4e3b\u673aIP)/HAConfig \u65e0\u9700\u8981\u5bc6\u7801\u5373\u53ef\u8bbf\u95ee portainer: http://$(\u4e3b\u673aIP):9000 \u7528\u6237\u540d:admin \u5bc6\u7801:Dtuse1r_abcd","title":"\u767b\u5f55\u4fe1\u606f"},{"location":"Usages/QA/%E5%9F%BA%E4%BA%8EDocker%E7%9A%84%E6%96%B9%E5%BC%8F%E5%AE%89%E8%A3%85HomeAssistant/#_6","text":"\u5173\u4e8eSamba(\u5171\u4eab\u76ee\u5f55\u8bbf\u95ee\u914d\u7f6e\u76ee\u5f55) Windows \u7aef\u8bbf\u95ee\u65f6\uff0c\u8f93\u5165\u6b63\u786e\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002\u56e0\u672c\u670d\u52a1\u914d\u7f6e\u4e86\u5141\u8bb8guest\u8bbf\u95ee\uff0c\u6240\u4ee5\u53ef\u76f4\u63a5\u8bbf\u95ee,\u800c\u65e0\u987b\u7528\u6237\u540d\u4e0e\u5bc6\u7801\u3002\u4f46\u662f\u5bf9\u4e8ewindows10/11,\u6709\u53ef\u80fd\u4f1a\u53cd\u590d\u8981\u6c42\u8f93\u5165\u5bc6\u7801\u800c\u65e0\u6cd5\u8bbf\u95ee\uff0c\u662f\u56e0\u4e3a\u5b89\u5168\u7b56\u7565\u95ee\u9898\uff0c\u53ef\u5728 Windows \u672c\u5730\u7ec4\u7b56\u7565\u4e2d\u8c03\u6574\uff1a \u6253\u5f00\u201c\u672c\u5730\u7ec4\u7b56\u7565\u7f16\u8f91\u5668\u201d\uff08gpedit.msc\uff09\uff0c\u8ba1\u7b97\u673a\u914d\u7f6e \u2192 \u7ba1\u7406\u6a21\u677f \u2192 \u7f51\u7edc \u2192 Lanman\u5de5\u4f5c\u7ad9\uff0c\u542f\u7528\u201c\u542f\u7528\u4e0d\u5b89\u5168\u7684\u6765\u5bbe\u767b\u5f55\u201d\u3002\u542f\u7528\u540e\uff0c\u5373\u53ef\u6b63\u5e38\u8bbf\u95ee\u6b64\u5171\u4eab\u7684\u914d\u7f6e\u76ee\u5f55\u3002 \u5982\u4e0b\u56fe\u662f\u4ee5\u5171\u4eab\u7684\u65b9\u5f0f\u8bbf\u95ee\u914d\u7f6e\u76ee\u5f55\uff1a \u5171\u4eab\u76ee\u5f55\u8bbf\u95ee\u5931\u8d25\u7684\u89e3\u51b3\u529e\u6cd5 windows\u4e0d\u80fd\u8bbf\u95eeHA\u7684\u5171\u4eab\u914d\u7f6e\u76ee\u5f55\u7684\u89e3\u51b3\u529e\u6cd5 \u5173\u4e8eportainer(\u56fe\u578b\u5316Docker\u7ba1\u7406\u5de5\u5177) Portainer \u662f\u4e00\u4e2a\u8f7b\u91cf\u7ea7\u7684\u7ba1\u7406UI\uff0c\u53ef\u4ee5\u8ba9\u4f60\u66f4\u5bb9\u6613\u5730\u7ba1\u7406Docker\u5bb9\u5668\u3002\u901a\u8fc7Portainer\uff0c\u4f60\u53ef\u4ee5\u8f7b\u677e\u5730\u521b\u5efa\u3001\u7ba1\u7406\u548c\u76d1\u63a7Docker\u5bb9\u5668\uff0c\u67e5\u770b\u5bb9\u5668\u65e5\u5fd7\uff0c\u7ba1\u7406Docker\u955c\u50cf\u7b49\u3002Portainer\u7684Web\u754c\u9762\u53cb\u597d\uff0c\u9002\u5408Docker\u65b0\u624b\u548c\u9700\u8981\u5feb\u901f\u7ba1\u7406Docker\u73af\u5883\u7684\u7528\u6237\u3002 \u5982\u4e0b\u56fe\u6240\u793a\uff1a","title":"\u8bf4\u660e"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E5%9C%A8%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85%E8%A3%85HomeAssistant/","text":"\u5982\u4f55\u5728\u7ebfDocker\u4e00\u952e\u5b89\u88c5HomeAssistant \u00b6 \u4e00\u952e\u5b89\u88c5\u811a\u672c\u5730\u5740 \u00b6 http://datacdn.data-it.tech/HomeAssistant/dokerimages/ha-images1.1/install-ha.sh \u4f7f\u7528\u8bf4\u660e \u00b6 \u6267\u884c\u4e00\u952e\u5b89\u88c5\u811a\u672c \u00b6 curl -fsSL http://datacdn.data-it.tech/HomeAssistant/dokerimages/ha-images1.1/install-ha.sh | sudo bash \u5982\u4e0b\u6240\u793a \u00b6","title":"\u5982\u4f55\u5728\u7ebfDocker\u4e00\u952e\u5b89\u88c5HomeAssistant"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E5%9C%A8%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85%E8%A3%85HomeAssistant/#dockerhomeassistant","text":"","title":"\u5982\u4f55\u5728\u7ebfDocker\u4e00\u952e\u5b89\u88c5HomeAssistant"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E5%9C%A8%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85%E8%A3%85HomeAssistant/#_1","text":"http://datacdn.data-it.tech/HomeAssistant/dokerimages/ha-images1.1/install-ha.sh","title":"\u4e00\u952e\u5b89\u88c5\u811a\u672c\u5730\u5740"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E5%9C%A8%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85%E8%A3%85HomeAssistant/#_2","text":"","title":"\u4f7f\u7528\u8bf4\u660e"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E5%9C%A8%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85%E8%A3%85HomeAssistant/#_3","text":"curl -fsSL http://datacdn.data-it.tech/HomeAssistant/dokerimages/ha-images1.1/install-ha.sh | sudo bash","title":"\u6267\u884c\u4e00\u952e\u5b89\u88c5\u811a\u672c"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E5%9C%A8%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85%E8%A3%85HomeAssistant/#_4","text":"","title":"\u5982\u4e0b\u6240\u793a"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E5%BF%AB%E9%80%9F%E9%83%A8%E7%BD%B2frpc%E6%9C%8D%E5%8A%A1/","text":"\u5982\u4f55\u5feb\u901f\u90e8\u7f72frpc\u670d\u52a1 \u00b6 frpc\u5ba2\u6237\u7aef\u90e8\u7f72\u4e3a\u975e\u5e38\u7b80\u5355\uff0c\u672c\u6587\u6863\u5c06\u6307\u5bfc\u4f60\u5982\u4f55\u5feb\u901f\u90e8\u7f72frpc\u670d\u52a1\u3002 \u5feb\u901f\u5b89\u88c5 \u00b6 # x86_64_amd curl -fsSL http://datacdn.data-it.tech/HomeAssistant/tools/frpc/install-frp-x86_64.sh | sudo bash # arm64 curl -fsSL http://datacdn.data-it.tech/HomeAssistant/tools/frpc/install-frp-arm.sh | sudo bash \u7136\u540e\u6839\u636e\u63d0\u793a\u8fdb\u884c\u914d\u7f6e\u5373\u53ef\u3002 \u8bf7\u8f93\u5165 frp \u670d\u52a1\u7aef\u5730\u5740: 115.190.**.101 <--\u5728\u6b64\u5904\u8f93\u5165\u4f60\u7684\u670d\u52a1\u7aef\u5730\u5740-> \u8bf7\u8f93\u5165 frp \u670d\u52a1\u7aef\u7aef\u53e3: 0000 <- \u5728\u6b64\u5904\u8f93\u5165\u4f60\u7684\u670d\u52a1\u7aef\u53e3-> \u662f\u5426\u4f7f\u7528 token \u9a8c\u8bc1? (y/n): y <- \u670d\u52a1\u7aef\u662f\u5426\u5f00\u542f\u4e86token\u9a8c\u8bc1\uff0c\u5982\u679c\u8f93\u5165Y\uff0c\u5426\u5219\u8f93\u5165N-> \u8bf7\u8f93\u5165 token: **** <- \u5728\u6b64\u5904\u8f93\u5165\u4f60\u7684 token-> \u8bf7\u8f93\u5165\u672c\u5730\u670d\u52a1\u540d\u79f0(\u5982 myservice)\uff0c\u4e3a\u7a7a\u5219\u7ed3\u675f: no_machine_test <- \u5728\u6b64\u5904\u8f93\u5165\u4f60\u7684\u670d\u52a1\u540d\u79f0-> \u8bf7\u8f93\u5165\u672c\u5730 IP: 192.168.6.222 \u8bf7\u8f93\u5165\u672c\u5730\u7aef\u53e3: 4000 \u8bf7\u8f93\u5165\u8fdc\u7a0b\u7aef\u53e3: 60009 \u8bf7\u8f93\u5165\u672c\u5730\u670d\u52a1\u540d\u79f0(\u5982 myservice)\uff0c\u4e3a\u7a7a\u5219\u7ed3\u675f: \u6b63\u5728\u4e0b\u8f7d\u5e76\u5b89\u88c5 frpClient... --2025-09-02 09:50:08-- http://datacdn.data-it.tech/HomeAssistant/tools/frpc/frp_0.64.0_linux_amd64.tar.gz Resolving datacdn.data-it.tech (datacdn.data-it.tech)... 122.228.207.55, 36.25.240.217, 36.25.240.218, ... Connecting to datacdn.data-it.tech (datacdn.data-it.tech)|122.228.207.55|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 13332918 (13M) [application/x-compressed] Saving to: \u2018/tmp/frpc.tar.gz\u2019 /tmp/frpc.tar.gz 100%[========================================================>] 12.71M 4.72MB/s in 2.7s 2025-09-02 09:50:12 (4.72 MB/s) - \u2018/tmp/frpc.tar.gz\u2019 saved [13332918/13332918] Created symlink /etc/systemd/system/multi-user.target.wants/frpc.service \u2192 /etc/systemd/system/frpc.service. frpClient \u5b89\u88c5\u5b8c\u6210\u5e76\u5df2\u542f\u52a8\u3002 \u5982\u9700\u5378\u8f7d\uff0c\u8bf7\u8fd0\u884c: sudo bash ./install-frp-x86_64.sh uninstall /etc/systemd/system/frpc.service [Unit] Description=frp Client Service After=network-online.target Wants=network-online.target [Service] Type=simple User=orangepi WorkingDirectory=/opt/frpc ExecStartPre=/bin/sleep 20 ExecStart=/opt/frpc/frpc -c /opt/frpc/frpc.toml Restart=on-failure [Install] WantedBy=multi-user.target","title":"\u5982\u4f55\u5feb\u901f\u90e8\u7f72frpc\u670d\u52a1"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E5%BF%AB%E9%80%9F%E9%83%A8%E7%BD%B2frpc%E6%9C%8D%E5%8A%A1/#frpc","text":"frpc\u5ba2\u6237\u7aef\u90e8\u7f72\u4e3a\u975e\u5e38\u7b80\u5355\uff0c\u672c\u6587\u6863\u5c06\u6307\u5bfc\u4f60\u5982\u4f55\u5feb\u901f\u90e8\u7f72frpc\u670d\u52a1\u3002","title":"\u5982\u4f55\u5feb\u901f\u90e8\u7f72frpc\u670d\u52a1"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E5%BF%AB%E9%80%9F%E9%83%A8%E7%BD%B2frpc%E6%9C%8D%E5%8A%A1/#_1","text":"# x86_64_amd curl -fsSL http://datacdn.data-it.tech/HomeAssistant/tools/frpc/install-frp-x86_64.sh | sudo bash # arm64 curl -fsSL http://datacdn.data-it.tech/HomeAssistant/tools/frpc/install-frp-arm.sh | sudo bash \u7136\u540e\u6839\u636e\u63d0\u793a\u8fdb\u884c\u914d\u7f6e\u5373\u53ef\u3002 \u8bf7\u8f93\u5165 frp \u670d\u52a1\u7aef\u5730\u5740: 115.190.**.101 <--\u5728\u6b64\u5904\u8f93\u5165\u4f60\u7684\u670d\u52a1\u7aef\u5730\u5740-> \u8bf7\u8f93\u5165 frp \u670d\u52a1\u7aef\u7aef\u53e3: 0000 <- \u5728\u6b64\u5904\u8f93\u5165\u4f60\u7684\u670d\u52a1\u7aef\u53e3-> \u662f\u5426\u4f7f\u7528 token \u9a8c\u8bc1? (y/n): y <- \u670d\u52a1\u7aef\u662f\u5426\u5f00\u542f\u4e86token\u9a8c\u8bc1\uff0c\u5982\u679c\u8f93\u5165Y\uff0c\u5426\u5219\u8f93\u5165N-> \u8bf7\u8f93\u5165 token: **** <- \u5728\u6b64\u5904\u8f93\u5165\u4f60\u7684 token-> \u8bf7\u8f93\u5165\u672c\u5730\u670d\u52a1\u540d\u79f0(\u5982 myservice)\uff0c\u4e3a\u7a7a\u5219\u7ed3\u675f: no_machine_test <- \u5728\u6b64\u5904\u8f93\u5165\u4f60\u7684\u670d\u52a1\u540d\u79f0-> \u8bf7\u8f93\u5165\u672c\u5730 IP: 192.168.6.222 \u8bf7\u8f93\u5165\u672c\u5730\u7aef\u53e3: 4000 \u8bf7\u8f93\u5165\u8fdc\u7a0b\u7aef\u53e3: 60009 \u8bf7\u8f93\u5165\u672c\u5730\u670d\u52a1\u540d\u79f0(\u5982 myservice)\uff0c\u4e3a\u7a7a\u5219\u7ed3\u675f: \u6b63\u5728\u4e0b\u8f7d\u5e76\u5b89\u88c5 frpClient... --2025-09-02 09:50:08-- http://datacdn.data-it.tech/HomeAssistant/tools/frpc/frp_0.64.0_linux_amd64.tar.gz Resolving datacdn.data-it.tech (datacdn.data-it.tech)... 122.228.207.55, 36.25.240.217, 36.25.240.218, ... Connecting to datacdn.data-it.tech (datacdn.data-it.tech)|122.228.207.55|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 13332918 (13M) [application/x-compressed] Saving to: \u2018/tmp/frpc.tar.gz\u2019 /tmp/frpc.tar.gz 100%[========================================================>] 12.71M 4.72MB/s in 2.7s 2025-09-02 09:50:12 (4.72 MB/s) - \u2018/tmp/frpc.tar.gz\u2019 saved [13332918/13332918] Created symlink /etc/systemd/system/multi-user.target.wants/frpc.service \u2192 /etc/systemd/system/frpc.service. frpClient \u5b89\u88c5\u5b8c\u6210\u5e76\u5df2\u542f\u52a8\u3002 \u5982\u9700\u5378\u8f7d\uff0c\u8bf7\u8fd0\u884c: sudo bash ./install-frp-x86_64.sh uninstall /etc/systemd/system/frpc.service [Unit] Description=frp Client Service After=network-online.target Wants=network-online.target [Service] Type=simple User=orangepi WorkingDirectory=/opt/frpc ExecStartPre=/bin/sleep 20 ExecStart=/opt/frpc/frpc -c /opt/frpc/frpc.toml Restart=on-failure [Install] WantedBy=multi-user.target","title":"\u5feb\u901f\u5b89\u88c5"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E6%8A%8AHAos%E7%9A%84%E6%BA%90%E6%8D%A2%E6%88%90%E5%9B%BD%E5%86%85%E6%BA%90/","text":"\u8981\u66f4\u6539haos\uff08\u53ef\u80fd\u662f\u6307HaOS\uff0c\u4e00\u4e2a\u57fa\u4e8eLinux\u7684\u64cd\u4f5c\u7cfb\u7edf\uff09\u7684\u8f6f\u4ef6\u6e90\u4e3a\u56fd\u5185\u6e90\uff0c \u9700\u8981\u7f16\u8f91 /etc/apk/repositories \u6587\u4ef6\uff0c\u7136\u540e\u66ff\u6362\u73b0\u6709\u7684\u6e90\u4e3a\u56fd\u5185\u955c\u50cf\u6e90\u3002\u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a \u5907\u4efd\u539f\u59cb\u6587\u4ef6:\u786e\u4fdd\u5728\u4fee\u6539\u4e4b\u524d\u5907\u4efd\u539f\u59cb\u7684 /etc/apk/repositories \u6587\u4ef6\uff0c\u4ee5\u9632\u4fee\u6539\u9519\u8bef\u5bfc\u81f4\u95ee\u9898\u3002 sudo cp /etc/apk/repositories /etc/apk/repositories.bak \u7f16\u8f91\u6587\u4ef6:\u4f7f\u7528\u6587\u672c\u7f16\u8f91\u5668\uff08\u5982vi\u3001nano\u7b49\uff09\u6253\u5f00 /etc/apk/repositories \u6587\u4ef6\u3002 sudo vi /etc/apk/repositories \u66ff\u6362\u6e90:\u5c06\u6587\u4ef6\u4e2d\u7684\u5185\u5bb9\u66ff\u6362\u4e3a\u56fd\u5185\u955c\u50cf\u6e90\uff0c\u4f8b\u5982\u963f\u91cc\u4e91\u6216\u6e05\u534e\u5927\u5b66\u7684\u6e90\u3002\\ \u4e0b\u662f\u963f\u91cc\u4e91\u7684\u793a\u4f8b\uff1a https://mirrors.aliyun.com/alpine/latest-stable/main https://mirrors.aliyun.com/alpine/latest-stable/community \u6e05\u534e\u5927\u5b66\u7684\u6e90\u793a\u4f8b\uff1a https://mirrors.tuna.tsinghua.edu.cn/alpine/latest-stable/main https://mirrors.tuna.tsinghua.edu.cn/alpine/latest-stable/community \u6839\u636e\u5b9e\u9645\u60c5\u51b5\u9009\u62e9\u4e00\u4e2a\u6e90\uff0c\u5e76\u5c06\u539f\u6587\u4ef6\u5185\u5bb9\u66ff\u6362\u3002 \u4fdd\u5b58\u5e76\u9000\u51fa:\u5982\u679c\u4f7f\u7528vi\uff0c\u6309\u4e0bEsc\uff0c\u7136\u540e\u8f93\u5165 :wq \u4fdd\u5b58\u5e76\u9000\u51fa\u3002 \u66f4\u65b0\u8f6f\u4ef6\u5305\u5217\u8868:\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u66f4\u65b0\u8f6f\u4ef6\u5305\u5217\u8868\uff0c\u4f7f\u66f4\u6539\u751f\u6548\u3002 sudo apk update \u5b8c\u6210\u4ee5\u4e0a\u6b65\u9aa4\u540e\uff0chaos\u7684\u8f6f\u4ef6\u6e90\u5c31\u6210\u529f\u66f4\u6362\u4e3a\u56fd\u5185\u955c\u50cf\u6e90\u4e86\u3002","title":"\u5982\u4f55\u628aHAos\u7684\u6e90\u6362\u6210\u56fd\u5185\u6e90"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85HomeAssistant/","text":"\u5982\u4f55\u79bb\u7ebfDocker\u4e00\u952e\u5b89\u88c5HomeAssistant \u00b6 \u4e0b\u8f7d\u79bb\u7ebf\u5b89\u88c5\u5305\u5230\u672c\u5730 \u00b6 \u5730\u5740\uff1a wget http://datacdn.data-it.tech/HomeAssistant/dokerimages/ha-images1.1/ha-images1.1.zip \u8bf4\u660e\uff1a\u672c\u79bb\u7ebf\u5305\u5305\u542b\u4e86Home Assistant\u7684\u6240\u6709\u4f9d\u8d56\u548c\u914d\u7f6e\u6587\u4ef6\uff0c\u53ef\u4ee5\u5728\u6ca1\u6709\u7f51\u7edc\u7684\u73af\u5883\u4e0b\u8fdb\u884c\u5b89\u88c5\u3002\u5927\u7ea6 1.1 GB\u3002 \u89e3\u538b\u5230\u6307\u5b9a\u76ee\u5f55 \u00b6 sudo apt update sudo mkdir /dt_opt/ sudo unzip ha-images1.1.zip -d /dt_opt/ \u5982\u4e0b\u56fe\u793a\u793a\uff1a \u7ed9\u89e3\u538b\u540e\u7684\u6587\u4ef6\u8d4b\u4e88\u6b63\u786e\u7684\u6743\u9650 \u00b6 sudo chown -R $USER:$USER /dt_opt/ cd /dt_opt/ sudo chmod +x install-ha-local.sh \u5982\u4e0b\u56fe\u6240\u793a\uff1a \u6267\u884c\u5b89\u88c5\u811a\u672c \u00b6 cd /dt_opt/ sudo ./install-ha-local.sh \u5982\u4e0b\u56fe\u6240\u793a: \u670d\u52a1\u8bbf\u95ee\u5730\u5740\uff1a \u00b6 Home Assistant: http://192.168.50.170:8123 Node-RED: http://192.168.50.170:1880 Mosquitto MQTT: 192.168.50.170:1883 PostgreSQL: 192.168.50.170:5432 Samba: //192.168.50.170/HAConfig portainer: http://192.168.50.170:9000","title":"\u5982\u4f55\u79bb\u7ebfDocker\u4e00\u952e\u5b89\u88c5HomeAssistant"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85HomeAssistant/#dockerhomeassistant","text":"","title":"\u5982\u4f55\u79bb\u7ebfDocker\u4e00\u952e\u5b89\u88c5HomeAssistant"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85HomeAssistant/#_1","text":"\u5730\u5740\uff1a wget http://datacdn.data-it.tech/HomeAssistant/dokerimages/ha-images1.1/ha-images1.1.zip \u8bf4\u660e\uff1a\u672c\u79bb\u7ebf\u5305\u5305\u542b\u4e86Home Assistant\u7684\u6240\u6709\u4f9d\u8d56\u548c\u914d\u7f6e\u6587\u4ef6\uff0c\u53ef\u4ee5\u5728\u6ca1\u6709\u7f51\u7edc\u7684\u73af\u5883\u4e0b\u8fdb\u884c\u5b89\u88c5\u3002\u5927\u7ea6 1.1 GB\u3002","title":"\u4e0b\u8f7d\u79bb\u7ebf\u5b89\u88c5\u5305\u5230\u672c\u5730"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85HomeAssistant/#_2","text":"sudo apt update sudo mkdir /dt_opt/ sudo unzip ha-images1.1.zip -d /dt_opt/ \u5982\u4e0b\u56fe\u793a\u793a\uff1a","title":"\u89e3\u538b\u5230\u6307\u5b9a\u76ee\u5f55"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85HomeAssistant/#_3","text":"sudo chown -R $USER:$USER /dt_opt/ cd /dt_opt/ sudo chmod +x install-ha-local.sh \u5982\u4e0b\u56fe\u6240\u793a\uff1a","title":"\u7ed9\u89e3\u538b\u540e\u7684\u6587\u4ef6\u8d4b\u4e88\u6b63\u786e\u7684\u6743\u9650"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85HomeAssistant/#_4","text":"cd /dt_opt/ sudo ./install-ha-local.sh \u5982\u4e0b\u56fe\u6240\u793a:","title":"\u6267\u884c\u5b89\u88c5\u811a\u672c"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BFDocker%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85HomeAssistant/#_5","text":"Home Assistant: http://192.168.50.170:8123 Node-RED: http://192.168.50.170:1880 Mosquitto MQTT: 192.168.50.170:1883 PostgreSQL: 192.168.50.170:5432 Samba: //192.168.50.170/HAConfig portainer: http://192.168.50.170:9000","title":"\u670d\u52a1\u8bbf\u95ee\u5730\u5740\uff1a"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85Docker%28ubunt24.04%29/","text":"\u5982\u4f55\u79bb\u7ebf\u5b89\u88c5Docker(ubuntu 24.04) \u00b6 \u672c\u6587\u6863\u4ecb\u7ecd\u5982\u4f55\u5728\u6ca1\u6709\u7f51\u7edc\u8fde\u63a5\u7684Ubuntu 24.04\u7cfb\u7edf\u4e0a\u79bb\u7ebf\u5b89\u88c5Docker\u3002 - \u57fa\u4e8e\u73b0\u5728\u56fd\u5185\u7f51\u7edc\u73af\u5883\uff0c\u5efa\u8bae\u4f7f\u7528\u79bb\u7ebf\u5b89\u88c5\u65b9\u5f0f\u6765\u907f\u514d\u7f51\u7edc\u95ee\u9898\u3002 - \u57fa\u4e8e\u9700\u8981\u5185\u7f51\u90e8\u7f72\u7684\u573a\u666f\uff0c\u672c\u6587\u6863\u4e5f\u9002\u7528\u3002 \u79bb\u7ebf\u5b89\u88c5\u6b65\u9aa4 \u00b6 \u51c6\u5907\u5de5\u4f5c \u00b6 \u5728\u6709\u7f51\u7edc\u7684\u73af\u5883\u4e2d\u4e0b\u8f7dDocker\u7684deb\u5305\u53ca\u5176\u4f9d\u8d56\u5305\u3002 \u5c06\u4e0b\u8f7d\u597d\u7684deb\u5305\u62f7\u8d1d\u5230\u76ee\u6807Ubuntu 24.04\u7cfb\u7edf\u4e2d\u3002 \u4e0b\u8f7dDocker\u53ca\u5176\u4f9d\u8d56\u5305 \u00b6 http://datacdn.data-it.tech/HomeAssistant/tools/docker_offline/docker-offline-packages.tar.gz \u5c06\u4e0b\u8f7d\u5230\u7684docker-offline-packages.tar.gz\u4f20\u8f93\u5230\u76ee\u6807\u7cfb\u7edf \u00b6 \u6bd4\u5982\u4e0b\u8f7d\u5230\u5982\u4e0b\u76ee\u5f55 tst@tst-VMware-Virtual-Platform:~/down$ pwd /home/tst/down tst@tst-VMware-Virtual-Platform:~/down$ ls docker-offline-packages.tar.gz tst@tst-VMware-Virtual-Platform:~/down$ \u89e3\u538b\u5b89\u88c5\u5305 \u00b6 tar -zxvf docker-offline-packages.tar.gz \u5982\u4e0b\uff1a tst@tst-VMware-Virtual-Platform:~/down$ tar -zxvf docker-offline-packages.tar.gz install-docker.sh offline/ offline/docker-compose/ offline/docker-compose/docker-compose-linux-x86_64 ls offline/deb-packages/ offline/deb-packages/docker-ce-cli_5%3a28.3.3-1~ubuntu.24.04~noble_amd64.deb offline/deb-packages/containerd.io_1.7.27-1_amd64.deb offline/deb-packages/docker-ce_5%3a28.3.3-1~ubuntu.24.04~noble_amd64.deb offline/deb-packages/docker-buildx-plugin_0.26.1-1~ubuntu.24.04~noble_amd64.deb offline/scripts/ offline/scripts/offline-install.sh tst@tst-VMware-Virtual-Platform:~/down$ ls docker-offline-packages.tar.gz install-docker.sh offline \u79bb\u7ebf\u5b89\u88c5 \u00b6 \u5728\u76ee\u5f55\u4e2d\u6267\u884c\u79bb\u7ebf\u5b89\u88c5 ./install-docker.sh --install ./offline \u9a8c\u8bc1\u5b89\u88c5 \u00b6 \u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u9a8c\u8bc1Docker\u662f\u5426\u5b89\u88c5\u6210\u529f\uff1a docker --version \u5982\u679c\u770b\u5230Docker\u7684\u7248\u672c\u4fe1\u606f\uff0c\u8bf4\u660e\u5b89\u88c5\u6210\u529f\u3002 \u9a8c\u8bc1Docker Compose\u662f\u5426\u5b89\u88c5\u6210\u529f\uff1a docker-compose --version \u5982\u679c\u770b\u5230Docker Compose\u7684\u7248\u672c\u4fe1\u606f\uff0c\u8bf4\u660e\u5b89\u88c5\u6210\u529f\u3002 \u5e38\u7528\u6307\u4ee4 \u00b6 # \u4e0b\u8f7d ./install-docker.sh --download ./offline # \u4e3b\u811a\u672c\u79bb\u7ebf\u5b89\u88c5 ./install-docker.sh --install ./offline # \u6253\u5305 tar -czvf docker-offline-packages.tar.gz install-docker.sh offline ## \u9a8c\u8bc1 tar -tzvf docker-offline-packages.tar.gz","title":"\u5982\u4f55\u79bb\u7ebf\u5b89\u88c5Docker(ubuntu24.04)"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85Docker%28ubunt24.04%29/#dockerubuntu-2404","text":"\u672c\u6587\u6863\u4ecb\u7ecd\u5982\u4f55\u5728\u6ca1\u6709\u7f51\u7edc\u8fde\u63a5\u7684Ubuntu 24.04\u7cfb\u7edf\u4e0a\u79bb\u7ebf\u5b89\u88c5Docker\u3002 - \u57fa\u4e8e\u73b0\u5728\u56fd\u5185\u7f51\u7edc\u73af\u5883\uff0c\u5efa\u8bae\u4f7f\u7528\u79bb\u7ebf\u5b89\u88c5\u65b9\u5f0f\u6765\u907f\u514d\u7f51\u7edc\u95ee\u9898\u3002 - \u57fa\u4e8e\u9700\u8981\u5185\u7f51\u90e8\u7f72\u7684\u573a\u666f\uff0c\u672c\u6587\u6863\u4e5f\u9002\u7528\u3002","title":"\u5982\u4f55\u79bb\u7ebf\u5b89\u88c5Docker(ubuntu 24.04)"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85Docker%28ubunt24.04%29/#_1","text":"","title":"\u79bb\u7ebf\u5b89\u88c5\u6b65\u9aa4"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85Docker%28ubunt24.04%29/#_2","text":"\u5728\u6709\u7f51\u7edc\u7684\u73af\u5883\u4e2d\u4e0b\u8f7dDocker\u7684deb\u5305\u53ca\u5176\u4f9d\u8d56\u5305\u3002 \u5c06\u4e0b\u8f7d\u597d\u7684deb\u5305\u62f7\u8d1d\u5230\u76ee\u6807Ubuntu 24.04\u7cfb\u7edf\u4e2d\u3002","title":"\u51c6\u5907\u5de5\u4f5c"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85Docker%28ubunt24.04%29/#docker","text":"http://datacdn.data-it.tech/HomeAssistant/tools/docker_offline/docker-offline-packages.tar.gz","title":"\u4e0b\u8f7dDocker\u53ca\u5176\u4f9d\u8d56\u5305"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85Docker%28ubunt24.04%29/#docker-offline-packagestargz","text":"\u6bd4\u5982\u4e0b\u8f7d\u5230\u5982\u4e0b\u76ee\u5f55 tst@tst-VMware-Virtual-Platform:~/down$ pwd /home/tst/down tst@tst-VMware-Virtual-Platform:~/down$ ls docker-offline-packages.tar.gz tst@tst-VMware-Virtual-Platform:~/down$","title":"\u5c06\u4e0b\u8f7d\u5230\u7684docker-offline-packages.tar.gz\u4f20\u8f93\u5230\u76ee\u6807\u7cfb\u7edf"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85Docker%28ubunt24.04%29/#_3","text":"tar -zxvf docker-offline-packages.tar.gz \u5982\u4e0b\uff1a tst@tst-VMware-Virtual-Platform:~/down$ tar -zxvf docker-offline-packages.tar.gz install-docker.sh offline/ offline/docker-compose/ offline/docker-compose/docker-compose-linux-x86_64 ls offline/deb-packages/ offline/deb-packages/docker-ce-cli_5%3a28.3.3-1~ubuntu.24.04~noble_amd64.deb offline/deb-packages/containerd.io_1.7.27-1_amd64.deb offline/deb-packages/docker-ce_5%3a28.3.3-1~ubuntu.24.04~noble_amd64.deb offline/deb-packages/docker-buildx-plugin_0.26.1-1~ubuntu.24.04~noble_amd64.deb offline/scripts/ offline/scripts/offline-install.sh tst@tst-VMware-Virtual-Platform:~/down$ ls docker-offline-packages.tar.gz install-docker.sh offline","title":"\u89e3\u538b\u5b89\u88c5\u5305"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85Docker%28ubunt24.04%29/#_4","text":"\u5728\u76ee\u5f55\u4e2d\u6267\u884c\u79bb\u7ebf\u5b89\u88c5 ./install-docker.sh --install ./offline","title":"\u79bb\u7ebf\u5b89\u88c5"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85Docker%28ubunt24.04%29/#_5","text":"\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u547d\u4ee4\u9a8c\u8bc1Docker\u662f\u5426\u5b89\u88c5\u6210\u529f\uff1a docker --version \u5982\u679c\u770b\u5230Docker\u7684\u7248\u672c\u4fe1\u606f\uff0c\u8bf4\u660e\u5b89\u88c5\u6210\u529f\u3002 \u9a8c\u8bc1Docker Compose\u662f\u5426\u5b89\u88c5\u6210\u529f\uff1a docker-compose --version \u5982\u679c\u770b\u5230Docker Compose\u7684\u7248\u672c\u4fe1\u606f\uff0c\u8bf4\u660e\u5b89\u88c5\u6210\u529f\u3002","title":"\u9a8c\u8bc1\u5b89\u88c5"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85Docker%28ubunt24.04%29/#_6","text":"# \u4e0b\u8f7d ./install-docker.sh --download ./offline # \u4e3b\u811a\u672c\u79bb\u7ebf\u5b89\u88c5 ./install-docker.sh --install ./offline # \u6253\u5305 tar -czvf docker-offline-packages.tar.gz install-docker.sh offline ## \u9a8c\u8bc1 tar -tzvf docker-offline-packages.tar.gz","title":"\u5e38\u7528\u6307\u4ee4"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/","text":"\u5982\u4f55\u96c6\u6210\u548c\u98ce\u5929\u6c14\u7ec4\u4ef6\u5230HA \u00b6 \u548c\u98ce\u5929\u6c14\u7b80\u4ecb \u00b6 \u548c\u98ce\u5929\u6c14\u662f\u4e00\u4e2a\u63d0\u4f9b\u5929\u6c14\u4fe1\u606f\u7684API\uff0c\u53ef\u4ee5\u65b9\u4fbf\u5730\u96c6\u6210\u5230Home Assistant\u4e2d\u3002 \u96c6\u6210\u6b65\u9aa4 \u00b6 \u5728Home Assistant\u4e2d\u5b89\u88c5\u548c\u98ce\u5929\u6c14\u7ec4\u4ef6\u3002 \u914d\u7f6e\u548c\u98ce\u5929\u6c14API\u5bc6\u94a5\u3002 \u5728\u81ea\u52a8\u5316\u4e2d\u4f7f\u7528\u548c\u98ce\u5929\u6c14\u63d0\u4f9b\u7684\u5929\u6c14\u6570\u636e\u3002 \u793a\u4f8b \u00b6 \u767b\u5f55\u548c\u98ce\u5929\u6c14\u63a7\u5236\u53f0\uff0chttps://console.qweather.com/project?lang=zh \u5982\u4e0b\u56fe\u6240\u793a\uff0c\u5148\u4e3a\u6b64\u4e2d\u5fc3\u521b\u5efa\u4e00\u4e2a\u9879\u76ee\uff0c\u4e3a\u7684\u662f\u4e3a\u6bcf\u4e2a\u4e2d\u5fc3\u4f7f\u7528\u7684api\u8c03\u7528\u6b21\u6570\u7684\u7edf\u8ba1 \u8bb0\u5f55\u4e0b\u6765\u76f8\u5173\u4fe1\u606f \u9879\u76ee\u540d\u79f0\uff1a\u6e56\u5357\u65fa\u65fa \u9879\u76eeID:2HKR2MC5WM API-KEY:885d8b06871b445fbc1beb2eda11cd6c \u5f00\u53d1\u8005ID:Q137B51456 API-Host\uff1and4up3fy3t.re.qweatherapi.com \u67e5\u8be2\u57ce\u5e02\u533a\u57df\u4ee3\u7801\u7684\u7684\u5740\uff1a git clone https://github.com/qwd/LocationList.git.com/docs/api/geoapi/ \u914d\u7f6e\u53c2\u8003 \u00b6 \u6253\u5f00\u7684\u914d\u7f6e\u6587\u4ef6 configuration.yaml \uff0c\u6dfb\u52a0\u4ee5\u4e0b\u5185\u5bb9\uff1a weather: - platform: heweather location: 101210301 # \u4f60\u7684\u533a\u57df\u4ee3\u7801\u57ce\u5e02id host: nd4up3fy3t.re.qweatherapi.com # API Host key: 885d8b06871b445fbc1beb2eda11cd6c # \u4f60\u7684API KEY \u5176\u4e2d\uff0c\u8981\u66f4\u6362\u7684\u5185\u5bb9\u4e3b\u8981\u6709\uff0c\u533a\u57df\u4ee3\u7801\u57ce\u5e02id\u3001API Host\u548cAPI KEY\u3002 \u5982\u4e0b\u56fe \u83b7\u53d6\u57ce\u5e02id\u533a\u57df\u4ee3\u7801\u7684\u65b9\u6cd5 \u00b6 \u8fd9\u91cc\u4e00\u5b9a\u8981\u914d\u5bf9\u6b63\u786e\u7684\u57ce\u5e02id\u533a\u57df\u4ee3\u7801\uff0c\u5426\u5219\u4f1a\u62a5\u7684\u5929\u6c14\u4e0d\u51c6\u3002 \u53ef\u4ee5\u901a\u8fc7\u6b64\u6587\u6863\u63d0\u4f9b\u7684API\uff0c\u67e5\u8be2 https://github.com/qwd/LocationList.git.com/docs/api/geoapi/ \u5176\u4e2d: X-QW-Api-Key \u4e3a\u4f60\u7684API\u5bc6\u94a5\u3002 location \u4e3a\u4f60\u8981\u67e5\u8be2\u7684\u57ce\u5e02\u540d\u79f0\u62fc\u97f3. curl -H \"X-QW-Api-Key: 885d8b06871b445fbc1beb2eda11cd6c\" --compressed \\ 'https://nd4up3fy3t.re.qweatherapi.com/geo/v2/city/lookup?location=changsha' \u5982\u4e0b\u56fe\u6240\u793a","title":"\u5982\u4f55\u96c6\u6210\u548c\u98ce\u5929\u6c14\u7ec4\u4ef6\u5230HA"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/#ha","text":"","title":"\u5982\u4f55\u96c6\u6210\u548c\u98ce\u5929\u6c14\u7ec4\u4ef6\u5230HA"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/#_1","text":"\u548c\u98ce\u5929\u6c14\u662f\u4e00\u4e2a\u63d0\u4f9b\u5929\u6c14\u4fe1\u606f\u7684API\uff0c\u53ef\u4ee5\u65b9\u4fbf\u5730\u96c6\u6210\u5230Home Assistant\u4e2d\u3002","title":"\u548c\u98ce\u5929\u6c14\u7b80\u4ecb"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/#_2","text":"\u5728Home Assistant\u4e2d\u5b89\u88c5\u548c\u98ce\u5929\u6c14\u7ec4\u4ef6\u3002 \u914d\u7f6e\u548c\u98ce\u5929\u6c14API\u5bc6\u94a5\u3002 \u5728\u81ea\u52a8\u5316\u4e2d\u4f7f\u7528\u548c\u98ce\u5929\u6c14\u63d0\u4f9b\u7684\u5929\u6c14\u6570\u636e\u3002","title":"\u96c6\u6210\u6b65\u9aa4"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/#_3","text":"\u767b\u5f55\u548c\u98ce\u5929\u6c14\u63a7\u5236\u53f0\uff0chttps://console.qweather.com/project?lang=zh \u5982\u4e0b\u56fe\u6240\u793a\uff0c\u5148\u4e3a\u6b64\u4e2d\u5fc3\u521b\u5efa\u4e00\u4e2a\u9879\u76ee\uff0c\u4e3a\u7684\u662f\u4e3a\u6bcf\u4e2a\u4e2d\u5fc3\u4f7f\u7528\u7684api\u8c03\u7528\u6b21\u6570\u7684\u7edf\u8ba1 \u8bb0\u5f55\u4e0b\u6765\u76f8\u5173\u4fe1\u606f \u9879\u76ee\u540d\u79f0\uff1a\u6e56\u5357\u65fa\u65fa \u9879\u76eeID:2HKR2MC5WM API-KEY:885d8b06871b445fbc1beb2eda11cd6c \u5f00\u53d1\u8005ID:Q137B51456 API-Host\uff1and4up3fy3t.re.qweatherapi.com \u67e5\u8be2\u57ce\u5e02\u533a\u57df\u4ee3\u7801\u7684\u7684\u5740\uff1a git clone https://github.com/qwd/LocationList.git.com/docs/api/geoapi/","title":"\u793a\u4f8b"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/#_4","text":"\u6253\u5f00\u7684\u914d\u7f6e\u6587\u4ef6 configuration.yaml \uff0c\u6dfb\u52a0\u4ee5\u4e0b\u5185\u5bb9\uff1a weather: - platform: heweather location: 101210301 # \u4f60\u7684\u533a\u57df\u4ee3\u7801\u57ce\u5e02id host: nd4up3fy3t.re.qweatherapi.com # API Host key: 885d8b06871b445fbc1beb2eda11cd6c # \u4f60\u7684API KEY \u5176\u4e2d\uff0c\u8981\u66f4\u6362\u7684\u5185\u5bb9\u4e3b\u8981\u6709\uff0c\u533a\u57df\u4ee3\u7801\u57ce\u5e02id\u3001API Host\u548cAPI KEY\u3002 \u5982\u4e0b\u56fe","title":"\u914d\u7f6e\u53c2\u8003"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/#id","text":"\u8fd9\u91cc\u4e00\u5b9a\u8981\u914d\u5bf9\u6b63\u786e\u7684\u57ce\u5e02id\u533a\u57df\u4ee3\u7801\uff0c\u5426\u5219\u4f1a\u62a5\u7684\u5929\u6c14\u4e0d\u51c6\u3002 \u53ef\u4ee5\u901a\u8fc7\u6b64\u6587\u6863\u63d0\u4f9b\u7684API\uff0c\u67e5\u8be2 https://github.com/qwd/LocationList.git.com/docs/api/geoapi/ \u5176\u4e2d: X-QW-Api-Key \u4e3a\u4f60\u7684API\u5bc6\u94a5\u3002 location \u4e3a\u4f60\u8981\u67e5\u8be2\u7684\u57ce\u5e02\u540d\u79f0\u62fc\u97f3. curl -H \"X-QW-Api-Key: 885d8b06871b445fbc1beb2eda11cd6c\" --compressed \\ 'https://nd4up3fy3t.re.qweatherapi.com/geo/v2/city/lookup?location=changsha' \u5982\u4e0b\u56fe\u6240\u793a","title":"\u83b7\u53d6\u57ce\u5e02id\u533a\u57df\u4ee3\u7801\u7684\u65b9\u6cd5"},{"location":"Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/","text":"\u4eba\u5b58\u5728\u4f20\u611f\u5668-\u5982\u5395\u98ce\u9669\u63d0\u793a\u914d\u7f6e\u65b9\u6cd5 \u00b6 \u4eba\u5458\u611f\u5e94\u5668\u5361\u7247\u4ee3\u7801\u751f\u6210\u5668 \u5148\u627e\u51fa\u8981\u914d\u7f6e\u7684\u4f20\u611f\u5668\u7684\u5b9e\u4f53ID \u00b6 \u4e0b\u9762\u4ee5\u5927\u8fde\u7684\u8fd9\u4e2a\u4eba\u5b58\u5728\u4f20\u611f\u566801\u4e3a\u4f8b\uff1a \u4eba\u5b58\u5728\u4f20\u611f\u566801 \u5149\u7167\u5ea6\uff1a sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_illumination_p_2_1005 \u65e0\u4eba\u6301\u7eed\u65f6\u957f\uff1a sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_no_one_duration_p_2_1082 \u6709\u4eba\u6301\u7eed\u65f6\u957f\uff1a sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_has_someone_duration_p_2_1081 \u5b58\u5728\u4f20\u611f\u5668 \u6709\u4eba\u65e0\u4eba \u72b6\u6001\u662f\u5426\u89e6\u53d1 sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_occupancy_status_p_2_1078 \u4eea\u8868\u76d8\u914d\u7f6e \u00b6 \u5728\u4eea\u8868\u76d8\uff0c\u76f8\u5e94\u4f4d\u7f6e\uff0c\u65b0\u5efa\u7ec4\u4ef6\uff0c\u8fdb\u5165\u4ee3\u7801\u7f16\u8f91\uff0c\u8d34\u5165\u5982\u4e0b\u683c\u5f0f\u7684YAML\u5185\u5bb9: type : markdown content : > 1\u53f7{% if is_state('binary_sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_occupancy_status_p_2_1078', 'on') %} # \ud83d\udd34 \u6709\u4eba-\u4e0d\u53ef\u7528 {% else %} # \ud83d\udfe2 \u65e0\u4eba-\u53ef\u7528 {% endif %} **\u5149\u7167\u5ea6:** {{ states('sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_illumination_p_2_1005') |default('\u672a\u77e5') }} lx {% if is_state('binary_sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_occupancy_status_p_2_1078', 'on') %} **\u6709\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_has_someone_duration_p_2_1081') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% else %} **\u65e0\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_no_one_duration_p_2_1082') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% endif %} card_mod : style : | ha-card { text-align: center; } ha-card h1 { font-size: 48px !important; margin: 10px 0 !important; } ha-card p { font-size: 18px !important; margin: 5px 0 !important; } grid_options : columns : 6 rows : 3 \u533b\u7528\u536b\u751f\u95f4 type : markdown content : > \u533b\u62a4\u536b\u751f\u95f4{% if is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078', 'on') or is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078', '\u6709\u4eba') %} # \ud83d\udd34 \u6709\u4eba-\u4e0d\u53ef\u7528 {% else %} # \ud83d\udfe2 \u65e0\u4eba-\u53ef\u7528 {% endif %} **\u5149\u7167\u5ea6:** {{ states('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_illumination_p_2_1005') | default('\u672a\u77e5') }} lx {% if is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078', 'on') or is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078', '\u6709\u4eba') %} **\u6709\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_has_someone_duration_p_2_1081') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% else %} **\u65e0\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_no_one_duration_p_2_1082') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% endif %} card_mod : style : | ha-card { text-align: center; } ha-card h1 { font-size: 48px !important; margin: 10px 0 !important; } ha-card p { font-size: 18px !important; margin: 5px 0 !important; } grid_options : columns : 6 rows : 3 \u4e8c\u53f7\u536b\u751f\u95f4 type : markdown content : > 2\u53f7{% if is_state('binary_sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_occupancy_status_p_2_1078', 'on') %} # \ud83d\udd34 \u6709\u4eba-\u4e0d\u53ef\u7528 {% else %} # \ud83d\udfe2 \u65e0\u4eba-\u53ef\u7528 {% endif %} **\u5149\u7167\u5ea6:** {{ states('sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_illumination_p_2_1005') |default('\u672a\u77e5') }} lx {% if is_state('binary_sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_occupancy_status_p_2_1078', 'on') %} **\u6709\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_has_someone_duration_p_2_1081') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% else %} **\u65e0\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_no_one_duration_p_2_1082') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% endif %} card_mod : style : | ha-card { text-align: center; } ha-card h1 { font-size: 48px !important; margin: 10px 0 !important; } ha-card p { font-size: 18px !important; margin: 5px 0 !important; } grid_options : columns : 6 rows : 3 \u4e09\u53f7\u536b\u751f\u95f4 type : markdown content : > \u7537\u536b{% if is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078', 'on') or is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078', '\u6709\u4eba') %} # \ud83d\udd34 \u6709\u4eba-\u4e0d\u53ef\u7528 {% else %} # \ud83d\udfe2 \u65e0\u4eba-\u53ef\u7528 {% endif %} **\u5149\u7167\u5ea6:** {{ states('sensor.xiaomi_cn_blt_3_1magboil90c01_03_illumination_p_2_1005') | default('\u672a\u77e5') }} lx {% if is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078', 'on') or is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078', '\u6709\u4eba') %} **\u6709\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1magboil90c01_03_has_someone_duration_p_2_1081') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% else %} **\u65e0\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1magboil90c01_03_no_one_duration_p_2_1082') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% endif %} card_mod : style : | ha-card { text-align: center; } ha-card h1 { font-size: 48px !important; margin: 10px 0 !important; } ha-card p { font-size: 18px !important; margin: 5px 0 !important; } grid_options : columns : 6 rows : 3","title":"\u5982\u5395\u98ce\u9669-\u4eba\u5b58\u5728\u4f20\u611f\u5668\u914d\u7f6e\u65b9\u6cd5"},{"location":"Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/#-","text":"\u4eba\u5458\u611f\u5e94\u5668\u5361\u7247\u4ee3\u7801\u751f\u6210\u5668","title":"\u4eba\u5b58\u5728\u4f20\u611f\u5668-\u5982\u5395\u98ce\u9669\u63d0\u793a\u914d\u7f6e\u65b9\u6cd5"},{"location":"Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/#id","text":"\u4e0b\u9762\u4ee5\u5927\u8fde\u7684\u8fd9\u4e2a\u4eba\u5b58\u5728\u4f20\u611f\u566801\u4e3a\u4f8b\uff1a \u4eba\u5b58\u5728\u4f20\u611f\u566801 \u5149\u7167\u5ea6\uff1a sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_illumination_p_2_1005 \u65e0\u4eba\u6301\u7eed\u65f6\u957f\uff1a sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_no_one_duration_p_2_1082 \u6709\u4eba\u6301\u7eed\u65f6\u957f\uff1a sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_has_someone_duration_p_2_1081 \u5b58\u5728\u4f20\u611f\u5668 \u6709\u4eba\u65e0\u4eba \u72b6\u6001\u662f\u5426\u89e6\u53d1 sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_occupancy_status_p_2_1078","title":"\u5148\u627e\u51fa\u8981\u914d\u7f6e\u7684\u4f20\u611f\u5668\u7684\u5b9e\u4f53ID"},{"location":"Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/#_1","text":"\u5728\u4eea\u8868\u76d8\uff0c\u76f8\u5e94\u4f4d\u7f6e\uff0c\u65b0\u5efa\u7ec4\u4ef6\uff0c\u8fdb\u5165\u4ee3\u7801\u7f16\u8f91\uff0c\u8d34\u5165\u5982\u4e0b\u683c\u5f0f\u7684YAML\u5185\u5bb9: type : markdown content : > 1\u53f7{% if is_state('binary_sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_occupancy_status_p_2_1078', 'on') %} # \ud83d\udd34 \u6709\u4eba-\u4e0d\u53ef\u7528 {% else %} # \ud83d\udfe2 \u65e0\u4eba-\u53ef\u7528 {% endif %} **\u5149\u7167\u5ea6:** {{ states('sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_illumination_p_2_1005') |default('\u672a\u77e5') }} lx {% if is_state('binary_sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_occupancy_status_p_2_1078', 'on') %} **\u6709\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_has_someone_duration_p_2_1081') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% else %} **\u65e0\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_no_one_duration_p_2_1082') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% endif %} card_mod : style : | ha-card { text-align: center; } ha-card h1 { font-size: 48px !important; margin: 10px 0 !important; } ha-card p { font-size: 18px !important; margin: 5px 0 !important; } grid_options : columns : 6 rows : 3 \u533b\u7528\u536b\u751f\u95f4 type : markdown content : > \u533b\u62a4\u536b\u751f\u95f4{% if is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078', 'on') or is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078', '\u6709\u4eba') %} # \ud83d\udd34 \u6709\u4eba-\u4e0d\u53ef\u7528 {% else %} # \ud83d\udfe2 \u65e0\u4eba-\u53ef\u7528 {% endif %} **\u5149\u7167\u5ea6:** {{ states('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_illumination_p_2_1005') | default('\u672a\u77e5') }} lx {% if is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078', 'on') or is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078', '\u6709\u4eba') %} **\u6709\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_has_someone_duration_p_2_1081') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% else %} **\u65e0\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_no_one_duration_p_2_1082') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% endif %} card_mod : style : | ha-card { text-align: center; } ha-card h1 { font-size: 48px !important; margin: 10px 0 !important; } ha-card p { font-size: 18px !important; margin: 5px 0 !important; } grid_options : columns : 6 rows : 3 \u4e8c\u53f7\u536b\u751f\u95f4 type : markdown content : > 2\u53f7{% if is_state('binary_sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_occupancy_status_p_2_1078', 'on') %} # \ud83d\udd34 \u6709\u4eba-\u4e0d\u53ef\u7528 {% else %} # \ud83d\udfe2 \u65e0\u4eba-\u53ef\u7528 {% endif %} **\u5149\u7167\u5ea6:** {{ states('sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_illumination_p_2_1005') |default('\u672a\u77e5') }} lx {% if is_state('binary_sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_occupancy_status_p_2_1078', 'on') %} **\u6709\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_has_someone_duration_p_2_1081') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% else %} **\u65e0\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_no_one_duration_p_2_1082') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% endif %} card_mod : style : | ha-card { text-align: center; } ha-card h1 { font-size: 48px !important; margin: 10px 0 !important; } ha-card p { font-size: 18px !important; margin: 5px 0 !important; } grid_options : columns : 6 rows : 3 \u4e09\u53f7\u536b\u751f\u95f4 type : markdown content : > \u7537\u536b{% if is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078', 'on') or is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078', '\u6709\u4eba') %} # \ud83d\udd34 \u6709\u4eba-\u4e0d\u53ef\u7528 {% else %} # \ud83d\udfe2 \u65e0\u4eba-\u53ef\u7528 {% endif %} **\u5149\u7167\u5ea6:** {{ states('sensor.xiaomi_cn_blt_3_1magboil90c01_03_illumination_p_2_1005') | default('\u672a\u77e5') }} lx {% if is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078', 'on') or is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078', '\u6709\u4eba') %} **\u6709\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1magboil90c01_03_has_someone_duration_p_2_1081') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% else %} **\u65e0\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1magboil90c01_03_no_one_duration_p_2_1082') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% endif %} card_mod : style : | ha-card { text-align: center; } ha-card h1 { font-size: 48px !important; margin: 10px 0 !important; } ha-card p { font-size: 18px !important; margin: 5px 0 !important; } grid_options : columns : 6 rows : 3","title":"\u4eea\u8868\u76d8\u914d\u7f6e"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/","text":"\u8bed\u97f3\u5408\u6210\u4e0e\u8bc6\u522b\u670d\u52a1Docker-\u90e8\u7f72\u8bf4\u660e \u00b6 pre, code { white-space: pre-wrap; word-break: break-all; } \u4e00\u3001\u7b80\u4ecb \u00b6 \u8bed\u97f3\u5408\u6210\u4e0e\u8bc6\u522b\u670d\u52a1\uff08\u4ee5\u4e0b\u7b80\u79f0\u201c\u670d\u52a1\u201d\uff09\u63d0\u4f9b\u9ad8\u8d28\u91cf\u7684\u6587\u672c\u8f6c\u8bed\u97f3\uff08TTS\uff09\u548c\u8bed\u97f3\u8f6c\u6587\u672c\uff08ASR\uff09\u529f\u80fd\u3002\u4e3a\u4e86\u65b9\u4fbf\u7528\u6237\u5feb\u901f\u90e8\u7f72\u548c\u4f7f\u7528\u8be5\u670d\u52a1\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u57fa\u4e8eDocker\u7684\u90e8\u7f72\u65b9\u6848\u3002\u672c\u6587\u6863\u5c06\u8be6\u7ec6\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528Docker\u90e8\u7f72\u8be5\u670d\u52a1\u3002 \u672c\u6587\u63d0\u4f9b\u7684\u8bed\u97f3\u5408\u6210\u4e0e\u8bc6\u522b\u670d\u52a1\uff0c\u662f\u57fa\u4e8epaddlespeech\u5f00\u53d1\u7684TTS\u548cASR\u670d\u52a1(\u7eafCPU\u670d\u52a1)\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7Docker\u5feb\u901f\u90e8\u7f72\u5e76\u4f7f\u7528\u8be5\u670d\u52a1\u3002 \u4e8c\u3001\u73af\u5883\u51c6\u5907 \u00b6 \u5728\u5f00\u59cb\u90e8\u7f72\u4e4b\u524d\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u73af\u5883\u6ee1\u8db3\u4ee5\u4e0b\u8981\u6c42\uff1a 1. \u5df2\u5b89\u88c5Docker\u548cDocker Compose\u3002 2. \u5177\u5907\u4e00\u5b9a\u7684Linux\u547d\u4ee4\u884c\u64cd\u4f5c\u57fa\u7840\u3002 3. \u786e\u4fdd\u60a8\u7684\u670d\u52a1\u5668\u5177\u5907\u8db3\u591f\u7684\u8ba1\u7b97\u8d44\u6e90\uff08CPU\u3001\u5185\u5b58\u3001GPU\u7b49\uff09\u3002 \u4e09\u3001\u83b7\u53d6Docker\u955c\u50cf \u00b6 \u6211\u4eec\u63d0\u4f9b\u4e86\u9884\u6784\u5efa\u7684Docker\u955c\u50cf\uff0c\u5730\u5740\u4f4d\u4e8e\u4e03\u725b\u4e91\uff0c \u4e0b\u8f7d\u5730\u5740 \u4e3a\uff1a https://datacdn.data-it.tech/HomeAssistant/dokerimages/paddlespeech1.1/paddlespeech.tar \u56db\u3001\u5728\u7ebf\u90e8\u7f72\u6b65\u9aa4 \u00b6 \u6267\u884c\u4e00\u952e\u5b89\u88c5\u811a\u672c \u00b6 curl -fsSL https://datacdn.data-it.tech/HomeAssistant/dokerimages/paddlespeech1.1/install-paddlespeech.sh | sudo bash \u5982\u4e0b\u56fe\u6240\u793a: \u00b6 \u9996\u6b21\u8fd0\u884c \u00b6 \u4f7f\u7528TTS\u6216asr\u670d\u52a1\uff0c\u9996\u6b21\u8fd0\u884c\u4f1a\u81ea\u52a8\u4e0b\u8f7d\u6a21\u578b\u6587\u4ef6\uff0c\u6a21\u578b\u6587\u4ef6\u8f83\u5927, \u4e0b\u8f7d\u8fc7\u7a0b\u7ea6\u970010\u5206\u949f \uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\u3002 \u5982\u4e0b\u6240\u793a \u00b6 \u6211\u4eec\u53ef\u4ee5\u5982\u7528\u4e0b\u547d\u4ee4\u5b9e\u65f6\u67e5\u770b\u8fd0\u884c\u65e5\u5fd7: docker logs -f paddlespeech TTS\u6a21\u578b\u9996\u6b21\u4f7f\u7528\u65f6\u4f8d\u81ea\u52a8\u4ece\u7f51\u7edc\u4e0b\u8f7d\u7ea62G\u7684\u6a21\u578b\u6587\u4ef6\uff0c\u4e0b\u8f7d\u5b8c\u6210\u540e\u4f1a\u81ea\u52a8\u542f\u52a8\u670d\u52a1\u3002\u540e\u7eed\u518d\u6b21\u4f7f\u7528\u65f6\uff0c\u4e0d\u4f1a\u91cd\u590d\u4e0b\u8f7d\u6a21\u578b\u6587\u4ef6\u3002 Asr\u6a21\u578b\u9996\u6b21\u4f7f\u7528\u65f6\u4f8d\u81ea\u52a8\u4ece\u7f51\u7edc\u4e0b\u8f7d\u7ea61G\u7684\u6a21\u578b\u6587\u4ef6\uff0c\u4e0b\u8f7d\u5b8c\u6210\u540e\u4f1a\u81ea\u52a8\u542f\u52a8\u670d\u52a1\u3002\u540e\u7eed\u518d\u6b21\u4f7f\u7528\u65f6\uff0c\u4e0d\u4f1a\u91cd\u590d\u4e0b\u8f7d\u6a21\u578b\u6587\u4ef6\u3002 \u4e94\u3001\u79bb\u7ebf\u90e8\u7f72\u6b65\u9aa4 \u00b6 \u79bb\u7ebf\u90e8\u7f72\u7684\u76f8\u5173\u6587\u4ef6\u4e0b\u8f7d\u5730\u5740 \u00b6 Docker\u955c\u50cf\u6587\u4ef6: \u4e0b\u8f7d\u5730\u5740 \u6570\u636e\u5377\u6587\u4ef6: \u4ee5\u4e0b\u6587\u4ef6\u8981\u4e0b\u8f7d\u5e76\u590d\u5236\u5230\u76ee\u6807\u673a\u5668\u4e34\u65f6\u8ba4\u7f6e\u7684\u76ee\u5f55,\u4e0einstall-paddlespeech-localh.sh\u6240\u5728\u76ee\u5f55\u540c\u7ea7\u7684\u5b50\u76ee\u5f55data\u76ee\u5f55\u4e0b home_dtuser_opt_paddlespeech_data_logs.tar.gz home_dtuser_opt_paddlespeech_data_nltk_data.tar.gz home_dtuser_opt_paddlespeech_data_output.tar.gz home_dtuser_opt_paddlespeech_data_paddlenlp_models.tar.gz home_dtuser_opt_paddlespeech_data_paddlespeech_models.tar.gz \u79bb\u7ebf\u5b89\u88c5\u811a\u672c: \u4e0b\u8f7d\u5730\u5740 \u6d4b\u8bd5\u6f14\u793a\u4f7f\u7528\u7f51\u9875: \u4e0b\u8f7d\u5730\u5740 \u79bb\u7ebf\u5b89\u88c5\u5305\u5206\u4e24\u90e8\u4efd\uff0c\u4e00\u90e8\u4efd\u662f\u5bb9\u5668\u955c\u50cf\uff0c\u4e00\u90e8\u4efd\u662f\u6570\u636e\u5377\u6587\u4ef6\uff0c\u5b89\u88c5\u542f\u52a8\u5bb9\u5668\u524d\u5148\u66ff\u6362\u5bf9\u636e\u5377\u7ed1\u5b9a\u7684\u76ee\u5f55\uff0c\u8fd9\u6837\u5bb9\u5668\u542f\u52a8\u540e\u65e0\u987b\u4e0b\u8f7d\u6a21\u578b\uff0c\u53ef\u4ee5\u5728\u65e0\u4e92\u8054\u7f51\u7684\u60c5\u51b5\u4e0b\u76f4\u63a5\u4f7f\u7528 1. \u4e0b\u8f7dDocker\u955c\u50cf\u4e0e\u6570\u636e\u5377\u6587\u4ef6 \u00b6 \u5982\u4e0b\u793a\u4f8b\uff0c\u6211\u4eec\u5c06\u6587\u4ef6\u653e\u5230\u7528\u6237\u76ee\u5f55\u7684down\u4e0b,\u8bf7\u4fdd\u6301\u76f8\u5e94\u7684\u76ee\u5f55\u7ed3\u6784\uff0c\u5982\u4e0b\u6240\u793a\uff1a tst@tst-VMware-Virtual-Platform:~/down$ pwd /home/tst/down tst@tst-VMware-Virtual-Platform:~/down$ ls data install-paddlespeech-localh.sh tst@tst-VMware-Virtual-Platform:~/down$ tree . \u251c\u2500\u2500 data \u2502 \u251c\u2500\u2500 home_dtuser_opt_paddlespeech_data_logs.tar.gz \u2502 \u251c\u2500\u2500 home_dtuser_opt_paddlespeech_data_nltk_data.tar.gz \u2502 \u251c\u2500\u2500 home_dtuser_opt_paddlespeech_data_output.tar.gz \u2502 \u251c\u2500\u2500 home_dtuser_opt_paddlespeech_data_paddlenlp_models.tar.gz \u2502 \u2514\u2500\u2500 home_dtuser_opt_paddlespeech_data_paddlespeech_models.tar.gz \u251c\u2500\u2500 home_dtuser_opt_paddlespeech_data_paddlespeech_models.tar.gz \u2514\u2500\u2500 install-paddlespeech-localh.sh 2 directories, 7 files 2. \u7ed9\u8fd0\u884c\u811a\u672c\u6dfb\u52a0\u6267\u884c\u6743\u9650 \u00b6 chmod +x install-paddlespeech-localh.sh 3. \u6267\u884c\u5b89\u88c5\u811a\u672c \u00b6 sudo ./install-paddlespeech-localh.sh \u6309\u88c5\u811a\u672c\u5c06\u4f1a\u5148\u89e3\u538b\u6587\u4ef6\uff0c\u5e76\u52a0\u8f7ddocker\u955c\u50cf\uff0c\u7136\u540e\u542f\u52a8\u5bb9\u5668\uff0c\u542f\u52a8\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u4f7f\u7528docker ps\u547d\u4ee4\u67e5\u770b\u8fd0\u884c\u72b6\u6001\uff0c\u5982\u4e0b\u6240\u793a\uff1a tst@tst-VMware-Virtual-Platform:~/down$ sudo ./install-paddlespeech-localh.sh [ INFO ] \u5f00\u59cb PaddleSpeech \u79bb\u7ebf\u5b89\u88c5... [ SUCCESS ] \u78c1\u76d8\u7a7a\u95f4\u68c0\u67e5\u901a\u8fc7\uff0855GB\uff09 [ INFO ] \u68c0\u6d4b\u7f51\u7edc\u8fde\u63a5... [ SUCCESS ] \u7f51\u7edc\u8fde\u63a5\u6b63\u5e38 [ INFO ] \u521b\u5efa\u76ee\u5f55\u7ed3\u6784... [ SUCCESS ] \u76ee\u5f55\u7ed3\u6784\u521b\u5efa\u5b8c\u6210 [ INFO ] \u89e3\u538b\u6570\u636e\u5377... [ INFO ] \u6b63\u5728\u89e3\u538b: /home/tst/down/data/home_dtuser_opt_paddlespeech_data_logs.tar.gz \u5230 /dt_opt/paddlespeech/data/logs ./ [ INFO ] \u6b63\u5728\u89e3\u538b: /home/tst/down/data/home_dtuser_opt_paddlespeech_data_nltk_data.tar.gz \u5230 /dt_opt/paddlespeech/data/nltk_data ./ ./taggers/ ./taggers/averaged_perceptron_tagger/ ./taggers/averaged_perceptron_tagger/averaged_perceptron_tagger.pickle ./taggers/averaged_perceptron_tagger.zip ./corpora/ ./corpora/cmudict/ ./corpora/cmudict/cmudict ./corpora/cmudict/README ./corpora/cmudict.zip [ INFO ] \u6b63\u5728\u89e3\u538b: /home/tst/down/data/home_dtuser_opt_paddlespeech_data_output.tar.gz \u5230 /dt_opt/paddlespeech/data/output ./ ./2753d658-b228-4ae6-94fc-3404a41f4526.wav ./9f24d71e-9f29-4d60-aa13-677fd19bba46.wav ./38ea94c6-e19b-4e41-8cca-454d8e374a15.wav ./d44aa891-c36b-473f-aef3-44484f0cd74b.wav ./c5ef53d3-502b-4f81-9fdd-583836ba7096.wav ./3931cd47-e022-4385-b588-4a61e64e5eed.wav ./1d213380-eee6-43ba-88db-99ba9b5609df.wav ./c85f65de-a4c1-43aa-a251-52ce4e9df271.wav ./7cd5fc65-665b-444c-9c9f-41f1ce8036f8.wav ./f74dbda7-1cf8-4056-bd30-523b74af8b0e.wav [ INFO ] \u6b63\u5728\u89e3\u538b: /home/tst/down/data/home_dtuser_opt_paddlespeech_data_paddlenlp_models.tar.gz \u5230 /dt_opt/paddlespeech/data/paddlenlp_models ./ ./packages/ ./models/ ./models/bert-base-chinese/ ./models/bert-base-chinese/bert-base-chinese-vocab.txt ./models/bert-base-chinese/tokenizer_config.json ./models/bert-base-chinese/vocab.txt ./models/bert-base-chinese/special_tokens_map.json ./models/embeddings/ ./models/.locks/ ./models/.locks/bert-base-chinese/ ./datasets/ [ INFO ] \u6b63\u5728\u89e3\u538b: /home/tst/down/data/home_dtuser_opt_paddlespeech_data_paddlespeech_models.tar.gz \u5230 /dt_opt/paddlespeech/data/paddlespeech_models ./ ./conf/ ./conf/cache.yaml ./models/ ./models/G2PWModel_1.1/ ./models/G2PWModel_1.1/config.py ./models/G2PWModel_1.1/MONOPHONIC_CHARS.txt ./models/G2PWModel_1.1/__pycache__/ ./models/G2PWModel_1.1/__pycache__/config.cpython-39.pyc ./models/G2PWModel_1.1/__pycache__/config.cpython-310.pyc ./models/G2PWModel_1.1/record.log ./models/G2PWModel_1.1/bopomofo_to_pinyin_wo_tune_dict.json ./models/G2PWModel_1.1/POLYPHONIC_CHARS.txt ./models/G2PWModel_1.1/char_bopomofo_dict.json ./models/G2PWModel_1.1/g2pW.onnx ./models/G2PWModel_1.1/version ./models/G2PWModel_1.1.zip ./models/conformer_wenetspeech-zh-16k/ ./models/conformer_wenetspeech-zh-16k/1.0/ ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/ ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/conf/ ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/conf/preprocess.yaml ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/conf/tuning/ ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/conf/tuning/decode.yaml ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/conf/conformer.yaml ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/conf/conformer_infer.yaml ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/data/ ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/data/lang_char/ ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/data/lang_char/vocab.txt ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/data/mean_std.json ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/model.yaml ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/exp/ ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/exp/conformer/ ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/exp/conformer/checkpoints/ ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/exp/conformer/checkpoints/wenetspeech.pdparams ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar.gz ./models/fastspeech2_csmsc-zh/ ./models/fastspeech2_csmsc-zh/1.0/ ./models/fastspeech2_csmsc-zh/1.0/fastspeech2_nosil_baker_ckpt_0.4.zip ./models/fastspeech2_csmsc-zh/1.0/fastspeech2_nosil_baker_ckpt_0.4/ ./models/fastspeech2_csmsc-zh/1.0/fastspeech2_nosil_baker_ckpt_0.4/snapshot_iter_76000.pdz ./models/fastspeech2_csmsc-zh/1.0/fastspeech2_nosil_baker_ckpt_0.4/phone_id_map.txt ./models/fastspeech2_csmsc-zh/1.0/fastspeech2_nosil_baker_ckpt_0.4/default.yaml ./models/fastspeech2_csmsc-zh/1.0/fastspeech2_nosil_baker_ckpt_0.4/speech_stats.npy ./models/fastspeech2_csmsc-zh/1.0/fastspeech2_nosil_baker_ckpt_0.4/pitch_stats.npy ./models/fastspeech2_csmsc-zh/1.0/fastspeech2_nosil_baker_ckpt_0.4/energy_stats.npy ./models/hifigan_csmsc-zh/ ./models/hifigan_csmsc-zh/1.0/ ./models/hifigan_csmsc-zh/1.0/hifigan_csmsc_ckpt_0.1.1.zip ./models/hifigan_csmsc-zh/1.0/hifigan_csmsc_ckpt_0.1.1/ ./models/hifigan_csmsc-zh/1.0/hifigan_csmsc_ckpt_0.1.1/default.yaml ./models/hifigan_csmsc-zh/1.0/hifigan_csmsc_ckpt_0.1.1/snapshot_iter_2500000.pdz ./models/hifigan_csmsc-zh/1.0/hifigan_csmsc_ckpt_0.1.1/feats_stats.npy ./datasets/ [ SUCCESS ] \u6570\u636e\u5377\u89e3\u538b\u5b8c\u6210 [ INFO ] \u89e3\u538b\u955c\u50cf\u5305... [ SUCCESS ] \u955c\u50cf\u5305\u5df2\u79fb\u52a8\u5230 /dt_opt/paddlespeech/images [ INFO ] \u52a0\u8f7dDocker\u955c\u50cf... daf557c4f08e: Loading layer [================================================== > ] 81 .04MB/81.04MB d593918d433d: Loading layer [================================================== > ] 4 .123MB/4.123MB 7c4cff21e743: Loading layer [================================================== > ] 41 .36MB/41.36MB 25f6bb353e99: Loading layer [================================================== > ] 5 .12kB/5.12kB bc3a46414f17: Loading layer [================================================== > ] 1 .536kB/1.536kB 8fc7185920f1: Loading layer [================================================== > ] 3 .584kB/3.584kB bac2a7f893df: Loading layer [================================================== > ] 847MB/847MB 092bab498a3d: Loading layer [================================================== > ] 13 .31MB/13.31MB 19db93cce63e: Loading layer [================================================== > ] 2 .56kB/2.56kB 2fc7499dded4: Loading layer [================================================== > ] 3 .042GB/3.042GB 7da6b60d7eb7: Loading layer [================================================== > ] 2 .53MB/2.53MB 057242764992 : Loading layer [================================================== > ] 8 .704kB/8.704kB 9a996f3d539d: Loading layer [================================================== > ] 3 .072kB/3.072kB 4cdf0570391d: Loading layer [================================================== > ] 104 .2MB/104.2MB Loaded image: dt_iot/paddlespeech:latest [ SUCCESS ] \u955c\u50cf\u52a0\u8f7d\u6210\u529f [ INFO ] \u751f\u6210docker-compose.yaml... [ SUCCESS ] docker-compose.yaml\u521b\u5efa\u5b8c\u6210 [ INFO ] \u542f\u52a8\u5bb9\u5668... [ + ] Running 2 /2 \u2714 Network dtnet Created 0 .5s \u2714 Container paddlespeech Started 4 .6s [ SUCCESS ] \u5bb9\u5668\u542f\u52a8\u6210\u529f [ SUCCESS ] PaddleSpeech \u79bb\u7ebf\u5b89\u88c5\u5b8c\u6210\uff01 4. \u67e5\u770b\u5bb9\u5668\u8fd0\u884c\u72b6\u6001 \u00b6 docker ps 5. \u5b9e\u65f6\u67e5\u770b\u5bb9\u5668\u65e5\u5fd7 \u00b6 docker logs -f paddlespeech 6. \u7ba1\u7406\u5bb9\u5668 \u00b6 \u8fdb\u5165\u5bb9\u5668\u5668\u7684\u90e8\u7f72\u76ee\u5f55\uff1a /dt_opt/paddlespeech docker ps up -d # \u542f\u52a8\u5bb9\u5668 docker ps down # \u505c\u6b62\u5bb9\u5668 docker ps restart # \u91cd\u542f\u5bb9\u5668 docker ps logs -f paddlespeech # \u5b9e\u65f6\u67e5\u770b\u65e5\u5fd7 docker ps exec -it paddlespeech /bin/bash # \u8fdb\u5165\u5bb9\u5668 docker ps rm -f paddlespeech # \u5220\u9664\u5bb9\u5668 docker rmi dt_iot/paddlespeech:latest # \u5220\u9664\u955c\u50cf docker volume rm paddlespeech_data # \u5220\u9664\u6570\u636e\u5377 docker network rm dtnet # \u5220\u9664\u7f51\u7edc docker system prune -a # \u6e05\u7406\u65e0\u7528\u7684\u955c\u50cf\u3001\u5bb9\u5668\u3001\u6570\u636e\u5377\u3001\u7f51\u7edc\u7b49 \u4ee5\u4e0a\u662f\u5e38\u7528\u547d\u4ee4\uff0c\u4f7f\u7528\u65f6\u6839\u636e\u9700\u8981\u7075\u6d3b\u4f7f\u7528\u3002 7. \u8c03\u6574\u7aef\u53e3 \u00b6 \u627e\u5230\u6587\u4ef6 /dt_opt/paddlespeech/docker-compose.yaml \u4fee\u6539\u5bf9\u5e94\u7684\u7aef\u53e3\u53f7\uff0c\u5982\u4e0b\u6240\u793a\uff1a \u66f4\u6539\u7b2c\u4e00\u4e2a\u7aef\u53e3\u4e3a\u9700\u8981\u7684\u7aef\u53e3\u53f7\u5373\u53ef\uff0c\u5982\u4e0b\u6240\u793a: docker-compse down sudo nano ./docker-compose.yaml # \u4fee\u6539\u5bf9\u5e94\u7684\u7aef\u53e3\u53f7\uff0c\u7b2c6\u884c # - \"8001:8001\" # \u4fdd\u5b58\u9000\u51fa\uff0c\u91cd\u542f\u5bb9\u5668\u5373\u53ef\u751f\u6548 docker-compose up -d \u516d\u3001\u4f7f\u7528\u8bf4\u660e \u00b6 \u4e3a\u4e86\u65b9\u4fbf\u7684\u6f14\u793a\u5982\u4f55\u8c03\u7528\u8fd9\u4e2aapi\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u4e00\u4e2a\u6d4b\u8bd5\u7f51\u9875, \u4e0b\u8f7d\u5730\u5740 \u4e3a: https://datacdn.data-it.tech/HomeAssistant/dokerimages/paddlespeech1.1/tts_demo.zip 1. \u8bed\u97f3\u5408\u6210\uff08TTS\uff09\u670d\u52a1 \u00b6 curl\u793a\u4f8b \u00b6 curl --request POST \\ --url http://ikuai.m-iot.tech:58150/tts \\ --header 'content-type: application/x-www-form-urlencoded' \\ --data 'text=\u8bf7\u5f20\u4e09\u5230\u4e00\u5ba4\u505a\u68c0\u67e5' \\ --data lang=zh \\ --data spk_id=0 HTTTP API\u8bf4\u660e \u00b6 POST /tts HTTP / 1.1 Content-Type : application/x-www-form-urlencoded Host : ikuai.m-iot.tech:58150 Content-Length : 103 text = %E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5 & lang = zh & spk_id = 0 Java \u793a\u4f8b \u00b6 //asynchttp AsyncHttpClient client = new DefaultAsyncHttpClient (); client . prepare ( \"POST\" , \"http://ikuai.m-iot.tech:58150/tts\" ) . setHeader ( \"content-type\" , \"application/x-www-form-urlencoded\" ) . setBody ( \"text=%E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5&lang=zh&spk_id=0\" ) . execute () . toCompletableFuture () . thenAccept ( System . out :: println ) . join (); client . close (); //nethttp HttpRequest request = HttpRequest . newBuilder () . uri ( URI . create ( \"http://ikuai.m-iot.tech:58150/tts\" )) . header ( \"content-type\" , \"application/x-www-form-urlencoded\" ) . method ( \"POST\" , HttpRequest . BodyPublishers . ofString ( \"text=%E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5&lang=zh&spk_id=0\" )) . build (); HttpResponse < String > response = HttpClient . newHttpClient (). send ( request , HttpResponse . BodyHandlers . ofString ()); System . out . println ( response . body ()); //okhttp OkHttpClient client = new OkHttpClient (); MediaType mediaType = MediaType . parse ( \"application/x-www-form-urlencoded\" ); RequestBody body = RequestBody . create ( mediaType , \"text=%E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5&lang=zh&spk_id=0\" ); Request request = new Request . Builder () . url ( \"http://ikuai.m-iot.tech:58150/tts\" ) . post ( body ) . addHeader ( \"content-type\" , \"application/x-www-form-urlencoded\" ) . build (); Response response = client . newCall ( request ). execute (); //unirest HttpResponse < String > response = Unirest . post ( \"http://ikuai.m-iot.tech:58150/tts\" ) . header ( \"content-type\" , \"application/x-www-form-urlencoded\" ) . body ( \"text=%E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5&lang=zh&spk_id=0\" ) . asString (); javaScript \u793a\u4f8b \u00b6 //Xhr const data = 'text=%E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5&lang=zh&spk_id=0' ; const xhr = new XMLHttpRequest (); xhr . withCredentials = true ; xhr . addEventListener ( 'readystatechange' , function () { if ( this . readyState === this . DONE ) { console . log ( this . responseText ); } }); xhr . open ( 'POST' , 'http://ikuai.m-iot.tech:58150/tts' ); xhr . setRequestHeader ( 'content-type' , 'application/x-www-form-urlencoded' ); xhr . send ( data ); //Axios import axios from 'axios' ; const encodedParams = new URLSearchParams (); encodedParams . set ( 'text' , '\u8bf7\u5f20\u4e09\u5230\u4e00\u5ba4\u505a\u68c0\u67e5' ); encodedParams . set ( 'lang' , 'zh' ); encodedParams . set ( 'spk_id' , '0' ); const options = { method : 'POST' , url : 'http://ikuai.m-iot.tech:58150/tts' , headers : { 'content-type' : 'application/x-www-form-urlencoded' }, data : encodedParams , }; try { const { data } = await axios . request ( options ); console . log ( data ); } catch ( error ) { console . error ( error ); } //Fetch const url = 'http://ikuai.m-iot.tech:58150/tts' ; const options = { method : 'POST' , headers : { 'content-type' : 'application/x-www-form-urlencoded' }, body : new URLSearchParams ({ text : '\u8bf7\u5f20\u4e09\u5230\u4e00\u5ba4\u505a\u68c0\u67e5' , lang : 'zh' , spk_id : '0' }) }; try { const response = await fetch ( url , options ); const data = await response . json (); console . log ( data ); } catch ( error ) { console . error ( error ); } //JQuery const settings = { async : true , crossDomain : true , url : 'http://ikuai.m-iot.tech:58150/tts' , method : 'POST' , headers : { 'content-type' : 'application/x-www-form-urlencoded' }, data : { text : '\u8bf7\u5f20\u4e09\u5230\u4e00\u5ba4\u505a\u68c0\u67e5' , lang : 'zh' , spk_id : '0' } }; $ . ajax ( settings ). done ( function ( response ) { console . log ( response ); }); C# \u793a\u4f8b \u00b6 //httpclient using System.Net.Http.Headers ; var client = new HttpClient (); var request = new HttpRequestMessage { Method = HttpMethod . Post , RequestUri = new Uri ( \"http://ikuai.m-iot.tech:58150/tts\" ), Content = new FormUrlEncodedContent ( new Dictionary < string , string > { { \"text\" , \"\u8bf7\u5f20\u4e09\u5230\u4e00\u5ba4\u505a\u68c0\u67e5\" }, { \"lang\" , \"zh\" }, { \"spk_id\" , \"0\" }, }), }; using ( var response = await client . SendAsync ( request )) { response . EnsureSuccessStatusCode (); var body = await response . Content . ReadAsStringAsync (); Console . WriteLine ( body ); } //restsharp var client = new RestClient ( \"http://ikuai.m-iot.tech:58150/tts\" ); var request = new RestRequest ( \"\" , Method . Post ); request . AddHeader ( \"content-type\" , \"application/x-www-form-urlencoded\" ); request . AddParameter ( \"application/x-www-form-urlencoded\" , \"text=%E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5&lang=zh&spk_id=0\" , ParameterType . RequestBody ); var response = client . Execute ( request ); go \u793a\u4f8b \u00b6 package main import ( \"fmt\" \"strings\" \"net/http\" \"io\" ) func main () { url := \"http://ikuai.m-iot.tech:58150/tts\" payload := strings . NewReader ( \"text=%E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5&lang=zh&spk_id=0\" ) req , _ := http . NewRequest ( \"POST\" , url , payload ) req . Header . Add ( \"content-type\" , \"application/x-www-form-urlencoded\" ) res , _ := http . DefaultClient . Do ( req ) defer res . Body . Close () body , _ := io . ReadAll ( res . Body ) fmt . Println ( res ) fmt . Println ( string ( body )) } \u8fd4\u56de\u7ed3\u679c \u00b6 Preparing request to http://ikuai.m-iot.tech:58150/tts Current time is 2025-09-21T07:49:17.236Z POST http://ikuai.m-iot.tech:58150/tts Accept: application/json, text/plain, */* Content-Type: application/x-www-form-urlencoded User-Agent: bruno-runtime/2.3.0 text=%E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5&lang=zh&spk_id=0 SSL validation: enabled HTTP/1.1 200 OK date: Sun, 21 Sep 2025 07:49:18 GMT server: uvicorn content-type: audio/wav content-disposition: attachment; filename=\"7b41c15b-e0a4-4ba5-aeb1-ceff058c90e6.wav\" content-length: 89444 last-modified: Sun, 21 Sep 2025 07:49:20 GMT etag: d85eaa2cadf7182ac9b54763e6a97e2c request-duration: 2224 Request completed in 2224 ms 2. \u8bed\u97f3\u8bc6\u522b\uff08ASR\uff09\u670d\u52a1 \u00b6 \u4e0a\u4f20\u6587\u4ef6\u8c03\u7528\u793a\u4f8b \u00b6 curl\u793a\u4f8b \u00b6 curl --request POST \\ --url http://ikuai.m-iot.tech:58150/asr \\ --header 'content-type: multipart/form-data' \\ --form 'file=@C:\\Users\\trphoenix\\Documents\\\u5f55\u97f3\\\u5f55\u97f3 (6).m4a' \\ --form lang=zh \\ --form format=wav \\ --form sample_rate=16000 \u76f4\u63a5\u4e0a\u4f20\u6587\u4ef6\uff0c\u6587\u4ef6\u683c\u5f0f\u652f\u6301wav\u3001m4a\u3001mp3\u7b49\u5e38\u89c1\u97f3\u9891\u683c\u5f0f\uff0c\u670d\u52a1\u7aef\u4f1a\u81ea\u52a8\u8f6c\u6362\u4e3awav\u683c\u5f0f\u8fdb\u884c\u8bc6\u522b\u3002 curl --request POST \\ --url http://ikuai.m-iot.tech:58150/asr \\ --header 'content-type: multipart/form-data' \\ --form 'file=@C:\\Users\\trphoenix\\Documents\\\u5f55\u97f3\\\u5f55\u97f3 (6).m4a' \\ --form lang=zh \u4f20\u5165\u53c2\u6570\u53ef\u4ee5\u53ea\u6709file\u4e0elang\u8fd9\u4e24\u4e2a\u53c2\u6570\uff0c\u5176\u5b83\u53c2\u6570\uff0c\u53ef\u4ee5\u5ffd\u7565\uff0c\u5982\u4e0b\u56fe\u6240\u793a HTTP \u793a\u4f8b\u8bf4\u660e \u00b6 POST /asr HTTP / 1.1 Content-Type : multipart/form-data; boundary=---011000010111000001101001 Host : ikuai.m-iot.tech:58150 Content-Length : 239 -----011000010111000001101001 Content-Disposition: form-data; name=\"file\" C:\\Users\\trphoenix\\Documents\\\u5f55\u97f3\\\u5f55\u97f3 (6).m4a -----011000010111000001101001 Content-Disposition: form-data; name=\"lang\" zh -----011000010111000001101001-- java \u793a\u4f8b \u00b6 // asynchttp AsyncHttpClient client = new DefaultAsyncHttpClient (); client . prepare ( \"POST\" , \"http://ikuai.m-iot.tech:58150/asr\" ) . setHeader ( \"content-type\" , \"multipart/form-data; boundary=---011000010111000001101001\" ) . setBody ( \"-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"file\\\"\\r\\n\\r\\nC:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\\r\\n-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"lang\\\"\\r\\n\\r\\nzh\\r\\n-----011000010111000001101001--\\r\\n\\r\\n\" ) . execute () . toCompletableFuture () . thenAccept ( System . out :: println ) . join (); client . close (); // nethttp HttpRequest request = HttpRequest . newBuilder () . uri ( URI . create ( \"http://ikuai.m-iot.tech:58150/asr\" )) . header ( \"content-type\" , \"multipart/form-data; boundary=---011000010111000001101001\" ) . method ( \"POST\" , HttpRequest . BodyPublishers . ofString ( \"-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"file\\\"\\r\\n\\r\\nC:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\\r\\n-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"lang\\\"\\r\\n\\r\\nzh\\r\\n-----011000010111000001101001--\\r\\n\\r\\n\" )) . build (); HttpResponse < String > response = HttpClient . newHttpClient (). send ( request , HttpResponse . BodyHandlers . ofString ()); System . out . println ( response . body ()); // okhttp OkHttpClient client = new OkHttpClient (); MediaType mediaType = MediaType . parse ( \"multipart/form-data; boundary=---011000010111000001101001\" ); RequestBody body = RequestBody . create ( mediaType , \"-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"file\\\"\\r\\n\\r\\nC:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\\r\\n-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"lang\\\"\\r\\n\\r\\nzh\\r\\n-----011000010111000001101001--\\r\\n\\r\\n\" ); Request request = new Request . Builder () . url ( \"http://ikuai.m-iot.tech:58150/asr\" ) . post ( body ) . addHeader ( \"content-type\" , \"multipart/form-data; boundary=---011000010111000001101001\" ) . build (); Response response = client . newCall ( request ). execute (); // unirest HttpResponse < String > response = Unirest . post ( \"http://ikuai.m-iot.tech:58150/asr\" ) . header ( \"content-type\" , \"multipart/form-data; boundary=---011000010111000001101001\" ) . body ( \"-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"file\\\"\\r\\n\\r\\nC:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\\r\\n-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"lang\\\"\\r\\n\\r\\nzh\\r\\n-----011000010111000001101001--\\r\\n\\r\\n\" ) . asString (); javascript \u793a\u4f8b \u00b6 //xhr const data = new FormData (); data . append ( 'file' , 'C:\\Users\\trphoenix\\Documents\\\u5f55\u97f3\\\u5f55\u97f3 (6).m4a' ); data . append ( 'lang' , 'zh' ); const xhr = new XMLHttpRequest (); xhr . withCredentials = true ; xhr . addEventListener ( 'readystatechange' , function () { if ( this . readyState === this . DONE ) { console . log ( this . responseText ); } }); xhr . open ( 'POST' , 'http://ikuai.m-iot.tech:58150/asr' ); xhr . send ( data ); // Axios import axios from 'axios' ; const form = new FormData (); form . append ( 'file' , 'C:\\Users\\trphoenix\\Documents\\\u5f55\u97f3\\\u5f55\u97f3 (6).m4a' ); form . append ( 'lang' , 'zh' ); const options = { method : 'POST' , url : 'http://ikuai.m-iot.tech:58150/asr' , headers : { 'content-type' : 'multipart/form-data; boundary=---011000010111000001101001' }, data : '[form]' }; try { const { data } = await axios . request ( options ); console . log ( data ); } catch ( error ) { console . error ( error ); } // fetch const url = 'http://ikuai.m-iot.tech:58150/asr' ; const form = new FormData (); form . append ( 'file' , 'C:\\Users\\trphoenix\\Documents\\\u5f55\u97f3\\\u5f55\u97f3 (6).m4a' ); form . append ( 'lang' , 'zh' ); const options = { method : 'POST' }; options . body = form ; try { const response = await fetch ( url , options ); const data = await response . json (); console . log ( data ); } catch ( error ) { console . error ( error ); } //jquery const form = new FormData (); form . append ( 'file' , 'C:\\Users\\trphoenix\\Documents\\\u5f55\u97f3\\\u5f55\u97f3 (6).m4a' ); form . append ( 'lang' , 'zh' ); const settings = { async : true , crossDomain : true , url : 'http://ikuai.m-iot.tech:58150/asr' , method : 'POST' , headers : {}, processData : false , contentType : false , mimeType : 'multipart/form-data' , data : form }; $ . ajax ( settings ). done ( function ( response ) { console . log ( response ); }); C# \u793a\u4f8b \u00b6 //httpclient using System.Net.Http.Headers ; var client = new HttpClient (); var request = new HttpRequestMessage { Method = HttpMethod . Post , RequestUri = new Uri ( \"http://ikuai.m-iot.tech:58150/asr\" ), Content = new MultipartFormDataContent { new StringContent ([ \"C:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\" ]) { Headers = { ContentDisposition = new ContentDispositionHeaderValue ( \"form-data\" ) { Name = \"file\" , FileName = \"C:\\Users\\trphoenix\\Documents\\\u5f55\u97f3\\\u5f55\u97f3 (6).m4a\" , } } }, new StringContent ( \"zh\" ) { Headers = { ContentDisposition = new ContentDispositionHeaderValue ( \"form-data\" ) { Name = \"lang\" , } } }, }, }; using ( var response = await client . SendAsync ( request )) { response . EnsureSuccessStatusCode (); var body = await response . Content . ReadAsStringAsync (); Console . WriteLine ( body ); } //Restsharp var client = new RestClient ( \"http://ikuai.m-iot.tech:58150/asr\" ); var request = new RestRequest ( \"\" , Method . Post ); request . AddHeader ( \"content-type\" , \"multipart/form-data; boundary=---011000010111000001101001\" ); request . AddParameter ( \"multipart/form-data; boundary=---011000010111000001101001\" , \"-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"file\\\"\\r\\n\\r\\nC:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\\r\\n-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"lang\\\"\\r\\n\\r\\nzh\\r\\n-----011000010111000001101001--\\r\\n\\r\\n\" , ParameterType . RequestBody ); var response = client . Execute ( request ); go \u793a\u4f8b \u00b6 package main import ( \"fmt\" \"strings\" \"net/http\" \"io\" ) func main () { url := \"http://ikuai.m-iot.tech:58150/asr\" payload := strings . NewReader ( \"-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"file\\\"\\r\\n\\r\\nC:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\\r\\n-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"lang\\\"\\r\\n\\r\\nzh\\r\\n-----011000010111000001101001--\\r\\n\\r\\n\" ) req , _ := http . NewRequest ( \"POST\" , url , payload ) req . Header . Add ( \"content-type\" , \"multipart/form-data; boundary=---011000010111000001101001\" ) res , _ := http . DefaultClient . Do ( req ) defer res . Body . Close () body , _ := io . ReadAll ( res . Body ) fmt . Println ( res ) fmt . Println ( string ( body )) } java \u793a\u4f8b \u00b6 // asynchttp AsyncHttpClient client = new DefaultAsyncHttpClient (); client . prepare ( \"POST\" , \"http://ikuai.m-iot.tech:58150/asr\" ) . setHeader ( \"content-type\" , \"multipart/form-data; boundary=---011000010111000001101001\" ) . setBody ( \"-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"file\\\"\\r\\n\\r\\nC:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\\r\\n-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"lang\\\"\\r\\n\\r\\nzh\\r\\n-----011000010111000001101001--\\r\\n\\r\\n\" ) . execute () . toCompletableFuture () . thenAccept ( System . out :: println ) . join (); client . close (); // nethttp HttpRequest request = HttpRequest . newBuilder () . uri ( URI . create ( \"http://ikuai.m-iot.tech:58150/asr\" )) . header ( \"content-type\" , \"multipart/form-data; boundary=---011000010111000001101001\" ) . method ( \"POST\" , HttpRequest . BodyPublishers . ofString ( \"-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"file\\\"\\r\\n\\r\\nC:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\\r\\n-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"lang\\\"\\r\\n\\r\\nzh\\r\\n-----011000010111000001101001--\\r\\n\\r\\n\" )) . build (); HttpResponse < String > response = HttpClient . newHttpClient (). send ( request , HttpResponse . BodyHandlers . ofString ()); System . out . println ( response . body ()); // okhttp OkHttpClient client = new OkHttpClient (); MediaType mediaType = MediaType . parse ( \"multipart/form-data; boundary=---011000010111000001101001\" ); RequestBody body = RequestBody . create ( mediaType , \"-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"file\\\"\\r\\n\\r\\nC:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\\r\\n-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"lang\\\"\\r\\n\\r\\nzh\\r\\n-----011000010111000001101001--\\r\\n\\r\\n\" ); Request request = new Request . Builder () . url ( \"http://ikuai.m-iot.tech:58150/asr\" ) . post ( body ) . addHeader ( \"content-type\" , \"multipart/form-data; boundary=---011000010111000001101001\" ) . build (); Response response = client . newCall ( request ). execute (); // unirest HttpResponse < String > response = Unirest . post ( \"http://ikuai.m-iot.tech:58150/asr\" ) . header ( \"content-type\" , \"multipart/form-data; boundary=---011000010111000001101001\" ) . body ( \"-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"file\\\"\\r\\n\\r\\nC:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\\r\\n-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"lang\\\"\\r\\n\\r\\nzh\\r\\n-----011000010111000001101001--\\r\\n\\r\\n\" ) . asString (); \u8fd4\u56de\u7ed3\u679c \u00b6 { \"result\" : \"\u5582\u8bed\u97f3\u6d4b\u8bd5\u8bed\u97f3\u6d4b\u8bd5\u5f55\u97f3\u6d4b\u8bd5\u5f55\u97f3\u6d4b\u8bd5\" , \"file_size\" : 185334 , \"wav_info\" : { \"n_channels\" : 1 , \"sample_width\" : 2 , \"framerate\" : 16000 , \"n_frames\" : 115029 , \"duration\" : 7.1893125 }, \"ffmpeg_log\" : \"\" } body { \"_overheadLength\" : 252 , \"_valueLength\" : 2 , \"_valuesToMeasure\" : [ { \"fd\" : null , \"path\" : \"C:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\" , \"flags\" : \"r\" , \"mode\" : 438 , \"end\" : null , \"bytesRead\" : 0 , \"_events\" : {}, \"_readableState\" : { \"highWaterMark\" : 65536 , \"buffer\" : [], \"bufferIndex\" : 0 , \"length\" : 0 , \"pipes\" : [], \"awaitDrainWriters\" : null }, \"_eventsCount\" : 3 } ], \"writable\" : false , \"readable\" : true , \"dataSize\" : 0 , \"maxDataSize\" : 2097152 , \"pauseStreams\" : true , \"_released\" : false , \"_streams\" : [ \"----------------------------147555471668548578107544\\r\\nContent-Disposition: form-data; name=\\\"file\\\"; filename=\\\"\u5f55\u97f3 (6).m4a\\\"\\r\\nContent-Type: wav\\r\\n\\r\\n\" , { \"source\" : \"[Circular]\" , \"dataSize\" : 0 , \"maxDataSize\" : null , \"pauseStream\" : true , \"_maxDataSizeExceeded\" : false , \"_released\" : false , \"_bufferedEvents\" : [ { \"0\" : \"pause\" } ], \"_events\" : {}, \"_eventsCount\" : 1 }, null , \"----------------------------147555471668548578107544\\r\\nContent-Disposition: form-data; name=\\\"lang\\\"\\r\\n\\r\\n\" , \"zh\" , null ], \"_currentStream\" : null , \"_insideLoop\" : false , \"_pendingNext\" : false , \"_boundary\" : \"--------------------------147555471668548578107544\" } ***Network Logs *** Preparing request to http://ikuai.m-iot.tech:58150/asr Current time is 2025-09-21T08:22:20.590Z POST http://ikuai.m-iot.tech:58150/asr Accept: application/json, text/plain, */* Content-Type: multipart/form-data; boundary=--------------------------147555471668548578107544 User-Agent: bruno-runtime/2.3.0 { \"_overheadLength\": 252, \"_valueLength\": 2, \"_valuesToMeasure\": [ { \"fd\": null, \"path\": \"C:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\", \"flags\": \"r\", \"mode\": 438, \"end\": null, \"bytesRead\": 0, \"_events\": {}, \"_readableState\": { \"highWaterMark\": 65536, \"buffer\": [], \"bufferIndex\": 0, \"length\": 0, \"pipes\": [], \"awaitDrainWriters\": null }, \"_eventsCount\": 3 } ], \"writable\": false, \"readable\": true, \"dataSize\": 0, \"maxDataSize\": 2097152, \"pauseStreams\": true, \"_released\": false, \"_streams\": [ \"----------------------------147555471668548578107544\\r\\nContent-Disposition: form-data; name=\\\"file\\\"; filename=\\\"\u5f55\u97f3 (6).m4a\\\"\\r\\nContent-Type: wav\\r\\n\\r\\n\", { \"source\": { \"fd\": null, \"path\": \"C:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\", \"flags\": \"r\", \"mode\": 438, \"end\": null, \"bytesRead\": 0, \"_events\": {}, \"_readableState\": { \"highWaterMark\": 65536, \"buffer\": [], \"bufferIndex\": 0, \"length\": 0, \"pipes\": [], \"awaitDrainWriters\": null }, \"_eventsCount\": 3 }, \"dataSize\": 0, \"maxDataSize\": null, \"pauseStream\": true, \"_maxDataSizeExceeded\": false, \"_released\": false, \"_bufferedEvents\": [ { \"0\": \"pause\" } ], \"_events\": {}, \"_eventsCount\": 1 }, null, \"----------------------------147555471668548578107544\\r\\nContent-Disposition: form-data; name=\\\"lang\\\"\\r\\n\\r\\n\", \"zh\", null ], \"_currentStream\": null, \"_insideLoop\": false, \"_pendingNext\": false, \"_boundary\": \"--------------------------147555471668548578107544\" } SSL validation: enabled HTTP/1.1 200 OK date: Sun, 21 Sep 2025 08:22:21 GMT server: uvicorn content-length: 201 content-type: application/json request-duration: 6989 Request completed in 6989 ms \u6d4f\u89c8\u5668\u5f55\u97f3\u8bc6\u522b\u793a\u4f8b \u00b6 \u8bf4\u660e paddlespeech\u4e2d\u7528\u7684\u4e00\u4e2a\u5e93\u6709\u53ef\u80fd\u662f\u5355\u7ebf\u7a0b\u7684\uff0c\u6240\u4ee5\u5728\u9ad8\u5e76\u53d1\u573a\u666f\u4e0b\uff0c\u53ef\u80fd\u4f1a\u51fa\u73b0\u54cd\u5e94\u53d8\u6162\u7684\u60c5\u51b5\uff0c\u8fd9\u4e2a\u65f6\u5019\uff0c\u53ef\u4ee5\u8003\u8651\u589e\u52a0\u5b9e\u4f8b\u6765\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\u3002 \u5b9e\u9645\u4f7f\u7528\u65f6,\u5982\u679c\u60f3\u63d0\u9ad8\u5e76\u53d1\u80fd\u529b\uff0c\u53ef\u4ee5\u5c1d\u8bd5\u66f4\u6539\u73af\u5883\u53d8\u91cf\u4e2d\u7684PYTHONUNBUFFFERED=4,\u6216\u66f4\u9ad8\u4e00\u4e2a\u9002\u5408\u7684\u6570\u5b57\uff0c\u6765\u63d0\u9ad8\u5e76\u53d1\u80fd\u529b\u3002 \u300a\u5b8c\u300b","title":"\u8bed\u97f3\u5408\u6210\u4e0e\u8bc6\u522b\u670d\u52a1Docker-\u90e8\u7f72\u8bf4\u660e"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#docker-","text":"pre, code { white-space: pre-wrap; word-break: break-all; }","title":"\u8bed\u97f3\u5408\u6210\u4e0e\u8bc6\u522b\u670d\u52a1Docker-\u90e8\u7f72\u8bf4\u660e"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#_1","text":"\u8bed\u97f3\u5408\u6210\u4e0e\u8bc6\u522b\u670d\u52a1\uff08\u4ee5\u4e0b\u7b80\u79f0\u201c\u670d\u52a1\u201d\uff09\u63d0\u4f9b\u9ad8\u8d28\u91cf\u7684\u6587\u672c\u8f6c\u8bed\u97f3\uff08TTS\uff09\u548c\u8bed\u97f3\u8f6c\u6587\u672c\uff08ASR\uff09\u529f\u80fd\u3002\u4e3a\u4e86\u65b9\u4fbf\u7528\u6237\u5feb\u901f\u90e8\u7f72\u548c\u4f7f\u7528\u8be5\u670d\u52a1\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u57fa\u4e8eDocker\u7684\u90e8\u7f72\u65b9\u6848\u3002\u672c\u6587\u6863\u5c06\u8be6\u7ec6\u4ecb\u7ecd\u5982\u4f55\u4f7f\u7528Docker\u90e8\u7f72\u8be5\u670d\u52a1\u3002 \u672c\u6587\u63d0\u4f9b\u7684\u8bed\u97f3\u5408\u6210\u4e0e\u8bc6\u522b\u670d\u52a1\uff0c\u662f\u57fa\u4e8epaddlespeech\u5f00\u53d1\u7684TTS\u548cASR\u670d\u52a1(\u7eafCPU\u670d\u52a1)\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7Docker\u5feb\u901f\u90e8\u7f72\u5e76\u4f7f\u7528\u8be5\u670d\u52a1\u3002","title":"\u4e00\u3001\u7b80\u4ecb"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#_2","text":"\u5728\u5f00\u59cb\u90e8\u7f72\u4e4b\u524d\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u73af\u5883\u6ee1\u8db3\u4ee5\u4e0b\u8981\u6c42\uff1a 1. \u5df2\u5b89\u88c5Docker\u548cDocker Compose\u3002 2. \u5177\u5907\u4e00\u5b9a\u7684Linux\u547d\u4ee4\u884c\u64cd\u4f5c\u57fa\u7840\u3002 3. \u786e\u4fdd\u60a8\u7684\u670d\u52a1\u5668\u5177\u5907\u8db3\u591f\u7684\u8ba1\u7b97\u8d44\u6e90\uff08CPU\u3001\u5185\u5b58\u3001GPU\u7b49\uff09\u3002","title":"\u4e8c\u3001\u73af\u5883\u51c6\u5907"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#docker","text":"\u6211\u4eec\u63d0\u4f9b\u4e86\u9884\u6784\u5efa\u7684Docker\u955c\u50cf\uff0c\u5730\u5740\u4f4d\u4e8e\u4e03\u725b\u4e91\uff0c \u4e0b\u8f7d\u5730\u5740 \u4e3a\uff1a https://datacdn.data-it.tech/HomeAssistant/dokerimages/paddlespeech1.1/paddlespeech.tar","title":"\u4e09\u3001\u83b7\u53d6Docker\u955c\u50cf"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#_3","text":"","title":"\u56db\u3001\u5728\u7ebf\u90e8\u7f72\u6b65\u9aa4"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#_4","text":"curl -fsSL https://datacdn.data-it.tech/HomeAssistant/dokerimages/paddlespeech1.1/install-paddlespeech.sh | sudo bash","title":"\u6267\u884c\u4e00\u952e\u5b89\u88c5\u811a\u672c"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#_5","text":"","title":"\u5982\u4e0b\u56fe\u6240\u793a:"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#_6","text":"\u4f7f\u7528TTS\u6216asr\u670d\u52a1\uff0c\u9996\u6b21\u8fd0\u884c\u4f1a\u81ea\u52a8\u4e0b\u8f7d\u6a21\u578b\u6587\u4ef6\uff0c\u6a21\u578b\u6587\u4ef6\u8f83\u5927, \u4e0b\u8f7d\u8fc7\u7a0b\u7ea6\u970010\u5206\u949f \uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\u3002","title":"\u9996\u6b21\u8fd0\u884c"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#_7","text":"\u6211\u4eec\u53ef\u4ee5\u5982\u7528\u4e0b\u547d\u4ee4\u5b9e\u65f6\u67e5\u770b\u8fd0\u884c\u65e5\u5fd7: docker logs -f paddlespeech TTS\u6a21\u578b\u9996\u6b21\u4f7f\u7528\u65f6\u4f8d\u81ea\u52a8\u4ece\u7f51\u7edc\u4e0b\u8f7d\u7ea62G\u7684\u6a21\u578b\u6587\u4ef6\uff0c\u4e0b\u8f7d\u5b8c\u6210\u540e\u4f1a\u81ea\u52a8\u542f\u52a8\u670d\u52a1\u3002\u540e\u7eed\u518d\u6b21\u4f7f\u7528\u65f6\uff0c\u4e0d\u4f1a\u91cd\u590d\u4e0b\u8f7d\u6a21\u578b\u6587\u4ef6\u3002 Asr\u6a21\u578b\u9996\u6b21\u4f7f\u7528\u65f6\u4f8d\u81ea\u52a8\u4ece\u7f51\u7edc\u4e0b\u8f7d\u7ea61G\u7684\u6a21\u578b\u6587\u4ef6\uff0c\u4e0b\u8f7d\u5b8c\u6210\u540e\u4f1a\u81ea\u52a8\u542f\u52a8\u670d\u52a1\u3002\u540e\u7eed\u518d\u6b21\u4f7f\u7528\u65f6\uff0c\u4e0d\u4f1a\u91cd\u590d\u4e0b\u8f7d\u6a21\u578b\u6587\u4ef6\u3002","title":"\u5982\u4e0b\u6240\u793a"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#_8","text":"","title":"\u4e94\u3001\u79bb\u7ebf\u90e8\u7f72\u6b65\u9aa4"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#_9","text":"Docker\u955c\u50cf\u6587\u4ef6: \u4e0b\u8f7d\u5730\u5740 \u6570\u636e\u5377\u6587\u4ef6: \u4ee5\u4e0b\u6587\u4ef6\u8981\u4e0b\u8f7d\u5e76\u590d\u5236\u5230\u76ee\u6807\u673a\u5668\u4e34\u65f6\u8ba4\u7f6e\u7684\u76ee\u5f55,\u4e0einstall-paddlespeech-localh.sh\u6240\u5728\u76ee\u5f55\u540c\u7ea7\u7684\u5b50\u76ee\u5f55data\u76ee\u5f55\u4e0b home_dtuser_opt_paddlespeech_data_logs.tar.gz home_dtuser_opt_paddlespeech_data_nltk_data.tar.gz home_dtuser_opt_paddlespeech_data_output.tar.gz home_dtuser_opt_paddlespeech_data_paddlenlp_models.tar.gz home_dtuser_opt_paddlespeech_data_paddlespeech_models.tar.gz \u79bb\u7ebf\u5b89\u88c5\u811a\u672c: \u4e0b\u8f7d\u5730\u5740 \u6d4b\u8bd5\u6f14\u793a\u4f7f\u7528\u7f51\u9875: \u4e0b\u8f7d\u5730\u5740 \u79bb\u7ebf\u5b89\u88c5\u5305\u5206\u4e24\u90e8\u4efd\uff0c\u4e00\u90e8\u4efd\u662f\u5bb9\u5668\u955c\u50cf\uff0c\u4e00\u90e8\u4efd\u662f\u6570\u636e\u5377\u6587\u4ef6\uff0c\u5b89\u88c5\u542f\u52a8\u5bb9\u5668\u524d\u5148\u66ff\u6362\u5bf9\u636e\u5377\u7ed1\u5b9a\u7684\u76ee\u5f55\uff0c\u8fd9\u6837\u5bb9\u5668\u542f\u52a8\u540e\u65e0\u987b\u4e0b\u8f7d\u6a21\u578b\uff0c\u53ef\u4ee5\u5728\u65e0\u4e92\u8054\u7f51\u7684\u60c5\u51b5\u4e0b\u76f4\u63a5\u4f7f\u7528","title":"\u79bb\u7ebf\u90e8\u7f72\u7684\u76f8\u5173\u6587\u4ef6\u4e0b\u8f7d\u5730\u5740"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#1-docker","text":"\u5982\u4e0b\u793a\u4f8b\uff0c\u6211\u4eec\u5c06\u6587\u4ef6\u653e\u5230\u7528\u6237\u76ee\u5f55\u7684down\u4e0b,\u8bf7\u4fdd\u6301\u76f8\u5e94\u7684\u76ee\u5f55\u7ed3\u6784\uff0c\u5982\u4e0b\u6240\u793a\uff1a tst@tst-VMware-Virtual-Platform:~/down$ pwd /home/tst/down tst@tst-VMware-Virtual-Platform:~/down$ ls data install-paddlespeech-localh.sh tst@tst-VMware-Virtual-Platform:~/down$ tree . \u251c\u2500\u2500 data \u2502 \u251c\u2500\u2500 home_dtuser_opt_paddlespeech_data_logs.tar.gz \u2502 \u251c\u2500\u2500 home_dtuser_opt_paddlespeech_data_nltk_data.tar.gz \u2502 \u251c\u2500\u2500 home_dtuser_opt_paddlespeech_data_output.tar.gz \u2502 \u251c\u2500\u2500 home_dtuser_opt_paddlespeech_data_paddlenlp_models.tar.gz \u2502 \u2514\u2500\u2500 home_dtuser_opt_paddlespeech_data_paddlespeech_models.tar.gz \u251c\u2500\u2500 home_dtuser_opt_paddlespeech_data_paddlespeech_models.tar.gz \u2514\u2500\u2500 install-paddlespeech-localh.sh 2 directories, 7 files","title":"1. \u4e0b\u8f7dDocker\u955c\u50cf\u4e0e\u6570\u636e\u5377\u6587\u4ef6"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#2","text":"chmod +x install-paddlespeech-localh.sh","title":"2. \u7ed9\u8fd0\u884c\u811a\u672c\u6dfb\u52a0\u6267\u884c\u6743\u9650"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#3","text":"sudo ./install-paddlespeech-localh.sh \u6309\u88c5\u811a\u672c\u5c06\u4f1a\u5148\u89e3\u538b\u6587\u4ef6\uff0c\u5e76\u52a0\u8f7ddocker\u955c\u50cf\uff0c\u7136\u540e\u542f\u52a8\u5bb9\u5668\uff0c\u542f\u52a8\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u4f7f\u7528docker ps\u547d\u4ee4\u67e5\u770b\u8fd0\u884c\u72b6\u6001\uff0c\u5982\u4e0b\u6240\u793a\uff1a tst@tst-VMware-Virtual-Platform:~/down$ sudo ./install-paddlespeech-localh.sh [ INFO ] \u5f00\u59cb PaddleSpeech \u79bb\u7ebf\u5b89\u88c5... [ SUCCESS ] \u78c1\u76d8\u7a7a\u95f4\u68c0\u67e5\u901a\u8fc7\uff0855GB\uff09 [ INFO ] \u68c0\u6d4b\u7f51\u7edc\u8fde\u63a5... [ SUCCESS ] \u7f51\u7edc\u8fde\u63a5\u6b63\u5e38 [ INFO ] \u521b\u5efa\u76ee\u5f55\u7ed3\u6784... [ SUCCESS ] \u76ee\u5f55\u7ed3\u6784\u521b\u5efa\u5b8c\u6210 [ INFO ] \u89e3\u538b\u6570\u636e\u5377... [ INFO ] \u6b63\u5728\u89e3\u538b: /home/tst/down/data/home_dtuser_opt_paddlespeech_data_logs.tar.gz \u5230 /dt_opt/paddlespeech/data/logs ./ [ INFO ] \u6b63\u5728\u89e3\u538b: /home/tst/down/data/home_dtuser_opt_paddlespeech_data_nltk_data.tar.gz \u5230 /dt_opt/paddlespeech/data/nltk_data ./ ./taggers/ ./taggers/averaged_perceptron_tagger/ ./taggers/averaged_perceptron_tagger/averaged_perceptron_tagger.pickle ./taggers/averaged_perceptron_tagger.zip ./corpora/ ./corpora/cmudict/ ./corpora/cmudict/cmudict ./corpora/cmudict/README ./corpora/cmudict.zip [ INFO ] \u6b63\u5728\u89e3\u538b: /home/tst/down/data/home_dtuser_opt_paddlespeech_data_output.tar.gz \u5230 /dt_opt/paddlespeech/data/output ./ ./2753d658-b228-4ae6-94fc-3404a41f4526.wav ./9f24d71e-9f29-4d60-aa13-677fd19bba46.wav ./38ea94c6-e19b-4e41-8cca-454d8e374a15.wav ./d44aa891-c36b-473f-aef3-44484f0cd74b.wav ./c5ef53d3-502b-4f81-9fdd-583836ba7096.wav ./3931cd47-e022-4385-b588-4a61e64e5eed.wav ./1d213380-eee6-43ba-88db-99ba9b5609df.wav ./c85f65de-a4c1-43aa-a251-52ce4e9df271.wav ./7cd5fc65-665b-444c-9c9f-41f1ce8036f8.wav ./f74dbda7-1cf8-4056-bd30-523b74af8b0e.wav [ INFO ] \u6b63\u5728\u89e3\u538b: /home/tst/down/data/home_dtuser_opt_paddlespeech_data_paddlenlp_models.tar.gz \u5230 /dt_opt/paddlespeech/data/paddlenlp_models ./ ./packages/ ./models/ ./models/bert-base-chinese/ ./models/bert-base-chinese/bert-base-chinese-vocab.txt ./models/bert-base-chinese/tokenizer_config.json ./models/bert-base-chinese/vocab.txt ./models/bert-base-chinese/special_tokens_map.json ./models/embeddings/ ./models/.locks/ ./models/.locks/bert-base-chinese/ ./datasets/ [ INFO ] \u6b63\u5728\u89e3\u538b: /home/tst/down/data/home_dtuser_opt_paddlespeech_data_paddlespeech_models.tar.gz \u5230 /dt_opt/paddlespeech/data/paddlespeech_models ./ ./conf/ ./conf/cache.yaml ./models/ ./models/G2PWModel_1.1/ ./models/G2PWModel_1.1/config.py ./models/G2PWModel_1.1/MONOPHONIC_CHARS.txt ./models/G2PWModel_1.1/__pycache__/ ./models/G2PWModel_1.1/__pycache__/config.cpython-39.pyc ./models/G2PWModel_1.1/__pycache__/config.cpython-310.pyc ./models/G2PWModel_1.1/record.log ./models/G2PWModel_1.1/bopomofo_to_pinyin_wo_tune_dict.json ./models/G2PWModel_1.1/POLYPHONIC_CHARS.txt ./models/G2PWModel_1.1/char_bopomofo_dict.json ./models/G2PWModel_1.1/g2pW.onnx ./models/G2PWModel_1.1/version ./models/G2PWModel_1.1.zip ./models/conformer_wenetspeech-zh-16k/ ./models/conformer_wenetspeech-zh-16k/1.0/ ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/ ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/conf/ ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/conf/preprocess.yaml ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/conf/tuning/ ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/conf/tuning/decode.yaml ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/conf/conformer.yaml ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/conf/conformer_infer.yaml ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/data/ ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/data/lang_char/ ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/data/lang_char/vocab.txt ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/data/mean_std.json ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/model.yaml ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/exp/ ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/exp/conformer/ ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/exp/conformer/checkpoints/ ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/exp/conformer/checkpoints/wenetspeech.pdparams ./models/conformer_wenetspeech-zh-16k/1.0/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar.gz ./models/fastspeech2_csmsc-zh/ ./models/fastspeech2_csmsc-zh/1.0/ ./models/fastspeech2_csmsc-zh/1.0/fastspeech2_nosil_baker_ckpt_0.4.zip ./models/fastspeech2_csmsc-zh/1.0/fastspeech2_nosil_baker_ckpt_0.4/ ./models/fastspeech2_csmsc-zh/1.0/fastspeech2_nosil_baker_ckpt_0.4/snapshot_iter_76000.pdz ./models/fastspeech2_csmsc-zh/1.0/fastspeech2_nosil_baker_ckpt_0.4/phone_id_map.txt ./models/fastspeech2_csmsc-zh/1.0/fastspeech2_nosil_baker_ckpt_0.4/default.yaml ./models/fastspeech2_csmsc-zh/1.0/fastspeech2_nosil_baker_ckpt_0.4/speech_stats.npy ./models/fastspeech2_csmsc-zh/1.0/fastspeech2_nosil_baker_ckpt_0.4/pitch_stats.npy ./models/fastspeech2_csmsc-zh/1.0/fastspeech2_nosil_baker_ckpt_0.4/energy_stats.npy ./models/hifigan_csmsc-zh/ ./models/hifigan_csmsc-zh/1.0/ ./models/hifigan_csmsc-zh/1.0/hifigan_csmsc_ckpt_0.1.1.zip ./models/hifigan_csmsc-zh/1.0/hifigan_csmsc_ckpt_0.1.1/ ./models/hifigan_csmsc-zh/1.0/hifigan_csmsc_ckpt_0.1.1/default.yaml ./models/hifigan_csmsc-zh/1.0/hifigan_csmsc_ckpt_0.1.1/snapshot_iter_2500000.pdz ./models/hifigan_csmsc-zh/1.0/hifigan_csmsc_ckpt_0.1.1/feats_stats.npy ./datasets/ [ SUCCESS ] \u6570\u636e\u5377\u89e3\u538b\u5b8c\u6210 [ INFO ] \u89e3\u538b\u955c\u50cf\u5305... [ SUCCESS ] \u955c\u50cf\u5305\u5df2\u79fb\u52a8\u5230 /dt_opt/paddlespeech/images [ INFO ] \u52a0\u8f7dDocker\u955c\u50cf... daf557c4f08e: Loading layer [================================================== > ] 81 .04MB/81.04MB d593918d433d: Loading layer [================================================== > ] 4 .123MB/4.123MB 7c4cff21e743: Loading layer [================================================== > ] 41 .36MB/41.36MB 25f6bb353e99: Loading layer [================================================== > ] 5 .12kB/5.12kB bc3a46414f17: Loading layer [================================================== > ] 1 .536kB/1.536kB 8fc7185920f1: Loading layer [================================================== > ] 3 .584kB/3.584kB bac2a7f893df: Loading layer [================================================== > ] 847MB/847MB 092bab498a3d: Loading layer [================================================== > ] 13 .31MB/13.31MB 19db93cce63e: Loading layer [================================================== > ] 2 .56kB/2.56kB 2fc7499dded4: Loading layer [================================================== > ] 3 .042GB/3.042GB 7da6b60d7eb7: Loading layer [================================================== > ] 2 .53MB/2.53MB 057242764992 : Loading layer [================================================== > ] 8 .704kB/8.704kB 9a996f3d539d: Loading layer [================================================== > ] 3 .072kB/3.072kB 4cdf0570391d: Loading layer [================================================== > ] 104 .2MB/104.2MB Loaded image: dt_iot/paddlespeech:latest [ SUCCESS ] \u955c\u50cf\u52a0\u8f7d\u6210\u529f [ INFO ] \u751f\u6210docker-compose.yaml... [ SUCCESS ] docker-compose.yaml\u521b\u5efa\u5b8c\u6210 [ INFO ] \u542f\u52a8\u5bb9\u5668... [ + ] Running 2 /2 \u2714 Network dtnet Created 0 .5s \u2714 Container paddlespeech Started 4 .6s [ SUCCESS ] \u5bb9\u5668\u542f\u52a8\u6210\u529f [ SUCCESS ] PaddleSpeech \u79bb\u7ebf\u5b89\u88c5\u5b8c\u6210\uff01","title":"3. \u6267\u884c\u5b89\u88c5\u811a\u672c"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#4","text":"docker ps","title":"4. \u67e5\u770b\u5bb9\u5668\u8fd0\u884c\u72b6\u6001"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#5","text":"docker logs -f paddlespeech","title":"5. \u5b9e\u65f6\u67e5\u770b\u5bb9\u5668\u65e5\u5fd7"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#6","text":"\u8fdb\u5165\u5bb9\u5668\u5668\u7684\u90e8\u7f72\u76ee\u5f55\uff1a /dt_opt/paddlespeech docker ps up -d # \u542f\u52a8\u5bb9\u5668 docker ps down # \u505c\u6b62\u5bb9\u5668 docker ps restart # \u91cd\u542f\u5bb9\u5668 docker ps logs -f paddlespeech # \u5b9e\u65f6\u67e5\u770b\u65e5\u5fd7 docker ps exec -it paddlespeech /bin/bash # \u8fdb\u5165\u5bb9\u5668 docker ps rm -f paddlespeech # \u5220\u9664\u5bb9\u5668 docker rmi dt_iot/paddlespeech:latest # \u5220\u9664\u955c\u50cf docker volume rm paddlespeech_data # \u5220\u9664\u6570\u636e\u5377 docker network rm dtnet # \u5220\u9664\u7f51\u7edc docker system prune -a # \u6e05\u7406\u65e0\u7528\u7684\u955c\u50cf\u3001\u5bb9\u5668\u3001\u6570\u636e\u5377\u3001\u7f51\u7edc\u7b49 \u4ee5\u4e0a\u662f\u5e38\u7528\u547d\u4ee4\uff0c\u4f7f\u7528\u65f6\u6839\u636e\u9700\u8981\u7075\u6d3b\u4f7f\u7528\u3002","title":"6. \u7ba1\u7406\u5bb9\u5668"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#7","text":"\u627e\u5230\u6587\u4ef6 /dt_opt/paddlespeech/docker-compose.yaml \u4fee\u6539\u5bf9\u5e94\u7684\u7aef\u53e3\u53f7\uff0c\u5982\u4e0b\u6240\u793a\uff1a \u66f4\u6539\u7b2c\u4e00\u4e2a\u7aef\u53e3\u4e3a\u9700\u8981\u7684\u7aef\u53e3\u53f7\u5373\u53ef\uff0c\u5982\u4e0b\u6240\u793a: docker-compse down sudo nano ./docker-compose.yaml # \u4fee\u6539\u5bf9\u5e94\u7684\u7aef\u53e3\u53f7\uff0c\u7b2c6\u884c # - \"8001:8001\" # \u4fdd\u5b58\u9000\u51fa\uff0c\u91cd\u542f\u5bb9\u5668\u5373\u53ef\u751f\u6548 docker-compose up -d","title":"7. \u8c03\u6574\u7aef\u53e3"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#_10","text":"\u4e3a\u4e86\u65b9\u4fbf\u7684\u6f14\u793a\u5982\u4f55\u8c03\u7528\u8fd9\u4e2aapi\uff0c\u6211\u4eec\u63d0\u4f9b\u4e86\u4e00\u4e2a\u6d4b\u8bd5\u7f51\u9875, \u4e0b\u8f7d\u5730\u5740 \u4e3a: https://datacdn.data-it.tech/HomeAssistant/dokerimages/paddlespeech1.1/tts_demo.zip","title":"\u516d\u3001\u4f7f\u7528\u8bf4\u660e"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#1-tts","text":"","title":"1. \u8bed\u97f3\u5408\u6210\uff08TTS\uff09\u670d\u52a1"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#curl","text":"curl --request POST \\ --url http://ikuai.m-iot.tech:58150/tts \\ --header 'content-type: application/x-www-form-urlencoded' \\ --data 'text=\u8bf7\u5f20\u4e09\u5230\u4e00\u5ba4\u505a\u68c0\u67e5' \\ --data lang=zh \\ --data spk_id=0","title":"curl\u793a\u4f8b"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#htttp-api","text":"POST /tts HTTP / 1.1 Content-Type : application/x-www-form-urlencoded Host : ikuai.m-iot.tech:58150 Content-Length : 103 text = %E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5 & lang = zh & spk_id = 0","title":"HTTTP API\u8bf4\u660e"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#java","text":"//asynchttp AsyncHttpClient client = new DefaultAsyncHttpClient (); client . prepare ( \"POST\" , \"http://ikuai.m-iot.tech:58150/tts\" ) . setHeader ( \"content-type\" , \"application/x-www-form-urlencoded\" ) . setBody ( \"text=%E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5&lang=zh&spk_id=0\" ) . execute () . toCompletableFuture () . thenAccept ( System . out :: println ) . join (); client . close (); //nethttp HttpRequest request = HttpRequest . newBuilder () . uri ( URI . create ( \"http://ikuai.m-iot.tech:58150/tts\" )) . header ( \"content-type\" , \"application/x-www-form-urlencoded\" ) . method ( \"POST\" , HttpRequest . BodyPublishers . ofString ( \"text=%E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5&lang=zh&spk_id=0\" )) . build (); HttpResponse < String > response = HttpClient . newHttpClient (). send ( request , HttpResponse . BodyHandlers . ofString ()); System . out . println ( response . body ()); //okhttp OkHttpClient client = new OkHttpClient (); MediaType mediaType = MediaType . parse ( \"application/x-www-form-urlencoded\" ); RequestBody body = RequestBody . create ( mediaType , \"text=%E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5&lang=zh&spk_id=0\" ); Request request = new Request . Builder () . url ( \"http://ikuai.m-iot.tech:58150/tts\" ) . post ( body ) . addHeader ( \"content-type\" , \"application/x-www-form-urlencoded\" ) . build (); Response response = client . newCall ( request ). execute (); //unirest HttpResponse < String > response = Unirest . post ( \"http://ikuai.m-iot.tech:58150/tts\" ) . header ( \"content-type\" , \"application/x-www-form-urlencoded\" ) . body ( \"text=%E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5&lang=zh&spk_id=0\" ) . asString ();","title":"Java \u793a\u4f8b"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#javascript","text":"//Xhr const data = 'text=%E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5&lang=zh&spk_id=0' ; const xhr = new XMLHttpRequest (); xhr . withCredentials = true ; xhr . addEventListener ( 'readystatechange' , function () { if ( this . readyState === this . DONE ) { console . log ( this . responseText ); } }); xhr . open ( 'POST' , 'http://ikuai.m-iot.tech:58150/tts' ); xhr . setRequestHeader ( 'content-type' , 'application/x-www-form-urlencoded' ); xhr . send ( data ); //Axios import axios from 'axios' ; const encodedParams = new URLSearchParams (); encodedParams . set ( 'text' , '\u8bf7\u5f20\u4e09\u5230\u4e00\u5ba4\u505a\u68c0\u67e5' ); encodedParams . set ( 'lang' , 'zh' ); encodedParams . set ( 'spk_id' , '0' ); const options = { method : 'POST' , url : 'http://ikuai.m-iot.tech:58150/tts' , headers : { 'content-type' : 'application/x-www-form-urlencoded' }, data : encodedParams , }; try { const { data } = await axios . request ( options ); console . log ( data ); } catch ( error ) { console . error ( error ); } //Fetch const url = 'http://ikuai.m-iot.tech:58150/tts' ; const options = { method : 'POST' , headers : { 'content-type' : 'application/x-www-form-urlencoded' }, body : new URLSearchParams ({ text : '\u8bf7\u5f20\u4e09\u5230\u4e00\u5ba4\u505a\u68c0\u67e5' , lang : 'zh' , spk_id : '0' }) }; try { const response = await fetch ( url , options ); const data = await response . json (); console . log ( data ); } catch ( error ) { console . error ( error ); } //JQuery const settings = { async : true , crossDomain : true , url : 'http://ikuai.m-iot.tech:58150/tts' , method : 'POST' , headers : { 'content-type' : 'application/x-www-form-urlencoded' }, data : { text : '\u8bf7\u5f20\u4e09\u5230\u4e00\u5ba4\u505a\u68c0\u67e5' , lang : 'zh' , spk_id : '0' } }; $ . ajax ( settings ). done ( function ( response ) { console . log ( response ); });","title":"javaScript \u793a\u4f8b"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#c","text":"//httpclient using System.Net.Http.Headers ; var client = new HttpClient (); var request = new HttpRequestMessage { Method = HttpMethod . Post , RequestUri = new Uri ( \"http://ikuai.m-iot.tech:58150/tts\" ), Content = new FormUrlEncodedContent ( new Dictionary < string , string > { { \"text\" , \"\u8bf7\u5f20\u4e09\u5230\u4e00\u5ba4\u505a\u68c0\u67e5\" }, { \"lang\" , \"zh\" }, { \"spk_id\" , \"0\" }, }), }; using ( var response = await client . SendAsync ( request )) { response . EnsureSuccessStatusCode (); var body = await response . Content . ReadAsStringAsync (); Console . WriteLine ( body ); } //restsharp var client = new RestClient ( \"http://ikuai.m-iot.tech:58150/tts\" ); var request = new RestRequest ( \"\" , Method . Post ); request . AddHeader ( \"content-type\" , \"application/x-www-form-urlencoded\" ); request . AddParameter ( \"application/x-www-form-urlencoded\" , \"text=%E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5&lang=zh&spk_id=0\" , ParameterType . RequestBody ); var response = client . Execute ( request );","title":"C# \u793a\u4f8b"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#go","text":"package main import ( \"fmt\" \"strings\" \"net/http\" \"io\" ) func main () { url := \"http://ikuai.m-iot.tech:58150/tts\" payload := strings . NewReader ( \"text=%E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5&lang=zh&spk_id=0\" ) req , _ := http . NewRequest ( \"POST\" , url , payload ) req . Header . Add ( \"content-type\" , \"application/x-www-form-urlencoded\" ) res , _ := http . DefaultClient . Do ( req ) defer res . Body . Close () body , _ := io . ReadAll ( res . Body ) fmt . Println ( res ) fmt . Println ( string ( body )) }","title":"go \u793a\u4f8b"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#_11","text":"Preparing request to http://ikuai.m-iot.tech:58150/tts Current time is 2025-09-21T07:49:17.236Z POST http://ikuai.m-iot.tech:58150/tts Accept: application/json, text/plain, */* Content-Type: application/x-www-form-urlencoded User-Agent: bruno-runtime/2.3.0 text=%E8%AF%B7%E5%BC%A0%E4%B8%89%E5%88%B0%E4%B8%80%E5%AE%A4%E5%81%9A%E6%A3%80%E6%9F%A5&lang=zh&spk_id=0 SSL validation: enabled HTTP/1.1 200 OK date: Sun, 21 Sep 2025 07:49:18 GMT server: uvicorn content-type: audio/wav content-disposition: attachment; filename=\"7b41c15b-e0a4-4ba5-aeb1-ceff058c90e6.wav\" content-length: 89444 last-modified: Sun, 21 Sep 2025 07:49:20 GMT etag: d85eaa2cadf7182ac9b54763e6a97e2c request-duration: 2224 Request completed in 2224 ms","title":"\u8fd4\u56de\u7ed3\u679c"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#2-asr","text":"","title":"2. \u8bed\u97f3\u8bc6\u522b\uff08ASR\uff09\u670d\u52a1"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#_12","text":"","title":"\u4e0a\u4f20\u6587\u4ef6\u8c03\u7528\u793a\u4f8b"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#curl_1","text":"curl --request POST \\ --url http://ikuai.m-iot.tech:58150/asr \\ --header 'content-type: multipart/form-data' \\ --form 'file=@C:\\Users\\trphoenix\\Documents\\\u5f55\u97f3\\\u5f55\u97f3 (6).m4a' \\ --form lang=zh \\ --form format=wav \\ --form sample_rate=16000 \u76f4\u63a5\u4e0a\u4f20\u6587\u4ef6\uff0c\u6587\u4ef6\u683c\u5f0f\u652f\u6301wav\u3001m4a\u3001mp3\u7b49\u5e38\u89c1\u97f3\u9891\u683c\u5f0f\uff0c\u670d\u52a1\u7aef\u4f1a\u81ea\u52a8\u8f6c\u6362\u4e3awav\u683c\u5f0f\u8fdb\u884c\u8bc6\u522b\u3002 curl --request POST \\ --url http://ikuai.m-iot.tech:58150/asr \\ --header 'content-type: multipart/form-data' \\ --form 'file=@C:\\Users\\trphoenix\\Documents\\\u5f55\u97f3\\\u5f55\u97f3 (6).m4a' \\ --form lang=zh \u4f20\u5165\u53c2\u6570\u53ef\u4ee5\u53ea\u6709file\u4e0elang\u8fd9\u4e24\u4e2a\u53c2\u6570\uff0c\u5176\u5b83\u53c2\u6570\uff0c\u53ef\u4ee5\u5ffd\u7565\uff0c\u5982\u4e0b\u56fe\u6240\u793a","title":"curl\u793a\u4f8b"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#http","text":"POST /asr HTTP / 1.1 Content-Type : multipart/form-data; boundary=---011000010111000001101001 Host : ikuai.m-iot.tech:58150 Content-Length : 239 -----011000010111000001101001 Content-Disposition: form-data; name=\"file\" C:\\Users\\trphoenix\\Documents\\\u5f55\u97f3\\\u5f55\u97f3 (6).m4a -----011000010111000001101001 Content-Disposition: form-data; name=\"lang\" zh -----011000010111000001101001--","title":"HTTP \u793a\u4f8b\u8bf4\u660e"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#java_1","text":"// asynchttp AsyncHttpClient client = new DefaultAsyncHttpClient (); client . prepare ( \"POST\" , \"http://ikuai.m-iot.tech:58150/asr\" ) . setHeader ( \"content-type\" , \"multipart/form-data; boundary=---011000010111000001101001\" ) . setBody ( \"-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"file\\\"\\r\\n\\r\\nC:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\\r\\n-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"lang\\\"\\r\\n\\r\\nzh\\r\\n-----011000010111000001101001--\\r\\n\\r\\n\" ) . execute () . toCompletableFuture () . thenAccept ( System . out :: println ) . join (); client . close (); // nethttp HttpRequest request = HttpRequest . newBuilder () . uri ( URI . create ( \"http://ikuai.m-iot.tech:58150/asr\" )) . header ( \"content-type\" , \"multipart/form-data; boundary=---011000010111000001101001\" ) . method ( \"POST\" , HttpRequest . BodyPublishers . ofString ( \"-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"file\\\"\\r\\n\\r\\nC:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\\r\\n-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"lang\\\"\\r\\n\\r\\nzh\\r\\n-----011000010111000001101001--\\r\\n\\r\\n\" )) . build (); HttpResponse < String > response = HttpClient . newHttpClient (). send ( request , HttpResponse . BodyHandlers . ofString ()); System . out . println ( response . body ()); // okhttp OkHttpClient client = new OkHttpClient (); MediaType mediaType = MediaType . parse ( \"multipart/form-data; boundary=---011000010111000001101001\" ); RequestBody body = RequestBody . create ( mediaType , \"-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"file\\\"\\r\\n\\r\\nC:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\\r\\n-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"lang\\\"\\r\\n\\r\\nzh\\r\\n-----011000010111000001101001--\\r\\n\\r\\n\" ); Request request = new Request . Builder () . url ( \"http://ikuai.m-iot.tech:58150/asr\" ) . post ( body ) . addHeader ( \"content-type\" , \"multipart/form-data; boundary=---011000010111000001101001\" ) . build (); Response response = client . newCall ( request ). execute (); // unirest HttpResponse < String > response = Unirest . post ( \"http://ikuai.m-iot.tech:58150/asr\" ) . header ( \"content-type\" , \"multipart/form-data; boundary=---011000010111000001101001\" ) . body ( \"-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"file\\\"\\r\\n\\r\\nC:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\\r\\n-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"lang\\\"\\r\\n\\r\\nzh\\r\\n-----011000010111000001101001--\\r\\n\\r\\n\" ) . asString ();","title":"java \u793a\u4f8b"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#javascript_1","text":"//xhr const data = new FormData (); data . append ( 'file' , 'C:\\Users\\trphoenix\\Documents\\\u5f55\u97f3\\\u5f55\u97f3 (6).m4a' ); data . append ( 'lang' , 'zh' ); const xhr = new XMLHttpRequest (); xhr . withCredentials = true ; xhr . addEventListener ( 'readystatechange' , function () { if ( this . readyState === this . DONE ) { console . log ( this . responseText ); } }); xhr . open ( 'POST' , 'http://ikuai.m-iot.tech:58150/asr' ); xhr . send ( data ); // Axios import axios from 'axios' ; const form = new FormData (); form . append ( 'file' , 'C:\\Users\\trphoenix\\Documents\\\u5f55\u97f3\\\u5f55\u97f3 (6).m4a' ); form . append ( 'lang' , 'zh' ); const options = { method : 'POST' , url : 'http://ikuai.m-iot.tech:58150/asr' , headers : { 'content-type' : 'multipart/form-data; boundary=---011000010111000001101001' }, data : '[form]' }; try { const { data } = await axios . request ( options ); console . log ( data ); } catch ( error ) { console . error ( error ); } // fetch const url = 'http://ikuai.m-iot.tech:58150/asr' ; const form = new FormData (); form . append ( 'file' , 'C:\\Users\\trphoenix\\Documents\\\u5f55\u97f3\\\u5f55\u97f3 (6).m4a' ); form . append ( 'lang' , 'zh' ); const options = { method : 'POST' }; options . body = form ; try { const response = await fetch ( url , options ); const data = await response . json (); console . log ( data ); } catch ( error ) { console . error ( error ); } //jquery const form = new FormData (); form . append ( 'file' , 'C:\\Users\\trphoenix\\Documents\\\u5f55\u97f3\\\u5f55\u97f3 (6).m4a' ); form . append ( 'lang' , 'zh' ); const settings = { async : true , crossDomain : true , url : 'http://ikuai.m-iot.tech:58150/asr' , method : 'POST' , headers : {}, processData : false , contentType : false , mimeType : 'multipart/form-data' , data : form }; $ . ajax ( settings ). done ( function ( response ) { console . log ( response ); });","title":"javascript \u793a\u4f8b"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#c_1","text":"//httpclient using System.Net.Http.Headers ; var client = new HttpClient (); var request = new HttpRequestMessage { Method = HttpMethod . Post , RequestUri = new Uri ( \"http://ikuai.m-iot.tech:58150/asr\" ), Content = new MultipartFormDataContent { new StringContent ([ \"C:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\" ]) { Headers = { ContentDisposition = new ContentDispositionHeaderValue ( \"form-data\" ) { Name = \"file\" , FileName = \"C:\\Users\\trphoenix\\Documents\\\u5f55\u97f3\\\u5f55\u97f3 (6).m4a\" , } } }, new StringContent ( \"zh\" ) { Headers = { ContentDisposition = new ContentDispositionHeaderValue ( \"form-data\" ) { Name = \"lang\" , } } }, }, }; using ( var response = await client . SendAsync ( request )) { response . EnsureSuccessStatusCode (); var body = await response . Content . ReadAsStringAsync (); Console . WriteLine ( body ); } //Restsharp var client = new RestClient ( \"http://ikuai.m-iot.tech:58150/asr\" ); var request = new RestRequest ( \"\" , Method . Post ); request . AddHeader ( \"content-type\" , \"multipart/form-data; boundary=---011000010111000001101001\" ); request . AddParameter ( \"multipart/form-data; boundary=---011000010111000001101001\" , \"-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"file\\\"\\r\\n\\r\\nC:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\\r\\n-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"lang\\\"\\r\\n\\r\\nzh\\r\\n-----011000010111000001101001--\\r\\n\\r\\n\" , ParameterType . RequestBody ); var response = client . Execute ( request );","title":"C# \u793a\u4f8b"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#go_1","text":"package main import ( \"fmt\" \"strings\" \"net/http\" \"io\" ) func main () { url := \"http://ikuai.m-iot.tech:58150/asr\" payload := strings . NewReader ( \"-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"file\\\"\\r\\n\\r\\nC:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\\r\\n-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"lang\\\"\\r\\n\\r\\nzh\\r\\n-----011000010111000001101001--\\r\\n\\r\\n\" ) req , _ := http . NewRequest ( \"POST\" , url , payload ) req . Header . Add ( \"content-type\" , \"multipart/form-data; boundary=---011000010111000001101001\" ) res , _ := http . DefaultClient . Do ( req ) defer res . Body . Close () body , _ := io . ReadAll ( res . Body ) fmt . Println ( res ) fmt . Println ( string ( body )) }","title":"go \u793a\u4f8b"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#java_2","text":"// asynchttp AsyncHttpClient client = new DefaultAsyncHttpClient (); client . prepare ( \"POST\" , \"http://ikuai.m-iot.tech:58150/asr\" ) . setHeader ( \"content-type\" , \"multipart/form-data; boundary=---011000010111000001101001\" ) . setBody ( \"-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"file\\\"\\r\\n\\r\\nC:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\\r\\n-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"lang\\\"\\r\\n\\r\\nzh\\r\\n-----011000010111000001101001--\\r\\n\\r\\n\" ) . execute () . toCompletableFuture () . thenAccept ( System . out :: println ) . join (); client . close (); // nethttp HttpRequest request = HttpRequest . newBuilder () . uri ( URI . create ( \"http://ikuai.m-iot.tech:58150/asr\" )) . header ( \"content-type\" , \"multipart/form-data; boundary=---011000010111000001101001\" ) . method ( \"POST\" , HttpRequest . BodyPublishers . ofString ( \"-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"file\\\"\\r\\n\\r\\nC:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\\r\\n-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"lang\\\"\\r\\n\\r\\nzh\\r\\n-----011000010111000001101001--\\r\\n\\r\\n\" )) . build (); HttpResponse < String > response = HttpClient . newHttpClient (). send ( request , HttpResponse . BodyHandlers . ofString ()); System . out . println ( response . body ()); // okhttp OkHttpClient client = new OkHttpClient (); MediaType mediaType = MediaType . parse ( \"multipart/form-data; boundary=---011000010111000001101001\" ); RequestBody body = RequestBody . create ( mediaType , \"-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"file\\\"\\r\\n\\r\\nC:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\\r\\n-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"lang\\\"\\r\\n\\r\\nzh\\r\\n-----011000010111000001101001--\\r\\n\\r\\n\" ); Request request = new Request . Builder () . url ( \"http://ikuai.m-iot.tech:58150/asr\" ) . post ( body ) . addHeader ( \"content-type\" , \"multipart/form-data; boundary=---011000010111000001101001\" ) . build (); Response response = client . newCall ( request ). execute (); // unirest HttpResponse < String > response = Unirest . post ( \"http://ikuai.m-iot.tech:58150/asr\" ) . header ( \"content-type\" , \"multipart/form-data; boundary=---011000010111000001101001\" ) . body ( \"-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"file\\\"\\r\\n\\r\\nC:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\\r\\n-----011000010111000001101001\\r\\nContent-Disposition: form-data; name=\\\"lang\\\"\\r\\n\\r\\nzh\\r\\n-----011000010111000001101001--\\r\\n\\r\\n\" ) . asString ();","title":"java \u793a\u4f8b"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#_13","text":"{ \"result\" : \"\u5582\u8bed\u97f3\u6d4b\u8bd5\u8bed\u97f3\u6d4b\u8bd5\u5f55\u97f3\u6d4b\u8bd5\u5f55\u97f3\u6d4b\u8bd5\" , \"file_size\" : 185334 , \"wav_info\" : { \"n_channels\" : 1 , \"sample_width\" : 2 , \"framerate\" : 16000 , \"n_frames\" : 115029 , \"duration\" : 7.1893125 }, \"ffmpeg_log\" : \"\" } body { \"_overheadLength\" : 252 , \"_valueLength\" : 2 , \"_valuesToMeasure\" : [ { \"fd\" : null , \"path\" : \"C:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\" , \"flags\" : \"r\" , \"mode\" : 438 , \"end\" : null , \"bytesRead\" : 0 , \"_events\" : {}, \"_readableState\" : { \"highWaterMark\" : 65536 , \"buffer\" : [], \"bufferIndex\" : 0 , \"length\" : 0 , \"pipes\" : [], \"awaitDrainWriters\" : null }, \"_eventsCount\" : 3 } ], \"writable\" : false , \"readable\" : true , \"dataSize\" : 0 , \"maxDataSize\" : 2097152 , \"pauseStreams\" : true , \"_released\" : false , \"_streams\" : [ \"----------------------------147555471668548578107544\\r\\nContent-Disposition: form-data; name=\\\"file\\\"; filename=\\\"\u5f55\u97f3 (6).m4a\\\"\\r\\nContent-Type: wav\\r\\n\\r\\n\" , { \"source\" : \"[Circular]\" , \"dataSize\" : 0 , \"maxDataSize\" : null , \"pauseStream\" : true , \"_maxDataSizeExceeded\" : false , \"_released\" : false , \"_bufferedEvents\" : [ { \"0\" : \"pause\" } ], \"_events\" : {}, \"_eventsCount\" : 1 }, null , \"----------------------------147555471668548578107544\\r\\nContent-Disposition: form-data; name=\\\"lang\\\"\\r\\n\\r\\n\" , \"zh\" , null ], \"_currentStream\" : null , \"_insideLoop\" : false , \"_pendingNext\" : false , \"_boundary\" : \"--------------------------147555471668548578107544\" } ***Network Logs *** Preparing request to http://ikuai.m-iot.tech:58150/asr Current time is 2025-09-21T08:22:20.590Z POST http://ikuai.m-iot.tech:58150/asr Accept: application/json, text/plain, */* Content-Type: multipart/form-data; boundary=--------------------------147555471668548578107544 User-Agent: bruno-runtime/2.3.0 { \"_overheadLength\": 252, \"_valueLength\": 2, \"_valuesToMeasure\": [ { \"fd\": null, \"path\": \"C:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\", \"flags\": \"r\", \"mode\": 438, \"end\": null, \"bytesRead\": 0, \"_events\": {}, \"_readableState\": { \"highWaterMark\": 65536, \"buffer\": [], \"bufferIndex\": 0, \"length\": 0, \"pipes\": [], \"awaitDrainWriters\": null }, \"_eventsCount\": 3 } ], \"writable\": false, \"readable\": true, \"dataSize\": 0, \"maxDataSize\": 2097152, \"pauseStreams\": true, \"_released\": false, \"_streams\": [ \"----------------------------147555471668548578107544\\r\\nContent-Disposition: form-data; name=\\\"file\\\"; filename=\\\"\u5f55\u97f3 (6).m4a\\\"\\r\\nContent-Type: wav\\r\\n\\r\\n\", { \"source\": { \"fd\": null, \"path\": \"C:\\\\Users\\\\trphoenix\\\\Documents\\\\\u5f55\u97f3\\\\\u5f55\u97f3 (6).m4a\", \"flags\": \"r\", \"mode\": 438, \"end\": null, \"bytesRead\": 0, \"_events\": {}, \"_readableState\": { \"highWaterMark\": 65536, \"buffer\": [], \"bufferIndex\": 0, \"length\": 0, \"pipes\": [], \"awaitDrainWriters\": null }, \"_eventsCount\": 3 }, \"dataSize\": 0, \"maxDataSize\": null, \"pauseStream\": true, \"_maxDataSizeExceeded\": false, \"_released\": false, \"_bufferedEvents\": [ { \"0\": \"pause\" } ], \"_events\": {}, \"_eventsCount\": 1 }, null, \"----------------------------147555471668548578107544\\r\\nContent-Disposition: form-data; name=\\\"lang\\\"\\r\\n\\r\\n\", \"zh\", null ], \"_currentStream\": null, \"_insideLoop\": false, \"_pendingNext\": false, \"_boundary\": \"--------------------------147555471668548578107544\" } SSL validation: enabled HTTP/1.1 200 OK date: Sun, 21 Sep 2025 08:22:21 GMT server: uvicorn content-length: 201 content-type: application/json request-duration: 6989 Request completed in 6989 ms","title":"\u8fd4\u56de\u7ed3\u679c"},{"location":"Usages/QA/%E8%AF%AD%E9%9F%B3%E5%90%88%E6%88%90%E4%B8%8E%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1Docker-%E9%83%A8%E7%BD%B2%E8%AF%B4%E6%98%8E/#_14","text":"\u8bf4\u660e paddlespeech\u4e2d\u7528\u7684\u4e00\u4e2a\u5e93\u6709\u53ef\u80fd\u662f\u5355\u7ebf\u7a0b\u7684\uff0c\u6240\u4ee5\u5728\u9ad8\u5e76\u53d1\u573a\u666f\u4e0b\uff0c\u53ef\u80fd\u4f1a\u51fa\u73b0\u54cd\u5e94\u53d8\u6162\u7684\u60c5\u51b5\uff0c\u8fd9\u4e2a\u65f6\u5019\uff0c\u53ef\u4ee5\u8003\u8651\u589e\u52a0\u5b9e\u4f8b\u6765\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\u3002 \u5b9e\u9645\u4f7f\u7528\u65f6,\u5982\u679c\u60f3\u63d0\u9ad8\u5e76\u53d1\u80fd\u529b\uff0c\u53ef\u4ee5\u5c1d\u8bd5\u66f4\u6539\u73af\u5883\u53d8\u91cf\u4e2d\u7684PYTHONUNBUFFFERED=4,\u6216\u66f4\u9ad8\u4e00\u4e2a\u9002\u5408\u7684\u6570\u5b57\uff0c\u6765\u63d0\u9ad8\u5e76\u53d1\u80fd\u529b\u3002 \u300a\u5b8c\u300b","title":"\u6d4f\u89c8\u5668\u5f55\u97f3\u8bc6\u522b\u793a\u4f8b"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/","text":"\u900f\u6790\u4e2d\u5fc3\u73af\u5883\u6e29\u5ea6\u53d1\u9001\u5230\u80dc\u900f\u7684\u64cd\u4f5c\u6307\u5357 \u00b6 1. \u524d\u63d0\u6761\u4ef6 \u00b6 \u5df2\u5b89\u88c5\u5e76\u914d\u7f6e\u597dHome Assistant \u5df2\u7ecf\u5b89\u88c5\u5e76\u914d\u7f6e\u4e86MQTT Broker \u5df2\u7ecf\u5b89\u88c5\u5e76\u914d\u7f6e\u4e86Node-RED \u5df2\u7ecf\u5b89\u88c5\u5e76\u914d\u7f6e\u4e86\u7c73\u5bb6\u6e29\u5ea6\u4f20\u611f\u5668\uff08\u5982Miaomiaoc CN BLT 3\uff09 \u5df2\u7ecf\u83b7\u53d6\u5230\u4e86\u80dc\u900f\u7684MQTT\u670d\u52a1\u5668Broker\u5730\u5740\u548c\u7aef\u53e3 2. \u5728Home Assistant\u4e2d\u914d\u7f6e\u4f20\u611f\u5668\u81ea\u52a8\u5316 \u00b6 1.\u627e\u5230\u73af\u5883\u6e29\u5ea6\u4f20\u611f\u5668\u5b9e\u4f53ID \u00b6 \u900f\u6790\u4e2d\u5fc3\u53ef\u80fd\u5b89\u88c5\u4e86\u591a\u4e2a\u7c73\u5bb6\u6e29\u5ea6\u4f20\u611f\u5668\uff0c\u9996\u5148\u9700\u8981\u627e\u5230\u5bf9\u5e94\u7684\u5b9e\u4f53ID\u3002 \u53ef\u4ee5\u5728Home Assistant\u7684\u5f00\u53d1\u8005\u5de5\u5177\u4e2d\u67e5\u770b\u5f53\u524d\u6240\u6709\u4f20\u611f\u5668\u7684\u72b6\u6001\u3002 \u4e5f\u53ef\u4ee5\u5728\u5df2\u7ecf\u8bbe\u5907\u4e0e\u670d\u52a1\uff0c\u96c6\u6210\uff0c\u4e2d\u627e\u5230\u7c73\u5bb6\u7684\u8bbe\u5907\uff0c\u627e\u5230\u90a3\u4e2a\u4f20\u611f\u5668 \u627e\u5230\u9700\u8981\u914d\u7f6e\u4e3a\u73af\u5883\u6e29\u5ea6\u7684\u4f20\u611f\u5668 \u70b9\u51fb\u6e29\u5ea6\u5b9e\u4f53 \u70b9\u51fb\u8bbe\u7f6e\u56fe\u6807 \u5982\u672c\u4f8b\u83b7\u53d6\u5230\u7684\u5b9e\u4f53ID\u4e3a sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1 \u3002\u8bb0\u4f4f\u6b64ID\uff0c\u540e\u9762\u5f88\u591a\u5730\u65b9\u90fd\u4f1a\u7528\u5230. 2. \u521b\u5efa\u81ea\u52a8\u5316\u89c4\u5219 \u00b6 \u6211\u4eec\u9700\u8981\u521b\u5efa\u4e00\u4e2a\u81ea\u52a8\u5316\u89c4\u5219\uff0c\u5f53\u4f20\u611f\u5668\u72b6\u6001\u66f4\u65b0\u65f6\u53ca\u6bcf\u969430\u79d2\uff0c\u5c06\u6e29\u5ea6\u6570\u636e\u53d1\u9001\u5230Home Assistant\u5185\u90e8\u96c6\u6210\u7684\u7684MQTT\u670d\u52a1\u5668\u3002 \u8fdb\u5165 \"\u914d\u7f6e\" \u2192 \"\u81ea\u52a8\u5316\u548c\u573a\u666f\" \u2192 \"\u81ea\u52a8\u5316\"\uff0c\u70b9\u51fb\u53f3\u4e0b\u89d2\u7684 \"+\" \u521b\u5efa\u65b0\u7684\u81ea\u52a8\u5316\u89c4\u5219\u3002 \u8fdb\u5165\u81ea\u52a8\u5316\u89c4\u5219\u7f16\u8f91\u754c\u9762\u540e\uff0c\u70b9\u51fb\u53f3\u4e0b\u89d2\u7684\"\u521b\u5efa\u81ea\u52a8\u5316\"\u6309\u94ae\u3002\u5728\u5f39\u51fa\u7684\u5bf9\u8bdd\u6846\u4e2d\u9009\u62e9\"\u521b\u5efa\u65b0\u7684\u81ea\u52a8\u5316\"\u3002 \u5728\u65b0\u5efa\u81ea\u52a8\u5316\u754c\u9762\uff0c\u70b9\u53f3\u4e0a\u89d2\u7684\u4e09\u4e2a\u70b9\uff0c\u5982\u4e0b\u56fe\u6240\u793a \u5728\u5f39\u51fa\u7684\u4e0b\u62c9\u83dc\u5355\u4e2d\uff0c\u70b9\u51fb\u8fdb\u5165YHAML\u7f16\u8f91,\u8fdb\u5165\u4ee3\u7801\u6a21\u5f0f\uff0c\u5982\u4e0b\u6240\u793a \u5728\u8fd9\u4e2a\u5927\u7684\u6587\u672c\u6846\u4e2d\u7c98\u5165\u5982\u4e0b\u4ee3\u7801\uff1a alias : \u53d1\u5e03\u73af\u5883\u6e29\u5ea6\u4f20\u611f\u5668\u72b6\u6001\u5230MQTT description : \u5f53\u7c73\u5bb6\u6e29\u5ea6\u4f20\u611f\u5668\u72b6\u6001\u53d8\u5316\u6216\u6bcf30\u79d2\u5b9a\u65f6\u65f6\uff0c\u81ea\u52a8\u53d1\u5e03\u5230MQTT\u4f9bNode-RED\u4f7f\u7528 triggers : - entity_id : sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1 trigger : state - seconds : /30 trigger : time_pattern conditions : - condition : template value_template : >- {{ states('sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1') not in ['unavailable', 'unknown', 'None'] and states('sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1') | float(-999) != -999 }} actions : - data : topic : >- homeassistant/sensor/sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1/state payload : >- {{ states('sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1') }} retain : false qos : 0 action : mqtt.publish mode : single \u6ce8\u610f: \u4ee5\u4e0a\u4ee3\u7801\u4e2d\u7684 sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1 \u662f\u793a\u4f8b\u5b9e\u4f53ID\uff0c\u8bf7\u66ff\u6362\u4e3a\u4f60 \u5b9e\u9645\u7684\u6e29\u5ea6\u4f20\u611f\u5668\u5b9e\u4f53ID \u3002 \u653e\u7f6e\u5b8c\u6210\u540e\uff0c\u5982\u4e0b\u56fe\u793a\u610f \u89c2\u5bdf\u4e0a\u6b21\u89e6\u53d1\u5217\u662f\u5426\u4f1a\u6bcf\u969430\u79d2\u6267\u884c\u4e00\u6b21 \u8fd4\u56de\u5230\u4f20\u611f\u5668\u7684\u8bbe\u5907\u754c\u9762\u4e5f\u80fd\u770b\u5230\u8bbe\u5907\u7684\u81ea\u52a8\u5316\u4e0b\u9762\u6709\u4e00\u6761\u81ea\u52a8\u5316\u89c4\u5219\uff0c\u5982\u4e0b\u56fe \u5230\u6b64\uff0c\u81ea\u52a8\u5316\u89c4\u5219\u5df2\u914d\u7f6e\u5b8c\u6210\u3002 3. \u5728Node-RED\u4e2d\u914d\u7f6eMQTT\u63a5\u6536\u8f6c\u53d1 \u00b6 1. \u6253\u5f00Node-RED\u7f16\u8f91\u5668 \u00b6 \u6253\u5f00nod-red\u7f16\u8f91\u5668\uff0c\u6709\u7684HA\u53ef\u80fd\u662f\u914d\u7f6e\u5728\u5de6\u4fa7\u822a\u83dc\u5355\u4e2d\uff0c\u5982\u4e0b\u56fe\u5fd7\u793a\uff0c\u70b9\u51fb\u5373\u53ef\u8fdb\u5165 \u6709\u7684\u662f\u6ca1\u6709\u914d\u7f6enode-red\u5230\u5de6\u4fa7\u5bfc\u822a\u83dc\u5355\u7684\uff0c\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u53ef\u4ee5\u70b9\u51fb\"\u8bbe\u7f6e-\u52a0\u8f7d\u9879\"\u8fdb\u5165\u52a0\u8f7d\u9879\u9875\u9762 \u627e\u5230Node-RED\u52a0\u8f7d\u9879\uff0c\u70b9\u51fb\u8fdb\u5165 \u8fdb\u5165\u754c\u9762\u5982\u4e0b\uff1a 2. \u521b\u5efa\u65b0\u5de5\u4f5c\u6d41 \u00b6 \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\"\u83dc\u5355\"\u6309\u94ae\uff0c\u518d\u70b9\u5bfc\u5165\u3002 \u5728\u6b64\u5904\u8d34\u5165\u5de5\u4f5c\u6d41\u4ee3\u7801\uff0c\u6ce8\u610f\uff1a\u8981\u9009\u62e9\u5bfc\u5165\u5230\u65b0\u6d41\u7a0b \u5de5\u4f5c\u6d41\u4ee3\u7801\u5982\u4e0b [ { \"id\" : \"1407d4531e19a951\" , \"type\" : \"tab\" , \"label\" : \"\u900f\u6790\u4e2d\u5fc3\u73af\u5883\u6e29\u5ea6\u6570\u636e\u8f6c\u53d1\" , \"disabled\" : false , \"info\" : \"\u4eceHomeAssistant\u83b7\u53d6\u6e29\u5ea6\u4f20\u611f\u5668\u6570\u636e\u5e76\u53d1\u5e03\u5230\u516c\u53f8MQTT\u670d\u52a1\u5668\" }, { \"id\" : \"97e254f4a87ddde9\" , \"type\" : \"mqtt in\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u8ba2\u9605HA\u6e29\u5ea6\u4f20\u611f\u5668\" , \"topic\" : \"homeassistant/sensor/+/state\" , \"qos\" : \"0\" , \"datatype\" : \"auto\" , \"broker\" : \"mqtt-ha-broker\" , \"nl\" : false , \"rap\" : true , \"rh\" : 0 , \"inputs\" : 0 , \"x\" : 150 , \"y\" : 100 , \"wires\" : [ [ \"44d729e67618e4f2\" ] ] }, { \"id\" : \"44d729e67618e4f2\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u5904\u7406\u6e29\u5ea6\u6570\u636e\" , \"func\" : \"// \u4ece\u5168\u5c40\u53d8\u91cf\u83b7\u53d6\u5171\u4eab\u914d\u7f6e\\nconst nameSpace = global.get(\\\"nameSpace\\\") || \\\"Environment\\\";\\nconst clientCode = global.get(\\\"clientCode\\\") || \\\"Data-It_XzOffice\\\";\\nconst targetDeviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\n\\n// \u4ecetopic\u4e2d\u63d0\u53d6\u5f53\u524d\u8bbe\u5907ID\\nconst topicParts = msg.topic.split('/');\\nconst currentDeviceId = topicParts.length >= 3 ? topicParts[2] : \\\"\\\";\\n\\n// \u53ea\u5904\u7406\u76ee\u6807\u8bbe\u5907\u7684\u6d88\u606f\\nif (currentDeviceId !== targetDeviceId) {\\n node.log(\\\"\u5ffd\u7565\u8bbe\u5907\u6d88\u606f: \\\" + currentDeviceId + \\\" (\u76ee\u6807\u8bbe\u5907: \\\" + targetDeviceId + \\\")\\\");\\n return null;\\n}\\n\\n// \u751f\u6210\u552f\u4e00\u7684\u6d88\u606fID\\nconst messageId = \\\"temp_\\\" + Date.now() + \\\"_\\\" + Math.floor(Math.random() * 1000);\\nconst timestamp = Date.now();\\nconst deviceType = \\\"sensor\\\";\\n\\n// \u89e3\u6790\u6e29\u5ea6\u503c\\nlet temperature = parseFloat(msg.payload);\\nif (isNaN(temperature)) {\\n node.warn(\\\"\u63a5\u6536\u5230\u65e0\u6548\u7684\u6e29\u5ea6\u503c: \\\" + msg.payload);\\n return null;\\n}\\n\\n// \u6309\u7167\u80dc\u900f\u7269\u8054\u7f51\u901a\u4fe1\u534f\u8bae\u683c\u5f0f\u5316\u6570\u636e\\nconst protocolMessage = {\\n \\\"messageId\\\": messageId,\\n \\\"timestamp\\\": timestamp,\\n \\\"clientCode\\\": clientCode,\\n \\\"deviceId\\\": targetDeviceId,\\n \\\"deviceType\\\": deviceType,\\n \\\"version\\\": \\\"1.0\\\",\\n \\\"data\\\": {\\n \\\"properties\\\": {\\n \\\"temperature\\\": {\\n \\\"value\\\": temperature,\\n \\\"unit\\\": \\\"\u00b0C\\\",\\n \\\"quality\\\": \\\"good\\\",\\n \\\"timestamp\\\": timestamp\\n }\\n }\\n }\\n};\\n\\n// \u8bbe\u7f6e\u8f93\u51fa\u6d88\u606f\\nmsg.payload = JSON.stringify(protocolMessage);\\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${targetDeviceId}/properties`;\\nmsg.qos = 0;\\n\\nnode.log(\\\"\u6e29\u5ea6\u6570\u636e\u5df2\u5904\u7406: \\\" + temperature + \\\"\u00b0C (\u8bbe\u5907: \\\" + targetDeviceId + \\\")\\\");\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 420 , \"y\" : 100 , \"wires\" : [ [ \"573842ea77192dbb\" , \"4c630c164e08dc2c\" ] ] }, { \"id\" : \"573842ea77192dbb\" , \"type\" : \"mqtt out\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u53d1\u5e03\u5230\u516c\u53f8MQTT\" , \"topic\" : \"\" , \"qos\" : \"\" , \"retain\" : \"\" , \"respTopic\" : \"\" , \"contentType\" : \"\" , \"userProps\" : \"\" , \"correl\" : \"\" , \"expiry\" : \"\" , \"broker\" : \"mqtt-company-broker\" , \"x\" : 990 , \"y\" : 80 , \"wires\" : [] }, { \"id\" : \"4c630c164e08dc2c\" , \"type\" : \"debug\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u8c03\u8bd5\u8f93\u51fa\" , \"active\" : true , \"tosidebar\" : true , \"console\" : false , \"tostatus\" : false , \"complete\" : \"payload\" , \"targetType\" : \"msg\" , \"statusVal\" : \"\" , \"statusType\" : \"auto\" , \"x\" : 1040 , \"y\" : 360 , \"wires\" : [] }, { \"id\" : \"495c392574ee1bf4\" , \"type\" : \"inject\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u53d1\u5e03\u8bbe\u5907\u7269\u6a21\u578b\" , \"props\" : [ { \"p\" : \"payload\" }, { \"p\" : \"topic\" , \"vt\" : \"str\" } ], \"repeat\" : \"60\" , \"crontab\" : \"\" , \"once\" : true , \"onceDelay\" : \"5\" , \"topic\" : \"shengtou/sensor/TH001_HA/model\" , \"payload\" : \"\" , \"payloadType\" : \"date\" , \"x\" : 170 , \"y\" : 180 , \"wires\" : [ [ \"3aea3ce2deb4ea99\" ] ] }, { \"id\" : \"3aea3ce2deb4ea99\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u751f\u6210\u7269\u6a21\u578b\u6570\u636e\" , \"func\" : \"const messageId = \\\"mdl_\\\" + Date.now();\\nconst timestamp = Date.now();\\n// \u4ece\u5168\u5c40\u53d8\u91cf\u83b7\u53d6\u5171\u4eab\u914d\u7f6e\\nconst nameSpace = global.get(\\\"nameSpace\\\") || \\\"Environment\\\";\\nconst clientCode = global.get(\\\"clientCode\\\") || \\\"Data-It_XzOffice\\\";\\nconst deviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\nconst deviceType = \\\"sensor\\\";\\n\\n// \u6309\u7167\u80dc\u900f\u7269\u8054\u7f51\u901a\u4fe1\u534f\u8bae\u751f\u6210\u7269\u6a21\u578b\u5b9a\u4e49\\nconst modelMessage = {\\n \\\"messageId\\\": messageId,\\n \\\"timestamp\\\": timestamp,\\n \\\"clientCode\\\": clientCode,\\n \\\"deviceId\\\": deviceId,\\n \\\"deviceType\\\": deviceType,\\n \\\"version\\\": \\\"1.0\\\",\\n \\\"data\\\": {\\n \\\"model\\\": {\\n \\\"deviceInfo\\\": {\\n \\\"manufacturer\\\": \\\"\u5c0f\u7c73\\\",\\n \\\"model\\\": \\\"MIAOMIAOC_CN_BLT_3_11A1SBR5K5O01_T2\\\",\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"description\\\": \\\"\u7c73\u5bb6\u6e29\u6e7f\u5ea6\u4f20\u611f\u5668(\u901a\u8fc7HomeAssistant\u96c6\u6210)\\\"\\n },\\n \\\"properties\\\": {\\n \\\"temperature\\\": {\\n \\\"dataType\\\": \\\"float\\\",\\n \\\"unit\\\": \\\"\u00b0C\\\",\\n \\\"range\\\": {\\n \\\"min\\\": -40,\\n \\\"max\\\": 85\\n },\\n \\\"precision\\\": 1,\\n \\\"description\\\": \\\"\u73af\u5883\u6e29\u5ea6\\\"\\n }\\n },\\n \\\"events\\\": {\\n \\\"startup\\\": {\\n \\\"eventType\\\": \\\"info\\\",\\n \\\"description\\\": \\\"\u8bbe\u5907\u542f\u52a8\u4e8b\u4ef6\\\"\\n }\\n },\\n \\\"alarms\\\": {\\n \\\"TEMP_HIGH\\\": {\\n \\\"alarmType\\\": \\\"threshold_exceeded\\\",\\n \\\"description\\\": \\\"\u6e29\u5ea6\u8fc7\u9ad8\u62a5\u8b66\\\",\\n \\\"defaultThreshold\\\": 35.0\\n },\\n \\\"TEMP_LOW\\\": {\\n \\\"alarmType\\\": \\\"threshold_exceeded\\\",\\n \\\"description\\\": \\\"\u6e29\u5ea6\u8fc7\u4f4e\u62a5\u8b66\\\",\\n \\\"defaultThreshold\\\": 0.0\\n }\\n }\\n }\\n }\\n};\\n\\n// \u8bbe\u7f6eMQTT\u53d1\u5e03\u4e3b\u9898\\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${deviceId}/model`;\\nmsg.payload = JSON.stringify(modelMessage);\\nmsg.qos = 1;\\n\\nnode.log(\\\"\u8bbe\u5907\u7269\u6a21\u578b\u6570\u636e\u5df2\u751f\u6210\uff0c\u53d1\u5e03\u5230\u4e3b\u9898: \\\" + msg.topic);\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 400 , \"y\" : 160 , \"wires\" : [ [ \"573842ea77192dbb\" , \"4c630c164e08dc2c\" ] ] }, { \"id\" : \"70e1e283448c941e\" , \"type\" : \"inject\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u8bbe\u5907\u72b6\u6001\u5fc3\u8df3\" , \"props\" : [ { \"p\" : \"payload\" }, { \"p\" : \"topic\" , \"vt\" : \"str\" } ], \"repeat\" : \"120\" , \"crontab\" : \"\" , \"once\" : true , \"onceDelay\" : \"10\" , \"topic\" : \"shengtou/sensor/TH001_HA/status\" , \"payload\" : \"\" , \"payloadType\" : \"date\" , \"x\" : 160 , \"y\" : 240 , \"wires\" : [ [ \"ae74b6d386748045\" ] ] }, { \"id\" : \"ae74b6d386748045\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u751f\u6210\u72b6\u6001\u6570\u636e\" , \"func\" : \"const messageId = \\\"sts_\\\" + Date.now();\\nconst timestamp = Date.now();\\n// \u4ece\u5168\u5c40\u53d8\u91cf\u83b7\u53d6\u5171\u4eab\u914d\u7f6e\\nconst nameSpace = global.get(\\\"nameSpace\\\") || \\\"Environment\\\";\\nconst clientCode = global.get(\\\"clientCode\\\") || \\\"Data-It_XzOffice\\\";\\nconst deviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\nconst deviceType = \\\"sensor\\\";\\n\\n// \u8ba1\u7b97\u8bbe\u5907\u8fd0\u884c\u65f6\u95f4\uff08\u4ece\u7b2c\u4e00\u6b21\u542f\u52a8\u5f00\u59cb\uff09\\nif (!context.get(\\\"startTime\\\")) {\\n context.set(\\\"startTime\\\", timestamp);\\n}\\nconst startTime = context.get(\\\"startTime\\\");\\nconst uptime = timestamp - startTime;\\n\\n// \u6309\u7167\u80dc\u900f\u7269\u8054\u7f51\u901a\u4fe1\u534f\u8bae\u751f\u6210\u72b6\u6001\u6570\u636e\\nconst statusMessage = {\\n \\\"messageId\\\": messageId,\\n \\\"timestamp\\\": timestamp,\\n \\\"clientCode\\\": clientCode,\\n \\\"deviceId\\\": deviceId,\\n \\\"deviceType\\\": deviceType,\\n \\\"version\\\": \\\"1.0\\\",\\n \\\"data\\\": {\\n \\\"status\\\": {\\n \\\"online\\\": true,\\n \\\"lastHeartbeat\\\": timestamp,\\n \\\"uptime\\\": uptime\\n }\\n }\\n};\\n\\n// \u8bbe\u7f6eMQTT\u53d1\u5e03\u4e3b\u9898\\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${deviceId}/status`;\\nmsg.payload = JSON.stringify(statusMessage);\\nmsg.qos = 0;\\n\\nnode.log(\\\"\u8bbe\u5907\u72b6\u6001\u5fc3\u8df3\u5df2\u53d1\u9001\uff0c\u53d1\u5e03\u5230\u4e3b\u9898: \\\" + msg.topic);\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 400 , \"y\" : 240 , \"wires\" : [ [ \"573842ea77192dbb\" , \"4c630c164e08dc2c\" ] ] }, { \"id\" : \"7f9acf10d0c6085d\" , \"type\" : \"inject\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u521d\u59cb\u5316\u5168\u5c40\u914d\u7f6e\" , \"props\" : [ { \"p\" : \"payload\" } ], \"repeat\" : \"\" , \"crontab\" : \"\" , \"once\" : true , \"onceDelay\" : \"1\" , \"topic\" : \"\" , \"payload\" : \"\" , \"payloadType\" : \"date\" , \"x\" : 150 , \"y\" : 40 , \"wires\" : [ [ \"6f6b825dfc5e9512\" ] ] }, { \"id\" : \"6f6b825dfc5e9512\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u8bbe\u7f6e\u5168\u5c40\u914d\u7f6e\" , \"func\" : \"// \u8bbe\u7f6e\u5168\u5c40\u5171\u4eab\u5e38\u91cf\\nglobal.set(\\\"nameSpace\\\", \\\"Environment\\\");\\nglobal.set(\\\"clientCode\\\", \\\"Data-It_XzOffice\\\");\\nglobal.set(\\\"deviceId\\\", \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\");\\n\\nnode.log(\\\"\u5168\u5c40\u914d\u7f6e\u5df2\u8bbe\u7f6e: nameSpace=\\\" + global.get(\\\"nameSpace\\\") + \\\", clientCode=\\\" + global.get(\\\"clientCode\\\") + \\\", deviceId=\\\" + global.get(\\\"deviceId\\\"));\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 360 , \"y\" : 40 , \"wires\" : [ [ \"794c422d39898a7f\" ] ] }, { \"id\" : \"794c422d39898a7f\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u66f4\u65b0MQTT\u8ba2\u9605Topic\" , \"func\" : \"// \u4ece\u5168\u5c40\u53d8\u91cf\u751f\u6210HomeAssistant MQTT\u8ba2\u9605Topic\\nconst deviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\nconst haTopic = `homeassistant/sensor/${deviceId}/state`;\\n\\n// \u5c06Topic\u4fdd\u5b58\u5230\u5168\u5c40\u53d8\u91cf\u4f9b\u5176\u4ed6\u5730\u65b9\u4f7f\u7528\\nglobal.set(\\\"haSubscribeTopic\\\", haTopic);\\n\\nnode.log(\\\"HomeAssistant\u8ba2\u9605Topic\u5df2\u66f4\u65b0: \\\" + haTopic);\\nnode.log(\\\"\u6ce8\u610f\uff1a\u5982\u9700\u66f4\u6539MQTT In\u8282\u70b9\u7684\u8ba2\u9605Topic\uff0c\u8bf7\u624b\u52a8\u4fee\u6539\u4e3a: \\\" + haTopic);\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 590 , \"y\" : 40 , \"wires\" : [ [] ] }, { \"id\" : \"3bf854e9bd3e6937\" , \"type\" : \"inject\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u542f\u52a8\u4e8b\u4ef6\" , \"props\" : [ { \"p\" : \"payload\" }, { \"p\" : \"topic\" , \"vt\" : \"str\" } ], \"repeat\" : \"\" , \"crontab\" : \"\" , \"once\" : true , \"onceDelay\" : \"15\" , \"topic\" : \"shengtou/sensor/TH001_HA/events\" , \"payload\" : \"\" , \"payloadType\" : \"date\" , \"x\" : 160 , \"y\" : 340 , \"wires\" : [ [ \"26f6196b2d6fba29\" ] ] }, { \"id\" : \"26f6196b2d6fba29\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u751f\u6210\u542f\u52a8\u4e8b\u4ef6\" , \"func\" : \"const messageId = \\\"evt_startup_\\\" + Date.now();\\nconst timestamp = Date.now();\\n// \u4ece\u5168\u5c40\u53d8\u91cf\u83b7\u53d6\u5171\u4eab\u914d\u7f6e\\nconst nameSpace = global.get(\\\"nameSpace\\\") || \\\"Environment\\\";\\nconst clientCode = global.get(\\\"clientCode\\\") || \\\"Data-It_XzOffice\\\";\\nconst deviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\nconst deviceType = \\\"sensor\\\";\\n\\n// \u6309\u7167\u80dc\u900f\u7269\u8054\u7f51\u901a\u4fe1\u534f\u8bae\u751f\u6210\u4e8b\u4ef6\u6570\u636e\\nconst eventMessage = {\\n \\\"messageId\\\": messageId,\\n \\\"timestamp\\\": timestamp,\\n \\\"clientCode\\\": clientCode,\\n \\\"deviceId\\\": deviceId,\\n \\\"deviceType\\\": deviceType,\\n \\\"version\\\": \\\"1.0\\\",\\n \\\"data\\\": {\\n \\\"events\\\": [\\n {\\n \\\"eventType\\\": \\\"startup\\\",\\n \\\"eventLevel\\\": \\\"info\\\",\\n \\\"eventCode\\\": \\\"EVT_001\\\",\\n \\\"description\\\": \\\"HomeAssistant\u6e29\u5ea6\u4f20\u611f\u5668\u4ee3\u7406\u8bbe\u5907\u542f\u52a8\u5b8c\u6210\\\",\\n \\\"timestamp\\\": timestamp\\n }\\n ]\\n }\\n};\\n\\n// \u8bbe\u7f6eMQTT\u53d1\u5e03\u4e3b\u9898\\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${deviceId}/events`;\\nmsg.payload = JSON.stringify(eventMessage);\\nmsg.qos = 1;\\n\\nnode.log(\\\"\u8bbe\u5907\u542f\u52a8\u4e8b\u4ef6\u5df2\u751f\u6210\uff0c\u53d1\u5e03\u5230\u4e3b\u9898: \\\" + msg.topic);\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 380 , \"y\" : 320 , \"wires\" : [ [ \"573842ea77192dbb\" , \"4c630c164e08dc2c\" ] ] }, { \"id\" : \"mqtt-ha-broker\" , \"type\" : \"mqtt-broker\" , \"name\" : \"HomeAssistant MQTT\" , \"broker\" : \"192.168.50.83\" , \"port\" : \"1883\" , \"clientid\" : \"\" , \"autoConnect\" : true , \"usetls\" : false , \"protocolVersion\" : \"4\" , \"keepalive\" : \"60\" , \"cleansession\" : true , \"autoUnsubscribe\" : true , \"birthTopic\" : \"\" , \"birthQos\" : \"0\" , \"birthPayload\" : \"\" , \"birthMsg\" : {}, \"closeTopic\" : \"\" , \"closeQos\" : \"0\" , \"closePayload\" : \"\" , \"closeMsg\" : {}, \"willTopic\" : \"\" , \"willQos\" : \"0\" , \"willPayload\" : \"\" , \"willMsg\" : {}, \"sessionExpiry\" : \"\" }, { \"id\" : \"mqtt-company-broker\" , \"type\" : \"mqtt-broker\" , \"name\" : \"\u516c\u53f8MQTT\u670d\u52a1\u5668\" , \"broker\" : \"mqtt-test.ihemodialysis.com\" , \"port\" : \"62183\" , \"clientid\" : \"\" , \"usetls\" : false , \"protocolVersion\" : \"4\" , \"keepalive\" : \"60\" , \"cleansession\" : true , \"birthTopic\" : \"\" , \"birthQos\" : \"0\" , \"birthPayload\" : \"\" , \"birthMsg\" : {}, \"closeTopic\" : \"\" , \"closeQos\" : \"0\" , \"closePayload\" : \"\" , \"closeMsg\" : {}, \"willTopic\" : \"shengtou/sensor/TH001_HA/status\" , \"willQos\" : \"0\" , \"willPayload\" : \"{\\\"messageId\\\":\\\"sts_offline\\\",\\\"timestamp\\\":0,\\\"deviceId\\\":\\\"TH001_HA\\\",\\\"deviceType\\\":\\\"sensor\\\",\\\"version\\\":\\\"1.0\\\",\\\"data\\\":{\\\"status\\\":{\\\"online\\\":false,\\\"lastHeartbeat\\\":0,\\\"uptime\\\":0}}}\" , \"willMsg\" : {}, \"sessionExpiry\" : \"\" } ] \u5f53\u7136\uff0c\u4f60\u4e5f\u53ef\u4ee5\u4ece \u5de5\u4f5c\u6d41\u6587\u4ef6 \u5bfc\u5165\u65b0\u65b0\u5de5\u4f5c\u6d41\u3002 \u70b9\u51fb\u4e0a\u8ff0\u94fe\u63a5\u540e\uff0c\u4e0b\u8f7d\u6587\u4ef6\uff0c\u5e76\u89e3\u538b\uff0c\u5f97\u5230\u4e00\u4e2a\u540d\u4e3a flows.json \u7684\u6587\u4ef6\u3002 \u70b9\u51fb\u5bfc\u5165\u8282\u70b9\u6587\u4ef6\uff0c \u90e8\u7f72\u6210\u529f\u540e\uff0c\u4f1a\u51fa\u73b0\u5982\u4e0b\u56fe\u6240\u793a\u7684\u5de5\u4f5c\u6d41 \u6b64\u65f6\uff0c\u5de5\u4f5c\u6d41\u5df2\u521b\u5b8c\u6210. 3. \u914d\u7f6eMQTT\u8282\u70b9 \u00b6 \u5de5\u4f5c\u6d41\u4e2d\u6709\u4e24\u4e2aMQTT\u8282\u70b9\uff0c\u5206\u522b\u662fHome Assistant\u7684MQTT Broker\u548c\u516c\u53f8MQTT\u670d\u52a1\u5668\u7684Broker\u3002\u8fd9\u4e24\u4e2a\u8282\u70b9\u7684\u914d\u7f6e\u9700\u8981\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8fdb\u884c\u8c03\u6574\u3002 \u9996\u5148\uff0c\u8981\u5148\u914d\u7f6eHome Assistant\u7684MQTT Broker\u8282\u70b9\uff0c\u786e\u4fdd\u5176\u8fde\u63a5\u4fe1\u606f\u6b63\u786e\u65e0\u8bef\u3002 \u5728\u6211\u4eec\u6ca1\u6709\u914d\u7f6emqtt in \u7684\u8fde\u63a5\u4fe1\u606f\u65f6\uff0c\u6211\u4eec\u53d1\u73b0\u8fd9\u4e2a\u8282\u70b9\u4e00\u76f4\u5904\u7406\u8fde\u63a5\u4e2d \u53cc\u51fb\u8be5\u8282\u70b9\uff0c\u8fdb\u5165\u914d\u7f6e\u754c\u9762 \u70b9\u51fb\u7f16\u8f91\u56fe\u6807 \u5728\u7f16\u8f91mqtt-broker\u8282\u70b9\u7684\u754c\u9762\u4e2d\u7684\u8fde\u63a5\u53c2\u6570\u9009\u9879\u5361\u4e2d\uff0c\u8f93\u5165\u6b63\u786e\u7684\u670d\u52a1\u7aef\u4e0e\u7aef\u53e3\u53f7 \u5982\u679cMQTT\u6709\u7528\u6237\u540d\u548c\u5bc6\u7801\uff0c\u8bf7\u5728\u8ba4\u8bc1\u9009\u9879\u5361\u4e2d\u8f93\u5165\u6b63\u786e\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u540e\uff0c\u7136\u540e\u70b9\u66f4\u65b0 \u7136\u540e\uff0c\u518d\u70b9\u51fb\u5b8c\u6210 \u6700\u540e\u70b9\u51fb\u90e8\u7f72 \u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u6211\u4eec\u53ef\u4ee5\u770b\u5230\uff0c\u6b64\u8282\u70b9\u4f1a\u53d8\u4e3a\u5df2\u8054\u63a5 \u5bf9\u4e8e\"\u53d1\u5e03\u5230\u516c\u53f8MQTT\"\u8282\u70b9\uff0c\u6211\u4eec\u9700\u8981\u914d\u7f6e\u8fde\u63a5\u5230\u516c\u53f8MQTT\u670d\u52a1\u5668\u7684Broker\u3002\u4e5f\u65f6\u540c\u6837\u7684\u64cd\u4f5c\u65b9\u6cd5\uff0c\u53cc\u51fb \u7136\u540e\uff0c\u66f4\u65b0\uff0c\u5b8c\u6210\uff0c\u90e8\u7f72\u5373\u53ef\u3002 \u67e5\u627eHomeAssistant\u7684Mqtt\u914d\u7f6e\u4fe1\u606f \u5bf9\u4e8eHomeAssistant\u6211\u4eec\u4e00\u822c\u90fd\u662f\u63d0\u524d\u90e8\u7f72\u4e86\u5185\u7f6e\u7684MQTT Broker,\u5728\u4e0d\u77e5\u7aef\u53e3\u4e0e\u5bc6\u7801\u7684\u60c5\u51b5\u4e0b\uff0c\u6211\u6837\u53ef\u4ee5\u5728HomeAssistant\u4e2d\u53bb\u67e5\u627e \u8fdb\u5165\u8bbe\u7f6e\u52a0\u8f7d\u9879 \u627e\u5230Mosquitto broker\u8fd9\u4e2a\u9009\u9879\u5361,\u70b9\u51fb\u8fdb\u5165 \u70b9\u51fb\u914d\u7f6e\u9009\u9879\u5361 \u5728\u8fd9\u91cc\u53ef\u4ee5\u770b\u5230MQTT\u7684\u7aef\u53e3\u53f7\u4e0e\u7528\u6237\u540d\u5bc6\u7801\u7b49\u4fe1\u606f\uff0c\u53ca\u4e0b\u9762\u7684mqtt\u5f00\u653e\u7684\u7aef\u53e3\u4fe1\u606f\uff0cip\u5730\u5740\uff0c\u5c31\u662fha\u4e3b\u673a\u6240\u5728\u7684Ip\u5730\u5740\u3002\u4ee5\u4e0a\u4fe1\u606f\uff0c\u7528\u6765\u914d\u7f6e\u5de5\u4f5c\u6d41\u7684mqtt in\u7684\u53c2\u6570\u3002 \u516c\u53f8mqtt\u670d\u52a1\u7aef\u53e3\u4fe1\u606f \u8fd9\u4e2a\u53c2\u6570\uff0c\u8bf7\u5411\u516c\u53f8\u7ba1\u7406\u5458\u83b7\u53d6\uff0c\u6216\u8005\u5728\u516c\u53f8MQTT\u670d\u52a1\u5668\u7684\u914d\u7f6e\u6587\u4ef6\u4e2d\u67e5\u770b\u3002 4.\u914d\u7f6e\u5de5\u4f5c\u6d41\u5168\u5c40\u53d8\u91cf \u00b6 \u53cc\u51fb\u5de5\u4f5c\u6d41\u7684\u8282\u70b9\"\u8bbe\u7f6e\u5168\u5c40\u914d\u7f6e\",\u6253\u5f00\u7f16\u8f91function\u8282\u70b9 \u5bf9\u5982\u4e0b\u4e09\u884c,\u8fdb\u884c\u66f4\u6539 // \u8bbe\u7f6e\u5168\u5c40\u5171\u4eab\u5e38\u91cf global . set ( \"nameSpace\" , \"Environment\" ); //\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4e3a\uff1aEnvironment\uff0c\u5982\u679c\u6709\u9700\u8981\uff0c\u4ee5\u8054\u7cfb\u76f8\u5173\u5de5\u7a0b\u5e08\u786e\u8ba4\u540e\uff0c\u66f4\u6539. global . set ( \"clientCode\" , \"Data-It_XzOffice\" ); // \u5ba2\u6237\u7aef\u4ee3\u7801\uff0c\u9ed8\u8ba4\u4e3a\uff1aData-It_XzOffice\uff0c\u4e00\u5b9a\u8981\u6539\u4e3a\u4e2d\u5fc3\u5bf9\u5c31\u7684ClientCode\uff0c global . set ( \"deviceId\" , \"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\" ); //\u4e00\u5b9a\u8981\u6539\u4e3a\u4e4b\u524d\u6211\u4eec\u5b9a\u7684\u4f20\u611f\u5668\u5b9e\u4f53ID \u5982\u679c\u4e0d\u786e\u5b9a\uff0c\u8bf7\u8054\u7cfb\u76f8\u5173\u5de5\u7a0b\u5e08\u786e\u8ba4\u3002 \u7136\u540e\uff0c\u70b9\u51fb\uff0c\u5b8c\u6210\uff0c\u90e8\u7f72 \u7136\u540e\uff0c\u4e0b\u4e00\u6b65\uff0c\u975e\u5e38\u91cd\u8981\uff0c\u4e00\u5b9a\u8981\u6267\u884c \u8fd9\u4e00\u6b65\uff0c\u975e\u5e38\u91cd\u8981\uff0c\u5fc5\u987b\u6267\u884c\uff0c\u5426\u5219\u5de5\u4f5c\u6d41\u6ca1\u6709\u628a\u5168\u5c40\u53d8\u91cf\u5199\u5165\u5de5\u4f5c\u6d41\uff0c\u4f1a\u5bfc\u81f4\u53d1\u5e03\u6570\u636e\u4e0d\u6b63\u786e\u3002 \u7136\u540e\uff0c\u6211\u6837\u5c31\u53ef\u4ee5\u7528\u5728debug\u7684\u65e5\u5fd7\u4e2d\u770b\u5230\u6211\u4eec\u53d1\u5e03\u7684\u8282\u70b9\u6570\u636e\u4e86\uff0c \u6b64\u56fe\uff0c\u53ef\u4ee5\u89c2\u5bdf\u5230mqtt\u53d1\u5e03\u5230\u516c\u53f8\u7684\u6570\u636e\uff0cclientCode\uff0cdeviceid\u662f\u5426\u6b63\u5e38\u4e86\u3002 5. \u6d4b\u8bd5\u5de5\u4f5c\u6d41\u7684\u6570\u636e\u662f\u5426\u6b63\u5e38 \u00b6 \u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u7b2c\u4e09\u65b9\u5de5\u5177\u6765\u67e5\u770b\u516c\u53f8mqtt\u670d\u52a1\u6536\u5230\u7684\u6570\u636e\u662f\u5426\u6b63\u5e38\u5982\u4e0b\u56fe \u8fd9\u91cc\u6211\u63a8\u8350\u4f7f\u7528\u5de5\u5177 MQTTX \u4e0b\u8f7d\u5730\u5740\u4e3a\uff1ahttps://mqttx.app/downloads \u81f3\u6b64,\u900f\u6790\u4e2d\u5fc3HA\u73af\u5883\u6e29\u5ea6\u6570\u636e\u53d1\u9001\u5230\u80dc\u900f\u7684\u5de5\u4f5c\u6d41\u914d\u7f6e\u5b8c\u6210\u3002","title":"\u900f\u6790\u4e2d\u5fc3HA\u73af\u5883\u6e29\u5ea6\u53d1\u9001\u5230\u80dc\u900f\u7684\u64cd\u4f5c\u6307\u5357"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#_1","text":"","title":"\u900f\u6790\u4e2d\u5fc3\u73af\u5883\u6e29\u5ea6\u53d1\u9001\u5230\u80dc\u900f\u7684\u64cd\u4f5c\u6307\u5357"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#1","text":"\u5df2\u5b89\u88c5\u5e76\u914d\u7f6e\u597dHome Assistant \u5df2\u7ecf\u5b89\u88c5\u5e76\u914d\u7f6e\u4e86MQTT Broker \u5df2\u7ecf\u5b89\u88c5\u5e76\u914d\u7f6e\u4e86Node-RED \u5df2\u7ecf\u5b89\u88c5\u5e76\u914d\u7f6e\u4e86\u7c73\u5bb6\u6e29\u5ea6\u4f20\u611f\u5668\uff08\u5982Miaomiaoc CN BLT 3\uff09 \u5df2\u7ecf\u83b7\u53d6\u5230\u4e86\u80dc\u900f\u7684MQTT\u670d\u52a1\u5668Broker\u5730\u5740\u548c\u7aef\u53e3","title":"1. \u524d\u63d0\u6761\u4ef6"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#2-home-assistant","text":"","title":"2. \u5728Home Assistant\u4e2d\u914d\u7f6e\u4f20\u611f\u5668\u81ea\u52a8\u5316"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#1id","text":"\u900f\u6790\u4e2d\u5fc3\u53ef\u80fd\u5b89\u88c5\u4e86\u591a\u4e2a\u7c73\u5bb6\u6e29\u5ea6\u4f20\u611f\u5668\uff0c\u9996\u5148\u9700\u8981\u627e\u5230\u5bf9\u5e94\u7684\u5b9e\u4f53ID\u3002 \u53ef\u4ee5\u5728Home Assistant\u7684\u5f00\u53d1\u8005\u5de5\u5177\u4e2d\u67e5\u770b\u5f53\u524d\u6240\u6709\u4f20\u611f\u5668\u7684\u72b6\u6001\u3002 \u4e5f\u53ef\u4ee5\u5728\u5df2\u7ecf\u8bbe\u5907\u4e0e\u670d\u52a1\uff0c\u96c6\u6210\uff0c\u4e2d\u627e\u5230\u7c73\u5bb6\u7684\u8bbe\u5907\uff0c\u627e\u5230\u90a3\u4e2a\u4f20\u611f\u5668 \u627e\u5230\u9700\u8981\u914d\u7f6e\u4e3a\u73af\u5883\u6e29\u5ea6\u7684\u4f20\u611f\u5668 \u70b9\u51fb\u6e29\u5ea6\u5b9e\u4f53 \u70b9\u51fb\u8bbe\u7f6e\u56fe\u6807 \u5982\u672c\u4f8b\u83b7\u53d6\u5230\u7684\u5b9e\u4f53ID\u4e3a sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1 \u3002\u8bb0\u4f4f\u6b64ID\uff0c\u540e\u9762\u5f88\u591a\u5730\u65b9\u90fd\u4f1a\u7528\u5230.","title":"1.\u627e\u5230\u73af\u5883\u6e29\u5ea6\u4f20\u611f\u5668\u5b9e\u4f53ID"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#2","text":"\u6211\u4eec\u9700\u8981\u521b\u5efa\u4e00\u4e2a\u81ea\u52a8\u5316\u89c4\u5219\uff0c\u5f53\u4f20\u611f\u5668\u72b6\u6001\u66f4\u65b0\u65f6\u53ca\u6bcf\u969430\u79d2\uff0c\u5c06\u6e29\u5ea6\u6570\u636e\u53d1\u9001\u5230Home Assistant\u5185\u90e8\u96c6\u6210\u7684\u7684MQTT\u670d\u52a1\u5668\u3002 \u8fdb\u5165 \"\u914d\u7f6e\" \u2192 \"\u81ea\u52a8\u5316\u548c\u573a\u666f\" \u2192 \"\u81ea\u52a8\u5316\"\uff0c\u70b9\u51fb\u53f3\u4e0b\u89d2\u7684 \"+\" \u521b\u5efa\u65b0\u7684\u81ea\u52a8\u5316\u89c4\u5219\u3002 \u8fdb\u5165\u81ea\u52a8\u5316\u89c4\u5219\u7f16\u8f91\u754c\u9762\u540e\uff0c\u70b9\u51fb\u53f3\u4e0b\u89d2\u7684\"\u521b\u5efa\u81ea\u52a8\u5316\"\u6309\u94ae\u3002\u5728\u5f39\u51fa\u7684\u5bf9\u8bdd\u6846\u4e2d\u9009\u62e9\"\u521b\u5efa\u65b0\u7684\u81ea\u52a8\u5316\"\u3002 \u5728\u65b0\u5efa\u81ea\u52a8\u5316\u754c\u9762\uff0c\u70b9\u53f3\u4e0a\u89d2\u7684\u4e09\u4e2a\u70b9\uff0c\u5982\u4e0b\u56fe\u6240\u793a \u5728\u5f39\u51fa\u7684\u4e0b\u62c9\u83dc\u5355\u4e2d\uff0c\u70b9\u51fb\u8fdb\u5165YHAML\u7f16\u8f91,\u8fdb\u5165\u4ee3\u7801\u6a21\u5f0f\uff0c\u5982\u4e0b\u6240\u793a \u5728\u8fd9\u4e2a\u5927\u7684\u6587\u672c\u6846\u4e2d\u7c98\u5165\u5982\u4e0b\u4ee3\u7801\uff1a alias : \u53d1\u5e03\u73af\u5883\u6e29\u5ea6\u4f20\u611f\u5668\u72b6\u6001\u5230MQTT description : \u5f53\u7c73\u5bb6\u6e29\u5ea6\u4f20\u611f\u5668\u72b6\u6001\u53d8\u5316\u6216\u6bcf30\u79d2\u5b9a\u65f6\u65f6\uff0c\u81ea\u52a8\u53d1\u5e03\u5230MQTT\u4f9bNode-RED\u4f7f\u7528 triggers : - entity_id : sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1 trigger : state - seconds : /30 trigger : time_pattern conditions : - condition : template value_template : >- {{ states('sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1') not in ['unavailable', 'unknown', 'None'] and states('sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1') | float(-999) != -999 }} actions : - data : topic : >- homeassistant/sensor/sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1/state payload : >- {{ states('sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1') }} retain : false qos : 0 action : mqtt.publish mode : single \u6ce8\u610f: \u4ee5\u4e0a\u4ee3\u7801\u4e2d\u7684 sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1 \u662f\u793a\u4f8b\u5b9e\u4f53ID\uff0c\u8bf7\u66ff\u6362\u4e3a\u4f60 \u5b9e\u9645\u7684\u6e29\u5ea6\u4f20\u611f\u5668\u5b9e\u4f53ID \u3002 \u653e\u7f6e\u5b8c\u6210\u540e\uff0c\u5982\u4e0b\u56fe\u793a\u610f \u89c2\u5bdf\u4e0a\u6b21\u89e6\u53d1\u5217\u662f\u5426\u4f1a\u6bcf\u969430\u79d2\u6267\u884c\u4e00\u6b21 \u8fd4\u56de\u5230\u4f20\u611f\u5668\u7684\u8bbe\u5907\u754c\u9762\u4e5f\u80fd\u770b\u5230\u8bbe\u5907\u7684\u81ea\u52a8\u5316\u4e0b\u9762\u6709\u4e00\u6761\u81ea\u52a8\u5316\u89c4\u5219\uff0c\u5982\u4e0b\u56fe \u5230\u6b64\uff0c\u81ea\u52a8\u5316\u89c4\u5219\u5df2\u914d\u7f6e\u5b8c\u6210\u3002","title":"2. \u521b\u5efa\u81ea\u52a8\u5316\u89c4\u5219"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#3-node-redmqtt","text":"","title":"3. \u5728Node-RED\u4e2d\u914d\u7f6eMQTT\u63a5\u6536\u8f6c\u53d1"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#1-node-red","text":"\u6253\u5f00nod-red\u7f16\u8f91\u5668\uff0c\u6709\u7684HA\u53ef\u80fd\u662f\u914d\u7f6e\u5728\u5de6\u4fa7\u822a\u83dc\u5355\u4e2d\uff0c\u5982\u4e0b\u56fe\u5fd7\u793a\uff0c\u70b9\u51fb\u5373\u53ef\u8fdb\u5165 \u6709\u7684\u662f\u6ca1\u6709\u914d\u7f6enode-red\u5230\u5de6\u4fa7\u5bfc\u822a\u83dc\u5355\u7684\uff0c\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u53ef\u4ee5\u70b9\u51fb\"\u8bbe\u7f6e-\u52a0\u8f7d\u9879\"\u8fdb\u5165\u52a0\u8f7d\u9879\u9875\u9762 \u627e\u5230Node-RED\u52a0\u8f7d\u9879\uff0c\u70b9\u51fb\u8fdb\u5165 \u8fdb\u5165\u754c\u9762\u5982\u4e0b\uff1a","title":"1. \u6253\u5f00Node-RED\u7f16\u8f91\u5668"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#2_1","text":"\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\"\u83dc\u5355\"\u6309\u94ae\uff0c\u518d\u70b9\u5bfc\u5165\u3002 \u5728\u6b64\u5904\u8d34\u5165\u5de5\u4f5c\u6d41\u4ee3\u7801\uff0c\u6ce8\u610f\uff1a\u8981\u9009\u62e9\u5bfc\u5165\u5230\u65b0\u6d41\u7a0b \u5de5\u4f5c\u6d41\u4ee3\u7801\u5982\u4e0b [ { \"id\" : \"1407d4531e19a951\" , \"type\" : \"tab\" , \"label\" : \"\u900f\u6790\u4e2d\u5fc3\u73af\u5883\u6e29\u5ea6\u6570\u636e\u8f6c\u53d1\" , \"disabled\" : false , \"info\" : \"\u4eceHomeAssistant\u83b7\u53d6\u6e29\u5ea6\u4f20\u611f\u5668\u6570\u636e\u5e76\u53d1\u5e03\u5230\u516c\u53f8MQTT\u670d\u52a1\u5668\" }, { \"id\" : \"97e254f4a87ddde9\" , \"type\" : \"mqtt in\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u8ba2\u9605HA\u6e29\u5ea6\u4f20\u611f\u5668\" , \"topic\" : \"homeassistant/sensor/+/state\" , \"qos\" : \"0\" , \"datatype\" : \"auto\" , \"broker\" : \"mqtt-ha-broker\" , \"nl\" : false , \"rap\" : true , \"rh\" : 0 , \"inputs\" : 0 , \"x\" : 150 , \"y\" : 100 , \"wires\" : [ [ \"44d729e67618e4f2\" ] ] }, { \"id\" : \"44d729e67618e4f2\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u5904\u7406\u6e29\u5ea6\u6570\u636e\" , \"func\" : \"// \u4ece\u5168\u5c40\u53d8\u91cf\u83b7\u53d6\u5171\u4eab\u914d\u7f6e\\nconst nameSpace = global.get(\\\"nameSpace\\\") || \\\"Environment\\\";\\nconst clientCode = global.get(\\\"clientCode\\\") || \\\"Data-It_XzOffice\\\";\\nconst targetDeviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\n\\n// \u4ecetopic\u4e2d\u63d0\u53d6\u5f53\u524d\u8bbe\u5907ID\\nconst topicParts = msg.topic.split('/');\\nconst currentDeviceId = topicParts.length >= 3 ? topicParts[2] : \\\"\\\";\\n\\n// \u53ea\u5904\u7406\u76ee\u6807\u8bbe\u5907\u7684\u6d88\u606f\\nif (currentDeviceId !== targetDeviceId) {\\n node.log(\\\"\u5ffd\u7565\u8bbe\u5907\u6d88\u606f: \\\" + currentDeviceId + \\\" (\u76ee\u6807\u8bbe\u5907: \\\" + targetDeviceId + \\\")\\\");\\n return null;\\n}\\n\\n// \u751f\u6210\u552f\u4e00\u7684\u6d88\u606fID\\nconst messageId = \\\"temp_\\\" + Date.now() + \\\"_\\\" + Math.floor(Math.random() * 1000);\\nconst timestamp = Date.now();\\nconst deviceType = \\\"sensor\\\";\\n\\n// \u89e3\u6790\u6e29\u5ea6\u503c\\nlet temperature = parseFloat(msg.payload);\\nif (isNaN(temperature)) {\\n node.warn(\\\"\u63a5\u6536\u5230\u65e0\u6548\u7684\u6e29\u5ea6\u503c: \\\" + msg.payload);\\n return null;\\n}\\n\\n// \u6309\u7167\u80dc\u900f\u7269\u8054\u7f51\u901a\u4fe1\u534f\u8bae\u683c\u5f0f\u5316\u6570\u636e\\nconst protocolMessage = {\\n \\\"messageId\\\": messageId,\\n \\\"timestamp\\\": timestamp,\\n \\\"clientCode\\\": clientCode,\\n \\\"deviceId\\\": targetDeviceId,\\n \\\"deviceType\\\": deviceType,\\n \\\"version\\\": \\\"1.0\\\",\\n \\\"data\\\": {\\n \\\"properties\\\": {\\n \\\"temperature\\\": {\\n \\\"value\\\": temperature,\\n \\\"unit\\\": \\\"\u00b0C\\\",\\n \\\"quality\\\": \\\"good\\\",\\n \\\"timestamp\\\": timestamp\\n }\\n }\\n }\\n};\\n\\n// \u8bbe\u7f6e\u8f93\u51fa\u6d88\u606f\\nmsg.payload = JSON.stringify(protocolMessage);\\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${targetDeviceId}/properties`;\\nmsg.qos = 0;\\n\\nnode.log(\\\"\u6e29\u5ea6\u6570\u636e\u5df2\u5904\u7406: \\\" + temperature + \\\"\u00b0C (\u8bbe\u5907: \\\" + targetDeviceId + \\\")\\\");\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 420 , \"y\" : 100 , \"wires\" : [ [ \"573842ea77192dbb\" , \"4c630c164e08dc2c\" ] ] }, { \"id\" : \"573842ea77192dbb\" , \"type\" : \"mqtt out\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u53d1\u5e03\u5230\u516c\u53f8MQTT\" , \"topic\" : \"\" , \"qos\" : \"\" , \"retain\" : \"\" , \"respTopic\" : \"\" , \"contentType\" : \"\" , \"userProps\" : \"\" , \"correl\" : \"\" , \"expiry\" : \"\" , \"broker\" : \"mqtt-company-broker\" , \"x\" : 990 , \"y\" : 80 , \"wires\" : [] }, { \"id\" : \"4c630c164e08dc2c\" , \"type\" : \"debug\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u8c03\u8bd5\u8f93\u51fa\" , \"active\" : true , \"tosidebar\" : true , \"console\" : false , \"tostatus\" : false , \"complete\" : \"payload\" , \"targetType\" : \"msg\" , \"statusVal\" : \"\" , \"statusType\" : \"auto\" , \"x\" : 1040 , \"y\" : 360 , \"wires\" : [] }, { \"id\" : \"495c392574ee1bf4\" , \"type\" : \"inject\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u53d1\u5e03\u8bbe\u5907\u7269\u6a21\u578b\" , \"props\" : [ { \"p\" : \"payload\" }, { \"p\" : \"topic\" , \"vt\" : \"str\" } ], \"repeat\" : \"60\" , \"crontab\" : \"\" , \"once\" : true , \"onceDelay\" : \"5\" , \"topic\" : \"shengtou/sensor/TH001_HA/model\" , \"payload\" : \"\" , \"payloadType\" : \"date\" , \"x\" : 170 , \"y\" : 180 , \"wires\" : [ [ \"3aea3ce2deb4ea99\" ] ] }, { \"id\" : \"3aea3ce2deb4ea99\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u751f\u6210\u7269\u6a21\u578b\u6570\u636e\" , \"func\" : \"const messageId = \\\"mdl_\\\" + Date.now();\\nconst timestamp = Date.now();\\n// \u4ece\u5168\u5c40\u53d8\u91cf\u83b7\u53d6\u5171\u4eab\u914d\u7f6e\\nconst nameSpace = global.get(\\\"nameSpace\\\") || \\\"Environment\\\";\\nconst clientCode = global.get(\\\"clientCode\\\") || \\\"Data-It_XzOffice\\\";\\nconst deviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\nconst deviceType = \\\"sensor\\\";\\n\\n// \u6309\u7167\u80dc\u900f\u7269\u8054\u7f51\u901a\u4fe1\u534f\u8bae\u751f\u6210\u7269\u6a21\u578b\u5b9a\u4e49\\nconst modelMessage = {\\n \\\"messageId\\\": messageId,\\n \\\"timestamp\\\": timestamp,\\n \\\"clientCode\\\": clientCode,\\n \\\"deviceId\\\": deviceId,\\n \\\"deviceType\\\": deviceType,\\n \\\"version\\\": \\\"1.0\\\",\\n \\\"data\\\": {\\n \\\"model\\\": {\\n \\\"deviceInfo\\\": {\\n \\\"manufacturer\\\": \\\"\u5c0f\u7c73\\\",\\n \\\"model\\\": \\\"MIAOMIAOC_CN_BLT_3_11A1SBR5K5O01_T2\\\",\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"description\\\": \\\"\u7c73\u5bb6\u6e29\u6e7f\u5ea6\u4f20\u611f\u5668(\u901a\u8fc7HomeAssistant\u96c6\u6210)\\\"\\n },\\n \\\"properties\\\": {\\n \\\"temperature\\\": {\\n \\\"dataType\\\": \\\"float\\\",\\n \\\"unit\\\": \\\"\u00b0C\\\",\\n \\\"range\\\": {\\n \\\"min\\\": -40,\\n \\\"max\\\": 85\\n },\\n \\\"precision\\\": 1,\\n \\\"description\\\": \\\"\u73af\u5883\u6e29\u5ea6\\\"\\n }\\n },\\n \\\"events\\\": {\\n \\\"startup\\\": {\\n \\\"eventType\\\": \\\"info\\\",\\n \\\"description\\\": \\\"\u8bbe\u5907\u542f\u52a8\u4e8b\u4ef6\\\"\\n }\\n },\\n \\\"alarms\\\": {\\n \\\"TEMP_HIGH\\\": {\\n \\\"alarmType\\\": \\\"threshold_exceeded\\\",\\n \\\"description\\\": \\\"\u6e29\u5ea6\u8fc7\u9ad8\u62a5\u8b66\\\",\\n \\\"defaultThreshold\\\": 35.0\\n },\\n \\\"TEMP_LOW\\\": {\\n \\\"alarmType\\\": \\\"threshold_exceeded\\\",\\n \\\"description\\\": \\\"\u6e29\u5ea6\u8fc7\u4f4e\u62a5\u8b66\\\",\\n \\\"defaultThreshold\\\": 0.0\\n }\\n }\\n }\\n }\\n};\\n\\n// \u8bbe\u7f6eMQTT\u53d1\u5e03\u4e3b\u9898\\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${deviceId}/model`;\\nmsg.payload = JSON.stringify(modelMessage);\\nmsg.qos = 1;\\n\\nnode.log(\\\"\u8bbe\u5907\u7269\u6a21\u578b\u6570\u636e\u5df2\u751f\u6210\uff0c\u53d1\u5e03\u5230\u4e3b\u9898: \\\" + msg.topic);\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 400 , \"y\" : 160 , \"wires\" : [ [ \"573842ea77192dbb\" , \"4c630c164e08dc2c\" ] ] }, { \"id\" : \"70e1e283448c941e\" , \"type\" : \"inject\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u8bbe\u5907\u72b6\u6001\u5fc3\u8df3\" , \"props\" : [ { \"p\" : \"payload\" }, { \"p\" : \"topic\" , \"vt\" : \"str\" } ], \"repeat\" : \"120\" , \"crontab\" : \"\" , \"once\" : true , \"onceDelay\" : \"10\" , \"topic\" : \"shengtou/sensor/TH001_HA/status\" , \"payload\" : \"\" , \"payloadType\" : \"date\" , \"x\" : 160 , \"y\" : 240 , \"wires\" : [ [ \"ae74b6d386748045\" ] ] }, { \"id\" : \"ae74b6d386748045\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u751f\u6210\u72b6\u6001\u6570\u636e\" , \"func\" : \"const messageId = \\\"sts_\\\" + Date.now();\\nconst timestamp = Date.now();\\n// \u4ece\u5168\u5c40\u53d8\u91cf\u83b7\u53d6\u5171\u4eab\u914d\u7f6e\\nconst nameSpace = global.get(\\\"nameSpace\\\") || \\\"Environment\\\";\\nconst clientCode = global.get(\\\"clientCode\\\") || \\\"Data-It_XzOffice\\\";\\nconst deviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\nconst deviceType = \\\"sensor\\\";\\n\\n// \u8ba1\u7b97\u8bbe\u5907\u8fd0\u884c\u65f6\u95f4\uff08\u4ece\u7b2c\u4e00\u6b21\u542f\u52a8\u5f00\u59cb\uff09\\nif (!context.get(\\\"startTime\\\")) {\\n context.set(\\\"startTime\\\", timestamp);\\n}\\nconst startTime = context.get(\\\"startTime\\\");\\nconst uptime = timestamp - startTime;\\n\\n// \u6309\u7167\u80dc\u900f\u7269\u8054\u7f51\u901a\u4fe1\u534f\u8bae\u751f\u6210\u72b6\u6001\u6570\u636e\\nconst statusMessage = {\\n \\\"messageId\\\": messageId,\\n \\\"timestamp\\\": timestamp,\\n \\\"clientCode\\\": clientCode,\\n \\\"deviceId\\\": deviceId,\\n \\\"deviceType\\\": deviceType,\\n \\\"version\\\": \\\"1.0\\\",\\n \\\"data\\\": {\\n \\\"status\\\": {\\n \\\"online\\\": true,\\n \\\"lastHeartbeat\\\": timestamp,\\n \\\"uptime\\\": uptime\\n }\\n }\\n};\\n\\n// \u8bbe\u7f6eMQTT\u53d1\u5e03\u4e3b\u9898\\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${deviceId}/status`;\\nmsg.payload = JSON.stringify(statusMessage);\\nmsg.qos = 0;\\n\\nnode.log(\\\"\u8bbe\u5907\u72b6\u6001\u5fc3\u8df3\u5df2\u53d1\u9001\uff0c\u53d1\u5e03\u5230\u4e3b\u9898: \\\" + msg.topic);\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 400 , \"y\" : 240 , \"wires\" : [ [ \"573842ea77192dbb\" , \"4c630c164e08dc2c\" ] ] }, { \"id\" : \"7f9acf10d0c6085d\" , \"type\" : \"inject\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u521d\u59cb\u5316\u5168\u5c40\u914d\u7f6e\" , \"props\" : [ { \"p\" : \"payload\" } ], \"repeat\" : \"\" , \"crontab\" : \"\" , \"once\" : true , \"onceDelay\" : \"1\" , \"topic\" : \"\" , \"payload\" : \"\" , \"payloadType\" : \"date\" , \"x\" : 150 , \"y\" : 40 , \"wires\" : [ [ \"6f6b825dfc5e9512\" ] ] }, { \"id\" : \"6f6b825dfc5e9512\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u8bbe\u7f6e\u5168\u5c40\u914d\u7f6e\" , \"func\" : \"// \u8bbe\u7f6e\u5168\u5c40\u5171\u4eab\u5e38\u91cf\\nglobal.set(\\\"nameSpace\\\", \\\"Environment\\\");\\nglobal.set(\\\"clientCode\\\", \\\"Data-It_XzOffice\\\");\\nglobal.set(\\\"deviceId\\\", \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\");\\n\\nnode.log(\\\"\u5168\u5c40\u914d\u7f6e\u5df2\u8bbe\u7f6e: nameSpace=\\\" + global.get(\\\"nameSpace\\\") + \\\", clientCode=\\\" + global.get(\\\"clientCode\\\") + \\\", deviceId=\\\" + global.get(\\\"deviceId\\\"));\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 360 , \"y\" : 40 , \"wires\" : [ [ \"794c422d39898a7f\" ] ] }, { \"id\" : \"794c422d39898a7f\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u66f4\u65b0MQTT\u8ba2\u9605Topic\" , \"func\" : \"// \u4ece\u5168\u5c40\u53d8\u91cf\u751f\u6210HomeAssistant MQTT\u8ba2\u9605Topic\\nconst deviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\nconst haTopic = `homeassistant/sensor/${deviceId}/state`;\\n\\n// \u5c06Topic\u4fdd\u5b58\u5230\u5168\u5c40\u53d8\u91cf\u4f9b\u5176\u4ed6\u5730\u65b9\u4f7f\u7528\\nglobal.set(\\\"haSubscribeTopic\\\", haTopic);\\n\\nnode.log(\\\"HomeAssistant\u8ba2\u9605Topic\u5df2\u66f4\u65b0: \\\" + haTopic);\\nnode.log(\\\"\u6ce8\u610f\uff1a\u5982\u9700\u66f4\u6539MQTT In\u8282\u70b9\u7684\u8ba2\u9605Topic\uff0c\u8bf7\u624b\u52a8\u4fee\u6539\u4e3a: \\\" + haTopic);\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 590 , \"y\" : 40 , \"wires\" : [ [] ] }, { \"id\" : \"3bf854e9bd3e6937\" , \"type\" : \"inject\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u542f\u52a8\u4e8b\u4ef6\" , \"props\" : [ { \"p\" : \"payload\" }, { \"p\" : \"topic\" , \"vt\" : \"str\" } ], \"repeat\" : \"\" , \"crontab\" : \"\" , \"once\" : true , \"onceDelay\" : \"15\" , \"topic\" : \"shengtou/sensor/TH001_HA/events\" , \"payload\" : \"\" , \"payloadType\" : \"date\" , \"x\" : 160 , \"y\" : 340 , \"wires\" : [ [ \"26f6196b2d6fba29\" ] ] }, { \"id\" : \"26f6196b2d6fba29\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u751f\u6210\u542f\u52a8\u4e8b\u4ef6\" , \"func\" : \"const messageId = \\\"evt_startup_\\\" + Date.now();\\nconst timestamp = Date.now();\\n// \u4ece\u5168\u5c40\u53d8\u91cf\u83b7\u53d6\u5171\u4eab\u914d\u7f6e\\nconst nameSpace = global.get(\\\"nameSpace\\\") || \\\"Environment\\\";\\nconst clientCode = global.get(\\\"clientCode\\\") || \\\"Data-It_XzOffice\\\";\\nconst deviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\nconst deviceType = \\\"sensor\\\";\\n\\n// \u6309\u7167\u80dc\u900f\u7269\u8054\u7f51\u901a\u4fe1\u534f\u8bae\u751f\u6210\u4e8b\u4ef6\u6570\u636e\\nconst eventMessage = {\\n \\\"messageId\\\": messageId,\\n \\\"timestamp\\\": timestamp,\\n \\\"clientCode\\\": clientCode,\\n \\\"deviceId\\\": deviceId,\\n \\\"deviceType\\\": deviceType,\\n \\\"version\\\": \\\"1.0\\\",\\n \\\"data\\\": {\\n \\\"events\\\": [\\n {\\n \\\"eventType\\\": \\\"startup\\\",\\n \\\"eventLevel\\\": \\\"info\\\",\\n \\\"eventCode\\\": \\\"EVT_001\\\",\\n \\\"description\\\": \\\"HomeAssistant\u6e29\u5ea6\u4f20\u611f\u5668\u4ee3\u7406\u8bbe\u5907\u542f\u52a8\u5b8c\u6210\\\",\\n \\\"timestamp\\\": timestamp\\n }\\n ]\\n }\\n};\\n\\n// \u8bbe\u7f6eMQTT\u53d1\u5e03\u4e3b\u9898\\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${deviceId}/events`;\\nmsg.payload = JSON.stringify(eventMessage);\\nmsg.qos = 1;\\n\\nnode.log(\\\"\u8bbe\u5907\u542f\u52a8\u4e8b\u4ef6\u5df2\u751f\u6210\uff0c\u53d1\u5e03\u5230\u4e3b\u9898: \\\" + msg.topic);\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 380 , \"y\" : 320 , \"wires\" : [ [ \"573842ea77192dbb\" , \"4c630c164e08dc2c\" ] ] }, { \"id\" : \"mqtt-ha-broker\" , \"type\" : \"mqtt-broker\" , \"name\" : \"HomeAssistant MQTT\" , \"broker\" : \"192.168.50.83\" , \"port\" : \"1883\" , \"clientid\" : \"\" , \"autoConnect\" : true , \"usetls\" : false , \"protocolVersion\" : \"4\" , \"keepalive\" : \"60\" , \"cleansession\" : true , \"autoUnsubscribe\" : true , \"birthTopic\" : \"\" , \"birthQos\" : \"0\" , \"birthPayload\" : \"\" , \"birthMsg\" : {}, \"closeTopic\" : \"\" , \"closeQos\" : \"0\" , \"closePayload\" : \"\" , \"closeMsg\" : {}, \"willTopic\" : \"\" , \"willQos\" : \"0\" , \"willPayload\" : \"\" , \"willMsg\" : {}, \"sessionExpiry\" : \"\" }, { \"id\" : \"mqtt-company-broker\" , \"type\" : \"mqtt-broker\" , \"name\" : \"\u516c\u53f8MQTT\u670d\u52a1\u5668\" , \"broker\" : \"mqtt-test.ihemodialysis.com\" , \"port\" : \"62183\" , \"clientid\" : \"\" , \"usetls\" : false , \"protocolVersion\" : \"4\" , \"keepalive\" : \"60\" , \"cleansession\" : true , \"birthTopic\" : \"\" , \"birthQos\" : \"0\" , \"birthPayload\" : \"\" , \"birthMsg\" : {}, \"closeTopic\" : \"\" , \"closeQos\" : \"0\" , \"closePayload\" : \"\" , \"closeMsg\" : {}, \"willTopic\" : \"shengtou/sensor/TH001_HA/status\" , \"willQos\" : \"0\" , \"willPayload\" : \"{\\\"messageId\\\":\\\"sts_offline\\\",\\\"timestamp\\\":0,\\\"deviceId\\\":\\\"TH001_HA\\\",\\\"deviceType\\\":\\\"sensor\\\",\\\"version\\\":\\\"1.0\\\",\\\"data\\\":{\\\"status\\\":{\\\"online\\\":false,\\\"lastHeartbeat\\\":0,\\\"uptime\\\":0}}}\" , \"willMsg\" : {}, \"sessionExpiry\" : \"\" } ] \u5f53\u7136\uff0c\u4f60\u4e5f\u53ef\u4ee5\u4ece \u5de5\u4f5c\u6d41\u6587\u4ef6 \u5bfc\u5165\u65b0\u65b0\u5de5\u4f5c\u6d41\u3002 \u70b9\u51fb\u4e0a\u8ff0\u94fe\u63a5\u540e\uff0c\u4e0b\u8f7d\u6587\u4ef6\uff0c\u5e76\u89e3\u538b\uff0c\u5f97\u5230\u4e00\u4e2a\u540d\u4e3a flows.json \u7684\u6587\u4ef6\u3002 \u70b9\u51fb\u5bfc\u5165\u8282\u70b9\u6587\u4ef6\uff0c \u90e8\u7f72\u6210\u529f\u540e\uff0c\u4f1a\u51fa\u73b0\u5982\u4e0b\u56fe\u6240\u793a\u7684\u5de5\u4f5c\u6d41 \u6b64\u65f6\uff0c\u5de5\u4f5c\u6d41\u5df2\u521b\u5b8c\u6210.","title":"2. \u521b\u5efa\u65b0\u5de5\u4f5c\u6d41"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#3-mqtt","text":"\u5de5\u4f5c\u6d41\u4e2d\u6709\u4e24\u4e2aMQTT\u8282\u70b9\uff0c\u5206\u522b\u662fHome Assistant\u7684MQTT Broker\u548c\u516c\u53f8MQTT\u670d\u52a1\u5668\u7684Broker\u3002\u8fd9\u4e24\u4e2a\u8282\u70b9\u7684\u914d\u7f6e\u9700\u8981\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8fdb\u884c\u8c03\u6574\u3002 \u9996\u5148\uff0c\u8981\u5148\u914d\u7f6eHome Assistant\u7684MQTT Broker\u8282\u70b9\uff0c\u786e\u4fdd\u5176\u8fde\u63a5\u4fe1\u606f\u6b63\u786e\u65e0\u8bef\u3002 \u5728\u6211\u4eec\u6ca1\u6709\u914d\u7f6emqtt in \u7684\u8fde\u63a5\u4fe1\u606f\u65f6\uff0c\u6211\u4eec\u53d1\u73b0\u8fd9\u4e2a\u8282\u70b9\u4e00\u76f4\u5904\u7406\u8fde\u63a5\u4e2d \u53cc\u51fb\u8be5\u8282\u70b9\uff0c\u8fdb\u5165\u914d\u7f6e\u754c\u9762 \u70b9\u51fb\u7f16\u8f91\u56fe\u6807 \u5728\u7f16\u8f91mqtt-broker\u8282\u70b9\u7684\u754c\u9762\u4e2d\u7684\u8fde\u63a5\u53c2\u6570\u9009\u9879\u5361\u4e2d\uff0c\u8f93\u5165\u6b63\u786e\u7684\u670d\u52a1\u7aef\u4e0e\u7aef\u53e3\u53f7 \u5982\u679cMQTT\u6709\u7528\u6237\u540d\u548c\u5bc6\u7801\uff0c\u8bf7\u5728\u8ba4\u8bc1\u9009\u9879\u5361\u4e2d\u8f93\u5165\u6b63\u786e\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u540e\uff0c\u7136\u540e\u70b9\u66f4\u65b0 \u7136\u540e\uff0c\u518d\u70b9\u51fb\u5b8c\u6210 \u6700\u540e\u70b9\u51fb\u90e8\u7f72 \u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u6211\u4eec\u53ef\u4ee5\u770b\u5230\uff0c\u6b64\u8282\u70b9\u4f1a\u53d8\u4e3a\u5df2\u8054\u63a5 \u5bf9\u4e8e\"\u53d1\u5e03\u5230\u516c\u53f8MQTT\"\u8282\u70b9\uff0c\u6211\u4eec\u9700\u8981\u914d\u7f6e\u8fde\u63a5\u5230\u516c\u53f8MQTT\u670d\u52a1\u5668\u7684Broker\u3002\u4e5f\u65f6\u540c\u6837\u7684\u64cd\u4f5c\u65b9\u6cd5\uff0c\u53cc\u51fb \u7136\u540e\uff0c\u66f4\u65b0\uff0c\u5b8c\u6210\uff0c\u90e8\u7f72\u5373\u53ef\u3002 \u67e5\u627eHomeAssistant\u7684Mqtt\u914d\u7f6e\u4fe1\u606f \u5bf9\u4e8eHomeAssistant\u6211\u4eec\u4e00\u822c\u90fd\u662f\u63d0\u524d\u90e8\u7f72\u4e86\u5185\u7f6e\u7684MQTT Broker,\u5728\u4e0d\u77e5\u7aef\u53e3\u4e0e\u5bc6\u7801\u7684\u60c5\u51b5\u4e0b\uff0c\u6211\u6837\u53ef\u4ee5\u5728HomeAssistant\u4e2d\u53bb\u67e5\u627e \u8fdb\u5165\u8bbe\u7f6e\u52a0\u8f7d\u9879 \u627e\u5230Mosquitto broker\u8fd9\u4e2a\u9009\u9879\u5361,\u70b9\u51fb\u8fdb\u5165 \u70b9\u51fb\u914d\u7f6e\u9009\u9879\u5361 \u5728\u8fd9\u91cc\u53ef\u4ee5\u770b\u5230MQTT\u7684\u7aef\u53e3\u53f7\u4e0e\u7528\u6237\u540d\u5bc6\u7801\u7b49\u4fe1\u606f\uff0c\u53ca\u4e0b\u9762\u7684mqtt\u5f00\u653e\u7684\u7aef\u53e3\u4fe1\u606f\uff0cip\u5730\u5740\uff0c\u5c31\u662fha\u4e3b\u673a\u6240\u5728\u7684Ip\u5730\u5740\u3002\u4ee5\u4e0a\u4fe1\u606f\uff0c\u7528\u6765\u914d\u7f6e\u5de5\u4f5c\u6d41\u7684mqtt in\u7684\u53c2\u6570\u3002 \u516c\u53f8mqtt\u670d\u52a1\u7aef\u53e3\u4fe1\u606f \u8fd9\u4e2a\u53c2\u6570\uff0c\u8bf7\u5411\u516c\u53f8\u7ba1\u7406\u5458\u83b7\u53d6\uff0c\u6216\u8005\u5728\u516c\u53f8MQTT\u670d\u52a1\u5668\u7684\u914d\u7f6e\u6587\u4ef6\u4e2d\u67e5\u770b\u3002","title":"3. \u914d\u7f6eMQTT\u8282\u70b9"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#4","text":"\u53cc\u51fb\u5de5\u4f5c\u6d41\u7684\u8282\u70b9\"\u8bbe\u7f6e\u5168\u5c40\u914d\u7f6e\",\u6253\u5f00\u7f16\u8f91function\u8282\u70b9 \u5bf9\u5982\u4e0b\u4e09\u884c,\u8fdb\u884c\u66f4\u6539 // \u8bbe\u7f6e\u5168\u5c40\u5171\u4eab\u5e38\u91cf global . set ( \"nameSpace\" , \"Environment\" ); //\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4e3a\uff1aEnvironment\uff0c\u5982\u679c\u6709\u9700\u8981\uff0c\u4ee5\u8054\u7cfb\u76f8\u5173\u5de5\u7a0b\u5e08\u786e\u8ba4\u540e\uff0c\u66f4\u6539. global . set ( \"clientCode\" , \"Data-It_XzOffice\" ); // \u5ba2\u6237\u7aef\u4ee3\u7801\uff0c\u9ed8\u8ba4\u4e3a\uff1aData-It_XzOffice\uff0c\u4e00\u5b9a\u8981\u6539\u4e3a\u4e2d\u5fc3\u5bf9\u5c31\u7684ClientCode\uff0c global . set ( \"deviceId\" , \"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\" ); //\u4e00\u5b9a\u8981\u6539\u4e3a\u4e4b\u524d\u6211\u4eec\u5b9a\u7684\u4f20\u611f\u5668\u5b9e\u4f53ID \u5982\u679c\u4e0d\u786e\u5b9a\uff0c\u8bf7\u8054\u7cfb\u76f8\u5173\u5de5\u7a0b\u5e08\u786e\u8ba4\u3002 \u7136\u540e\uff0c\u70b9\u51fb\uff0c\u5b8c\u6210\uff0c\u90e8\u7f72 \u7136\u540e\uff0c\u4e0b\u4e00\u6b65\uff0c\u975e\u5e38\u91cd\u8981\uff0c\u4e00\u5b9a\u8981\u6267\u884c \u8fd9\u4e00\u6b65\uff0c\u975e\u5e38\u91cd\u8981\uff0c\u5fc5\u987b\u6267\u884c\uff0c\u5426\u5219\u5de5\u4f5c\u6d41\u6ca1\u6709\u628a\u5168\u5c40\u53d8\u91cf\u5199\u5165\u5de5\u4f5c\u6d41\uff0c\u4f1a\u5bfc\u81f4\u53d1\u5e03\u6570\u636e\u4e0d\u6b63\u786e\u3002 \u7136\u540e\uff0c\u6211\u6837\u5c31\u53ef\u4ee5\u7528\u5728debug\u7684\u65e5\u5fd7\u4e2d\u770b\u5230\u6211\u4eec\u53d1\u5e03\u7684\u8282\u70b9\u6570\u636e\u4e86\uff0c \u6b64\u56fe\uff0c\u53ef\u4ee5\u89c2\u5bdf\u5230mqtt\u53d1\u5e03\u5230\u516c\u53f8\u7684\u6570\u636e\uff0cclientCode\uff0cdeviceid\u662f\u5426\u6b63\u5e38\u4e86\u3002","title":"4.\u914d\u7f6e\u5de5\u4f5c\u6d41\u5168\u5c40\u53d8\u91cf"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#5","text":"\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u7b2c\u4e09\u65b9\u5de5\u5177\u6765\u67e5\u770b\u516c\u53f8mqtt\u670d\u52a1\u6536\u5230\u7684\u6570\u636e\u662f\u5426\u6b63\u5e38\u5982\u4e0b\u56fe \u8fd9\u91cc\u6211\u63a8\u8350\u4f7f\u7528\u5de5\u5177 MQTTX \u4e0b\u8f7d\u5730\u5740\u4e3a\uff1ahttps://mqttx.app/downloads \u81f3\u6b64,\u900f\u6790\u4e2d\u5fc3HA\u73af\u5883\u6e29\u5ea6\u6570\u636e\u53d1\u9001\u5230\u80dc\u900f\u7684\u5de5\u4f5c\u6d41\u914d\u7f6e\u5b8c\u6210\u3002","title":"5. \u6d4b\u8bd5\u5de5\u4f5c\u6d41\u7684\u6570\u636e\u662f\u5426\u6b63\u5e38"},{"location":"Usages/backupAndRestore/BackupToFile/","text":"\u5907\u4efd\u5230\u6587\u4ef6 \u00b6","title":"BackupToFile"},{"location":"Usages/backupAndRestore/BackupToFile/#_1","text":"","title":"\u5907\u4efd\u5230\u6587\u4ef6"},{"location":"Usages/backupAndRestore/RestoreFromFile/","text":"\u4ece\u5907\u4efd\u6587\u4ef6\u6587\u4ef6\u4e2d\u6062\u590d \u00b6 HomeAssistant\u652f\u6301\u4ece\u5907\u4efd\u6587\u4ef6\u4e32\u6062\u590d\u5df2\u914d\u7f6e\u597d\u7684HomeAssistant","title":"RestoreFromFile"},{"location":"Usages/backupAndRestore/RestoreFromFile/#_1","text":"HomeAssistant\u652f\u6301\u4ece\u5907\u4efd\u6587\u4ef6\u4e32\u6062\u590d\u5df2\u914d\u7f6e\u597d\u7684HomeAssistant","title":"\u4ece\u5907\u4efd\u6587\u4ef6\u6587\u4ef6\u4e2d\u6062\u590d"},{"location":"Usages/initConfig/initConfig/","text":"\u521d\u59cb\u5316\u914d\u7f6eHomeAssistant \u00b6 \u9996\u6b21\u6253\u5f00HomeAssistant \u00b6 \u9996\u6b21\u6253\u5f00HomeAssistant\u901a\u8fc7,\u8def\u7531\u5668\u4e3a\u5176\u5206\u914d\u7684IP\u5730\u5740\u52a0\u7aef\u53e3\u53f7\u5373\u53ef\u8fdb\u884cHomeAssistant. \u683c\u5f0f\u5982\u4e0b: http://Ip:Port \u5982:http://192.168.3.2:8123 \u57fa\u4e2d:8123\u4e3a\u5176\u9ed8\u8ba4\u7684\u7aef\u53e3\u540e,\u5f53\u7136,\u7cfb\u7edf\u521d\u59cb\u5316\u6210\u529f\u540e,\u53ef\u4ee5\u6539. \u5982\u4e0b\u56fe\u6240\u793a: \u70b9\u51fb\"\u521b\u5efa\u6211\u667a\u80fd\u5bb6\u5bb6\u5c45\"\u6309\u8fdb\u884c\u4e0b\u4e00\u6b65 \u5728\u8fd9\u91cc\u6211\u4eec\u8f93\u5165\u59d3\u540d,\u7528\u6237\u540d,\u5bc6\u7801,\u786e\u8ba4\u5bc6\u7801 \u8fd9\u91cc\u6211\u4eec\u4f7f\u7528\u7edf\u4e00\u7684\u4fe1\u606f \u59d3\u540d:\u5cb1\u7279\u667a\u80fd \u7528\u6237\u540d:dtuser \u5bc6\u7801:****** \u786e\u8ba4\u5bc6\u7801:***** \u6ce8\u610f:\u4e0a\u8ff0\u5bc6\u7801\u4e3a\u4e86\u5b89\u5168,\u6ca1\u6709\u663e\u793a,\u8bf7\u54a8\u8be2\u7cfb\u7edf\u7ba1\u7406\u5458\u83b7\u53d6\u771f\u6b63\u7684\u5bc6\u7801. \u70b9\u51fb\"\u521b\u5efa\u5e10\u6237\", \u8fd9\u4e00\u6b65,\u4f1a\u8981\u6c42\u4f60\u8f93\u5165\u4f4d\u7f6e,\u8f93\u5165\u57ce\u5e02\u70b9\u83b7\u53d6,\u5982\u679c\u53d6\u4e0b\u5230\u4f1a\u62a5\u9519.\u6ca1\u5173\u7cfb,\u76f4\u63a5\u4e0b\u4e00\u6b65\u5373\u53ef,\u7cfb\u7edf\u914d\u7f6e\u5b8c\u6210\u540e,\u8fd8\u53ef\u66f4\u6539. \u8fd9\u4e00\u6b65\u662f\u8981\u6c42,\u4f60\u8f93\u4e0b\u6240\u5c5e\u7684\u56fd\u5bb6\u4e0e\u5730\u533a,\u5b83\u4f1a\u81ea\u52a8\u5224\u65ad\u51fa\u6765,\u56fd\u5bb6,\u76f4\u63a5\u70b9\u4e0b\u4e00\u6b65\u5373\u53ef. \u6b64\u65f6,\u5b83\u53ef\u80fd\u8fd8\u4f1a\u5f39\u51fa\u4e00\u4e2a\u5bf9\u8bdd\u6846\u6846,\u5e2e\u4f60\u68c0\u6d4b\u4f4d\u7f6e ,\u70b9\u786e\u5b9a\u5373\u53ef \u5982\u679c\u4e0d\u60f3\u8ba9\u5176\u68c0\u6d4b,\u76f4\u63a5\u70b9\u53d6\u6d88\u5373\u53ef,\u56e0\u4e3a\u5176\u68c0\u6d4b\u6298\u53ef\u80fd\u5f88\u6162,\u6240\u4ee5,\u76f4\u63a5\u70b9\u53d6\u6d88,\u9009\u62e9\u4e2d\u56fd\u5373\u53ef. \u8fd9\u91cc\u7684\u51e0\u9879,\u5168\u90e8\u4e0d\u7528\u9009,\u76f4\u63a5\u4e0b\u4e00\u6b65 \u8fd9\u4e00\u6b65,\u7cfb\u7edf\u4f1a\u81ea\u52a8\u626b\u63cf\u5c40\u57df\u7f51\u4e2d\u7684\u80fd\u76f4\u63a5\u5165\u7684\u8bbe\u5907.\u76f4\u63a5\u70b9\u51fb\u5b8c\u6210, \u7136\u540e,\u7cfb\u7edf\u4f1a\u8f6c\u5230\u5982\u4e0b\u754c\u9762 \u53ef\u80fd\u8981\u6301\u7eed\u4e00\u9635,\u7b49\u5f85\u5176\u5b8c\u6210\u5373\u53ef. \u5f00\u59cb\u7b2c\u4e00\u6b21,\u53ef\u80fd\u5f88\u6162 \u9996\u6b21\u5b8c\u6210\u5982\u4e0b\u663e\u793a \u66f4\u65b0\u5fc5\u8981\u7684\u7ec4\u4ef6 \u00b6 \u9996\u6b21\u767b\u5f55,\u53ef\u80fd\u4f1a\u663e\u793a\u66f4\u65b0,\u5982\u6b64\u65f6\u663e\u793a \u63d0\u793a\u66f4\u65b0Home Assistnat Operating System Update,\u70b9\u51fb\u5982\u4e0b\u6309\u94ae,\u4ee5\u5f39\u51fa\u7684\u5bf9\u8bdd\u6846\u4e2d\uff0c\u70b9\u66f4\u65b0\u6309\u94ae \u5982\u4e0b\u56fe\u6240\u793a\uff0c\u7cfb\u7edf\u5c06\u4f1a\uff0c\u8fdb\u884c\u66f4\u65b0 \u6ce8\u610f\uff0c\u8fd9\u4e2a\u64cd\u4f5c\uff0c\u4e00\u822c\u662f\u4ece\u4e24\u4e2a\u5730\u65b9\u83b7\u53d6\u66f4\u65b0\u5305\uff0c\u4e00\u662fgithub\u4e00\u4e2a\u662fdocker\u7684\u4ed3\u5e93\uff0c\u6240\u4ee5\uff0c \u8981\u4fdd\u6301\u79d1\u5b66\u4e0a\u7f51\u7684\u7545\u901a \u3002\u8fd9\u4e2a\u8fc7\u7a0b \uff0c\u4f30\u8ba1\u8981\u51e0\u5206\u949f\uff0c\u9700\u8981\u8010\u5fc3\u7b49\u7b49\uff0c\u4e5f\u6709\u53ef\u80fd\u4f1a\u66f4\u65b0\u5931\u8d25\uff0c\u7136\u540e\uff0c\u518d\u6b21\u66f4\u65b0\u3002 \u66f4\u65b0\u65f6,\u5982\u679c\u7f51\u7edc\u6709\u95ee\u9898\u53ef\u80fd\u4f1a\u51fa\u5728\u65e5\u5fd7 \u4e2d\u62a5\u51fa\u5982\u4e0b\u9519\u8bef aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.438 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.438 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.438 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.438 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.438 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.439 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.440 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.440 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.440 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') [09:26:17] INFO: Home Assistant Core finish process exit code 0 [09:26:17] INFO: Home Assistant Core service shutdown s6-rc: info: service legacy-services successfully stopped s6-rc: info: service legacy-cont-init: stopping s6-rc: info: service legacy-cont-init successfully stopped s6-rc: info: service fix-attrs: stopping s6-rc: info: service fix-attrs successfully stopped s6-rc: info: service s6rc-oneshot-runner: stopping s6-rc: info: service s6rc-oneshot-runner successfully stopped s6-rc: info: service s6rc-oneshot-runner: starting s6-rc: info: service s6rc-oneshot-runner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service fix-attrs successfully started s6-rc: info: service legacy-cont-init: starting s6-rc: info: service legacy-cont-init successfully started s6-rc: info: service legacy-services: starting services-up: info: copying legacy longrun home-assistant (no readiness notification) s6-rc: info: service legacy-services successfully started 2025-04-16 17:28:26.876 ERROR (MainThread) [homeassistant.components.homeassistant_alerts.coordinator] Timeout fetching homeassistant_alerts data 2025-04-16 17:51:56.276 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain hassio.update 2025-04-16 17:51:56.278 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain cloud.tts 2025-04-16 17:51:56.278 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain mobile_app.notify 2025-04-16 17:51:56.278 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain backup.sensor 2025-04-16 17:51:56.279 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain energy.sensor 2025-04-16 17:51:56.279 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain sun.sensor 2025-04-16 17:51:56.279 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain homeassistant.scene 2025-04-16 17:51:56.279 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain hassio.binary_sensor 2025-04-16 17:51:56.280 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain hassio.sensor \u4e0a\u8ff0\u9519\u8bef\u591a\u662f\u7531\u4e8e\u7f51\u7edc\u95ee\u9898\u5f15\u8d77\u7684,\u8981\u53bb\u68c0\u662f\u79d1\u5b66\u4e0a\u7f51\u662f\u5426\u8fd8\u6b63\u5e38. \u66f4\u5b8c\u5b8c\u6210\u540e,\u518d\u6b21\u542f\u52a8\u540e,\u4f1a\u663e\u793a\u6ca1\u6709\u53ef\u7528\u7684\u66f4\u65b0 \u914d\u7f6e-\u901a\u7528 \u00b6 \u70b9\u51fb,\u5f00\u59cb,\u901a\u7528 \u66f4\u6539\u540d\u79f0\u4e3a:\u5cb1\u7279\u667a\u80fd \u5176\u5b83\u7684\u4e0d\u53d8 #### \u914d\u7f6e-\u7f51\u7edc-\u4e3b\u673a\u540d \u628a\u4e3b\u673a\u540d\u914d\u7f6e\u6210\u4e3a\u5c40\u57df\u7f51\u4e2d\u552f\u4e00\u7684,\u5b9e\u9645\u8ba9\u5c31\u662f\u8ba1\u7b97\u673a\u540d,\u56e0\u4e3a\u540c\u4e00\u5c40\u57df\u7f51\u4e2d,\u8ba1\u7b97\u673a\u540d,\u4e0d\u5141\u8bb8\u76f8\u540c \u914d\u7f6e-\u8bbe\u7f6e-\u52a0\u8f7d\u9879 \u00b6 \u52a0\u8f7d\u9879\u4e2d\u6709\u8bb8\u591a\u5fc5\u88c5\u7ec4\u4ef6,\u9700\u8981\u4e00\u4e00\u5b89\u88c5,\u9996\u6b21\u8fdb\u5165\u65f6,\u53ef\u80fd\u4f1a\u663e\u793a\u5982\u4e0b\u9875\u9762 \u70b9\u51fb\u4e0b\u89d2\u7684\"\u52a0\u8f7d\u9879\u5546\u5e97\" \u5b89\u88c5File editor \u00b6 File editor \u662f\u4e00\u4e2a\u7528\u4e8e\u4fee\u6539HA\u7684\u914d\u7f6e\u6587\u4ef6\u7684\u96c6\u6210\u5de5\u5177,\u5c5e\u5fc5\u88c5\u9879,\u70b9\u51fb\u5b89\u88c5 \u70b9\u51fb\u5b89\u88c5,\u7cfb\u7edf\u4f1a\u5728\u540e\u53f0\u81ea\u52a8\u5b89\u88c5\u6b64\u63d2\u4ef6, \u5b89\u88c5\u5b8c\u6210\u540e,\u4f1a\u81ea\u52a8\u91cd\u542f \u6709\u65f6\u4e5f\u4f1a\u63d0\u793a\u5b89\u88c5\u5931\u8d25 \u8fd9\u79cd\u7ecf\u67e5\u770b\u65e5\u5fd7 \u591a\u4e3a\u7f51\u5f3a\u884c\u95ee\u9898\u65e0\u6cd5\u8bbf\u95ee.docker.io,\u8fd9\u662f\u56e0\u4e3a\u79d1\u5b66\u4e0a\u98ce\u7684\u539f\u56e0,\u91cd\u70b9\u6392\u67e5\u7f51\u7edc,\u5b89\u88c5\u6210\u529f\u540e,\u518d\u6b21\u8fdb\u5165\u4f1a\u663e\u793a\u5982\u4e0b\u754c\u9762 \u52fe\u9009,\u5f00\u673a\u542f\u52a8,\u81ea\u52a8\u6062\u590d,\u663e\u793a\u4e8e\u4fa7\u8fb9\u680f \u70b9\u51fb\u542f\u52a8,\u6216\u91cd\u542f,\u5c06\u4f1a\u5728\u4fa7\u8fb9\u680f\u770b\u5230\u6b64\u56fe\u6807,\u70b9\u51fb\u6253\u5f00\u7f51\u9875\u754c\u9762 \u80fd\u770b\u5230\u5982\u4e0b\u754c\u9762,\u8bf4\u660e\u5b89\u88c5\u6210\u529f \u6b64\u65f6\u52a0\u8f7d\u9879\u4e2d,\u5c31\u591a\u51fa\u4e86File editor\u9009\u9879 \u5b89\u88c5Samba share\u63d2\u4ef6 \u00b6 Samba share\u63d2\u4ef6\u662f\u4e00\u4e2a\u63d0\u4f9b\u5171\u4eab\u76ee\u5f55\u7684\u65b9\u5f0f\u5141\u884c\u5176\u5b83\u8ba1\u7b97\u673a\u7528\u8fd9\u79cd\u65b9\u5f0f\u67e5\u770b\u7f16\u8f91ha\u7684\u6587\u4ef6\u7684\u7ec4\u4ef6. \u70b9\u51fb\u5b89\u88c5 \u5b89\u88c5\u5931\u8d25\u65f6,\u4f1a\u6709\u5982\u4e0b\u63d0\u4e0b\u63d0\u793a \u6253\u5f00\u81ea\u52a8\u6062\u590d \u63a5\u4e0b\u6765\u6211\u4eec\u9700\u8981\u5230\u914d\u7f6e\u9009\u9879\u4e2d \u6b64\u5904\u6211\u4eec\u8bbe\u7f6e\u5982\u4e0b\u4fe1\u606f Username:dtuser Password:***** # \u6b64\u5904\u8bf7\u54a8\u8be2\u7ba1\u7406\u5458 Workgroup:WORKGROUP # \u4fdd\u6301\u4e0d\u53d8 \u66f4\u6539\u5b8c\u6210\u540e,\u6709\u5982\u4e0b\u914d\u7f6e \u914d\u7f6e \u5b8c\u6210\u540e,\u70b9\u51fb\u542f\u52a8 \u542f\u52a8\u6210\u529f\u540e,\u4f1a\u51fa\u4e0b\u56fe\u663e\u793a \u6b64\u65f6,\u5982\u679c,\u4e0eHA\u5728\u540c\u4e00\u5c40\u57df\u7f51\uff0c\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u5982\u4e0b\u65b9\u5f0f\u67e5\u770bHA\u7684\u6587\u4ef6\u76ee\u5f55 \u5728\u5730\u5740\u680f\u8f93\u5165\\HA\u7684IP \u8f93\u5165\u9884\u8bbe\u7684\u7528\u6237\u540d\u4e0e\u5bc6\u7801,\u5373\u53ef\u67e5\u770b,\u7f16\u8f91HA\u7684\u5404\u79cd\u6587\u4ef6\u3002 \u5b89\u88c5Terminal & SSH \u00b6 Terminal & SSH \u63d2\u4ef6\u4e3aHA\u63d0\u4f9b\u4e86\u5728web\u7aef\u4f7f\u7528\u63a7\u5236\u53f0\u7ec8\u7aef\u529f\u80fd,\u53ca\u5f00\u542f\u4e86ssh\u670d\u52a1,\u4f7f\u4e4b\u53ef\u4ee5\u8fdc\u7a0b\u4f7f\u7528SSH\u8bbf\u95eeHA\u7ec8\u7aef\u3002 \u5728\u641c\u7d22\u4e2d\u8f93\u5165Terminal & SSH \u7ed3\u679c\u6709\u53ef\u80fd\u663e\u793a \u641c\u7d22\u4e0d\u5230\uff0c\u8fd9\u65f6\uff0c\u53ef\u80fd\u662f\u56e0\u4e3a\u4ed3\u5e93\u6ca1\u6709\u914d\u7f6e\uff0c\u8fd8\u662f\u4f7f\u7528\u7684\u9ed8\u8ba4\u7684\u4ed3\u5e93\uff0c\u6211\u4eec\u53ef\u4ee5\u589e\u52a0\u4e00\u4e0b\u4ed3\u5e93\uff0c\u5982\u4e0b\uff1a https://github.com/AlexxIT/hassio-addons \u70b9\u51fb\u53f3\u4e0a\u89e3\u7684\u4e09\u4e2a\u70b9,\u9009\u4e2d\u4ed3\u5e93 \u5728\u5f39\u51fa\u6298\u5bf9\u8bdd\u6846\u4e2d\u8f93\u5165,\u6211\u4eec\u8bb0\u5f55\u7684\u4ed3\u5e93\u5730\u5740,\u7136\u540e\u70b9\u6dfb\u52a0 \u5b8c\u6210\u540e,\u70b9\u51fb\u5173\u95ed. \u7136\u540e,\u70b9\u51fb\u8fd4\u56de,\u91cd\u65b0\u641c\u7d22 \u8fd9\u6b21\u627e\u5230\u4e86Advance SSH & Web Terminal \u70b9\u51fb\u5b89\u88c5,\u6253\u5f00\u5982\u4e0b\u9875\u9762 \u70b9\u51fb\u5b89\u88c5,\u6709\u65f6\u4f1a\u5b89\u88c5\u5931\u8d25, \u5931\u8d25\u540e,\u9700\u518d\u6b21\u5b89\u88c5,\u540c\u65f6\u68c0\u67e5\u65e5\u5fd7\u4e2d\u63d0\u5230\u7684\u54ea\u4e2a\u7f51\u5740\u65e0\u6cd5\u8bbf\u95ee ,\u628a\u5176\u52a0\u79d1\u5b66\u4e0a\u7f51\u7684\u4ee3\u7406\u540d\u5355\u4e2d. \u5b89\u88c5\u5b8c\u6210\u540e,\u5c31\u53d8\u6210\u5982\u4e0b \u5f00\u542f\u81ea\u52a8\u6062\u5f97,\u663e\u793a\u4fa7\u8fb9\u680f \u63a5\u4e0b\u6765,\u6211\u4eec\u914d\u7f6essh\u7684\u767b\u5f55\u4fe1\u606f,\u5982\u4e0b \u76f8\u5173\u4fe1\u606f\u5982\u4e0b: username:dtuser passsword:**** # \u6b64\u5904\u9700\u8981\u54a8\u8be2\u7ba1\u7406\u5458 \u5176\u5b83\u914d\u7f6e\u9009\u9879\u5982\u4e0b,\u6ce8\u610f\u9009\u9879,\u9009\u9519\u4e86ssh\u53ef\u80fd\u542f\u4e0d\u8d77\u6765,sftp\u5173\u95ed,zsh\u5173\u95ed.compatibility_mode\u8981\u5f00\u542f \u7136\u540e,\u70b9\u51fb\u542f\u52a8\u6309\u94ae \u542f\u52a8\u540e\u5982\u4e0b \u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u4e24\u4e2a\u5730\u65b9\u8fdb\u5165 \u5728\u65e5\u5fd7 \u7aef\u80fd\u770b\u5230 ssh\u5df2\u542f\u52a8\u6210\u529f s6-rc: info: service base-addon-banner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service base-addon-log-level: starting s6-rc: info: service fix-attrs successfully started s6-rc: info: service base-addon-log-level successfully started s6-rc: info: service legacy-cont-init: starting s6-rc: info: service legacy-cont-init successfully started s6-rc: info: service init-ssh: starting s6-rc: info: service init-mysql: starting s6-rc: info: service init-mosquitto: starting s6-rc: info: service init-docker: starting s6-rc: info: service init-docker successfully started s6-rc: info: service init-mysql successfully started s6-rc: info: service init-mosquitto successfully started [14:51:05] WARNING: [14:51:05] WARNING: Logging in with a SSH password is security wise, a bad idea! [14:51:05] WARNING: Please, consider using a public/private key pair. [14:51:05] WARNING: What is this? https://kb.iu.edu/d/aews [14:51:05] WARNING: [14:51:05] NOTICE: RSA host key missing, generating one... Generating public/private rsa key pair. Your identification has been saved in /data/ssh_host_rsa_key Your public key has been saved in /data/ssh_host_rsa_key.pub The key fingerprint is: SHA256:+9pEl2QvyUqsu4B3gnPjhL/Ab71iBIDjWRdYvgZeg0c root@a0d7b954-ssh The key's randomart image is: +---[RSA 3072]----+ | . oE. | |o .o+. | |..o+.= o | | o. = o . + + | | . + S + * . | | ..+. = o . | | B.B.+ o | | X+=.= | | o=o=+o | +----[SHA256]-----+ [14:51:08] NOTICE: ED25519 host key missing, generating one... Generating public/private ed25519 key pair. Your identification has been saved in /data/ssh_host_ed25519_key Your public key has been saved in /data/ssh_host_ed25519_key.pub The key fingerprint is: SHA256:MgbUsAJ+23skjVTwD0pWVRBCmZ0BjU3jwV/99gGnNVc root@a0d7b954-ssh The key's randomart image is: +--[ED25519 256]--+ |. o+o*%O*. . E| |.. . .=+o*o o =.| | ...o+ o .. . = +| | ..*.+ o . . .o| | . =+oS. .o| | .+o .| | . . | | . | | | +----[SHA256]-----+ s6-rc: info: service init-ssh successfully started s6-rc: info: service init-user: starting [14:51:08] NOTICE: Session sharing has been disabled! s6-rc: info: service init-user successfully started s6-rc: info: service ttyd: starting s6-rc: info: service sshd: starting s6-rc: info: service sshd successfully started s6-rc: info: service ttyd successfully started s6-rc: info: service legacy-services: starting [14:51:09] INFO: Starting the ttyd daemon... [14:51:09] INFO: Starting the SSH daemon... s6-rc: info: service legacy-services successfully started Server listening on 0.0.0.0 port 22. Server listening on :: port 22. \u914d\u7f6e\u6210\u529f\u540e,\u53ef\u4ee5\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u6765\u6d4b\u8bd5\u662f\u5426\u53ef\u4ee5\u8fdc\u7a0bSSH\u8fde\u5165 \u8f93\u5165yes\u540e\u4f1a\u8981\u6c42 \u8f93\u5165\u5bc6\u7801,\u9a8c\u8bc1\u6b63\u786e\u540e,\u4f1a\u8fdb\u5165\u770b\u5230\u5982\u4e2a\u56fe,\u5c31\u8bf4\u660essh\u5df2\u6b63\u5e38\u7684\u5f00\u542f\u6210\u529f\u4e86 \u4ee5\u4e0b\u754c\u9762\u662f\u5728ha\u4e2d\u770b\u5230\u7684\u5185\u7f6e\u7684ssh \u5176\u5b83,\u5f53\u8bbf\u95ee\u4e00\u4e9b\u7cfb\u7edf\u64cd\u4f5c\u65e0\u6743\u9650\u65f6,\u53ef\u4ee5\u5173\u95ed\u4fdd\u62a4\u5f00\u5173 \u5b89\u88c5Mosquitto broker \u00b6 Mosquitto broker\u662f\u4e00\u4e2a\u91cd\u8981\u7684\u63d2\u4ef6,\u5176\u63d0\u4f9b\u7684MQTT \u670d\u52a1\u4e3a\u516c\u53f8\u5927\u591a\u6570\u6570\u8bbe\u5907\u6298\u96c6\u6210\uff0cmqtt\u901a\u4fe1\u901a\u9053\uff0c\u6240\u4ee5\uff0c\u6b64\u4e3a\u5fc5\u88c5\u63d2\u4ef6\u3002 \u70b9\u51fb\u5b89\u88c5 \u770b\u5230\u5982\u4e0b\u754c\u9762\uff0c\u8bf4\u660e\u5b89\u88c5\u6210\u529f\uff0c \u63a5\u4e0b\u6765\u662f\u914d\u7f6emqtt \u5f00\u542f\u81ea\u52a8\u6062\u590d \u00b6 \u914d\u7f6emqtt\u7684\u7528\u6237\u540d\u5bc6\u7801\u53ca\u5b9a\u5236\u914d\u7f6e \u00b6 username:dtuser password:****** #\u6b64\u5904\u7684\u5bc6\u7801\u8bf7\u54a8\u8be2\u7ba1\u7406\u5458 \u914d\u7f6e\u5b8c\u6210\u540e,\u542f\u52a8mqtt\u670d\u52a1 \u65e5\u5fd7\u4e2d\u663e\u793a\u5982\u4e0b\u4fe1\u606f,\u8bf4\u660e\u6210\u529f s6-rc: info: service s6rc-oneshot-runner: starting s6-rc: info: service s6rc-oneshot-runner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service fix-attrs successfully started s6-rc: info: service legacy-cont-init: starting cont-init: info: running /etc/cont-init.d/mosquitto.sh [16:33:27] INFO: Setting up user dtuser [16:33:28] INFO: SSL is not enabled cont-init: info: /etc/cont-init.d/mosquitto.sh exited 0 cont-init: info: running /etc/cont-init.d/nginx.sh cont-init: info: /etc/cont-init.d/nginx.sh exited 0 s6-rc: info: service legacy-cont-init successfully started s6-rc: info: service legacy-services: starting services-up: info: copying legacy longrun mosquitto (no readiness notification) services-up: info: copying legacy longrun nginx (no readiness notification) [16:33:29] INFO: Starting NGINX for authentication handling... s6-rc: info: service legacy-services successfully started [16:33:29] INFO: Starting mosquitto MQTT broker... 2025-04-17 16:33:29: Warning: Mosquitto should not be run as root/administrator. 2025-04-17 16:33:29: mosquitto version 2.0.20 starting 2025-04-17 16:33:29: Config loaded from /etc/mosquitto/mosquitto.conf. 2025-04-17 16:33:29: Loading plugin: /usr/share/mosquitto/go-auth.so 2025-04-17 16:33:29: \u251c\u2500\u2500 Username/password checking enabled. 2025-04-17 16:33:29: \u251c\u2500\u2500 TLS-PSK checking enabled. 2025-04-17 16:33:29: \u2514\u2500\u2500 Extended authentication not enabled. 2025-04-17 16:33:29: Opening ipv4 listen socket on port 1883. 2025-04-17 16:33:29: Opening ipv6 listen socket on port 1883. 2025-04-17 16:33:29: Opening websockets listen socket on port 1884. 2025-04-17 16:33:29: mosquitto version 2.0.20 running 2025-04-17 16:33:29: New connection from ::1:56336 on port 1883. 2025-04-17 16:33:29: Client <unknown> disconnected due to protocol error. [16:33:30] INFO: Successfully send discovery information to Home Assistant. [16:33:31] INFO: Successfully send service information to the Supervisor. \u5f53\u6d88\u606f,\u63d0\u793a\u53d1\u73b0\u8bbe\u5907\u65f6,\u70b9\u51fb,\u5f39\u51fa\u7684\u6d88\u606f\u4e2d,\u70b9check it out,\u7136\u540e,\u770b\u5230\u5df2\u53d1\u73b0mqtt,\u70b9\u51fb\u6dfb\u52a0 \u7136\u540e,\u70b9\u51fb\u5b8c\u6210 \u7136\u540e\u5c31\u4f1a\u5728\u8bbe\u7f6e-\u8bbe\u5907\u4e0e\u670d\u52a1-\u96c6\u6210\u4e2d,\u663e\u793aMqtt,\u4ee5\u540e,\u6240\u6709\u589e\u52a0\u7684MQTT\u7c7b\u8bbe\u5907\uff0c\u90fd\u4f1a\u663e\u793a\u5728\u8fd9\u4e2a\u7c7b\u522b\u4e2d\u3002 \u5b89\u88c5Node-RED\u63d2\u4ef6 \u00b6 Node-Red\u63d2\u4ef6\u662f\u6211\u4eec\u96c6\u4e2d\u5404\u79cd\u8bbe\u5907\u7684\u91cd\u8981\u6d88\u606f\u5904\u7406\u8f6c\u6362\u63d2\u4ef6,\u5c5e\u5fc5\u88c5\u63d2\u4ef6. \u5728\u52a0\u8f7d\u9879\u4e2d,\u641c\u7d22nod\u663e\u793a\u5982\u4e0b \u70b9\u51fb,\u8fdb\u5165\u8be6\u7ec6\u9875\u9762 \u70b9\u51fb\u5b89\u88c5 \u5982\u679c\u5b89\u88c5\u51fa\u9519,\u591a\u534a\u662f\u79d1\u5b66\u4e0a\u7f51\u7684\u95ee\u9898, \u5982\u73b0\u5982\u4e0b\u9875\u9762,\u8bf4\u660e\u5b89\u88c5\u6210\u529f \u5f00\u542f\u81ea\u52a8\u6062\u590d,\u5173\u95ed\u4fa7\u8fb9\u680f \u914d\u7f6enod-red \u6b64\u5904\u7684\u914d\u7f6e\u4fe1\u606f\u4e3a username:admin password:**** #\u6b64\u5904\u7684\u5bc6\u7801,\u8bf7\u5411\u7ba1\u7406\u5458\u83b7\u53d6 ### \u9ed8\u8ba4\u60c5\u51b5\u4e0b\u5173\u95edssl \u7136\u540e\u542f\u52a8node-red \u70b9\u51fb\u6253\u5f00web-\u9875\u9762\u5982\u4e0b \u5b89\u88c5go2rtc\u63d2\u4ef6 \u00b6 go2rtc\u63d2\u4ef6\u662f\u4e3a\u4e86\u5bf9\u89c6\u6d41\u8f6c\u53d1\u7528\u7684\u4e13\u7528\u63d2\u4ef6,\u5982\u679c\u60f3\u628a\u76d1\u63a7\u89c6\u9891\u6d41\u63a5\u5165,\u5219\u53ef\u4ee5\u4f7f\u7528\u8fd9\u4e2a\u63d2\u4ef6,\u5b89\u88c5\u65b9\u6cd5\u662f,\u52a0\u8f7d\u9879\u4e2d,\u641c\u7d22go2rtc, \u70b9\u51fb\u5b89\u88c5 \u5b89\u88c5\u5b8c\u6210\u540e\u5f00\u542f\u81ea\u52a8\u6062\u590d,\u81ea\u52a8\u66f4\u65b0 \u5176\u8bbe\u7f6e\u4e2d\u57fa\u672c\u6ca1\u4ec0\u4e48\u8981\u6539\u7684. \u5b89\u88c5VLC\u53ef\u4ee5\u64ad\u653e\u89c6\u9891\u7b49\u529f\u80fd,\u9700\u8981\u7684\u8bdd\u53ef\u4ee5\u5b89\u88c5 \u00b6 \u5728\u52a0\u8f7d\u5546\u5e97\u4e2d\u641c\u7d22vlc \u70b9\u51fb\u5b89\u88c5 \u5b89\u88c5\u6210\u529f\u5982\u4e0b\u6240\u793a \u914d\u7f6e\u4e2d\u57fa\u672c\u6ca1\u8981\u8981\u914d\u7f6e\u7684\u4e1c\u897f \u5229\u7528 Docker \u5b89\u88c5 PostgreSQL \u00b6 \u867d\u7136 Home Assistant OS \u672c\u8eab\u4e0d\u5141\u8bb8\u76f4\u63a5\u8bbf\u95ee\u7cfb\u7edf\u5e95\u5c42\uff0c\u4f46\u5b83\u5185\u7f6e\u4e86 Docker \u652f\u6301\uff0c\u56e0\u6b64\u53ef\u4ee5\u76f4\u63a5\u8fd0\u884c PostgreSQL \u7684 Docker \u5bb9\u5668\u3002 \u6b65\u9aa4 \u00b6 \u786e\u4fdd\u60a8\u6709 SSH \u8bbf\u95ee\u6743\u9650 \u5b89\u88c5 Home Assistant \u7684 SSH & Web Terminal Add-on\uff08\u9ad8\u7ea7\u6a21\u5f0f\uff09\u3002 \u5f00\u542f SSH \u8bbf\u95ee\uff0c\u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a \u524d\u5f80 Supervisor > Add-on Store \u3002 \u641c\u7d22\u5e76\u5b89\u88c5 SSH & Web Terminal \uff08\u5b98\u65b9\u63d2\u4ef6\uff09\u3002 \u914d\u7f6e SSH \u63d2\u4ef6\uff0c\u786e\u4fdd protected \u8bbe\u7f6e\u4e3a false \uff0c\u7136\u540e\u542f\u52a8\u5b83\u3002 \u8fd0\u884c PostgreSQL \u5bb9\u5668 \u5728 SSH \u6216 Web Terminal \u4e2d\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a docker run -d \\ --name=postgresql \\ -e POSTGRES_USER=dtuser \\ -e POSTGRES_PASSWORD= **pwd** \\ -e POSTGRES_DB=dtha \\ -v /db/pgsqldata:/var/lib/postgresql/data \\ -p 5432:5432 \\ postgres \u66ff\u6362 **pwd** \u4e3a\u60a8\u60f3\u8981\u8bbe\u7f6e\u7684\u6570\u636e\u5e93\u5bc6\u7801,\u4e9b\u5bc6\u7801,\u9700\u8981\u7ba1\u7406\u5458\u54a8\u8be2 \u6570\u636e\u5e93\u540d\u79f0\u4e3a dtha \uff0c\u7528\u6237\u540d\u4e3a dtuser \u3002 \u6570\u636e\u5c06\u5b58\u50a8\u5728 /mnt/data/supervisor/postgresql \uff0c\u786e\u4fdd\u6570\u636e\u5728\u91cd\u542f\u540e\u4e0d\u4f1a\u4e22\u5931\u3002 \u767b\u5f55ssh,\u5e76\u67e5\u770b\u5df2\u5b89\u88c5\u7684docker\u955c\u50cf\u5982\u4e0b \u5148\u521b\u5efapgsql\u5b58\u50a8\u5377\u9700\u8981\u7684\u76ee\u5f55,\u8fd9\u4e2a\u6211\u4eec\u7edf\u4e00\u5b9a\u4e3a\u5982\u4e0b\u76ee\u5f55,\u5e76\u7ed9777\u6743\u9650 /db/pgsqldata \u5373\u5728\u6839\u76ee\u5f55\u4e0b,\u521b\u5efadb\u76ee\u5f55,\u7136\u540e\u5728db\u76ee\u5f55\u4e2d\u521b\u5efapgsqldata,\u5e76\u7ed9\u8db3\u6743\u9650 / # cd homeassistant homeassistant # ls automations.yaml configuration.yaml home-assistant.log home-assistant.log.fault home-assistant_v2.db-shm scenes.yaml secrets.yaml blueprints deps home-assistant.log.1 home-assistant_v2.db home-assistant_v2.db-wal scripts.yaml tts homeassistant # mkdir db homeassistant # sudo chmod -R 7777 ./db homeassistant # cd db db # ls db # pwd /homeassistant/db db # sudo mkdir pgsqldata db # sudo chmod -R 7777 ./pgsqldata db # ls pgsqldata db # cd pgsqldata pgsqldata # ls -l ./ total 0 pgsqldata # cd .. db # ls -l ./ total 4 drwsrwsrwt 2 root root 4096 Apr 18 16:30 pgsqldata \u63a5\u4e0b\u6765,\u62c9\u53d6\u955cpgsql\u7684\u955c\u50cf,\u5e76\u6307\u5411/mnt/data/pgsqldata,\u6b64\u5904\u8981\u6ce8\u610f\u4e0d\u662f\u6240\u6709\u7684\u76ee\u5f55\u90fd\u6709\u5199\u5165\u6743\u9650,homeAssitant\u4e2d\u5927\u90e8\u4efd\u76ee\u5f55\u90fd\u6ca1\u6709\u5199\u5165\u6743\u9650,\u8981\u6ce8\u610f\u627e\u6709\u5199\u5165\u6743\u9650\u7684\u76ee\u5f55 data # docker run -d \\ --name=postgresql \\ -e POSTGRES_USER=dtuser \\ -e POSTGRES_PASSWORD=Dtuse1r \\ -e POSTGRES_DB=dtha \\ -v /mnt/data/pgsqldata:/var/lib/postgresql/data \\ -p 5432:5432 \\ --restart unless-stopped postgres # \u6267\u884c\u5b8c\u6210\u540e,\u8fd4\u56de: 9a4721cccb0d5c63671da5cba4a6b6c13721f48ac664de03312cddaa216a2e56 \u7cfb\u7edf\u4f1a\u81ea\u52a8\u62c9\u53d6\u955c\u50cf,\u5e76\u542f\u52a8,\u6b64\u8fc7\u7a0b\u52a1\u5fc5\u4fdd\u8bc1\u79d2\u5b66\u4e0a\u7f51\u7684\u7545\u901a \u5982\u4e0b\u56fe,\u6240\u793a, \u8bf4\u660e\u76ee\u5f55\u6ca1\u6709\u6743\u9650, chown -R root:root mnt/data/pgsqldata chmod -R 7777 /mnt/data/pgsqldata \u7ed9\u591f\u76ee\u5f55\u6743\u9650\u540e,\u518d\u6b21\u8fd0\u884c,\u5b89\u88c5\u6307\u4ee4 data # docker run -d \\ --name=postgresql \\ -e POSTGRES_USER=dtuser \\ -e POSTGRES_PASSWORD=Dtuse1r \\ -e POSTGRES_DB=dtha \\ -v /mnt/data/pgsqldata:/var/lib/postgresql/data \\ -p 5432:5432 \\ --restart unless-stopped postgres # \u6267\u884c\u5b8c\u6210\u540e,\u8fd4\u56de: docker: Error response from daemon: Conflict. The container name \"/postgresql\" is already in use by container \"f5b838e28f30ff3bde9f90276b8aa4924b4f1ecec2cdbd4e38dfe27e2c988edb\". You have to remove (or rename) that container to be able to reuse that name. See 'docker run --help \u4e0a\u8ff0\u8bf4\u660epgswl\u7684\u5bb9\u5668\u5df2\u7ecf\u5b58\u5728,\u9700\u8981\u5220\u9664 docker stop postgresql docker rm postgresql \u7136\u540e,\u518d\u6b21\u6267\u884c,\u5373\u53ef\u6210\u529f data # docker run -d \\ --name=postgresql \\ -e POSTGRES_USER=dtuser \\ -e POSTGRES_PASSWORD=Dtuse1r \\ -e POSTGRES_DB=dtha \\ -v /mnt/data/pgsqldata:/var/lib/postgresql/data \\ -p 5432:5432 \\ --restart unless-stopped postgres # \u6267\u884c\u5b8c\u6210\u540e,\u8fd4\u56de: 9a4721cccb0d5c63671da5cba4a6b6c13721f48ac664de03312cddaa216a2e56 \u7528ps -a \u67e5\u8be2\u4e00\u4e0b,\u5982\u4e0b\u56fe\u6240\u793a,\u8bf4\u660edocker \u542f\u52a8\u6210\u529f, \u4e3a\u4e86\u9a8c\u8bc1\u91cd\u65b0\u542f\u52a8\u540e,pgsql\u5bb9\u5668\u662f\u5426\u542f\u52a8,\u53ef\u4ee5\u91cd\u542f\u540e,\u518d\u6b21\u67e5\u770b\u4e00\u4e0b,\u6b64\u5bb9\u5668\u662f\u5426\u8ddf\u968f\u7cfb\u7edf\u542f\u52a8\u6210\u529f. \u63a5\u4e0b\u6765,\u6211\u4eec\u53ef\u4ee5\u5728\u5c40\u57df\u7f51\u4e2d\u627e\u53f0\u673a\u5668\u6765\u505a\u4e00\u4e0b\u6570\u636e\u5e93\u8fde\u63a5\u6d4b\u8bd5 \u5982\u4e0a\u56fe,\u8bf4\u660epgsql\u5df2\u7ecf\u5b89\u88c5\u6210\u529f\u4e86,\u5e76\u80fd\u6b63\u5e38\u8bbf\u95ee. \u66f4\u6539homeAssistant\u9ed8\u8ba4\u7684\u6570\u636e\u5e93\u4e3apgSql \u00b6 HomeAssistant\u9ed8\u8ba4\u7684\u6570\u636e\u5e93\u4e3asqlite,\u6211\u4eec\u9700\u8981\u628a\u5176\u6362\u6210\u6211\u4eec\u65b0\u5b89\u88c5\u7684pgsql, \u901a\u8fc7\u6211\u4eec\u5b89\u88c5\u7684\u63d2\u4ef6File editor \u6253\u5f00\u914d\u7f6e\u6587\u4ef6 /homeassistant/configruration.yaml \u589e\u52a0recorder\u4e2d\u7684\u914d\u7f6e\u5982\u4e0b \u7136\u540e,\u4fdd\u5b58\u9000\u51fa,\u91cd\u542f,\u770b\u770bha\u6709\u6ed1\u7684\u7ed9\u51fa\u9519\u8bef\u63d0\u793a,\u4e5f\u53ef\u4ee5\u901a\u8fc7,\u8fde\u63a5\u5de5\u5177\u6765\u67e5\u770b,ha\u6709\u6ca1\u6709\u5728\u6570\u636e\u5e93\u4e2d\u5efa\u8868,\u5199\u5165\u6570\u636e \u5982\u4e0a\u56fe,\u8bf4\u660e\u6570\u636e\u5df2\u529f\u529f\u6298\u5199\u5165PGSQL,\u6b64\u65f6\uff0c\u6211\u4eec\u53ef\u4ee5\u628a\u7cfb\u7edf\u9ed8\u8ba4\u7684\u6570\u636e\u5e93\u5220\u9664\u4e86 \u8fd9\u4e2a\u6587\u4ef6\u662fhomeAssistant\u9ed8\u8ba4\u7684sqlite\u6570\u636e\u5e93\u6587\u4ef6\uff0c\u53ef\u4ee5\u5220\u9664\u4e86\uff0c\u70b9\u53f3\u5219\u7684\u4e09\u4e2a\u70b9\uff0c\u5728\u5f39\u51fa\u7684\u83dc\u5355\u4e2d\uff0c\u70b9delete \u70b9\u51fbyes\u786e\u8ba4 \u7136\u540e\u91cd\u542f,\u518d\u6b21\u67e5\u770b,\u662f\u5426\u91cd\u65b0\u751f\u6210\u6b64\u6587\u4ef6, \u5982\u679c\u6ca1\u6709\u91cd\u65b0\u751f\u6210\u6b64\u6587\u4ef6 ,\u8bf4\u660e,\u7cfb\u7edf\u5df2\u7ecf\u5728\u7528pgsql\u4e86 \u5b89\u88c5HACS \u00b6 hacs\u7b80\u4ecb \u00b6 HACS\uff0c\u5168\u79f0 Home Assistant Community Store\uff08Home Assistant \u793e\u533a\u5546\u5e97\uff09\uff0c\u662f\u4e00\u4e2a\u7528\u4e8e Home Assistant \u7684\u7b2c\u4e09\u65b9\u6269\u5c55\u63d2\u4ef6\u7ba1\u7406\u5668\u3002\u5b83\u4e3a\u7528\u6237\u63d0\u4f9b\u4e86\u4e00\u4e2a\u65b9\u4fbf\u7684\u65b9\u5f0f\u6765\u5b89\u88c5\u548c\u7ba1\u7406\u793e\u533a\u5f00\u53d1\u7684\u81ea\u5b9a\u4e49\u96c6\u6210\u3001\u63d2\u4ef6\u3001\u4e3b\u9898\u548c\u5176\u4ed6\u6269\u5c55\u7ec4\u4ef6\u3002 \u8fd9\u4e2a\u63d2\u4ef6\u96c6\u4e2d\u4e86\u8bb8\u591a\u5927\u5c4f\u7528\u7684\u4e3b\u9898\u4e0e\u63d2\u4ef6\uff0c\u5c5e\u4e8e\u5fc5\u88c5\u63d2\u4ef6\uff0e \u5b89\u88c5hacs \u00b6 \u8fdb\u5165ssh\u767b \u5f55\u540e,\u8f93\u5165\u5982\u4e0b\u6307\u4ee4 wget -O - https://get.hacs.xyz | bash - \u56de\u8f66\u540e,\u7cfb\u7edf\u4f1a\u81ea\u52a8\u4e0b\u8f7dHACS\uff0c\u5e76\u653e\u5230\u6307\u5b9a\u7684\u76ee\u5f55\uff0c\u4e14\u63d0\u793a\u91cd\u542f\uff0c\u6211\u4eec\u6309\u8981\u6c42\u91cd\u542f\uff0c\u5373\u53ef\u3002 \u542f\u7528HACS \u00b6 \u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u60a8\u9700\u8981\u5728 Home Assistant \u7684\u754c\u9762\u4e2d\u542f\u7528 HACS\uff1a \u6253\u5f00 Home Assistant UI\u3002 \u70b9\u51fb \u8bbe\u7f6e > \u8bbe\u5907\u4e0e\u670d\u52a1 > \u96c6\u6210 \u3002 \u70b9\u51fb\u53f3\u4e0b\u89d2 \u6dfb\u52a0\u96c6\u6210 \u3002 \u641c\u7d22\u5e76\u9009\u62e9 HACS \uff0c\u7136\u540e\u6309\u7167\u5c4f\u5e55\u4e0a\u7684\u63d0\u793a\u5b8c\u6210\u8bbe\u7f6e\u3002 \u70b9\u51fb\u540e,\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d,\u5168\u6253\u52fe,\u70b9\u63d0\u4ea4 \u5f15\u65f6,\u5f39\u51fa\u65b0\u7684\u7a97\u53e3,\u9a8c\u8bc1github\u6388\u6743 \u70b9\u51fb\u8fd9\u4e2agithub\u94fe\u63a5,\u5e76\u8bb0\u4f4f\u4e0b\u65b9\u7684\u6388\u6743\u7801\u540e\u9762\u4f1a\u7528\u5230 \u5728\u5f39\u51fa\u7684\u9875\u9762\u4e2d,\u8f93\u5165,\u8bb0\u4f4f\u7684\u6388\u6743\u7801,\u70b9Continue \u63d0\u793a\u5177\u4f53\u7684\u6388\u6743\u5bf9\u50cf\u4e3ahacs,\u70b9\u51fbAutuorize hacs \u6388\u6743\u6210\u529f \u8fd4\u56dehacs\u540e,\u63d0\u793a\u6210\u529f,\u5e76\u663e\u793a\u5df2\u53d1\u73b0\u5982\u4e0b\u8bbe\u5907,hacs,\u9009\u62e9\u533a\u57df,\u53ef\u4ee5\u81ea\u5b9a\u4e49\u4e2a\u533a\u57df,\u7136\u540e\u70b9\u5b8c\u6210 \u770b\u5230\u5982\u4e0b\u754c\u9762hacs\u5c31\u5b89\u88c5\u597d\u4e86 \u70b9\u51fb\u914d\u7f6e,\u542f\u7528App Daemon apps discovery & tgracking. \u4ee5\u4e0a\u914d\u7f6e \u5b8c\u6210\u540e,\u91cd\u65b0\u542f\u52a8HA\uff0c\u5219\u53ef\u4ee5\u5728\u5de6\u4fa7\u680f\u4e2d\u627e\u5230HACS\u83dc\u5355\u4e86 \u66f4\u6539HomeAssistant\u5de6\u4e0a\u89d2LOGO\u6807\u9898 \u00b6 homeAssistant \u5de6\u4e0a\u89d2\u9ed8\u8ba4\u7684\u6807\u9898\u4e3a Home Assistant \u6211\u4eec\u5e0c\u671b\u6539\u6210\u81ea\u5df2\u7684\u6807\u8bc6\u5982:\u5cb1\u7279\u667a\u80fd \u4e0b\u8f7d\u7b2c\u4e09\u65b9\u63d2\u4ef6hass-favicon\u7684Releases\u5230\u672c\u5730\u76ee\u5f55 \u00b6 \u70b9\u51fb\u94fe\u63a5 ,\u5230\u5176github\u7684\u5b98\u65b9\u9875\u9762 \u4e0b\u8f7d\u5176\u6e90\u7801 \u89e3\u538b\u4e0b\u8f7d\u7684\u6e90\u7801 \u00b6 \u5c06\u63d2\u4ef6\u590d\u5236\u5230ha\u4e0a \u00b6 \u6253\u5f00\u6e90\u7801\u76ee\u5f55,\u8fdb\u5165custom_commponents\u76ee\u5f55,\u628afavicon\u76ee\u5f55\u6574\u4f53\u590d\u5236 \u7136\u540e,\u8fdb\u5165ha\u7684config-custom_compoents\u76ee\u5f55\u7c98\u8d34,\u590d\u5236\u5230\u7684favicon \u7136\u540e\u521b\u5efa\u76ee\u5f55 \\\\ha-o[\\config\\www\\favicons \u5e76\u628a\u80dc\u900f\u7684logo\u6587\u4ef6st-logo.,png\u653e\u5230\u76ee\u5f55\u4e2d \u7136\u540e\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u589e\u52a0\u5982\u4e0b\u5185\u5bb9 \u7136\u540e,\u91cd\u542fHomeAssistant\u5373\u53ef \u91cd\u542f\u540e,\u5de6\u4e0a\u811a\u7684LOGO\uff0c\u5df2\u53d8\u4e3a\u5cb1\u7279\u667a\u80fd. \u5b89\u88c5\u7c73\u5bb6\u96c6\u6210\u63d2\u4ef6 \u00b6 \u7c73\u5bb6\u96c6\u6210\u662f\u4e00\u4e2a\u7531\u5c0f\u7c73\u5b98\u65b9\u63d0\u4f9b\u652f\u6301\u7684 Home Assistant \u7684\u96c6\u6210\u7ec4\u4ef6\uff0c\u5b83\u53ef\u4ee5\u8ba9\u60a8\u5728 Home Assistant \u4e2d\u4f7f\u7528\u5c0f\u7c73 IoT \u667a\u80fd\u8bbe\u5907\u3002 \u8fd9\u4e2a\u63d2\u4ef6,\u53ef\u4ee5\u76f4\u63a5\u628a\u6240\u6709\u5c0f\u7c73\u7684\u5404\u79cd\u4f20\u611f\u5668\u96c6\u6210\u5230HomeAssistant\u4e2d,\u6240\u4ee5\u8fd9\u4e2a\u662f\u5fc5\u88c5\u63d2\u4ef6. \u5176\u5b98\u65b9\u4ed3\u5e93\u5730\u5740\u4e3a: Xiaomi Home Integration for Home Assistant https://github.com/XiaoMi/ha_xiaomi_home \u5176\u5b89\u88c5\u65b9\u6cd5\u6709\u4e09\u79cd,\u6211\u4eec\u4e3a\u4e86\u65b9\u4fbf\u9009\u62e9\u7b2c\u4e00\u79cd,\u5176\u5b83\u4e24\u79cd\u65b9\u6cd5,\u53ef\u4ee5\u81ea\u884c\u5c1d\u8bd5.\u5b98\u65b9\u63cf\u8ff0\u7684\u65b9\u88c5\u4e3b\u5f0f\u5982\u4e0b: cd config git clone https://github.com/XiaoMi/ha_xiaomi_home.git cd ha_xiaomi_home ./install.sh /config \u5176\u4e5f\u63d0\u4f9b \u4e2d\u6587\u7684\u5b89\u88c5\u8bf4\u660e \u5b89\u88c5 \u00b6 \u9996\u5148,\u767b\u5f55SSH.\u7136\u540e\u8fdb\u5165config\u76ee\u5f55 \u5148\u62c9\u53d6\u4ee3\u7801 config # git clone https://github.com/XiaoMi/ha_xiaomi_home.git Cloning into 'ha_xiaomi_home'... remote: Enumerating objects: 1322, done. remote: Counting objects: 100% (761/761), done. remote: Compressing objects: 100% (342/342), done. remote: Total 1322 (delta 628), reused 419 (delta 419), pack-reused 561 (from 2) Receiving objects: 100% (1322/1322), 847.87 KiB | 1.64 MiB/s, done. Resolving deltas: 100% (817/817), done. \u7136\u540e,\u518d\u5207\u6362\u5230ha_xiaomi_home\u76ee\u5f55 cd ha_xiaomi_home \u7136\u540e\u6267\u884c\u5b89\u88c5\u6307\u4ee4 ./install.sh /config # Xiaomi Home installation is completed. Please restart Home Assistant. \u5b89\u88c5\u5b8c\u6210,\u63d0\u793a\u9700\u8981\u91cd\u542f. \u914d\u7f6e \u00b6 \u5728\u91cd\u65b0\u542f\u52a8\u540e,\u5728\u8bbe\u7f6e-\u8bbe\u5907\u4e0e\u670d\u52a1-\u6dfb\u52a0\u96c6\u6210\u4e2d,\u641c\u7d22\u201c Xiaomi Home \u201d \u70b9\u51fb,\u4f1a\u63d0\u793a\u98ce\u9669\u63d0\u793a \u52fe\u9009,\u6211\u77e5\u6089,\u70b9\u51fb\u4e0b\u4e00\u6b65,\u4f1a\u8fdb\u5165\u57fa\u7840\u914d\u7f6e\u9875\u9762,\u5982\u4e0b\u56fe \u52fe\u9009\u96c6\u6210\u7f51\u7edc\u914d\u7f6e,\u540c\u86d9,\u6ce8\u610f\u4e00\u4e0b,\u8ba4\u8bc1\u8df3\u8f6c\u5730\u5740,\u6b64\u5904\u663e\u6b3e\u4e3ahttp://homeassistant.lcaol:8123,\u8fd9\u4e2a\u5730\u5740,\u4f30\u8ba1\u4e0d\u53ef\u80fd\u901a\u8fc7,\u53ea\u56e0\u4e3a\u6211\u4eec\u662f\u5728\u5c40\u57df\u7f51\u5176\u5b83\u673a\u5668\u64cd\u4f5c\u8fd9\u4e00\u6b65\u7684,\u5b9e\u9645\u4e0a\u6211\u4eec\u7684\u5730\u5740,\u5e94\u662f\u5730\u5740\u680f\u4e2d\u6298\u5b9e\u9645\u5730\u5740,\u5982\u4e0a\u56fe,\u6211\u4eec\u7684\u8ba4\u8bc1\u5730\u5740\u662f:http://192.168.3.2:8123, \u5728\u4e0b\u4e00\u6b65\u8df3\u8f6c\u8f6c\u5c0f\u7c73\u540e,\u6253\u5f00\u7684\u7f51\u5740\u65f6,\u4e0d\u51fa\u610f\u5916\u7684\u8bdd\u4f30\u8ba1\u662f\u6253\u4e0d\u5f00\u7684,\u9700\u8981\u628a\u90a3\u4e2a\u5730\u5740\u7684\u524d\u534a\u6bb5,\u6362\u6210\u8fd9\u4e2a\u5b9e\u9645\u5730\u5740. \u70b9\u51fb\u4e0b\u4e00\u6b65, \u6b64\u5904\u4e3a\u68c0\u6d4b\u7f51\u7edc,\u7f51\u7edc\u68c0\u6d4b\u901a\u8fc7\u65f6,\u624d\u80fd\u8fdb\u884c\u4e0b\u4e00\u6b65 \u5f53\u5f39\u51fa\u5982\u4e0b\u754c\u9762\u65f6,\u8bf4\u660e\u7f51\u7edc\u68c0\u6d4b\u901a\u8fc7\u4e86, \u70b9\u51fb,\"\u8bf7\u70b9\u6b64\u5904\u8fdb\u884c\u767b\u5f55\", \u6b64\u65f6,\u8df3\u8f6c\u5230\u5c0f\u7c73\u6298\u8ba4\u8bc1\u7f51\u9875,\u6b64\u65f6\u8f93\u5165\u6b63\u786e\u7c73\u5bb6\u5e10\u53f7\u4e0e\u5bc6\u7801,\u70b9\u767b\u5f55 \u5f39\u51fa \u53cb\u60c5\u63d0\u793a,\u70b9\u51fb,\u540c\u610f\u5e76\u7ee7\u7eed \u5c0f\u7c73\u7684\u5b89\u5168\u9a8c\u8bc1,\u70b9\u4e0b\u4e00\u6b65, \u70b9\u51fb \u53d1\u9001\u9a8c\u8bc1\u7801 \u8f93\u5165\u9a8c\u8bc1\u7801\u540e,\u70b9\u786e\u5b9a \u8df3\u8f6c\u5230\u4e86\u8ba4\u8bc1\u7a97\u53e3,\u4f46\u662f\u5374\u662f\u65e0\u65b9\u8bbf\u95ee\u6b64\u9875\u9762,\u8bf4\u660e\u8ba4\u8bc1\u5730\u5740,\u9519\u4e86,\u6211\u4eec\u9700\u8981\u628a\u5b83\u6362\u6210\u6211\u4eec\u6b63\u786e\u7684HA\u5730\u5740\uff1ahttp://192.168.3.2:8123,\u5982\u4e0b\u56fe\u6240\u793a \u624b\u5de5\u5c06\u6b63\u786e\u7684\u5730\u5740\u66ff\u6362\u5730\u5740\u5934\u90e8\u540e,\u56de\u8f66,\u6253\u5f00\u8fd9\u4e2a\u5730\u5740,\u7c7b\u4f3c\u5982\u4e0b\u683c\u5f0f: http://192.168.3.2:8123/api/webhook/3062281226000218850?code=C3_B7440E147BCCA71A76831877D510611F&state=d90a727abad348efee834884dae174b80a15de14 \u5982\u679c,\u7528\u4e0a\u8ff0\u65b9\u5f0f,\u4ecd\u7136\u4e0d\u80fd\u8bbf\u95ee,\u5219\u53ef\u7528\u5982\u4e0b\u65b9\u6cd5,\u66f4\u6539host\u6587\u4ef6,\u5f3a\u884c\u6307\u5b9a\u672c\u5730DNS,\u6307\u5411homeassistant.local,\u65b9\u6cd5\u5982\u4e0b: \u4fee\u6539 Windows hosts \u6587\u4ef6\u7684\u65b9\u6cd5 \u4f7f\u7528\u7ba1\u7406\u5458\u8eab\u4efd\u7528\u8bb0\u4e8b\u672c\u6253\u5f00\u5982\u4e0b\u6587\u4ef6 :C:\\Windows\\System32\\drivers\\etc\\hosts \u5728\u6700\u540e\u4e00\u884c\u589e\u52a0 192.168.3.2 homeassistant.local \u5982\u4e0b\u56fe \u7136\u540e,\u518d\u91cd\u65b0\u8bd5\u8fc7\u4e00\u6b21 \u4e0d\u51fa\u610f\u5916\u7684\u8bdd,\u5c31\u4f1a\u81ea\u52a8\u8ba4\u8bc1\u901a\u8fc7 \u53ef\u4ee5\u6839\u636e\u63d0\u793a\u81ea\u52a8\u9009 \u5219\u623f\u95f4\u540c\u6b65\u6a21\u5f0f,\u8fd9\u4e2a\u8981\u6839\u636e\u5177\u4f53\u60c5\u51b5\u9009\u62e9,\u70b9\u51fb\u4e0b\u4e00\u6b65,\u5c06\u63d0\u793a\u63d2\u4ef6\u96c6\u6210\u6210\u529f.\u5982\u4e0b\u793a\u610f\u56fe \u770b\u5230\u5982\u4e0b\u56fe,\u5c31\u8bf4\u660e\u96c6\u6210\u5b8c\u6210\u4e86 \u4e0d\u51fa\u610f\u5916\u7684\u8bdd\u6982\u89c8\u4e2d,\u5c31\u5df2\u7ecf\u81ea\u52a8\u589e\u52a0\u4e86\u8bb8\u591a\u8bbe\u5907. \u5b89\u88c5WebRTC Camera \u00b6 WebRTC camera\u63d2\u4ef6\u4ee5\u5b9e\u73b0\u9891\u6d41\u64ad\u653e.\u5982\u679cha\u8981\u63a5\u5165\u89c6\u9891\u76d1\u63a7,\u5219\u9700\u8981\u5b89\u88c5\u8fd9\u4e2a\u7ec4\u4ef6, \u4ed3\u5e93\u5730\u5740 : https://github.com/AlexxIT/WebRTC \u8fd9\u4e2a\u63d2\u4ef6\u4e5f\u6709\u591a\u79cd\u5b89\u88c5\u65b9\u6cd5,hacs\u5b89\u88c5,\u76f4\u63a5\u590d\u5236\u7b49\u65b9\u6cd5,\u56e0\u4e3a\u4e0a\u6587,\u6211\u4eec\u5df2\u7ecf\u5b89\u88c5\u8fc7\u4e86HACS\u63d2\u4ef6\uff0c\u6240\u4ee5\u6211\u4eec\u9009\u62e9\u4f7f\u7528HACS\u65b9\u5f0f\u5b89\u88c5\u3002 \u70b9\u51fb\u540e\uff0c\u5f39\u51fa\u5982\u4e0b\u9875\u9762 \u70b9\u51fbDownLoad\u6309\u94ae \u70b9\u51fbDownLoad \u5f53\u7136,\u6211\u4eec\u4e5f\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u6298\u7248\u672c \u5f53\u5f39\u51fa\u7a97\u53e3\u81ea\u52a8\u6d88\u5931,\u70b9\u51fb\u4e0a\u65b9\u7684\u8fd4\u56de( \u6ce8\u610f:\u4e0d\u4f1a\u81ea\u52a8\u8fd4\u56de,\u987b\u4eba\u5de5\u8fd4\u56de ),\u8fd4\u56de\u5982\u4e0b\u56fe \u770b\u5230\u4e0a\u65b9\u7684\u7b49\u5f85\u91cd\u542f,\u8bf4\u660e\u7ec4\u4ef6\u5df2\u7ecf\u5b89\u88c5\u4e0a,\u9700\u8981\u91cd\u542f,\u6211\u4eec\u6267\u884c\u91cd\u542f. \u91cd\u542f\u5b8c\u6210\u540e,\u4f1a\u770b\u5230,Downloaded\u4e2d\u5df2\u7ecf\u663e\u793a,\u4e86\u5b89\u88c5\u6210\u529f\u6298WebRTC Camera\u7ec4\u4ef6. \u7136\u540e,\u8fdb\u5165\u8bbe\u7f6e-\u8bbe\u5907\u4e0e\u670d\u52a1-\u6dfb\u52a0\u96c6\u6210,\u641c\u7d22WebRTC \u70b9\u51fbWebRtc Camera \u5f39\u51fago2rtc url\u5730\u5740\u7a97\u53e3,\u6b64\u63d2\u4ef6,\u6211\u4eec\u4e4b\u524d\u5df2\u88c5\u8fc7,\u5c31\u5728\u672c\u673a,\u6240\u5730\u5740\u4e0d\u7528\u6539,\u76f4\u63a5\u70b9\u63d0\u4ea4 \u70b9\u5b8c\u6210.WebRTC\u5b89\u88c5\u6210\u529f.\u5982\u4e0b\u56fe\u6240\u793a \u4e3a\u4e86\u6f14\u793a\u5982\u4f55\u663e\u793a\u76d1\u63a7\u89c6\u9891,\u6211\u4eec\u65b0\u589e\u52a0\u4e00\u4e2asample\u7684\u4eea\u8868\u76d8. \u70b9\u51fb,\u6dfb\u52a0\u4eea\u8868\u76d8 \u5728\u5f39\u51fa\u6298\u5bf9\u8bdd\u6846\u4e2d,\u8f93\u5165\u4eea\u8868\u76d8\u6807\u9898 \u8fd9\u6837\u6211\u6837\u5c31\u589e\u52a0\u4e86\u4e00\u4e2a\u4eea\u8868\u76d8dashboard-sampale,\u6211\u4eec\u53ef\u4ee5\u5728\u8fd9\u4e2a\u4eea\u8868\u76d8\u4e2d\u589e\u52a0\u6f14\u793a\u7528\u7684\u7ec4\u4ef6,\u6b64\u5904,\u6211\u4eec\u60f3\u589e\u52a0\u4e00\u4e2a\u6f14\u793a\u7528\u7684\u76d1\u63a7\u6444\u50cf\u5934.\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u7f16\u8f91\u6309\u94ae. \u70b9\u51fb\u521b\u5efa\u4e00\u4e2a\u7ec4\u4ef6 \u7136\u540e,\u65b0\u5efa\u5361\u7247,\u9009\u62e9\u81ea\u5b9a\u4e49WebRTC\u5361\u7247,\u5982\u679c\u6ca1\u6709\u8fd9\u4e2a\u7ec4\u4ef6,\u5219\u9700\u8981\u5237\u65b0\u51e0\u6b21,\u5c31\u80fd\u770b\u5230\u8fd9\u4e2a\u7ec4\u4ef6. \u6211\u6837\u5728\u5361\u7247\u8bbe\u7f6e\u4e2d\u8f93\u5165url\u7684\u89c6\u9891\u6d41\u5730\u5740 type: custom:webrtc-camera url: \"rtsp://admin:Camera_data2018@192.168.50.131:554/stream2\" \u5b89\u88c5motionEye \u00b6 motionEye \u662f\u4e00\u4e2a\u6d41\u884c\u7684\u6444\u50cf\u5934\u8f6f\u4ef6\uff08\u79f0\u4e3a motion\uff09\u7684\u524d\u7aef\u3002\u672c\u63d2\u4ef6\u540c\u65f6\u63d0\u4f9b\u4e86\u524d\u7aef\u548c\u6444\u50cf\u5934\u8f6f\u4ef6\uff0c\u8ba9\u60a8\u53ef\u4ee5\u5c06\u6444\u50cf\u5934\u6dfb\u52a0\u5230 Hass.io \uff08Home Assistant\uff09\u7cfb\u7edf\u4e2d\u3002 motionEye \u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u95ed\u8def\u7535\u89c6\uff08CCTV\uff09\u548c\u7f51\u7edc\u89c6\u9891\u5f55\u50cf\u673a\uff08NVR\uff09\uff0c\u5b83\u8bbe\u8ba1\u4f18\u96c5\u4e14\u975e\u5e38\u6613\u4e8e\u4f7f\u7528\u3002\u5b83\u53ef\u4ee5\u7528\u4f5c\u5a74\u513f\u76d1\u89c6\u5668\u3001\u5efa\u7b51\u5de5\u5730\u76d1\u63a7\u3001\u5546\u5e97\u6444\u50cf\u5934\u5f55\u50cf\u673a\u3001\u82b1\u56ed\u5b89\u9632\u7b49\u3002 motionEye \u7684\u4e00\u4e9b\u7279\u70b9\uff1a \u00b6 \u652f\u6301\u5927\u91cf\u6444\u50cf\u5934\uff0c\u5305\u62ec IP \u6444\u50cf\u5934\u3002 \u53ef\u4ee5\u901a\u8fc7\u5c06\u591a\u4e2a motionEye \u5b9e\u4f8b\u8fde\u63a5\u5728\u4e00\u8d77\u6dfb\u52a0\u591a\u4e2a\u6444\u50cf\u5934\u3002\u4f8b\u5982\uff0c\u53ef\u4ee5\u5728\u7f51\u7edc\u4e2d\u4f7f\u7528\u8fd0\u884c MotionEyeOS \u7684 Pi Zero \u548c Pi \u6444\u50cf\u5934\u3002 \u652f\u6301\u5c06\u5f55\u50cf\u4e0a\u4f20\u5230 Google Drive \u548c Dropbox\u3002 \u652f\u6301\u8fd0\u52a8\u68c0\u6d4b\uff0c\u5305\u62ec\u90ae\u4ef6\u901a\u77e5\u548c\u8ba1\u5212\u4efb\u52a1\u3002 \u53ef\u4ee5\u8fde\u7eed\u5f55\u50cf\u3001\u8fd0\u52a8\u5f55\u50cf\u6216\u5ef6\u65f6\u5f55\u50cf\uff0c\u5e76\u652f\u6301\u4fdd\u7559\u8bbe\u7f6e\u3002 \u652f\u6301\u914d\u7f6e\u4e2d\u7684\u201c\u64cd\u4f5c\u6309\u94ae\u201d\u3002 \u5b89\u88c5\u65b9\u6cd5 \u00b6 \u5728\u8bbe\u7f6e-\u52a0\u8f7d\u9879\u4e2d,\u641c\u7d22\"motionEye\", \u70b9\u51fb\u67e5\u770b\u8be6\u60c5\u9875,\u5e76\u5b89\u88c5 motioneye\u9ed8\u8ba4\u7684\u7528\u6237\u540d\u4e3aadmin,\u5bc6\u7801\u4e3a\u7a7a.","title":"\u7cfb\u7edf\u521d\u59cb\u5316\u914d\u7f6e"},{"location":"Usages/initConfig/initConfig/#homeassistant","text":"","title":"\u521d\u59cb\u5316\u914d\u7f6eHomeAssistant"},{"location":"Usages/initConfig/initConfig/#homeassistant_1","text":"\u9996\u6b21\u6253\u5f00HomeAssistant\u901a\u8fc7,\u8def\u7531\u5668\u4e3a\u5176\u5206\u914d\u7684IP\u5730\u5740\u52a0\u7aef\u53e3\u53f7\u5373\u53ef\u8fdb\u884cHomeAssistant. \u683c\u5f0f\u5982\u4e0b: http://Ip:Port \u5982:http://192.168.3.2:8123 \u57fa\u4e2d:8123\u4e3a\u5176\u9ed8\u8ba4\u7684\u7aef\u53e3\u540e,\u5f53\u7136,\u7cfb\u7edf\u521d\u59cb\u5316\u6210\u529f\u540e,\u53ef\u4ee5\u6539. \u5982\u4e0b\u56fe\u6240\u793a: \u70b9\u51fb\"\u521b\u5efa\u6211\u667a\u80fd\u5bb6\u5bb6\u5c45\"\u6309\u8fdb\u884c\u4e0b\u4e00\u6b65 \u5728\u8fd9\u91cc\u6211\u4eec\u8f93\u5165\u59d3\u540d,\u7528\u6237\u540d,\u5bc6\u7801,\u786e\u8ba4\u5bc6\u7801 \u8fd9\u91cc\u6211\u4eec\u4f7f\u7528\u7edf\u4e00\u7684\u4fe1\u606f \u59d3\u540d:\u5cb1\u7279\u667a\u80fd \u7528\u6237\u540d:dtuser \u5bc6\u7801:****** \u786e\u8ba4\u5bc6\u7801:***** \u6ce8\u610f:\u4e0a\u8ff0\u5bc6\u7801\u4e3a\u4e86\u5b89\u5168,\u6ca1\u6709\u663e\u793a,\u8bf7\u54a8\u8be2\u7cfb\u7edf\u7ba1\u7406\u5458\u83b7\u53d6\u771f\u6b63\u7684\u5bc6\u7801. \u70b9\u51fb\"\u521b\u5efa\u5e10\u6237\", \u8fd9\u4e00\u6b65,\u4f1a\u8981\u6c42\u4f60\u8f93\u5165\u4f4d\u7f6e,\u8f93\u5165\u57ce\u5e02\u70b9\u83b7\u53d6,\u5982\u679c\u53d6\u4e0b\u5230\u4f1a\u62a5\u9519.\u6ca1\u5173\u7cfb,\u76f4\u63a5\u4e0b\u4e00\u6b65\u5373\u53ef,\u7cfb\u7edf\u914d\u7f6e\u5b8c\u6210\u540e,\u8fd8\u53ef\u66f4\u6539. \u8fd9\u4e00\u6b65\u662f\u8981\u6c42,\u4f60\u8f93\u4e0b\u6240\u5c5e\u7684\u56fd\u5bb6\u4e0e\u5730\u533a,\u5b83\u4f1a\u81ea\u52a8\u5224\u65ad\u51fa\u6765,\u56fd\u5bb6,\u76f4\u63a5\u70b9\u4e0b\u4e00\u6b65\u5373\u53ef. \u6b64\u65f6,\u5b83\u53ef\u80fd\u8fd8\u4f1a\u5f39\u51fa\u4e00\u4e2a\u5bf9\u8bdd\u6846\u6846,\u5e2e\u4f60\u68c0\u6d4b\u4f4d\u7f6e ,\u70b9\u786e\u5b9a\u5373\u53ef \u5982\u679c\u4e0d\u60f3\u8ba9\u5176\u68c0\u6d4b,\u76f4\u63a5\u70b9\u53d6\u6d88\u5373\u53ef,\u56e0\u4e3a\u5176\u68c0\u6d4b\u6298\u53ef\u80fd\u5f88\u6162,\u6240\u4ee5,\u76f4\u63a5\u70b9\u53d6\u6d88,\u9009\u62e9\u4e2d\u56fd\u5373\u53ef. \u8fd9\u91cc\u7684\u51e0\u9879,\u5168\u90e8\u4e0d\u7528\u9009,\u76f4\u63a5\u4e0b\u4e00\u6b65 \u8fd9\u4e00\u6b65,\u7cfb\u7edf\u4f1a\u81ea\u52a8\u626b\u63cf\u5c40\u57df\u7f51\u4e2d\u7684\u80fd\u76f4\u63a5\u5165\u7684\u8bbe\u5907.\u76f4\u63a5\u70b9\u51fb\u5b8c\u6210, \u7136\u540e,\u7cfb\u7edf\u4f1a\u8f6c\u5230\u5982\u4e0b\u754c\u9762 \u53ef\u80fd\u8981\u6301\u7eed\u4e00\u9635,\u7b49\u5f85\u5176\u5b8c\u6210\u5373\u53ef. \u5f00\u59cb\u7b2c\u4e00\u6b21,\u53ef\u80fd\u5f88\u6162 \u9996\u6b21\u5b8c\u6210\u5982\u4e0b\u663e\u793a","title":"\u9996\u6b21\u6253\u5f00HomeAssistant"},{"location":"Usages/initConfig/initConfig/#_1","text":"\u9996\u6b21\u767b\u5f55,\u53ef\u80fd\u4f1a\u663e\u793a\u66f4\u65b0,\u5982\u6b64\u65f6\u663e\u793a \u63d0\u793a\u66f4\u65b0Home Assistnat Operating System Update,\u70b9\u51fb\u5982\u4e0b\u6309\u94ae,\u4ee5\u5f39\u51fa\u7684\u5bf9\u8bdd\u6846\u4e2d\uff0c\u70b9\u66f4\u65b0\u6309\u94ae \u5982\u4e0b\u56fe\u6240\u793a\uff0c\u7cfb\u7edf\u5c06\u4f1a\uff0c\u8fdb\u884c\u66f4\u65b0 \u6ce8\u610f\uff0c\u8fd9\u4e2a\u64cd\u4f5c\uff0c\u4e00\u822c\u662f\u4ece\u4e24\u4e2a\u5730\u65b9\u83b7\u53d6\u66f4\u65b0\u5305\uff0c\u4e00\u662fgithub\u4e00\u4e2a\u662fdocker\u7684\u4ed3\u5e93\uff0c\u6240\u4ee5\uff0c \u8981\u4fdd\u6301\u79d1\u5b66\u4e0a\u7f51\u7684\u7545\u901a \u3002\u8fd9\u4e2a\u8fc7\u7a0b \uff0c\u4f30\u8ba1\u8981\u51e0\u5206\u949f\uff0c\u9700\u8981\u8010\u5fc3\u7b49\u7b49\uff0c\u4e5f\u6709\u53ef\u80fd\u4f1a\u66f4\u65b0\u5931\u8d25\uff0c\u7136\u540e\uff0c\u518d\u6b21\u66f4\u65b0\u3002 \u66f4\u65b0\u65f6,\u5982\u679c\u7f51\u7edc\u6709\u95ee\u9898\u53ef\u80fd\u4f1a\u51fa\u5728\u65e5\u5fd7 \u4e2d\u62a5\u51fa\u5982\u4e0b\u9519\u8bef aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.438 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.438 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.438 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.438 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.438 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.439 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.440 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.440 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.440 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') [09:26:17] INFO: Home Assistant Core finish process exit code 0 [09:26:17] INFO: Home Assistant Core service shutdown s6-rc: info: service legacy-services successfully stopped s6-rc: info: service legacy-cont-init: stopping s6-rc: info: service legacy-cont-init successfully stopped s6-rc: info: service fix-attrs: stopping s6-rc: info: service fix-attrs successfully stopped s6-rc: info: service s6rc-oneshot-runner: stopping s6-rc: info: service s6rc-oneshot-runner successfully stopped s6-rc: info: service s6rc-oneshot-runner: starting s6-rc: info: service s6rc-oneshot-runner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service fix-attrs successfully started s6-rc: info: service legacy-cont-init: starting s6-rc: info: service legacy-cont-init successfully started s6-rc: info: service legacy-services: starting services-up: info: copying legacy longrun home-assistant (no readiness notification) s6-rc: info: service legacy-services successfully started 2025-04-16 17:28:26.876 ERROR (MainThread) [homeassistant.components.homeassistant_alerts.coordinator] Timeout fetching homeassistant_alerts data 2025-04-16 17:51:56.276 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain hassio.update 2025-04-16 17:51:56.278 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain cloud.tts 2025-04-16 17:51:56.278 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain mobile_app.notify 2025-04-16 17:51:56.278 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain backup.sensor 2025-04-16 17:51:56.279 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain energy.sensor 2025-04-16 17:51:56.279 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain sun.sensor 2025-04-16 17:51:56.279 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain homeassistant.scene 2025-04-16 17:51:56.279 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain hassio.binary_sensor 2025-04-16 17:51:56.280 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain hassio.sensor \u4e0a\u8ff0\u9519\u8bef\u591a\u662f\u7531\u4e8e\u7f51\u7edc\u95ee\u9898\u5f15\u8d77\u7684,\u8981\u53bb\u68c0\u662f\u79d1\u5b66\u4e0a\u7f51\u662f\u5426\u8fd8\u6b63\u5e38. \u66f4\u5b8c\u5b8c\u6210\u540e,\u518d\u6b21\u542f\u52a8\u540e,\u4f1a\u663e\u793a\u6ca1\u6709\u53ef\u7528\u7684\u66f4\u65b0","title":"\u66f4\u65b0\u5fc5\u8981\u7684\u7ec4\u4ef6"},{"location":"Usages/initConfig/initConfig/#-","text":"\u70b9\u51fb,\u5f00\u59cb,\u901a\u7528 \u66f4\u6539\u540d\u79f0\u4e3a:\u5cb1\u7279\u667a\u80fd \u5176\u5b83\u7684\u4e0d\u53d8 #### \u914d\u7f6e-\u7f51\u7edc-\u4e3b\u673a\u540d \u628a\u4e3b\u673a\u540d\u914d\u7f6e\u6210\u4e3a\u5c40\u57df\u7f51\u4e2d\u552f\u4e00\u7684,\u5b9e\u9645\u8ba9\u5c31\u662f\u8ba1\u7b97\u673a\u540d,\u56e0\u4e3a\u540c\u4e00\u5c40\u57df\u7f51\u4e2d,\u8ba1\u7b97\u673a\u540d,\u4e0d\u5141\u8bb8\u76f8\u540c","title":"\u914d\u7f6e-\u901a\u7528"},{"location":"Usages/initConfig/initConfig/#-_1","text":"\u52a0\u8f7d\u9879\u4e2d\u6709\u8bb8\u591a\u5fc5\u88c5\u7ec4\u4ef6,\u9700\u8981\u4e00\u4e00\u5b89\u88c5,\u9996\u6b21\u8fdb\u5165\u65f6,\u53ef\u80fd\u4f1a\u663e\u793a\u5982\u4e0b\u9875\u9762 \u70b9\u51fb\u4e0b\u89d2\u7684\"\u52a0\u8f7d\u9879\u5546\u5e97\"","title":"\u914d\u7f6e-\u8bbe\u7f6e-\u52a0\u8f7d\u9879"},{"location":"Usages/initConfig/initConfig/#file-editor","text":"File editor \u662f\u4e00\u4e2a\u7528\u4e8e\u4fee\u6539HA\u7684\u914d\u7f6e\u6587\u4ef6\u7684\u96c6\u6210\u5de5\u5177,\u5c5e\u5fc5\u88c5\u9879,\u70b9\u51fb\u5b89\u88c5 \u70b9\u51fb\u5b89\u88c5,\u7cfb\u7edf\u4f1a\u5728\u540e\u53f0\u81ea\u52a8\u5b89\u88c5\u6b64\u63d2\u4ef6, \u5b89\u88c5\u5b8c\u6210\u540e,\u4f1a\u81ea\u52a8\u91cd\u542f \u6709\u65f6\u4e5f\u4f1a\u63d0\u793a\u5b89\u88c5\u5931\u8d25 \u8fd9\u79cd\u7ecf\u67e5\u770b\u65e5\u5fd7 \u591a\u4e3a\u7f51\u5f3a\u884c\u95ee\u9898\u65e0\u6cd5\u8bbf\u95ee.docker.io,\u8fd9\u662f\u56e0\u4e3a\u79d1\u5b66\u4e0a\u98ce\u7684\u539f\u56e0,\u91cd\u70b9\u6392\u67e5\u7f51\u7edc,\u5b89\u88c5\u6210\u529f\u540e,\u518d\u6b21\u8fdb\u5165\u4f1a\u663e\u793a\u5982\u4e0b\u754c\u9762 \u52fe\u9009,\u5f00\u673a\u542f\u52a8,\u81ea\u52a8\u6062\u590d,\u663e\u793a\u4e8e\u4fa7\u8fb9\u680f \u70b9\u51fb\u542f\u52a8,\u6216\u91cd\u542f,\u5c06\u4f1a\u5728\u4fa7\u8fb9\u680f\u770b\u5230\u6b64\u56fe\u6807,\u70b9\u51fb\u6253\u5f00\u7f51\u9875\u754c\u9762 \u80fd\u770b\u5230\u5982\u4e0b\u754c\u9762,\u8bf4\u660e\u5b89\u88c5\u6210\u529f \u6b64\u65f6\u52a0\u8f7d\u9879\u4e2d,\u5c31\u591a\u51fa\u4e86File editor\u9009\u9879","title":"\u5b89\u88c5File editor"},{"location":"Usages/initConfig/initConfig/#samba-share","text":"Samba share\u63d2\u4ef6\u662f\u4e00\u4e2a\u63d0\u4f9b\u5171\u4eab\u76ee\u5f55\u7684\u65b9\u5f0f\u5141\u884c\u5176\u5b83\u8ba1\u7b97\u673a\u7528\u8fd9\u79cd\u65b9\u5f0f\u67e5\u770b\u7f16\u8f91ha\u7684\u6587\u4ef6\u7684\u7ec4\u4ef6. \u70b9\u51fb\u5b89\u88c5 \u5b89\u88c5\u5931\u8d25\u65f6,\u4f1a\u6709\u5982\u4e0b\u63d0\u4e0b\u63d0\u793a \u6253\u5f00\u81ea\u52a8\u6062\u590d \u63a5\u4e0b\u6765\u6211\u4eec\u9700\u8981\u5230\u914d\u7f6e\u9009\u9879\u4e2d \u6b64\u5904\u6211\u4eec\u8bbe\u7f6e\u5982\u4e0b\u4fe1\u606f Username:dtuser Password:***** # \u6b64\u5904\u8bf7\u54a8\u8be2\u7ba1\u7406\u5458 Workgroup:WORKGROUP # \u4fdd\u6301\u4e0d\u53d8 \u66f4\u6539\u5b8c\u6210\u540e,\u6709\u5982\u4e0b\u914d\u7f6e \u914d\u7f6e \u5b8c\u6210\u540e,\u70b9\u51fb\u542f\u52a8 \u542f\u52a8\u6210\u529f\u540e,\u4f1a\u51fa\u4e0b\u56fe\u663e\u793a \u6b64\u65f6,\u5982\u679c,\u4e0eHA\u5728\u540c\u4e00\u5c40\u57df\u7f51\uff0c\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u5982\u4e0b\u65b9\u5f0f\u67e5\u770bHA\u7684\u6587\u4ef6\u76ee\u5f55 \u5728\u5730\u5740\u680f\u8f93\u5165\\HA\u7684IP \u8f93\u5165\u9884\u8bbe\u7684\u7528\u6237\u540d\u4e0e\u5bc6\u7801,\u5373\u53ef\u67e5\u770b,\u7f16\u8f91HA\u7684\u5404\u79cd\u6587\u4ef6\u3002","title":"\u5b89\u88c5Samba share\u63d2\u4ef6"},{"location":"Usages/initConfig/initConfig/#terminal-ssh","text":"Terminal & SSH \u63d2\u4ef6\u4e3aHA\u63d0\u4f9b\u4e86\u5728web\u7aef\u4f7f\u7528\u63a7\u5236\u53f0\u7ec8\u7aef\u529f\u80fd,\u53ca\u5f00\u542f\u4e86ssh\u670d\u52a1,\u4f7f\u4e4b\u53ef\u4ee5\u8fdc\u7a0b\u4f7f\u7528SSH\u8bbf\u95eeHA\u7ec8\u7aef\u3002 \u5728\u641c\u7d22\u4e2d\u8f93\u5165Terminal & SSH \u7ed3\u679c\u6709\u53ef\u80fd\u663e\u793a \u641c\u7d22\u4e0d\u5230\uff0c\u8fd9\u65f6\uff0c\u53ef\u80fd\u662f\u56e0\u4e3a\u4ed3\u5e93\u6ca1\u6709\u914d\u7f6e\uff0c\u8fd8\u662f\u4f7f\u7528\u7684\u9ed8\u8ba4\u7684\u4ed3\u5e93\uff0c\u6211\u4eec\u53ef\u4ee5\u589e\u52a0\u4e00\u4e0b\u4ed3\u5e93\uff0c\u5982\u4e0b\uff1a https://github.com/AlexxIT/hassio-addons \u70b9\u51fb\u53f3\u4e0a\u89e3\u7684\u4e09\u4e2a\u70b9,\u9009\u4e2d\u4ed3\u5e93 \u5728\u5f39\u51fa\u6298\u5bf9\u8bdd\u6846\u4e2d\u8f93\u5165,\u6211\u4eec\u8bb0\u5f55\u7684\u4ed3\u5e93\u5730\u5740,\u7136\u540e\u70b9\u6dfb\u52a0 \u5b8c\u6210\u540e,\u70b9\u51fb\u5173\u95ed. \u7136\u540e,\u70b9\u51fb\u8fd4\u56de,\u91cd\u65b0\u641c\u7d22 \u8fd9\u6b21\u627e\u5230\u4e86Advance SSH & Web Terminal \u70b9\u51fb\u5b89\u88c5,\u6253\u5f00\u5982\u4e0b\u9875\u9762 \u70b9\u51fb\u5b89\u88c5,\u6709\u65f6\u4f1a\u5b89\u88c5\u5931\u8d25, \u5931\u8d25\u540e,\u9700\u518d\u6b21\u5b89\u88c5,\u540c\u65f6\u68c0\u67e5\u65e5\u5fd7\u4e2d\u63d0\u5230\u7684\u54ea\u4e2a\u7f51\u5740\u65e0\u6cd5\u8bbf\u95ee ,\u628a\u5176\u52a0\u79d1\u5b66\u4e0a\u7f51\u7684\u4ee3\u7406\u540d\u5355\u4e2d. \u5b89\u88c5\u5b8c\u6210\u540e,\u5c31\u53d8\u6210\u5982\u4e0b \u5f00\u542f\u81ea\u52a8\u6062\u5f97,\u663e\u793a\u4fa7\u8fb9\u680f \u63a5\u4e0b\u6765,\u6211\u4eec\u914d\u7f6essh\u7684\u767b\u5f55\u4fe1\u606f,\u5982\u4e0b \u76f8\u5173\u4fe1\u606f\u5982\u4e0b: username:dtuser passsword:**** # \u6b64\u5904\u9700\u8981\u54a8\u8be2\u7ba1\u7406\u5458 \u5176\u5b83\u914d\u7f6e\u9009\u9879\u5982\u4e0b,\u6ce8\u610f\u9009\u9879,\u9009\u9519\u4e86ssh\u53ef\u80fd\u542f\u4e0d\u8d77\u6765,sftp\u5173\u95ed,zsh\u5173\u95ed.compatibility_mode\u8981\u5f00\u542f \u7136\u540e,\u70b9\u51fb\u542f\u52a8\u6309\u94ae \u542f\u52a8\u540e\u5982\u4e0b \u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u4e24\u4e2a\u5730\u65b9\u8fdb\u5165 \u5728\u65e5\u5fd7 \u7aef\u80fd\u770b\u5230 ssh\u5df2\u542f\u52a8\u6210\u529f s6-rc: info: service base-addon-banner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service base-addon-log-level: starting s6-rc: info: service fix-attrs successfully started s6-rc: info: service base-addon-log-level successfully started s6-rc: info: service legacy-cont-init: starting s6-rc: info: service legacy-cont-init successfully started s6-rc: info: service init-ssh: starting s6-rc: info: service init-mysql: starting s6-rc: info: service init-mosquitto: starting s6-rc: info: service init-docker: starting s6-rc: info: service init-docker successfully started s6-rc: info: service init-mysql successfully started s6-rc: info: service init-mosquitto successfully started [14:51:05] WARNING: [14:51:05] WARNING: Logging in with a SSH password is security wise, a bad idea! [14:51:05] WARNING: Please, consider using a public/private key pair. [14:51:05] WARNING: What is this? https://kb.iu.edu/d/aews [14:51:05] WARNING: [14:51:05] NOTICE: RSA host key missing, generating one... Generating public/private rsa key pair. Your identification has been saved in /data/ssh_host_rsa_key Your public key has been saved in /data/ssh_host_rsa_key.pub The key fingerprint is: SHA256:+9pEl2QvyUqsu4B3gnPjhL/Ab71iBIDjWRdYvgZeg0c root@a0d7b954-ssh The key's randomart image is: +---[RSA 3072]----+ | . oE. | |o .o+. | |..o+.= o | | o. = o . + + | | . + S + * . | | ..+. = o . | | B.B.+ o | | X+=.= | | o=o=+o | +----[SHA256]-----+ [14:51:08] NOTICE: ED25519 host key missing, generating one... Generating public/private ed25519 key pair. Your identification has been saved in /data/ssh_host_ed25519_key Your public key has been saved in /data/ssh_host_ed25519_key.pub The key fingerprint is: SHA256:MgbUsAJ+23skjVTwD0pWVRBCmZ0BjU3jwV/99gGnNVc root@a0d7b954-ssh The key's randomart image is: +--[ED25519 256]--+ |. o+o*%O*. . E| |.. . .=+o*o o =.| | ...o+ o .. . = +| | ..*.+ o . . .o| | . =+oS. .o| | .+o .| | . . | | . | | | +----[SHA256]-----+ s6-rc: info: service init-ssh successfully started s6-rc: info: service init-user: starting [14:51:08] NOTICE: Session sharing has been disabled! s6-rc: info: service init-user successfully started s6-rc: info: service ttyd: starting s6-rc: info: service sshd: starting s6-rc: info: service sshd successfully started s6-rc: info: service ttyd successfully started s6-rc: info: service legacy-services: starting [14:51:09] INFO: Starting the ttyd daemon... [14:51:09] INFO: Starting the SSH daemon... s6-rc: info: service legacy-services successfully started Server listening on 0.0.0.0 port 22. Server listening on :: port 22. \u914d\u7f6e\u6210\u529f\u540e,\u53ef\u4ee5\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u6765\u6d4b\u8bd5\u662f\u5426\u53ef\u4ee5\u8fdc\u7a0bSSH\u8fde\u5165 \u8f93\u5165yes\u540e\u4f1a\u8981\u6c42 \u8f93\u5165\u5bc6\u7801,\u9a8c\u8bc1\u6b63\u786e\u540e,\u4f1a\u8fdb\u5165\u770b\u5230\u5982\u4e2a\u56fe,\u5c31\u8bf4\u660essh\u5df2\u6b63\u5e38\u7684\u5f00\u542f\u6210\u529f\u4e86 \u4ee5\u4e0b\u754c\u9762\u662f\u5728ha\u4e2d\u770b\u5230\u7684\u5185\u7f6e\u7684ssh \u5176\u5b83,\u5f53\u8bbf\u95ee\u4e00\u4e9b\u7cfb\u7edf\u64cd\u4f5c\u65e0\u6743\u9650\u65f6,\u53ef\u4ee5\u5173\u95ed\u4fdd\u62a4\u5f00\u5173","title":"\u5b89\u88c5Terminal &amp; SSH"},{"location":"Usages/initConfig/initConfig/#mosquitto-broker","text":"Mosquitto broker\u662f\u4e00\u4e2a\u91cd\u8981\u7684\u63d2\u4ef6,\u5176\u63d0\u4f9b\u7684MQTT \u670d\u52a1\u4e3a\u516c\u53f8\u5927\u591a\u6570\u6570\u8bbe\u5907\u6298\u96c6\u6210\uff0cmqtt\u901a\u4fe1\u901a\u9053\uff0c\u6240\u4ee5\uff0c\u6b64\u4e3a\u5fc5\u88c5\u63d2\u4ef6\u3002 \u70b9\u51fb\u5b89\u88c5 \u770b\u5230\u5982\u4e0b\u754c\u9762\uff0c\u8bf4\u660e\u5b89\u88c5\u6210\u529f\uff0c \u63a5\u4e0b\u6765\u662f\u914d\u7f6emqtt","title":"\u5b89\u88c5Mosquitto broker"},{"location":"Usages/initConfig/initConfig/#_2","text":"","title":"\u5f00\u542f\u81ea\u52a8\u6062\u590d"},{"location":"Usages/initConfig/initConfig/#mqtt","text":"username:dtuser password:****** #\u6b64\u5904\u7684\u5bc6\u7801\u8bf7\u54a8\u8be2\u7ba1\u7406\u5458 \u914d\u7f6e\u5b8c\u6210\u540e,\u542f\u52a8mqtt\u670d\u52a1 \u65e5\u5fd7\u4e2d\u663e\u793a\u5982\u4e0b\u4fe1\u606f,\u8bf4\u660e\u6210\u529f s6-rc: info: service s6rc-oneshot-runner: starting s6-rc: info: service s6rc-oneshot-runner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service fix-attrs successfully started s6-rc: info: service legacy-cont-init: starting cont-init: info: running /etc/cont-init.d/mosquitto.sh [16:33:27] INFO: Setting up user dtuser [16:33:28] INFO: SSL is not enabled cont-init: info: /etc/cont-init.d/mosquitto.sh exited 0 cont-init: info: running /etc/cont-init.d/nginx.sh cont-init: info: /etc/cont-init.d/nginx.sh exited 0 s6-rc: info: service legacy-cont-init successfully started s6-rc: info: service legacy-services: starting services-up: info: copying legacy longrun mosquitto (no readiness notification) services-up: info: copying legacy longrun nginx (no readiness notification) [16:33:29] INFO: Starting NGINX for authentication handling... s6-rc: info: service legacy-services successfully started [16:33:29] INFO: Starting mosquitto MQTT broker... 2025-04-17 16:33:29: Warning: Mosquitto should not be run as root/administrator. 2025-04-17 16:33:29: mosquitto version 2.0.20 starting 2025-04-17 16:33:29: Config loaded from /etc/mosquitto/mosquitto.conf. 2025-04-17 16:33:29: Loading plugin: /usr/share/mosquitto/go-auth.so 2025-04-17 16:33:29: \u251c\u2500\u2500 Username/password checking enabled. 2025-04-17 16:33:29: \u251c\u2500\u2500 TLS-PSK checking enabled. 2025-04-17 16:33:29: \u2514\u2500\u2500 Extended authentication not enabled. 2025-04-17 16:33:29: Opening ipv4 listen socket on port 1883. 2025-04-17 16:33:29: Opening ipv6 listen socket on port 1883. 2025-04-17 16:33:29: Opening websockets listen socket on port 1884. 2025-04-17 16:33:29: mosquitto version 2.0.20 running 2025-04-17 16:33:29: New connection from ::1:56336 on port 1883. 2025-04-17 16:33:29: Client <unknown> disconnected due to protocol error. [16:33:30] INFO: Successfully send discovery information to Home Assistant. [16:33:31] INFO: Successfully send service information to the Supervisor. \u5f53\u6d88\u606f,\u63d0\u793a\u53d1\u73b0\u8bbe\u5907\u65f6,\u70b9\u51fb,\u5f39\u51fa\u7684\u6d88\u606f\u4e2d,\u70b9check it out,\u7136\u540e,\u770b\u5230\u5df2\u53d1\u73b0mqtt,\u70b9\u51fb\u6dfb\u52a0 \u7136\u540e,\u70b9\u51fb\u5b8c\u6210 \u7136\u540e\u5c31\u4f1a\u5728\u8bbe\u7f6e-\u8bbe\u5907\u4e0e\u670d\u52a1-\u96c6\u6210\u4e2d,\u663e\u793aMqtt,\u4ee5\u540e,\u6240\u6709\u589e\u52a0\u7684MQTT\u7c7b\u8bbe\u5907\uff0c\u90fd\u4f1a\u663e\u793a\u5728\u8fd9\u4e2a\u7c7b\u522b\u4e2d\u3002","title":"\u914d\u7f6emqtt\u7684\u7528\u6237\u540d\u5bc6\u7801\u53ca\u5b9a\u5236\u914d\u7f6e"},{"location":"Usages/initConfig/initConfig/#node-red","text":"Node-Red\u63d2\u4ef6\u662f\u6211\u4eec\u96c6\u4e2d\u5404\u79cd\u8bbe\u5907\u7684\u91cd\u8981\u6d88\u606f\u5904\u7406\u8f6c\u6362\u63d2\u4ef6,\u5c5e\u5fc5\u88c5\u63d2\u4ef6. \u5728\u52a0\u8f7d\u9879\u4e2d,\u641c\u7d22nod\u663e\u793a\u5982\u4e0b \u70b9\u51fb,\u8fdb\u5165\u8be6\u7ec6\u9875\u9762 \u70b9\u51fb\u5b89\u88c5 \u5982\u679c\u5b89\u88c5\u51fa\u9519,\u591a\u534a\u662f\u79d1\u5b66\u4e0a\u7f51\u7684\u95ee\u9898, \u5982\u73b0\u5982\u4e0b\u9875\u9762,\u8bf4\u660e\u5b89\u88c5\u6210\u529f \u5f00\u542f\u81ea\u52a8\u6062\u590d,\u5173\u95ed\u4fa7\u8fb9\u680f \u914d\u7f6enod-red \u6b64\u5904\u7684\u914d\u7f6e\u4fe1\u606f\u4e3a username:admin password:**** #\u6b64\u5904\u7684\u5bc6\u7801,\u8bf7\u5411\u7ba1\u7406\u5458\u83b7\u53d6 ### \u9ed8\u8ba4\u60c5\u51b5\u4e0b\u5173\u95edssl \u7136\u540e\u542f\u52a8node-red \u70b9\u51fb\u6253\u5f00web-\u9875\u9762\u5982\u4e0b","title":"\u5b89\u88c5Node-RED\u63d2\u4ef6"},{"location":"Usages/initConfig/initConfig/#go2rtc","text":"go2rtc\u63d2\u4ef6\u662f\u4e3a\u4e86\u5bf9\u89c6\u6d41\u8f6c\u53d1\u7528\u7684\u4e13\u7528\u63d2\u4ef6,\u5982\u679c\u60f3\u628a\u76d1\u63a7\u89c6\u9891\u6d41\u63a5\u5165,\u5219\u53ef\u4ee5\u4f7f\u7528\u8fd9\u4e2a\u63d2\u4ef6,\u5b89\u88c5\u65b9\u6cd5\u662f,\u52a0\u8f7d\u9879\u4e2d,\u641c\u7d22go2rtc, \u70b9\u51fb\u5b89\u88c5 \u5b89\u88c5\u5b8c\u6210\u540e\u5f00\u542f\u81ea\u52a8\u6062\u590d,\u81ea\u52a8\u66f4\u65b0 \u5176\u8bbe\u7f6e\u4e2d\u57fa\u672c\u6ca1\u4ec0\u4e48\u8981\u6539\u7684.","title":"\u5b89\u88c5go2rtc\u63d2\u4ef6"},{"location":"Usages/initConfig/initConfig/#vlc","text":"\u5728\u52a0\u8f7d\u5546\u5e97\u4e2d\u641c\u7d22vlc \u70b9\u51fb\u5b89\u88c5 \u5b89\u88c5\u6210\u529f\u5982\u4e0b\u6240\u793a \u914d\u7f6e\u4e2d\u57fa\u672c\u6ca1\u8981\u8981\u914d\u7f6e\u7684\u4e1c\u897f","title":"\u5b89\u88c5VLC\u53ef\u4ee5\u64ad\u653e\u89c6\u9891\u7b49\u529f\u80fd,\u9700\u8981\u7684\u8bdd\u53ef\u4ee5\u5b89\u88c5"},{"location":"Usages/initConfig/initConfig/#docker-postgresql","text":"\u867d\u7136 Home Assistant OS \u672c\u8eab\u4e0d\u5141\u8bb8\u76f4\u63a5\u8bbf\u95ee\u7cfb\u7edf\u5e95\u5c42\uff0c\u4f46\u5b83\u5185\u7f6e\u4e86 Docker \u652f\u6301\uff0c\u56e0\u6b64\u53ef\u4ee5\u76f4\u63a5\u8fd0\u884c PostgreSQL \u7684 Docker \u5bb9\u5668\u3002","title":"\u5229\u7528 Docker \u5b89\u88c5 PostgreSQL"},{"location":"Usages/initConfig/initConfig/#_3","text":"\u786e\u4fdd\u60a8\u6709 SSH \u8bbf\u95ee\u6743\u9650 \u5b89\u88c5 Home Assistant \u7684 SSH & Web Terminal Add-on\uff08\u9ad8\u7ea7\u6a21\u5f0f\uff09\u3002 \u5f00\u542f SSH \u8bbf\u95ee\uff0c\u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a \u524d\u5f80 Supervisor > Add-on Store \u3002 \u641c\u7d22\u5e76\u5b89\u88c5 SSH & Web Terminal \uff08\u5b98\u65b9\u63d2\u4ef6\uff09\u3002 \u914d\u7f6e SSH \u63d2\u4ef6\uff0c\u786e\u4fdd protected \u8bbe\u7f6e\u4e3a false \uff0c\u7136\u540e\u542f\u52a8\u5b83\u3002 \u8fd0\u884c PostgreSQL \u5bb9\u5668 \u5728 SSH \u6216 Web Terminal \u4e2d\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a docker run -d \\ --name=postgresql \\ -e POSTGRES_USER=dtuser \\ -e POSTGRES_PASSWORD= **pwd** \\ -e POSTGRES_DB=dtha \\ -v /db/pgsqldata:/var/lib/postgresql/data \\ -p 5432:5432 \\ postgres \u66ff\u6362 **pwd** \u4e3a\u60a8\u60f3\u8981\u8bbe\u7f6e\u7684\u6570\u636e\u5e93\u5bc6\u7801,\u4e9b\u5bc6\u7801,\u9700\u8981\u7ba1\u7406\u5458\u54a8\u8be2 \u6570\u636e\u5e93\u540d\u79f0\u4e3a dtha \uff0c\u7528\u6237\u540d\u4e3a dtuser \u3002 \u6570\u636e\u5c06\u5b58\u50a8\u5728 /mnt/data/supervisor/postgresql \uff0c\u786e\u4fdd\u6570\u636e\u5728\u91cd\u542f\u540e\u4e0d\u4f1a\u4e22\u5931\u3002 \u767b\u5f55ssh,\u5e76\u67e5\u770b\u5df2\u5b89\u88c5\u7684docker\u955c\u50cf\u5982\u4e0b \u5148\u521b\u5efapgsql\u5b58\u50a8\u5377\u9700\u8981\u7684\u76ee\u5f55,\u8fd9\u4e2a\u6211\u4eec\u7edf\u4e00\u5b9a\u4e3a\u5982\u4e0b\u76ee\u5f55,\u5e76\u7ed9777\u6743\u9650 /db/pgsqldata \u5373\u5728\u6839\u76ee\u5f55\u4e0b,\u521b\u5efadb\u76ee\u5f55,\u7136\u540e\u5728db\u76ee\u5f55\u4e2d\u521b\u5efapgsqldata,\u5e76\u7ed9\u8db3\u6743\u9650 / # cd homeassistant homeassistant # ls automations.yaml configuration.yaml home-assistant.log home-assistant.log.fault home-assistant_v2.db-shm scenes.yaml secrets.yaml blueprints deps home-assistant.log.1 home-assistant_v2.db home-assistant_v2.db-wal scripts.yaml tts homeassistant # mkdir db homeassistant # sudo chmod -R 7777 ./db homeassistant # cd db db # ls db # pwd /homeassistant/db db # sudo mkdir pgsqldata db # sudo chmod -R 7777 ./pgsqldata db # ls pgsqldata db # cd pgsqldata pgsqldata # ls -l ./ total 0 pgsqldata # cd .. db # ls -l ./ total 4 drwsrwsrwt 2 root root 4096 Apr 18 16:30 pgsqldata \u63a5\u4e0b\u6765,\u62c9\u53d6\u955cpgsql\u7684\u955c\u50cf,\u5e76\u6307\u5411/mnt/data/pgsqldata,\u6b64\u5904\u8981\u6ce8\u610f\u4e0d\u662f\u6240\u6709\u7684\u76ee\u5f55\u90fd\u6709\u5199\u5165\u6743\u9650,homeAssitant\u4e2d\u5927\u90e8\u4efd\u76ee\u5f55\u90fd\u6ca1\u6709\u5199\u5165\u6743\u9650,\u8981\u6ce8\u610f\u627e\u6709\u5199\u5165\u6743\u9650\u7684\u76ee\u5f55 data # docker run -d \\ --name=postgresql \\ -e POSTGRES_USER=dtuser \\ -e POSTGRES_PASSWORD=Dtuse1r \\ -e POSTGRES_DB=dtha \\ -v /mnt/data/pgsqldata:/var/lib/postgresql/data \\ -p 5432:5432 \\ --restart unless-stopped postgres # \u6267\u884c\u5b8c\u6210\u540e,\u8fd4\u56de: 9a4721cccb0d5c63671da5cba4a6b6c13721f48ac664de03312cddaa216a2e56 \u7cfb\u7edf\u4f1a\u81ea\u52a8\u62c9\u53d6\u955c\u50cf,\u5e76\u542f\u52a8,\u6b64\u8fc7\u7a0b\u52a1\u5fc5\u4fdd\u8bc1\u79d2\u5b66\u4e0a\u7f51\u7684\u7545\u901a \u5982\u4e0b\u56fe,\u6240\u793a, \u8bf4\u660e\u76ee\u5f55\u6ca1\u6709\u6743\u9650, chown -R root:root mnt/data/pgsqldata chmod -R 7777 /mnt/data/pgsqldata \u7ed9\u591f\u76ee\u5f55\u6743\u9650\u540e,\u518d\u6b21\u8fd0\u884c,\u5b89\u88c5\u6307\u4ee4 data # docker run -d \\ --name=postgresql \\ -e POSTGRES_USER=dtuser \\ -e POSTGRES_PASSWORD=Dtuse1r \\ -e POSTGRES_DB=dtha \\ -v /mnt/data/pgsqldata:/var/lib/postgresql/data \\ -p 5432:5432 \\ --restart unless-stopped postgres # \u6267\u884c\u5b8c\u6210\u540e,\u8fd4\u56de: docker: Error response from daemon: Conflict. The container name \"/postgresql\" is already in use by container \"f5b838e28f30ff3bde9f90276b8aa4924b4f1ecec2cdbd4e38dfe27e2c988edb\". You have to remove (or rename) that container to be able to reuse that name. See 'docker run --help \u4e0a\u8ff0\u8bf4\u660epgswl\u7684\u5bb9\u5668\u5df2\u7ecf\u5b58\u5728,\u9700\u8981\u5220\u9664 docker stop postgresql docker rm postgresql \u7136\u540e,\u518d\u6b21\u6267\u884c,\u5373\u53ef\u6210\u529f data # docker run -d \\ --name=postgresql \\ -e POSTGRES_USER=dtuser \\ -e POSTGRES_PASSWORD=Dtuse1r \\ -e POSTGRES_DB=dtha \\ -v /mnt/data/pgsqldata:/var/lib/postgresql/data \\ -p 5432:5432 \\ --restart unless-stopped postgres # \u6267\u884c\u5b8c\u6210\u540e,\u8fd4\u56de: 9a4721cccb0d5c63671da5cba4a6b6c13721f48ac664de03312cddaa216a2e56 \u7528ps -a \u67e5\u8be2\u4e00\u4e0b,\u5982\u4e0b\u56fe\u6240\u793a,\u8bf4\u660edocker \u542f\u52a8\u6210\u529f, \u4e3a\u4e86\u9a8c\u8bc1\u91cd\u65b0\u542f\u52a8\u540e,pgsql\u5bb9\u5668\u662f\u5426\u542f\u52a8,\u53ef\u4ee5\u91cd\u542f\u540e,\u518d\u6b21\u67e5\u770b\u4e00\u4e0b,\u6b64\u5bb9\u5668\u662f\u5426\u8ddf\u968f\u7cfb\u7edf\u542f\u52a8\u6210\u529f. \u63a5\u4e0b\u6765,\u6211\u4eec\u53ef\u4ee5\u5728\u5c40\u57df\u7f51\u4e2d\u627e\u53f0\u673a\u5668\u6765\u505a\u4e00\u4e0b\u6570\u636e\u5e93\u8fde\u63a5\u6d4b\u8bd5 \u5982\u4e0a\u56fe,\u8bf4\u660epgsql\u5df2\u7ecf\u5b89\u88c5\u6210\u529f\u4e86,\u5e76\u80fd\u6b63\u5e38\u8bbf\u95ee.","title":"\u6b65\u9aa4"},{"location":"Usages/initConfig/initConfig/#homeassistantpgsql","text":"HomeAssistant\u9ed8\u8ba4\u7684\u6570\u636e\u5e93\u4e3asqlite,\u6211\u4eec\u9700\u8981\u628a\u5176\u6362\u6210\u6211\u4eec\u65b0\u5b89\u88c5\u7684pgsql, \u901a\u8fc7\u6211\u4eec\u5b89\u88c5\u7684\u63d2\u4ef6File editor \u6253\u5f00\u914d\u7f6e\u6587\u4ef6 /homeassistant/configruration.yaml \u589e\u52a0recorder\u4e2d\u7684\u914d\u7f6e\u5982\u4e0b \u7136\u540e,\u4fdd\u5b58\u9000\u51fa,\u91cd\u542f,\u770b\u770bha\u6709\u6ed1\u7684\u7ed9\u51fa\u9519\u8bef\u63d0\u793a,\u4e5f\u53ef\u4ee5\u901a\u8fc7,\u8fde\u63a5\u5de5\u5177\u6765\u67e5\u770b,ha\u6709\u6ca1\u6709\u5728\u6570\u636e\u5e93\u4e2d\u5efa\u8868,\u5199\u5165\u6570\u636e \u5982\u4e0a\u56fe,\u8bf4\u660e\u6570\u636e\u5df2\u529f\u529f\u6298\u5199\u5165PGSQL,\u6b64\u65f6\uff0c\u6211\u4eec\u53ef\u4ee5\u628a\u7cfb\u7edf\u9ed8\u8ba4\u7684\u6570\u636e\u5e93\u5220\u9664\u4e86 \u8fd9\u4e2a\u6587\u4ef6\u662fhomeAssistant\u9ed8\u8ba4\u7684sqlite\u6570\u636e\u5e93\u6587\u4ef6\uff0c\u53ef\u4ee5\u5220\u9664\u4e86\uff0c\u70b9\u53f3\u5219\u7684\u4e09\u4e2a\u70b9\uff0c\u5728\u5f39\u51fa\u7684\u83dc\u5355\u4e2d\uff0c\u70b9delete \u70b9\u51fbyes\u786e\u8ba4 \u7136\u540e\u91cd\u542f,\u518d\u6b21\u67e5\u770b,\u662f\u5426\u91cd\u65b0\u751f\u6210\u6b64\u6587\u4ef6, \u5982\u679c\u6ca1\u6709\u91cd\u65b0\u751f\u6210\u6b64\u6587\u4ef6 ,\u8bf4\u660e,\u7cfb\u7edf\u5df2\u7ecf\u5728\u7528pgsql\u4e86","title":"\u66f4\u6539homeAssistant\u9ed8\u8ba4\u7684\u6570\u636e\u5e93\u4e3apgSql"},{"location":"Usages/initConfig/initConfig/#hacs","text":"","title":"\u5b89\u88c5HACS"},{"location":"Usages/initConfig/initConfig/#hacs_1","text":"HACS\uff0c\u5168\u79f0 Home Assistant Community Store\uff08Home Assistant \u793e\u533a\u5546\u5e97\uff09\uff0c\u662f\u4e00\u4e2a\u7528\u4e8e Home Assistant \u7684\u7b2c\u4e09\u65b9\u6269\u5c55\u63d2\u4ef6\u7ba1\u7406\u5668\u3002\u5b83\u4e3a\u7528\u6237\u63d0\u4f9b\u4e86\u4e00\u4e2a\u65b9\u4fbf\u7684\u65b9\u5f0f\u6765\u5b89\u88c5\u548c\u7ba1\u7406\u793e\u533a\u5f00\u53d1\u7684\u81ea\u5b9a\u4e49\u96c6\u6210\u3001\u63d2\u4ef6\u3001\u4e3b\u9898\u548c\u5176\u4ed6\u6269\u5c55\u7ec4\u4ef6\u3002 \u8fd9\u4e2a\u63d2\u4ef6\u96c6\u4e2d\u4e86\u8bb8\u591a\u5927\u5c4f\u7528\u7684\u4e3b\u9898\u4e0e\u63d2\u4ef6\uff0c\u5c5e\u4e8e\u5fc5\u88c5\u63d2\u4ef6\uff0e","title":"hacs\u7b80\u4ecb"},{"location":"Usages/initConfig/initConfig/#hacs_2","text":"\u8fdb\u5165ssh\u767b \u5f55\u540e,\u8f93\u5165\u5982\u4e0b\u6307\u4ee4 wget -O - https://get.hacs.xyz | bash - \u56de\u8f66\u540e,\u7cfb\u7edf\u4f1a\u81ea\u52a8\u4e0b\u8f7dHACS\uff0c\u5e76\u653e\u5230\u6307\u5b9a\u7684\u76ee\u5f55\uff0c\u4e14\u63d0\u793a\u91cd\u542f\uff0c\u6211\u4eec\u6309\u8981\u6c42\u91cd\u542f\uff0c\u5373\u53ef\u3002","title":"\u5b89\u88c5hacs"},{"location":"Usages/initConfig/initConfig/#hacs_3","text":"\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u60a8\u9700\u8981\u5728 Home Assistant \u7684\u754c\u9762\u4e2d\u542f\u7528 HACS\uff1a \u6253\u5f00 Home Assistant UI\u3002 \u70b9\u51fb \u8bbe\u7f6e > \u8bbe\u5907\u4e0e\u670d\u52a1 > \u96c6\u6210 \u3002 \u70b9\u51fb\u53f3\u4e0b\u89d2 \u6dfb\u52a0\u96c6\u6210 \u3002 \u641c\u7d22\u5e76\u9009\u62e9 HACS \uff0c\u7136\u540e\u6309\u7167\u5c4f\u5e55\u4e0a\u7684\u63d0\u793a\u5b8c\u6210\u8bbe\u7f6e\u3002 \u70b9\u51fb\u540e,\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d,\u5168\u6253\u52fe,\u70b9\u63d0\u4ea4 \u5f15\u65f6,\u5f39\u51fa\u65b0\u7684\u7a97\u53e3,\u9a8c\u8bc1github\u6388\u6743 \u70b9\u51fb\u8fd9\u4e2agithub\u94fe\u63a5,\u5e76\u8bb0\u4f4f\u4e0b\u65b9\u7684\u6388\u6743\u7801\u540e\u9762\u4f1a\u7528\u5230 \u5728\u5f39\u51fa\u7684\u9875\u9762\u4e2d,\u8f93\u5165,\u8bb0\u4f4f\u7684\u6388\u6743\u7801,\u70b9Continue \u63d0\u793a\u5177\u4f53\u7684\u6388\u6743\u5bf9\u50cf\u4e3ahacs,\u70b9\u51fbAutuorize hacs \u6388\u6743\u6210\u529f \u8fd4\u56dehacs\u540e,\u63d0\u793a\u6210\u529f,\u5e76\u663e\u793a\u5df2\u53d1\u73b0\u5982\u4e0b\u8bbe\u5907,hacs,\u9009\u62e9\u533a\u57df,\u53ef\u4ee5\u81ea\u5b9a\u4e49\u4e2a\u533a\u57df,\u7136\u540e\u70b9\u5b8c\u6210 \u770b\u5230\u5982\u4e0b\u754c\u9762hacs\u5c31\u5b89\u88c5\u597d\u4e86 \u70b9\u51fb\u914d\u7f6e,\u542f\u7528App Daemon apps discovery & tgracking. \u4ee5\u4e0a\u914d\u7f6e \u5b8c\u6210\u540e,\u91cd\u65b0\u542f\u52a8HA\uff0c\u5219\u53ef\u4ee5\u5728\u5de6\u4fa7\u680f\u4e2d\u627e\u5230HACS\u83dc\u5355\u4e86","title":"\u542f\u7528HACS"},{"location":"Usages/initConfig/initConfig/#homeassistantlogo","text":"homeAssistant \u5de6\u4e0a\u89d2\u9ed8\u8ba4\u7684\u6807\u9898\u4e3a Home Assistant \u6211\u4eec\u5e0c\u671b\u6539\u6210\u81ea\u5df2\u7684\u6807\u8bc6\u5982:\u5cb1\u7279\u667a\u80fd","title":"\u66f4\u6539HomeAssistant\u5de6\u4e0a\u89d2LOGO\u6807\u9898"},{"location":"Usages/initConfig/initConfig/#hass-faviconreleases","text":"\u70b9\u51fb\u94fe\u63a5 ,\u5230\u5176github\u7684\u5b98\u65b9\u9875\u9762 \u4e0b\u8f7d\u5176\u6e90\u7801","title":"\u4e0b\u8f7d\u7b2c\u4e09\u65b9\u63d2\u4ef6hass-favicon\u7684Releases\u5230\u672c\u5730\u76ee\u5f55"},{"location":"Usages/initConfig/initConfig/#_4","text":"","title":"\u89e3\u538b\u4e0b\u8f7d\u7684\u6e90\u7801"},{"location":"Usages/initConfig/initConfig/#ha","text":"\u6253\u5f00\u6e90\u7801\u76ee\u5f55,\u8fdb\u5165custom_commponents\u76ee\u5f55,\u628afavicon\u76ee\u5f55\u6574\u4f53\u590d\u5236 \u7136\u540e,\u8fdb\u5165ha\u7684config-custom_compoents\u76ee\u5f55\u7c98\u8d34,\u590d\u5236\u5230\u7684favicon \u7136\u540e\u521b\u5efa\u76ee\u5f55 \\\\ha-o[\\config\\www\\favicons \u5e76\u628a\u80dc\u900f\u7684logo\u6587\u4ef6st-logo.,png\u653e\u5230\u76ee\u5f55\u4e2d \u7136\u540e\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u589e\u52a0\u5982\u4e0b\u5185\u5bb9 \u7136\u540e,\u91cd\u542fHomeAssistant\u5373\u53ef \u91cd\u542f\u540e,\u5de6\u4e0a\u811a\u7684LOGO\uff0c\u5df2\u53d8\u4e3a\u5cb1\u7279\u667a\u80fd.","title":"\u5c06\u63d2\u4ef6\u590d\u5236\u5230ha\u4e0a"},{"location":"Usages/initConfig/initConfig/#_5","text":"\u7c73\u5bb6\u96c6\u6210\u662f\u4e00\u4e2a\u7531\u5c0f\u7c73\u5b98\u65b9\u63d0\u4f9b\u652f\u6301\u7684 Home Assistant \u7684\u96c6\u6210\u7ec4\u4ef6\uff0c\u5b83\u53ef\u4ee5\u8ba9\u60a8\u5728 Home Assistant \u4e2d\u4f7f\u7528\u5c0f\u7c73 IoT \u667a\u80fd\u8bbe\u5907\u3002 \u8fd9\u4e2a\u63d2\u4ef6,\u53ef\u4ee5\u76f4\u63a5\u628a\u6240\u6709\u5c0f\u7c73\u7684\u5404\u79cd\u4f20\u611f\u5668\u96c6\u6210\u5230HomeAssistant\u4e2d,\u6240\u4ee5\u8fd9\u4e2a\u662f\u5fc5\u88c5\u63d2\u4ef6. \u5176\u5b98\u65b9\u4ed3\u5e93\u5730\u5740\u4e3a: Xiaomi Home Integration for Home Assistant https://github.com/XiaoMi/ha_xiaomi_home \u5176\u5b89\u88c5\u65b9\u6cd5\u6709\u4e09\u79cd,\u6211\u4eec\u4e3a\u4e86\u65b9\u4fbf\u9009\u62e9\u7b2c\u4e00\u79cd,\u5176\u5b83\u4e24\u79cd\u65b9\u6cd5,\u53ef\u4ee5\u81ea\u884c\u5c1d\u8bd5.\u5b98\u65b9\u63cf\u8ff0\u7684\u65b9\u88c5\u4e3b\u5f0f\u5982\u4e0b: cd config git clone https://github.com/XiaoMi/ha_xiaomi_home.git cd ha_xiaomi_home ./install.sh /config \u5176\u4e5f\u63d0\u4f9b \u4e2d\u6587\u7684\u5b89\u88c5\u8bf4\u660e","title":"\u5b89\u88c5\u7c73\u5bb6\u96c6\u6210\u63d2\u4ef6"},{"location":"Usages/initConfig/initConfig/#_6","text":"\u9996\u5148,\u767b\u5f55SSH.\u7136\u540e\u8fdb\u5165config\u76ee\u5f55 \u5148\u62c9\u53d6\u4ee3\u7801 config # git clone https://github.com/XiaoMi/ha_xiaomi_home.git Cloning into 'ha_xiaomi_home'... remote: Enumerating objects: 1322, done. remote: Counting objects: 100% (761/761), done. remote: Compressing objects: 100% (342/342), done. remote: Total 1322 (delta 628), reused 419 (delta 419), pack-reused 561 (from 2) Receiving objects: 100% (1322/1322), 847.87 KiB | 1.64 MiB/s, done. Resolving deltas: 100% (817/817), done. \u7136\u540e,\u518d\u5207\u6362\u5230ha_xiaomi_home\u76ee\u5f55 cd ha_xiaomi_home \u7136\u540e\u6267\u884c\u5b89\u88c5\u6307\u4ee4 ./install.sh /config # Xiaomi Home installation is completed. Please restart Home Assistant. \u5b89\u88c5\u5b8c\u6210,\u63d0\u793a\u9700\u8981\u91cd\u542f.","title":"\u5b89\u88c5"},{"location":"Usages/initConfig/initConfig/#_7","text":"\u5728\u91cd\u65b0\u542f\u52a8\u540e,\u5728\u8bbe\u7f6e-\u8bbe\u5907\u4e0e\u670d\u52a1-\u6dfb\u52a0\u96c6\u6210\u4e2d,\u641c\u7d22\u201c Xiaomi Home \u201d \u70b9\u51fb,\u4f1a\u63d0\u793a\u98ce\u9669\u63d0\u793a \u52fe\u9009,\u6211\u77e5\u6089,\u70b9\u51fb\u4e0b\u4e00\u6b65,\u4f1a\u8fdb\u5165\u57fa\u7840\u914d\u7f6e\u9875\u9762,\u5982\u4e0b\u56fe \u52fe\u9009\u96c6\u6210\u7f51\u7edc\u914d\u7f6e,\u540c\u86d9,\u6ce8\u610f\u4e00\u4e0b,\u8ba4\u8bc1\u8df3\u8f6c\u5730\u5740,\u6b64\u5904\u663e\u6b3e\u4e3ahttp://homeassistant.lcaol:8123,\u8fd9\u4e2a\u5730\u5740,\u4f30\u8ba1\u4e0d\u53ef\u80fd\u901a\u8fc7,\u53ea\u56e0\u4e3a\u6211\u4eec\u662f\u5728\u5c40\u57df\u7f51\u5176\u5b83\u673a\u5668\u64cd\u4f5c\u8fd9\u4e00\u6b65\u7684,\u5b9e\u9645\u4e0a\u6211\u4eec\u7684\u5730\u5740,\u5e94\u662f\u5730\u5740\u680f\u4e2d\u6298\u5b9e\u9645\u5730\u5740,\u5982\u4e0a\u56fe,\u6211\u4eec\u7684\u8ba4\u8bc1\u5730\u5740\u662f:http://192.168.3.2:8123, \u5728\u4e0b\u4e00\u6b65\u8df3\u8f6c\u8f6c\u5c0f\u7c73\u540e,\u6253\u5f00\u7684\u7f51\u5740\u65f6,\u4e0d\u51fa\u610f\u5916\u7684\u8bdd\u4f30\u8ba1\u662f\u6253\u4e0d\u5f00\u7684,\u9700\u8981\u628a\u90a3\u4e2a\u5730\u5740\u7684\u524d\u534a\u6bb5,\u6362\u6210\u8fd9\u4e2a\u5b9e\u9645\u5730\u5740. \u70b9\u51fb\u4e0b\u4e00\u6b65, \u6b64\u5904\u4e3a\u68c0\u6d4b\u7f51\u7edc,\u7f51\u7edc\u68c0\u6d4b\u901a\u8fc7\u65f6,\u624d\u80fd\u8fdb\u884c\u4e0b\u4e00\u6b65 \u5f53\u5f39\u51fa\u5982\u4e0b\u754c\u9762\u65f6,\u8bf4\u660e\u7f51\u7edc\u68c0\u6d4b\u901a\u8fc7\u4e86, \u70b9\u51fb,\"\u8bf7\u70b9\u6b64\u5904\u8fdb\u884c\u767b\u5f55\", \u6b64\u65f6,\u8df3\u8f6c\u5230\u5c0f\u7c73\u6298\u8ba4\u8bc1\u7f51\u9875,\u6b64\u65f6\u8f93\u5165\u6b63\u786e\u7c73\u5bb6\u5e10\u53f7\u4e0e\u5bc6\u7801,\u70b9\u767b\u5f55 \u5f39\u51fa \u53cb\u60c5\u63d0\u793a,\u70b9\u51fb,\u540c\u610f\u5e76\u7ee7\u7eed \u5c0f\u7c73\u7684\u5b89\u5168\u9a8c\u8bc1,\u70b9\u4e0b\u4e00\u6b65, \u70b9\u51fb \u53d1\u9001\u9a8c\u8bc1\u7801 \u8f93\u5165\u9a8c\u8bc1\u7801\u540e,\u70b9\u786e\u5b9a \u8df3\u8f6c\u5230\u4e86\u8ba4\u8bc1\u7a97\u53e3,\u4f46\u662f\u5374\u662f\u65e0\u65b9\u8bbf\u95ee\u6b64\u9875\u9762,\u8bf4\u660e\u8ba4\u8bc1\u5730\u5740,\u9519\u4e86,\u6211\u4eec\u9700\u8981\u628a\u5b83\u6362\u6210\u6211\u4eec\u6b63\u786e\u7684HA\u5730\u5740\uff1ahttp://192.168.3.2:8123,\u5982\u4e0b\u56fe\u6240\u793a \u624b\u5de5\u5c06\u6b63\u786e\u7684\u5730\u5740\u66ff\u6362\u5730\u5740\u5934\u90e8\u540e,\u56de\u8f66,\u6253\u5f00\u8fd9\u4e2a\u5730\u5740,\u7c7b\u4f3c\u5982\u4e0b\u683c\u5f0f: http://192.168.3.2:8123/api/webhook/3062281226000218850?code=C3_B7440E147BCCA71A76831877D510611F&state=d90a727abad348efee834884dae174b80a15de14 \u5982\u679c,\u7528\u4e0a\u8ff0\u65b9\u5f0f,\u4ecd\u7136\u4e0d\u80fd\u8bbf\u95ee,\u5219\u53ef\u7528\u5982\u4e0b\u65b9\u6cd5,\u66f4\u6539host\u6587\u4ef6,\u5f3a\u884c\u6307\u5b9a\u672c\u5730DNS,\u6307\u5411homeassistant.local,\u65b9\u6cd5\u5982\u4e0b: \u4fee\u6539 Windows hosts \u6587\u4ef6\u7684\u65b9\u6cd5 \u4f7f\u7528\u7ba1\u7406\u5458\u8eab\u4efd\u7528\u8bb0\u4e8b\u672c\u6253\u5f00\u5982\u4e0b\u6587\u4ef6 :C:\\Windows\\System32\\drivers\\etc\\hosts \u5728\u6700\u540e\u4e00\u884c\u589e\u52a0 192.168.3.2 homeassistant.local \u5982\u4e0b\u56fe \u7136\u540e,\u518d\u91cd\u65b0\u8bd5\u8fc7\u4e00\u6b21 \u4e0d\u51fa\u610f\u5916\u7684\u8bdd,\u5c31\u4f1a\u81ea\u52a8\u8ba4\u8bc1\u901a\u8fc7 \u53ef\u4ee5\u6839\u636e\u63d0\u793a\u81ea\u52a8\u9009 \u5219\u623f\u95f4\u540c\u6b65\u6a21\u5f0f,\u8fd9\u4e2a\u8981\u6839\u636e\u5177\u4f53\u60c5\u51b5\u9009\u62e9,\u70b9\u51fb\u4e0b\u4e00\u6b65,\u5c06\u63d0\u793a\u63d2\u4ef6\u96c6\u6210\u6210\u529f.\u5982\u4e0b\u793a\u610f\u56fe \u770b\u5230\u5982\u4e0b\u56fe,\u5c31\u8bf4\u660e\u96c6\u6210\u5b8c\u6210\u4e86 \u4e0d\u51fa\u610f\u5916\u7684\u8bdd\u6982\u89c8\u4e2d,\u5c31\u5df2\u7ecf\u81ea\u52a8\u589e\u52a0\u4e86\u8bb8\u591a\u8bbe\u5907.","title":"\u914d\u7f6e"},{"location":"Usages/initConfig/initConfig/#webrtc-camera","text":"WebRTC camera\u63d2\u4ef6\u4ee5\u5b9e\u73b0\u9891\u6d41\u64ad\u653e.\u5982\u679cha\u8981\u63a5\u5165\u89c6\u9891\u76d1\u63a7,\u5219\u9700\u8981\u5b89\u88c5\u8fd9\u4e2a\u7ec4\u4ef6, \u4ed3\u5e93\u5730\u5740 : https://github.com/AlexxIT/WebRTC \u8fd9\u4e2a\u63d2\u4ef6\u4e5f\u6709\u591a\u79cd\u5b89\u88c5\u65b9\u6cd5,hacs\u5b89\u88c5,\u76f4\u63a5\u590d\u5236\u7b49\u65b9\u6cd5,\u56e0\u4e3a\u4e0a\u6587,\u6211\u4eec\u5df2\u7ecf\u5b89\u88c5\u8fc7\u4e86HACS\u63d2\u4ef6\uff0c\u6240\u4ee5\u6211\u4eec\u9009\u62e9\u4f7f\u7528HACS\u65b9\u5f0f\u5b89\u88c5\u3002 \u70b9\u51fb\u540e\uff0c\u5f39\u51fa\u5982\u4e0b\u9875\u9762 \u70b9\u51fbDownLoad\u6309\u94ae \u70b9\u51fbDownLoad \u5f53\u7136,\u6211\u4eec\u4e5f\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u6298\u7248\u672c \u5f53\u5f39\u51fa\u7a97\u53e3\u81ea\u52a8\u6d88\u5931,\u70b9\u51fb\u4e0a\u65b9\u7684\u8fd4\u56de( \u6ce8\u610f:\u4e0d\u4f1a\u81ea\u52a8\u8fd4\u56de,\u987b\u4eba\u5de5\u8fd4\u56de ),\u8fd4\u56de\u5982\u4e0b\u56fe \u770b\u5230\u4e0a\u65b9\u7684\u7b49\u5f85\u91cd\u542f,\u8bf4\u660e\u7ec4\u4ef6\u5df2\u7ecf\u5b89\u88c5\u4e0a,\u9700\u8981\u91cd\u542f,\u6211\u4eec\u6267\u884c\u91cd\u542f. \u91cd\u542f\u5b8c\u6210\u540e,\u4f1a\u770b\u5230,Downloaded\u4e2d\u5df2\u7ecf\u663e\u793a,\u4e86\u5b89\u88c5\u6210\u529f\u6298WebRTC Camera\u7ec4\u4ef6. \u7136\u540e,\u8fdb\u5165\u8bbe\u7f6e-\u8bbe\u5907\u4e0e\u670d\u52a1-\u6dfb\u52a0\u96c6\u6210,\u641c\u7d22WebRTC \u70b9\u51fbWebRtc Camera \u5f39\u51fago2rtc url\u5730\u5740\u7a97\u53e3,\u6b64\u63d2\u4ef6,\u6211\u4eec\u4e4b\u524d\u5df2\u88c5\u8fc7,\u5c31\u5728\u672c\u673a,\u6240\u5730\u5740\u4e0d\u7528\u6539,\u76f4\u63a5\u70b9\u63d0\u4ea4 \u70b9\u5b8c\u6210.WebRTC\u5b89\u88c5\u6210\u529f.\u5982\u4e0b\u56fe\u6240\u793a \u4e3a\u4e86\u6f14\u793a\u5982\u4f55\u663e\u793a\u76d1\u63a7\u89c6\u9891,\u6211\u4eec\u65b0\u589e\u52a0\u4e00\u4e2asample\u7684\u4eea\u8868\u76d8. \u70b9\u51fb,\u6dfb\u52a0\u4eea\u8868\u76d8 \u5728\u5f39\u51fa\u6298\u5bf9\u8bdd\u6846\u4e2d,\u8f93\u5165\u4eea\u8868\u76d8\u6807\u9898 \u8fd9\u6837\u6211\u6837\u5c31\u589e\u52a0\u4e86\u4e00\u4e2a\u4eea\u8868\u76d8dashboard-sampale,\u6211\u4eec\u53ef\u4ee5\u5728\u8fd9\u4e2a\u4eea\u8868\u76d8\u4e2d\u589e\u52a0\u6f14\u793a\u7528\u7684\u7ec4\u4ef6,\u6b64\u5904,\u6211\u4eec\u60f3\u589e\u52a0\u4e00\u4e2a\u6f14\u793a\u7528\u7684\u76d1\u63a7\u6444\u50cf\u5934.\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u7f16\u8f91\u6309\u94ae. \u70b9\u51fb\u521b\u5efa\u4e00\u4e2a\u7ec4\u4ef6 \u7136\u540e,\u65b0\u5efa\u5361\u7247,\u9009\u62e9\u81ea\u5b9a\u4e49WebRTC\u5361\u7247,\u5982\u679c\u6ca1\u6709\u8fd9\u4e2a\u7ec4\u4ef6,\u5219\u9700\u8981\u5237\u65b0\u51e0\u6b21,\u5c31\u80fd\u770b\u5230\u8fd9\u4e2a\u7ec4\u4ef6. \u6211\u6837\u5728\u5361\u7247\u8bbe\u7f6e\u4e2d\u8f93\u5165url\u7684\u89c6\u9891\u6d41\u5730\u5740 type: custom:webrtc-camera url: \"rtsp://admin:Camera_data2018@192.168.50.131:554/stream2\"","title":"\u5b89\u88c5WebRTC Camera"},{"location":"Usages/initConfig/initConfig/#motioneye","text":"motionEye \u662f\u4e00\u4e2a\u6d41\u884c\u7684\u6444\u50cf\u5934\u8f6f\u4ef6\uff08\u79f0\u4e3a motion\uff09\u7684\u524d\u7aef\u3002\u672c\u63d2\u4ef6\u540c\u65f6\u63d0\u4f9b\u4e86\u524d\u7aef\u548c\u6444\u50cf\u5934\u8f6f\u4ef6\uff0c\u8ba9\u60a8\u53ef\u4ee5\u5c06\u6444\u50cf\u5934\u6dfb\u52a0\u5230 Hass.io \uff08Home Assistant\uff09\u7cfb\u7edf\u4e2d\u3002 motionEye \u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u95ed\u8def\u7535\u89c6\uff08CCTV\uff09\u548c\u7f51\u7edc\u89c6\u9891\u5f55\u50cf\u673a\uff08NVR\uff09\uff0c\u5b83\u8bbe\u8ba1\u4f18\u96c5\u4e14\u975e\u5e38\u6613\u4e8e\u4f7f\u7528\u3002\u5b83\u53ef\u4ee5\u7528\u4f5c\u5a74\u513f\u76d1\u89c6\u5668\u3001\u5efa\u7b51\u5de5\u5730\u76d1\u63a7\u3001\u5546\u5e97\u6444\u50cf\u5934\u5f55\u50cf\u673a\u3001\u82b1\u56ed\u5b89\u9632\u7b49\u3002","title":"\u5b89\u88c5motionEye"},{"location":"Usages/initConfig/initConfig/#motioneye_1","text":"\u652f\u6301\u5927\u91cf\u6444\u50cf\u5934\uff0c\u5305\u62ec IP \u6444\u50cf\u5934\u3002 \u53ef\u4ee5\u901a\u8fc7\u5c06\u591a\u4e2a motionEye \u5b9e\u4f8b\u8fde\u63a5\u5728\u4e00\u8d77\u6dfb\u52a0\u591a\u4e2a\u6444\u50cf\u5934\u3002\u4f8b\u5982\uff0c\u53ef\u4ee5\u5728\u7f51\u7edc\u4e2d\u4f7f\u7528\u8fd0\u884c MotionEyeOS \u7684 Pi Zero \u548c Pi \u6444\u50cf\u5934\u3002 \u652f\u6301\u5c06\u5f55\u50cf\u4e0a\u4f20\u5230 Google Drive \u548c Dropbox\u3002 \u652f\u6301\u8fd0\u52a8\u68c0\u6d4b\uff0c\u5305\u62ec\u90ae\u4ef6\u901a\u77e5\u548c\u8ba1\u5212\u4efb\u52a1\u3002 \u53ef\u4ee5\u8fde\u7eed\u5f55\u50cf\u3001\u8fd0\u52a8\u5f55\u50cf\u6216\u5ef6\u65f6\u5f55\u50cf\uff0c\u5e76\u652f\u6301\u4fdd\u7559\u8bbe\u7f6e\u3002 \u652f\u6301\u914d\u7f6e\u4e2d\u7684\u201c\u64cd\u4f5c\u6309\u94ae\u201d\u3002","title":"motionEye \u7684\u4e00\u4e9b\u7279\u70b9\uff1a"},{"location":"Usages/initConfig/initConfig/#_8","text":"\u5728\u8bbe\u7f6e-\u52a0\u8f7d\u9879\u4e2d,\u641c\u7d22\"motionEye\", \u70b9\u51fb\u67e5\u770b\u8be6\u60c5\u9875,\u5e76\u5b89\u88c5 motioneye\u9ed8\u8ba4\u7684\u7528\u6237\u540d\u4e3aadmin,\u5bc6\u7801\u4e3a\u7a7a.","title":"\u5b89\u88c5\u65b9\u6cd5"},{"location":"Usages/initConfig/installHacs/","text":"","title":"installHacs"},{"location":"Usages/netconfig/netconfig/","text":"\u914d\u7f6e\u7f51\u7edc \u00b6 \u516c\u53f8\u4f7f\u7528\u7684X86\u5c0f\u5de5\u63a7\u673a,\u5927\u591a\u6709\u591a\u4e2a\u7f51\u5361,\u4e00\u822c\u4e00\u4e2a\u65e0\u7ebf\u7f51\u5361,\u4e24\u4e2a\u6709\u7ebf\u7f51\u5361.\u591a\u6570\u60c5\u51b5\u4e0b,\u6211\u4eec\u53ef\u80fd\u662f\u4f7f\u7528\u7684WIFI\u7f51\u7edc\uff0c\u8fd9\u6837\u6bd4\u8f83\u65b9\u4fbf\uff0c\u6709\u65f6\u4e3a\u4e86HA\u63d0\u4f9b\u7684\u670d\u52a1\u6298\u7a33\u5b9a\u6027\uff0c\u6211\u4eec\u5c3d\u91cf\u4f7f\u7528LAN\u7ebf\u7f51\u7edc\uff0c\u907f\u514d\u65e0\u7ebf\u7f51\u4fe1\u53f7\u8d28\u91cf\u7684\u95ee\u9898\u3002\u6240\u4ee5\u5c31\u6d89\u53ca\u5230\u914d\u7f51\u7684\u95ee\u9898\u3002 HomeAssistant\u7684\u7f51\u7edc\u914d\u7f6e,\u5728\u7cfb\u7edf\u6ca1\u6709\u5b89\u88c5\u6210\u529f\u4e4b\u524d,\u4e0d\u80fd\u901a\u8fc7web\u8fdb\u5165\u7f51\u9875\u754c\u9762\u65f6,\u914d\u7f6e\u7f51\u7edc\u53ea\u80fd\u901a\u8fc7\u81ea\u5e26\u7f51\u7edc\u914d\u7f6e\u547d\u4ee4\u6765\u8fdb\u884c. \u719f\u6089\u7f51\u7edc\u914d\u7f6e\u547d\u4ee4 \u00b6 HomeAssistant Cli \u63d0\u4f9b\u4e86\u9ed8\u4fe1\u6298network\u914d\u7f6e\u547d\u4ee4\u5982\u4e0b: ha netWork Useage: ha network [command] Examples: ha network info ha network interface options Available Commands: info Shows information about the host network reload Reload Network information the host scan Scan for Access Points on a wireless interface. update Update settings of a network interface vlan Create a new VLAN on an ethernet interface Flags: -h, --help help for network Global Flags: --api-token string Home Assistant Supervisor API token --config string Optional config file (default is $HOME/.homeassistant.yaml) --endpoint string Endpoint for Home Assistant Supervisor (default is'supervisor') --log-level string Log level (defaults to Warn) --no-progress Disable the progress spinner --raw-json Output raw JSON from the API Use \"ha network [command] --help\" for more information about a command. \u8fd9\u4e2aha network\u547d\u4ee4,\u5927\u7ea6\u5982\u4e0b\u51e0\u4e2a\u529f\u80fd info \u663e\u793a\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f reload \u91cd\u65b0\u52a0\u8f7d\u7f51\u7edc scan \u626b\u63cf\u7f51\u7edc update \u914d\u7f6e\u7f51\u7edc \u6211\u4eec\u5728\u4f7f\u7528\u8fd9\u4e2a\u547d\u4ee4\u65f6,\u53ef\u4ee5\u4f7f\u7528\u5176\u7b80\u5199,\u6bd4\u5982\u7701\u53bb\u524d\u9762\u7684ha,\u8fd8\u53ef\u4ee5\u7701\u53bb\u540e\u9762\u7684work \u6bd4\u5982,\u6211\u4eec\u60f3\u67e5\u770b\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f,\u53ef\u4ee5\u7528\u5982\u4e0b\u547d\u4ee4\u6765\u8fdb\u884c net info \u8fd9\u6761\u547d\u4ee4\u5c31\u4f1a\u628a\u6240\u6709\u7684\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f\u5168\u90e8\u663e\u793a\u51fa\u6765,\u53ea\u662f\u5982\u679c\u7f51\u5361\u8f83\u591a,\u6211\u4eec\u6ca1\u6709\u6cd5\u5728\u4e00\u5c4f\u5168\u90e8\u9605\u8bfb\u5b8c,\u6240\u4ee5\u8fd9\u5c31\u5f15\u53d1\u53e6\u4e00\u4e2a\u95ee\u9898.netwrok\u6240\u6709\u7684\u5b50\u547d\u4ee4,\u540e\u9762\u90fd\u662f\u53ef\u4ee5\u6216\u5fc5\u987b\u8ddf\u7740\u64cd\u4f5c\u5bf9\u50cf\u6765\u8fdb\u884c\u7684,\u5177\u4f53\u7684\u5c31\u662f,\u64cd\u4f5c\u6216\u663e\u793a\u54ea\u4e2a\u7f51\u5361\u63a5\u53e3.\u4e00\u822c\u60c5\u51b5\u4e0b\u662f\u5982\u4e0b\u578b\u5f0f net [command] [interface] \u5373 net [\u5b50\u547d\u4ee4] [\u7f51\u5361\u540d\u79f0] \u90a3\u4e48\u5982\u4f55\u67e5\u770b\u7f51\u5361\u540d\u79f0\u5462,\u5728haos \u7684cli\u63a7\u5236\u53f0\u754c\u9762,\u4efb\u610f\u65f6\u95f4,\u540c\u65f6\u6309\u4e0b ctrl+c \u540e,ha\u7684\u754c\u9762\u8fd4\u56de\u5230\u5f85\u673a\u754c\u9762,\u5982\u4e0b\u56fe\u6240\u793a. \u56fe\u4e2d\u5171\u663e\u793a\u4e86\u4e09\u4e2a\u7f51\u5361\u63a5\u53e3: wlp3s0 \u8fd9\u4e2a\u662f\u65e0\u7ebf\u7f51\u5361\u63a5\u53e3\u7684\u540d\u79f0,\u4e00\u822c\u60c5\u51b5\u4e0bw\u5b57\u7b26\u6253\u5934\u7684\u6211\u4e3a\u65e0\u7ebf\u7f51\u5361 enp2s0 \u8fd9\u4e2a\u5bf9\u5e94\u5c0f\u4e3b\u673a\u4e0a\u5c31\u662fLNA1,\u6709\u7ebf\u7f51\u53611\u7684\u540d\u79f0 enp4s0 \u8fd9\u4e2a\u5bf9\u5e94\u5c0f\u4e3b\u673a\u4e0a\u5c31\u662fLNA2,\u6709\u7ebf\u7f51\u53611\u7684\u540d\u79f0 \u67e5\u770b\u5230\u4e86\u8fd9\u4e09\u4e2a\u7f51\u5361\u540d\u79f0,\u6211\u4eec\u5c31\u53ef\u4ee5\u5bf9\u7f51\u5361\u8fdb\u884c\u67e5\u770b\u4fe1\u606f\u914d\u7f6e\u7b49. \u5bf9\u6709\u521d\u88c5\u7684HAOS\u8fd8\u6709\u51c6\u5907\u8fdb\u884cUdate\u7684\u5c0f\u4e3b\u673a,\u6700\u597d,\u5c31\u662f\u5728\u8def\u7531\u5668\u7aef \u9ed8\u8ba4\u63d0\u4f9b\u79d1\u5b66\u4e0a\u7f51 ,\u5426\u5219\u5728\u65b0\u5b89\u88c5\u6298\u521d\u59cb\u5316\u90a3\u91cc\u5c31\u4f1a\u88ab\u6c38\u8fdc\u5361\u4f4f,\u65e0\u6cd5\u5b89\u88c5\u6210\u529f,\u5982\u679c\u662f\u81ea\u52a8\u66f4\u65b0,\u90a3\u4e48\u5c06\u4f1a\u66f4\u65b0\u5931\u8d25. \u914d\u7f6e\u7f51\u7edc \u00b6 \u4e00\u822c\u60c5\u51b5\u4e0b,\u5bf9\u4e8eenp2s0,enp4s0,\u5982\u679c\u8def\u7531\u5668\u7aef\u63d0\u4f9b\u4e86\u81ea\u52a8\u83b7\u53d6IP\u5730\u5740\u529f\u80fd\uff0c\u5219\u65e0\u9700\u914d\u7f6e\uff0c\u7f51\u7ebf\u63d2\u5165\u5373\u53ef\u4f7f\u7528\u3002 \u4f46\u662f\u5bf9\u4e8e\u6bd4\u8f83\u590d\u6742\u7684\u7f51\u7edc\u5219\u9700\u8981\u914d\u7f6e\uff0c\u540c\u6837\uff0c\u5982\u679c\u60f3\u4f7f\u7528wifi\u7f51\u7edc,\u4e5f\u9700\u8981\u914d\u7f6e . \u914d\u7f6e\u7f51\u7edc\u7684\u547d\u4ee4\u5982\u4e0b: ha > net update Usage: ha network update [interface] [flags] Aliases: update, set, up Examples: ha network update eth0 --ipv4-method auto --ipv6-method disabled Flags: -e, --disabled Disable interface -h, --help help for update --ipv4-address stringArray IPv4 address for the interface in the 192.168.1.5/24 --ipv4-gateway string The IPv4 gateway the interface should use --ipv4-method string Method on IPv4: static|auto|disabled --ipv4-nameserver stringArray IPv4 address of upstream DNS servers. Use multiple times for multiple servers. --ipv6-address stringArray IPv6 address for the interface in the 2001:0db8:85a3:0000:0000:8a2e:0370:7334/64 --ipv6-gateway string The IPv6 gateway the interface should use --ipv6-method string Method on IPv6: static|auto|disabled --ipv6-nameserver stringArray IPv6 address for upstream DNS servers. Use multiple times for multiple servers. --wifi-auth string Used authentication: open, wep, wpa-psk --wifi-mode string Wifi mode: infrastructure, adhoc, mesh or ap --wifi-psk string Shared authentication key for wep or wpa --wifi-ssid string SSID for wifi connection Global Flags: --api-token string Home Assistant Supervisor API token --config string Optional config file (default is $HOME/.homeassistant.yaml) --endpoint string Endpoint for Home Assistant Supervisor (default is `supervisor`) --log-level string Log level (defaults to Warn) --no-progress Disable the progress spinner --raw-json Output raw JSON from the API \u8fd9\u6761\u547d\u4ee4ha network update [interface] [flags],\u63d0\u4f9b\u4e86\u5f88\u591a\u529f\u80fd,\u5b83\u53ef\u4ee5\u914d\u7f6ewif\u7f51\u7edc,\u53ef\u4ee5\u5bf9\u6307\u5b9a\u7684\u7f51\u5361\u914d\u7f6eip4/6\u7684IP\u5730\u5740\uff0c\u7f51\u5173\uff0c\u662f\u5426\u542f\u7528\u7b49.\u56e0\u6b64\u53ef\u4ee5\u5728\u5b9e\u9645\u5de5\u4f5c\u4e2d\u7075\u6d3b\u4f7f\u7528. \u5177\u4f53\u7528\u6cd5\u7b80\u8bd1\u5982\u4e0b ha > net update Usage: ha network update [interface] [flags] Aliases: update, set, up Examples: ha network update eth0 --ipv4-method auto --ipv6-method disabled Flags: -e, --disabled \u7981\u7528\u63a5\u53e3 -h, --help \u663e\u793a\u66f4\u65b0\u7684\u5e2e\u52a9\u4fe1\u606f --ipv4-address stringArray \u63a5\u53e3\u7684 IPv4 \u5730\u5740\uff0c\u4f8b\u5982 192.168.1.5/24 --ipv4-gateway string \u63a5\u53e3\u4f7f\u7528\u7684 IPv4 \u7f51\u5173 --ipv4-method string IPv4 \u65b9\u6cd5: static|auto|disabled --ipv4-nameserver stringArray \u4e0a\u6e38 DNS \u670d\u52a1\u5668\u7684 IPv4 \u5730\u5740\uff0c\u53ef\u591a\u6b21\u4f7f\u7528\u4ee5\u6307\u5b9a\u591a\u4e2a\u670d\u52a1\u5668 --ipv6-address stringArray \u63a5\u53e3\u7684 IPv6 \u5730\u5740\uff0c\u4f8b\u5982 2001:0db8:85a3:0000:0000:8a2e:0370:7334/64 --ipv6-gateway string \u63a5\u53e3\u4f7f\u7528\u7684 IPv6 \u7f51\u5173 --ipv6-method string IPv6 \u65b9\u6cd5: static|auto|disabled --ipv6-nameserver stringArray \u4e0a\u6e38 DNS \u670d\u52a1\u5668\u7684 IPv6 \u5730\u5740\uff0c\u53ef\u591a\u6b21\u4f7f\u7528\u4ee5\u6307\u5b9a\u591a\u4e2a\u670d\u52a1\u5668 --wifi-auth string \u4f7f\u7528\u7684\u8ba4\u8bc1\u65b9\u5f0f: open, wep, wpa-psk --wifi-mode string WiFi \u6a21\u5f0f: infrastructure, adhoc, mesh \u6216 ap --wifi-psk string WEP \u6216 WPA \u7684\u5171\u4eab\u8ba4\u8bc1\u5bc6\u94a5 --wifi-ssid string WiFi \u8fde\u63a5\u7684 SSID Global Flags: --api-token string Home Assistant Supervisor API \u4ee4\u724c --config string \u53ef\u9009\u7684\u914d\u7f6e\u6587\u4ef6\u8def\u5f84\uff08\u9ed8\u8ba4\u503c\u4e3a $HOME/.homeassistant.yaml\uff09 --endpoint string Home Assistant Supervisor \u7684\u7aef\u70b9\uff08\u9ed8\u8ba4\u503c\u4e3a `supervisor`\uff09 --log-level string \u65e5\u5fd7\u7ea7\u522b\uff08\u9ed8\u8ba4\u503c\u4e3a Warn\uff09 --no-progress \u7981\u7528\u8fdb\u5ea6\u6761 --raw-json \u4ee5\u539f\u59cb JSON \u683c\u5f0f\u8f93\u51fa API \u6570\u636e FATA[0000] Error while executing rootCmd: accepts 1 arg(s), received 0 \u4e0b\u9762,\u6211\u4eec\u5c31\u4ee5\u914d\u7f6ewifi\u8054\u63a5\u5230\u7f51\u7edc\u4e3a\u4f8b\u8bf4\u660e\u4e00\u4e0b: \u6bd4\u5982\u6211\u4eec\u9ed8\u8ba4\u7684WIFI\u70ed\u70b9\u5982\u4e0b: wifi info: ssid:DT_IoT_GateWay passWord:HnczjTyrb0 \u90a3\u6839\u636e\u6211\u4eec\u4e0a\u6587\u67e5\u770b\u5230\u7684\u65e0\u7ebf\u7f51\u5361\u7684\u540d\u79f0: wlp3s0 \u6211\u4eec\u4f7f\u7528\u5982\u4e0b\u914d\u7f6e\u547d\u4ee4,\u6765\u8ba9haos\u5c0f\u5de5\u63a7\u673a\u8054\u4e0awifi\u7f51\u7edc: ha network update wlp3s0 --wifi-auth wpa-psk --wifi-psk \"HmczjTYrb0\" --wifi-mode infrastructure --wifi-ssid \"DT_IoT_GateWay\" --ipv4-method auto --ipv6-method disabled \u8fd9\u6761\u547d\u4ee4\u89e3\u91ca\u5982\u4e0b: \u6307\u5b9awifi\u7684\u5bc6\u7801\u65b9\u5f0f\u4e3a:wpa-psk (--wifi-auth wpa-psk). \u6307\u5b9awif\u7684\u5bc6\u7801\u4e3a:HnczjTyrb0 (--wifi-psk \"HmczjYrb0\"). \u6307\u5b9a\u7f51\u5361\u63a5\u53e3\u6a21\u5f0f\u4e3a:infrastructure \u5373\u5e38\u89c4\u6a21\u5f0f (--wifi-mode infrastructure). \u6307\u5b9a\u8981\u8054\u63a5\u7684\u7f51\u7edcSSID:DT_IoT_GateWay (--wifi-ssid \"DT_IoT_GateWay\"). \u6307\u5b9aIP\u5730\u5740\u83b7\u53d6\u65b9\u5f0f\uff08\u9759\u6001\u3001\u81ea\u52a8\u3001\u7981\u7528\uff09\uff1a\u81ea\u52a8 ( --ipv4-method auto). \u6307\u5b9a\u662f\u5426\u7981\u7528IpV6:\u7981\u7528 (--ipv6-method disabled) \u5982\u4e0b\u56fe\u6240\u793a,\u6211\u4eec\u6210\u529f\u7684\u4f7f\u7528\u8fd9\u6761\u6307\u4ee4,\u914d\u7f6e\u597d\u4e86wifi\u7f51\u7edc: \u5982\u4e0b\u6240\u793a,\u914d\u7f51\u6210\u529f\u540e,\u8def\u7531\u5668\u5df2\u81ea\u52a8\u4e3a\u5176\u5206\u914d\u597d\u4e86ip\u5730\u5740: \u6b64\u65f6,\u6211\u4eec\u5728\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165\u7f51\u5740 http://192.168.3.2:8123 \u5373\u53ef\u8fdb\u5165haos\u7684web\u9875\u9762. \u4e0b\u56fe\u662f\u65e0\u7ebf\u7f51\u5361\u4e0e\u6709\u7ebf\u7f51\u5361\u540c\u65f6\u542f\u7528\u7684\u60c5\u51b5,\u53ef\u4ee5\u770b\u5230,\u4e24\u4e2a\u7f51\u5361\u90fd\u88ab\u6b63\u786e\u7684\u5206\u914d\u5230\u4e86IP\u5730\u5740\uff1a \u5728\u7cfb\u7edf\u5b89\u88c5\u597d\u521d\u59cb\u5316\u5b8c\u6210\u540e\u914d\u7f6e\u7f51\u7edc \u00b6 \u7cfb\u7edf\u521d\u59cb\u5316\u5b8c\u6210\u540e,\u4ecd\u7136\u53ef\u4ee5\u8c03\u6574\u914d\u7f6e\u7f51\u7edc, \u8bbe\u7f6e-\u7cfb\u7edf-\u7f51\u7edc \u4e2d\u914d\u7f6e\u7f51\u7edc\u63a5\u53e3\u53ef\u4ee5\u8fdb\u884c\u7f51\u7edc\u914d\u7f6e \u5728\u8fd9\u91cc\u4f60\u53ef\u4ee5\u770b\u5230\u6211\u4eec\u7684\u4e09\u5757\u7f51\u5361,wlp3s0,enp2s0,enp4s0,\u53ef\u5728\u6b64\u5904\u914d\u7f6e,\u6bcf\u4e2a\u7f51\u5361\u7684IP\uff0c\u5b50\u7f51\uff0c\u7f51\u5173\uff0cDNS\u7b49\uff0c\u4e5f\u53ef\u4ee5\u914d\u7f6ewi-fi\u70ed\u70b9.","title":"\u914d\u7f6e\u7f51\u7edc"},{"location":"Usages/netconfig/netconfig/#_1","text":"\u516c\u53f8\u4f7f\u7528\u7684X86\u5c0f\u5de5\u63a7\u673a,\u5927\u591a\u6709\u591a\u4e2a\u7f51\u5361,\u4e00\u822c\u4e00\u4e2a\u65e0\u7ebf\u7f51\u5361,\u4e24\u4e2a\u6709\u7ebf\u7f51\u5361.\u591a\u6570\u60c5\u51b5\u4e0b,\u6211\u4eec\u53ef\u80fd\u662f\u4f7f\u7528\u7684WIFI\u7f51\u7edc\uff0c\u8fd9\u6837\u6bd4\u8f83\u65b9\u4fbf\uff0c\u6709\u65f6\u4e3a\u4e86HA\u63d0\u4f9b\u7684\u670d\u52a1\u6298\u7a33\u5b9a\u6027\uff0c\u6211\u4eec\u5c3d\u91cf\u4f7f\u7528LAN\u7ebf\u7f51\u7edc\uff0c\u907f\u514d\u65e0\u7ebf\u7f51\u4fe1\u53f7\u8d28\u91cf\u7684\u95ee\u9898\u3002\u6240\u4ee5\u5c31\u6d89\u53ca\u5230\u914d\u7f51\u7684\u95ee\u9898\u3002 HomeAssistant\u7684\u7f51\u7edc\u914d\u7f6e,\u5728\u7cfb\u7edf\u6ca1\u6709\u5b89\u88c5\u6210\u529f\u4e4b\u524d,\u4e0d\u80fd\u901a\u8fc7web\u8fdb\u5165\u7f51\u9875\u754c\u9762\u65f6,\u914d\u7f6e\u7f51\u7edc\u53ea\u80fd\u901a\u8fc7\u81ea\u5e26\u7f51\u7edc\u914d\u7f6e\u547d\u4ee4\u6765\u8fdb\u884c.","title":"\u914d\u7f6e\u7f51\u7edc"},{"location":"Usages/netconfig/netconfig/#_2","text":"HomeAssistant Cli \u63d0\u4f9b\u4e86\u9ed8\u4fe1\u6298network\u914d\u7f6e\u547d\u4ee4\u5982\u4e0b: ha netWork Useage: ha network [command] Examples: ha network info ha network interface options Available Commands: info Shows information about the host network reload Reload Network information the host scan Scan for Access Points on a wireless interface. update Update settings of a network interface vlan Create a new VLAN on an ethernet interface Flags: -h, --help help for network Global Flags: --api-token string Home Assistant Supervisor API token --config string Optional config file (default is $HOME/.homeassistant.yaml) --endpoint string Endpoint for Home Assistant Supervisor (default is'supervisor') --log-level string Log level (defaults to Warn) --no-progress Disable the progress spinner --raw-json Output raw JSON from the API Use \"ha network [command] --help\" for more information about a command. \u8fd9\u4e2aha network\u547d\u4ee4,\u5927\u7ea6\u5982\u4e0b\u51e0\u4e2a\u529f\u80fd info \u663e\u793a\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f reload \u91cd\u65b0\u52a0\u8f7d\u7f51\u7edc scan \u626b\u63cf\u7f51\u7edc update \u914d\u7f6e\u7f51\u7edc \u6211\u4eec\u5728\u4f7f\u7528\u8fd9\u4e2a\u547d\u4ee4\u65f6,\u53ef\u4ee5\u4f7f\u7528\u5176\u7b80\u5199,\u6bd4\u5982\u7701\u53bb\u524d\u9762\u7684ha,\u8fd8\u53ef\u4ee5\u7701\u53bb\u540e\u9762\u7684work \u6bd4\u5982,\u6211\u4eec\u60f3\u67e5\u770b\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f,\u53ef\u4ee5\u7528\u5982\u4e0b\u547d\u4ee4\u6765\u8fdb\u884c net info \u8fd9\u6761\u547d\u4ee4\u5c31\u4f1a\u628a\u6240\u6709\u7684\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f\u5168\u90e8\u663e\u793a\u51fa\u6765,\u53ea\u662f\u5982\u679c\u7f51\u5361\u8f83\u591a,\u6211\u4eec\u6ca1\u6709\u6cd5\u5728\u4e00\u5c4f\u5168\u90e8\u9605\u8bfb\u5b8c,\u6240\u4ee5\u8fd9\u5c31\u5f15\u53d1\u53e6\u4e00\u4e2a\u95ee\u9898.netwrok\u6240\u6709\u7684\u5b50\u547d\u4ee4,\u540e\u9762\u90fd\u662f\u53ef\u4ee5\u6216\u5fc5\u987b\u8ddf\u7740\u64cd\u4f5c\u5bf9\u50cf\u6765\u8fdb\u884c\u7684,\u5177\u4f53\u7684\u5c31\u662f,\u64cd\u4f5c\u6216\u663e\u793a\u54ea\u4e2a\u7f51\u5361\u63a5\u53e3.\u4e00\u822c\u60c5\u51b5\u4e0b\u662f\u5982\u4e0b\u578b\u5f0f net [command] [interface] \u5373 net [\u5b50\u547d\u4ee4] [\u7f51\u5361\u540d\u79f0] \u90a3\u4e48\u5982\u4f55\u67e5\u770b\u7f51\u5361\u540d\u79f0\u5462,\u5728haos \u7684cli\u63a7\u5236\u53f0\u754c\u9762,\u4efb\u610f\u65f6\u95f4,\u540c\u65f6\u6309\u4e0b ctrl+c \u540e,ha\u7684\u754c\u9762\u8fd4\u56de\u5230\u5f85\u673a\u754c\u9762,\u5982\u4e0b\u56fe\u6240\u793a. \u56fe\u4e2d\u5171\u663e\u793a\u4e86\u4e09\u4e2a\u7f51\u5361\u63a5\u53e3: wlp3s0 \u8fd9\u4e2a\u662f\u65e0\u7ebf\u7f51\u5361\u63a5\u53e3\u7684\u540d\u79f0,\u4e00\u822c\u60c5\u51b5\u4e0bw\u5b57\u7b26\u6253\u5934\u7684\u6211\u4e3a\u65e0\u7ebf\u7f51\u5361 enp2s0 \u8fd9\u4e2a\u5bf9\u5e94\u5c0f\u4e3b\u673a\u4e0a\u5c31\u662fLNA1,\u6709\u7ebf\u7f51\u53611\u7684\u540d\u79f0 enp4s0 \u8fd9\u4e2a\u5bf9\u5e94\u5c0f\u4e3b\u673a\u4e0a\u5c31\u662fLNA2,\u6709\u7ebf\u7f51\u53611\u7684\u540d\u79f0 \u67e5\u770b\u5230\u4e86\u8fd9\u4e09\u4e2a\u7f51\u5361\u540d\u79f0,\u6211\u4eec\u5c31\u53ef\u4ee5\u5bf9\u7f51\u5361\u8fdb\u884c\u67e5\u770b\u4fe1\u606f\u914d\u7f6e\u7b49. \u5bf9\u6709\u521d\u88c5\u7684HAOS\u8fd8\u6709\u51c6\u5907\u8fdb\u884cUdate\u7684\u5c0f\u4e3b\u673a,\u6700\u597d,\u5c31\u662f\u5728\u8def\u7531\u5668\u7aef \u9ed8\u8ba4\u63d0\u4f9b\u79d1\u5b66\u4e0a\u7f51 ,\u5426\u5219\u5728\u65b0\u5b89\u88c5\u6298\u521d\u59cb\u5316\u90a3\u91cc\u5c31\u4f1a\u88ab\u6c38\u8fdc\u5361\u4f4f,\u65e0\u6cd5\u5b89\u88c5\u6210\u529f,\u5982\u679c\u662f\u81ea\u52a8\u66f4\u65b0,\u90a3\u4e48\u5c06\u4f1a\u66f4\u65b0\u5931\u8d25.","title":"\u719f\u6089\u7f51\u7edc\u914d\u7f6e\u547d\u4ee4"},{"location":"Usages/netconfig/netconfig/#_3","text":"\u4e00\u822c\u60c5\u51b5\u4e0b,\u5bf9\u4e8eenp2s0,enp4s0,\u5982\u679c\u8def\u7531\u5668\u7aef\u63d0\u4f9b\u4e86\u81ea\u52a8\u83b7\u53d6IP\u5730\u5740\u529f\u80fd\uff0c\u5219\u65e0\u9700\u914d\u7f6e\uff0c\u7f51\u7ebf\u63d2\u5165\u5373\u53ef\u4f7f\u7528\u3002 \u4f46\u662f\u5bf9\u4e8e\u6bd4\u8f83\u590d\u6742\u7684\u7f51\u7edc\u5219\u9700\u8981\u914d\u7f6e\uff0c\u540c\u6837\uff0c\u5982\u679c\u60f3\u4f7f\u7528wifi\u7f51\u7edc,\u4e5f\u9700\u8981\u914d\u7f6e . \u914d\u7f6e\u7f51\u7edc\u7684\u547d\u4ee4\u5982\u4e0b: ha > net update Usage: ha network update [interface] [flags] Aliases: update, set, up Examples: ha network update eth0 --ipv4-method auto --ipv6-method disabled Flags: -e, --disabled Disable interface -h, --help help for update --ipv4-address stringArray IPv4 address for the interface in the 192.168.1.5/24 --ipv4-gateway string The IPv4 gateway the interface should use --ipv4-method string Method on IPv4: static|auto|disabled --ipv4-nameserver stringArray IPv4 address of upstream DNS servers. Use multiple times for multiple servers. --ipv6-address stringArray IPv6 address for the interface in the 2001:0db8:85a3:0000:0000:8a2e:0370:7334/64 --ipv6-gateway string The IPv6 gateway the interface should use --ipv6-method string Method on IPv6: static|auto|disabled --ipv6-nameserver stringArray IPv6 address for upstream DNS servers. Use multiple times for multiple servers. --wifi-auth string Used authentication: open, wep, wpa-psk --wifi-mode string Wifi mode: infrastructure, adhoc, mesh or ap --wifi-psk string Shared authentication key for wep or wpa --wifi-ssid string SSID for wifi connection Global Flags: --api-token string Home Assistant Supervisor API token --config string Optional config file (default is $HOME/.homeassistant.yaml) --endpoint string Endpoint for Home Assistant Supervisor (default is `supervisor`) --log-level string Log level (defaults to Warn) --no-progress Disable the progress spinner --raw-json Output raw JSON from the API \u8fd9\u6761\u547d\u4ee4ha network update [interface] [flags],\u63d0\u4f9b\u4e86\u5f88\u591a\u529f\u80fd,\u5b83\u53ef\u4ee5\u914d\u7f6ewif\u7f51\u7edc,\u53ef\u4ee5\u5bf9\u6307\u5b9a\u7684\u7f51\u5361\u914d\u7f6eip4/6\u7684IP\u5730\u5740\uff0c\u7f51\u5173\uff0c\u662f\u5426\u542f\u7528\u7b49.\u56e0\u6b64\u53ef\u4ee5\u5728\u5b9e\u9645\u5de5\u4f5c\u4e2d\u7075\u6d3b\u4f7f\u7528. \u5177\u4f53\u7528\u6cd5\u7b80\u8bd1\u5982\u4e0b ha > net update Usage: ha network update [interface] [flags] Aliases: update, set, up Examples: ha network update eth0 --ipv4-method auto --ipv6-method disabled Flags: -e, --disabled \u7981\u7528\u63a5\u53e3 -h, --help \u663e\u793a\u66f4\u65b0\u7684\u5e2e\u52a9\u4fe1\u606f --ipv4-address stringArray \u63a5\u53e3\u7684 IPv4 \u5730\u5740\uff0c\u4f8b\u5982 192.168.1.5/24 --ipv4-gateway string \u63a5\u53e3\u4f7f\u7528\u7684 IPv4 \u7f51\u5173 --ipv4-method string IPv4 \u65b9\u6cd5: static|auto|disabled --ipv4-nameserver stringArray \u4e0a\u6e38 DNS \u670d\u52a1\u5668\u7684 IPv4 \u5730\u5740\uff0c\u53ef\u591a\u6b21\u4f7f\u7528\u4ee5\u6307\u5b9a\u591a\u4e2a\u670d\u52a1\u5668 --ipv6-address stringArray \u63a5\u53e3\u7684 IPv6 \u5730\u5740\uff0c\u4f8b\u5982 2001:0db8:85a3:0000:0000:8a2e:0370:7334/64 --ipv6-gateway string \u63a5\u53e3\u4f7f\u7528\u7684 IPv6 \u7f51\u5173 --ipv6-method string IPv6 \u65b9\u6cd5: static|auto|disabled --ipv6-nameserver stringArray \u4e0a\u6e38 DNS \u670d\u52a1\u5668\u7684 IPv6 \u5730\u5740\uff0c\u53ef\u591a\u6b21\u4f7f\u7528\u4ee5\u6307\u5b9a\u591a\u4e2a\u670d\u52a1\u5668 --wifi-auth string \u4f7f\u7528\u7684\u8ba4\u8bc1\u65b9\u5f0f: open, wep, wpa-psk --wifi-mode string WiFi \u6a21\u5f0f: infrastructure, adhoc, mesh \u6216 ap --wifi-psk string WEP \u6216 WPA \u7684\u5171\u4eab\u8ba4\u8bc1\u5bc6\u94a5 --wifi-ssid string WiFi \u8fde\u63a5\u7684 SSID Global Flags: --api-token string Home Assistant Supervisor API \u4ee4\u724c --config string \u53ef\u9009\u7684\u914d\u7f6e\u6587\u4ef6\u8def\u5f84\uff08\u9ed8\u8ba4\u503c\u4e3a $HOME/.homeassistant.yaml\uff09 --endpoint string Home Assistant Supervisor \u7684\u7aef\u70b9\uff08\u9ed8\u8ba4\u503c\u4e3a `supervisor`\uff09 --log-level string \u65e5\u5fd7\u7ea7\u522b\uff08\u9ed8\u8ba4\u503c\u4e3a Warn\uff09 --no-progress \u7981\u7528\u8fdb\u5ea6\u6761 --raw-json \u4ee5\u539f\u59cb JSON \u683c\u5f0f\u8f93\u51fa API \u6570\u636e FATA[0000] Error while executing rootCmd: accepts 1 arg(s), received 0 \u4e0b\u9762,\u6211\u4eec\u5c31\u4ee5\u914d\u7f6ewifi\u8054\u63a5\u5230\u7f51\u7edc\u4e3a\u4f8b\u8bf4\u660e\u4e00\u4e0b: \u6bd4\u5982\u6211\u4eec\u9ed8\u8ba4\u7684WIFI\u70ed\u70b9\u5982\u4e0b: wifi info: ssid:DT_IoT_GateWay passWord:HnczjTyrb0 \u90a3\u6839\u636e\u6211\u4eec\u4e0a\u6587\u67e5\u770b\u5230\u7684\u65e0\u7ebf\u7f51\u5361\u7684\u540d\u79f0: wlp3s0 \u6211\u4eec\u4f7f\u7528\u5982\u4e0b\u914d\u7f6e\u547d\u4ee4,\u6765\u8ba9haos\u5c0f\u5de5\u63a7\u673a\u8054\u4e0awifi\u7f51\u7edc: ha network update wlp3s0 --wifi-auth wpa-psk --wifi-psk \"HmczjTYrb0\" --wifi-mode infrastructure --wifi-ssid \"DT_IoT_GateWay\" --ipv4-method auto --ipv6-method disabled \u8fd9\u6761\u547d\u4ee4\u89e3\u91ca\u5982\u4e0b: \u6307\u5b9awifi\u7684\u5bc6\u7801\u65b9\u5f0f\u4e3a:wpa-psk (--wifi-auth wpa-psk). \u6307\u5b9awif\u7684\u5bc6\u7801\u4e3a:HnczjTyrb0 (--wifi-psk \"HmczjYrb0\"). \u6307\u5b9a\u7f51\u5361\u63a5\u53e3\u6a21\u5f0f\u4e3a:infrastructure \u5373\u5e38\u89c4\u6a21\u5f0f (--wifi-mode infrastructure). \u6307\u5b9a\u8981\u8054\u63a5\u7684\u7f51\u7edcSSID:DT_IoT_GateWay (--wifi-ssid \"DT_IoT_GateWay\"). \u6307\u5b9aIP\u5730\u5740\u83b7\u53d6\u65b9\u5f0f\uff08\u9759\u6001\u3001\u81ea\u52a8\u3001\u7981\u7528\uff09\uff1a\u81ea\u52a8 ( --ipv4-method auto). \u6307\u5b9a\u662f\u5426\u7981\u7528IpV6:\u7981\u7528 (--ipv6-method disabled) \u5982\u4e0b\u56fe\u6240\u793a,\u6211\u4eec\u6210\u529f\u7684\u4f7f\u7528\u8fd9\u6761\u6307\u4ee4,\u914d\u7f6e\u597d\u4e86wifi\u7f51\u7edc: \u5982\u4e0b\u6240\u793a,\u914d\u7f51\u6210\u529f\u540e,\u8def\u7531\u5668\u5df2\u81ea\u52a8\u4e3a\u5176\u5206\u914d\u597d\u4e86ip\u5730\u5740: \u6b64\u65f6,\u6211\u4eec\u5728\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165\u7f51\u5740 http://192.168.3.2:8123 \u5373\u53ef\u8fdb\u5165haos\u7684web\u9875\u9762. \u4e0b\u56fe\u662f\u65e0\u7ebf\u7f51\u5361\u4e0e\u6709\u7ebf\u7f51\u5361\u540c\u65f6\u542f\u7528\u7684\u60c5\u51b5,\u53ef\u4ee5\u770b\u5230,\u4e24\u4e2a\u7f51\u5361\u90fd\u88ab\u6b63\u786e\u7684\u5206\u914d\u5230\u4e86IP\u5730\u5740\uff1a","title":"\u914d\u7f6e\u7f51\u7edc"},{"location":"Usages/netconfig/netconfig/#_4","text":"\u7cfb\u7edf\u521d\u59cb\u5316\u5b8c\u6210\u540e,\u4ecd\u7136\u53ef\u4ee5\u8c03\u6574\u914d\u7f6e\u7f51\u7edc, \u8bbe\u7f6e-\u7cfb\u7edf-\u7f51\u7edc \u4e2d\u914d\u7f6e\u7f51\u7edc\u63a5\u53e3\u53ef\u4ee5\u8fdb\u884c\u7f51\u7edc\u914d\u7f6e \u5728\u8fd9\u91cc\u4f60\u53ef\u4ee5\u770b\u5230\u6211\u4eec\u7684\u4e09\u5757\u7f51\u5361,wlp3s0,enp2s0,enp4s0,\u53ef\u5728\u6b64\u5904\u914d\u7f6e,\u6bcf\u4e2a\u7f51\u5361\u7684IP\uff0c\u5b50\u7f51\uff0c\u7f51\u5173\uff0cDNS\u7b49\uff0c\u4e5f\u53ef\u4ee5\u914d\u7f6ewi-fi\u70ed\u70b9.","title":"\u5728\u7cfb\u7edf\u5b89\u88c5\u597d\u521d\u59cb\u5316\u5b8c\u6210\u540e\u914d\u7f6e\u7f51\u7edc"},{"location":"install-guide/BackupAndRestore/","text":"\u7cfb\u7edf\u7684\u5907\u4efd\u4e0e\u8fd8\u539f(\u786c\u76d8) \u00b6 HomeAssistant \u7684\u5b89\u88c5\u914d\u7f6e\u8fc7\u7a0b\u8f83\u591a,\u8017\u65f6\u8f83\u957f,\u4e3a\u6b64\u6211\u4eec\u7814\u7a76\u4e86\u4e00\u4e2a,\u5feb\u901f\u7684\u5c06\u63d0\u524d\u88c5\u597d\u7684HomeAssistant\u786c\u76d8,\u6574\u5907\u5907\u4efd\u4e0e\u6062\u590d\u7684\u529e\u6cd5. \u955c\u50cf\u6587\u4ef6\u4e0b\u8f7d \u00b6 \u955c\u50cf\u6587\u4ef6\u662f\u6211\u4eec\u63d0\u524d\u5236\u4f5c\u597d\u5e76\u5907\u4efd\u78c1\u76d8\u653e\u5230\u4e91\u7aef\u7684\uff0c\u6587\u4ef6\u8f83\u5927\uff0c\u9700\u8981\u5728\u5236\u4f5c\u597dWINpe\u7cfb\u7edf\u540e,\u4e0b\u8f7d\u5e76\u653e\u5230U\u76d8\u4e2d\u3002 \u70b9\u51fb\u6b64\u4e0b\u8f7d \u5de5\u5177\u7684\u51c6\u5907 \u00b6 \u5907\u4efd\u8fd8\u539f\u786c\u76d8\uff0c\u6211\u4eec\u5747\u662f\u5730windowsPE\u4e2d\u8fdb\u884c\u7684,\u4e3a\u6b64\u6211\u4eec\u9700\u51c6\u5907\u5982\u4e0b\u5de5\u5177: windowsPE(\u5fc5\u987b) windows\u7684PE\u5236\u4f5c\u5de5\u5177\u6709\u5f88\u591a\uff0c\u6bd4\u5982\u8001\u6bdb\u6843,\u5927\u767d\u83dc,\u7b49,\u4f46\u8fd9\u4e9b\u5927\u591a\u4f1a\u6709\u503c\u5165\u5e7f\u544a\u7b49,\u7528\u4e8e\u5b89\u88c5windows\u7cfb\u7edf\u4f1a\u6709\u8bb8\u591a\u5783\u573e\u8f6f\u4ef6,\u8fd9\u91cc\u63a8\u8350\u4f7f\u7528\" \u5faePE\u5de5\u5177\u7bb1 \",\u5176\u81ea\u5e26\u7684Diskgenus\u5e94\u5f53\u662f\u5df2\u7ecf\u662f\u4e13\u4e1a\u7834\u89e3\u7248\u4e86,\u53ef\u4ee5\u64cd\u4f5c\u5927\u4e8e4G\u7684\u955c\u50cf\u3002\u6240\u4ee5\u4e00\u822c\u60c5\u51b5\u4e0b\u4e0d\u5fc5\u518d\u53e6\u5916\u627e\u5de5\u5177\u3002\u5f53\u9009\u7b2c\u4e09\u65b9PE\uff0c\u6216\u7b2c\u4e09\u65b9PE\u5e26\u7684Diskgenus\u4e0d\u80fd\u6ee1\u8db3\u9700\u8981,\u4e0d\u80fd\u6b63\u5e38\u7684\u5907\u4efd\u4e0e\u8fd8\u539f\u955c\u50cf\u65f6,\u9700\u8981\u9009\u75282\u63d0\u4f9b\u7684\u4e13\u4e1a\u7248 ,\u5e76\u5c06\u5176\u590d\u5236\u5230U\u76d8\u4e2d\u3002 Diskgenus\u4e13\u4e1a\u7834\u89e3\u7248.(\u53ef\u9009) \u200b \u70b9\u51fb\u6b64\u5904\u4e0b\u8f7d \u7528winPE\u5f15\u5bfcU\u76d8\uff0c\u5f15\u5bfc\u7cfb\u7edf\uff0c\u8fdb\u5165PE,\u542f\u52a8SiskGenius \u5206\u533a\u52a9\u624b\u7a0b\u5e8f,\u9009\u4e2d\u8981\u64cd\u4f5c\u7684\u78c1\u76d8.\u7136\u540e,\u70b9\u51fb \u83dc\u5355 \u78c1\u76d8 \u4ece\u786c\u76d8\u955c\u50cf\u6062\u590d \u00b6 \u9009\u62e9\u201c\u4ece\u6620\u50cf\u6062\u590d\u78c1\u76d8\",\u7136\u540e\u9009\u62e9U\u76d8\u4e2d\uff0c\u63d0\u524d\u51c6\u5907\u597d\u7684*.pmfx\u6587\u4ef6,\u7136\u540e\u9009\u62e9\u76ee\u6807\u78c1\u76d8,\u8fd8\u539f\u65b9\u5f0f\u4e3a:\u8fd8\u539f\u6240\u6709\u6247\u533a,\u7136\u540e\u70b9\u51fb\u5f00\u59cb,\u7cfb\u7edf\u5c31\u4f1a\u5f00\u59cb\u8fd8\u539f. \u8fd8\u539f\u5b8c\u6210\u540e,\u5982\u4e0b\u56fe\u6240\u793a: \u7136\u540e,\u79fb\u9664U\u76d8\uff0c\u91cd\u65b0\u542f\u52a8\uff0c\u5373\u53ef\u5b8c\u6210\u5b89\u88c5\uff0c\u5982\u4e0b\u56fe\u6240\u793a \u5907\u4efd\u6574\u4e2a\u786c\u76d8 \u00b6 \u9009\u62e9\"\u5907\u4efd\u78c1\u78c1\u76d8\u5230\u6620\\\u50cf\u6587\u4ef6\",\u5907\u4efd\u6a21\u5f0f\u4e3a:\u6240\u6709\u6247\u533a,\u9009\u62e9\u955c\u50cf\u6587\u4ef6,\u4e3a\u4e0b\u8f7d\u597d\u5e76\u63d0\u524d\u653e\u5165U\u76d8\u7684\u6269\u5c55\u540d\u4e3apmfx\u7684\u6620\u50cf\u6587\u4ef6,\u7136\u540e\u70b9\u51fb\"\u5f00\u59cb\" \u5927\u7ea6\u534a\u4e2a\u591a\u5c0f\u65f6,\u80fd\u5199\u5165\u5b8c\u6210.\u5982\u4e0b\u56fe\u6240\u793a,\u6620\u50cf\u6587\u4ef6\u5df2\u751f\u6210\u7ea6\u67095G\uff0c\u4fdd\u5b58\u5230\u5408\u9002\u7684\u5730\u65b9\uff0c\u53ef\u4ee5\u7528\u6765\u88c5\u673a\u6216\u8fd8\u539f\u7528\u3002","title":"BackupAndRestore"},{"location":"install-guide/BackupAndRestore/#_1","text":"HomeAssistant \u7684\u5b89\u88c5\u914d\u7f6e\u8fc7\u7a0b\u8f83\u591a,\u8017\u65f6\u8f83\u957f,\u4e3a\u6b64\u6211\u4eec\u7814\u7a76\u4e86\u4e00\u4e2a,\u5feb\u901f\u7684\u5c06\u63d0\u524d\u88c5\u597d\u7684HomeAssistant\u786c\u76d8,\u6574\u5907\u5907\u4efd\u4e0e\u6062\u590d\u7684\u529e\u6cd5.","title":"\u7cfb\u7edf\u7684\u5907\u4efd\u4e0e\u8fd8\u539f(\u786c\u76d8)"},{"location":"install-guide/BackupAndRestore/#_2","text":"\u955c\u50cf\u6587\u4ef6\u662f\u6211\u4eec\u63d0\u524d\u5236\u4f5c\u597d\u5e76\u5907\u4efd\u78c1\u76d8\u653e\u5230\u4e91\u7aef\u7684\uff0c\u6587\u4ef6\u8f83\u5927\uff0c\u9700\u8981\u5728\u5236\u4f5c\u597dWINpe\u7cfb\u7edf\u540e,\u4e0b\u8f7d\u5e76\u653e\u5230U\u76d8\u4e2d\u3002 \u70b9\u51fb\u6b64\u4e0b\u8f7d","title":"\u955c\u50cf\u6587\u4ef6\u4e0b\u8f7d"},{"location":"install-guide/BackupAndRestore/#_3","text":"\u5907\u4efd\u8fd8\u539f\u786c\u76d8\uff0c\u6211\u4eec\u5747\u662f\u5730windowsPE\u4e2d\u8fdb\u884c\u7684,\u4e3a\u6b64\u6211\u4eec\u9700\u51c6\u5907\u5982\u4e0b\u5de5\u5177: windowsPE(\u5fc5\u987b) windows\u7684PE\u5236\u4f5c\u5de5\u5177\u6709\u5f88\u591a\uff0c\u6bd4\u5982\u8001\u6bdb\u6843,\u5927\u767d\u83dc,\u7b49,\u4f46\u8fd9\u4e9b\u5927\u591a\u4f1a\u6709\u503c\u5165\u5e7f\u544a\u7b49,\u7528\u4e8e\u5b89\u88c5windows\u7cfb\u7edf\u4f1a\u6709\u8bb8\u591a\u5783\u573e\u8f6f\u4ef6,\u8fd9\u91cc\u63a8\u8350\u4f7f\u7528\" \u5faePE\u5de5\u5177\u7bb1 \",\u5176\u81ea\u5e26\u7684Diskgenus\u5e94\u5f53\u662f\u5df2\u7ecf\u662f\u4e13\u4e1a\u7834\u89e3\u7248\u4e86,\u53ef\u4ee5\u64cd\u4f5c\u5927\u4e8e4G\u7684\u955c\u50cf\u3002\u6240\u4ee5\u4e00\u822c\u60c5\u51b5\u4e0b\u4e0d\u5fc5\u518d\u53e6\u5916\u627e\u5de5\u5177\u3002\u5f53\u9009\u7b2c\u4e09\u65b9PE\uff0c\u6216\u7b2c\u4e09\u65b9PE\u5e26\u7684Diskgenus\u4e0d\u80fd\u6ee1\u8db3\u9700\u8981,\u4e0d\u80fd\u6b63\u5e38\u7684\u5907\u4efd\u4e0e\u8fd8\u539f\u955c\u50cf\u65f6,\u9700\u8981\u9009\u75282\u63d0\u4f9b\u7684\u4e13\u4e1a\u7248 ,\u5e76\u5c06\u5176\u590d\u5236\u5230U\u76d8\u4e2d\u3002 Diskgenus\u4e13\u4e1a\u7834\u89e3\u7248.(\u53ef\u9009) \u200b \u70b9\u51fb\u6b64\u5904\u4e0b\u8f7d \u7528winPE\u5f15\u5bfcU\u76d8\uff0c\u5f15\u5bfc\u7cfb\u7edf\uff0c\u8fdb\u5165PE,\u542f\u52a8SiskGenius \u5206\u533a\u52a9\u624b\u7a0b\u5e8f,\u9009\u4e2d\u8981\u64cd\u4f5c\u7684\u78c1\u76d8.\u7136\u540e,\u70b9\u51fb \u83dc\u5355 \u78c1\u76d8","title":"\u5de5\u5177\u7684\u51c6\u5907"},{"location":"install-guide/BackupAndRestore/#_4","text":"\u9009\u62e9\u201c\u4ece\u6620\u50cf\u6062\u590d\u78c1\u76d8\",\u7136\u540e\u9009\u62e9U\u76d8\u4e2d\uff0c\u63d0\u524d\u51c6\u5907\u597d\u7684*.pmfx\u6587\u4ef6,\u7136\u540e\u9009\u62e9\u76ee\u6807\u78c1\u76d8,\u8fd8\u539f\u65b9\u5f0f\u4e3a:\u8fd8\u539f\u6240\u6709\u6247\u533a,\u7136\u540e\u70b9\u51fb\u5f00\u59cb,\u7cfb\u7edf\u5c31\u4f1a\u5f00\u59cb\u8fd8\u539f. \u8fd8\u539f\u5b8c\u6210\u540e,\u5982\u4e0b\u56fe\u6240\u793a: \u7136\u540e,\u79fb\u9664U\u76d8\uff0c\u91cd\u65b0\u542f\u52a8\uff0c\u5373\u53ef\u5b8c\u6210\u5b89\u88c5\uff0c\u5982\u4e0b\u56fe\u6240\u793a","title":"\u4ece\u786c\u76d8\u955c\u50cf\u6062\u590d"},{"location":"install-guide/BackupAndRestore/#_5","text":"\u9009\u62e9\"\u5907\u4efd\u78c1\u78c1\u76d8\u5230\u6620\\\u50cf\u6587\u4ef6\",\u5907\u4efd\u6a21\u5f0f\u4e3a:\u6240\u6709\u6247\u533a,\u9009\u62e9\u955c\u50cf\u6587\u4ef6,\u4e3a\u4e0b\u8f7d\u597d\u5e76\u63d0\u524d\u653e\u5165U\u76d8\u7684\u6269\u5c55\u540d\u4e3apmfx\u7684\u6620\u50cf\u6587\u4ef6,\u7136\u540e\u70b9\u51fb\"\u5f00\u59cb\" \u5927\u7ea6\u534a\u4e2a\u591a\u5c0f\u65f6,\u80fd\u5199\u5165\u5b8c\u6210.\u5982\u4e0b\u56fe\u6240\u793a,\u6620\u50cf\u6587\u4ef6\u5df2\u751f\u6210\u7ea6\u67095G\uff0c\u4fdd\u5b58\u5230\u5408\u9002\u7684\u5730\u65b9\uff0c\u53ef\u4ee5\u7528\u6765\u88c5\u673a\u6216\u8fd8\u539f\u7528\u3002","title":"\u5907\u4efd\u6574\u4e2a\u786c\u76d8"},{"location":"install-guide/LinuxInstall/","text":"\u57fa\u4e8elinux\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf \u00b6 \u8fd9\u79cd\u65b9\u6cd5\u7684\u64cd\u4f5c\u65b9\u6cd5\u662f: \u5148\u4e0b\u8f7d ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf\u684c\u9762\u7248 \uff0c\u4fdd\u5b58\u4e3aubuntu24.04-desktip-amd.iso\u3002 \u5728\u865a\u62df\u673a\u6216\u7269\u7406\u673a\u4e2d\u5b89\u88c5\u6b64ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf.(\u4e34\u65f6\u4f7f\u7528)\u3002 \u8fd9\u4e2a\u8fc7\u7a0b \uff0c\u8bf7\u53c2\u8003\u5176\u5b83\u6559\u7a0b\u3002 \u4f7f\u7528ubuntu24.04\u5236\u4f5clinux\u542f\u52a8U\u76d8ubuntu live\u3002 \u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u628a\u4e0b\u8f7d\u7684ubuntu24.04-desktip-amd.iso\u653e\u5230\u65b0\u5b89\u88c5\u7684Ubuntu\u64cd\u4f5c\u7cfb\u7edf\u4e0b\u6298\u4efb\u610f\u76ee\u5f55,\u5982,\u653e\u5230 \u8fd9\u4e2a\u76ee\u5f55. \u7136\u540e,\u627e\u5230ubuntu\u81ea\u5e26\u7684\u542f\u52a8\u76d8\u5236\u4f5c\u5de5\u5177,\u5982\u56fe\u6240\u793a c\u8fd0\u884c\u542f\u52a8\u76d8\u521b\u5efa\u5668,\u5982\u4e0b \u5148\u62e9\u521a\u521a\u653e\u7f6e\u7684ubuntu24.04-desktip-amd.iso\u4f5c\u4e3a\u6e90\u955c\u50cf,\u7136\u540e\u628a\u8981\u5236\u4f5c\u542f\u52a8\u76d8\u7684U\u76d8\u63d2\u5165USB\u53e3\uff0c\u7136\u540e\uff0c\u9009 \u62e9\u4f5c\u4e3a\u8981\u4f7f\u7528\u7684\u78c1\u76d8\uff0c\u5f53\u7136\u53ef\u4ee5\u63d0\u524d\u63d2\u5165U\u76d8\u3002\u7136\u540e\u70b9\u51fb\u5236\u4f5c\u542f\u52a8\u76d8\u3002 \u5728\u5f39\u51fa\u7684\u786e\u8ba4\u6846\u4e2d\uff0c\u70b9\u51fb\u662f\uff0c \u7136\u540e\u8f93\u51fa\u5f53\u524d\u7684\u7528\u6237\u5bf9\u5e94\u7684\u5bc6\u7801\uff0c\u786e\u8ba4\uff0c \u7cfb\u7edf\u5c06\u4f1a\u81ea\u52a8\u5f00\u542f\u628aubuntu live \u542f\u52a8\u5f15\u5bfc\u76d8\u4fe1\u606f, \u5199\u5165U\u76d8\uff0c \u63d0\u793a\u5b8c\u6210\u65f6\uff0c\u70b9\u9000\u51fa\uff0c\u5f39\u51fa\u5982\u4e0b\u63d0\u793a \uff0c\u8bf4\u660e\u542f\u52a8U\u76d8\u5236\u4f5c\u6210\u529f\u4e86\u3002 \u4f7f\u7528\u542f\u52a8U\u76d8ubuntu live\u5f15\u5bfcx86\u5c0f\u5de5\u63a7\u673a. \u628aU\u76d8\u63d2\u5165\u5165X86\u5c0f\u5de5\u63a7\u673a\u5e76\u786e\u4fdd \u6b63\u786e\u914d\u7f6e\u4e86Bios \u542f\u52a8\u540e,\u6309F11\u5176\u5b83\u4e3b\u673a\u53ef\u80fd\u6709\u6240\u4e0d\u540c(\u53ef\u4ee5\u67e5\u4e3b\u677f\u8bf4\u660e\u4e66,\u6216\u54a8\u8be2\u4e3b\u677f\u5382\u5bb6),\u9009\u62e9\u4ee5U\u76d8\u5f15\u5bfc\u3002 \u516c\u53f8\u7684\u5c0f\u5de5\u63a7\u673a,\u662f\u542f\u52a8\u65f6,\u6309F11\u4e0d\u653e,\u8fdb\u5165\u7cfb\u7edf\u5f15\u5bfc\u83dc\u5355,\u6839\u636eU\u76d8\u7684\u4e0d\u540c,U\u76d8\u5f15\u5bfc\u76d8\u4e2d\u7684\u7cfb\u7edf\u7c7b\u522b\u4e0d\u540c,\u663e\u793a\u7684\u5185\u5bb9\u7565\u6709\u4e0d\u540c,\u5982\u4e0b\u56fe\u6240\u793a \u8fdb\u5165try\u6a21\u5f0f(\u4e0d\u5b89\u88c5). \u5f53\u7cfb\u7edf\u542f\u52a8\u65f6,\u8bf7\u786e\u4fdd\u9009\u62e9\u201cTry or Install Ubuntu\". \u7cfb\u7edf\u542f\u4f1a\u542f\u52a8U\u76d8\u4e2d\u7684Ubuntu live\u7cfb\u7edf, \u5728\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d, \u4f1a\u6709\u51e0\u4e2a\u9009\u9879\u8981\u9009\u62e9\u5982\u4e0b\u56fe\u6240\u793a, \u9009\u62e9\u8bed\u8a00 \u6b64\u5904\u76f4\u63a5\u4e0b\u4e00\u6b65 \u6b64\u5904\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u7f51\u7edc\u8fde\u63a5\u53ef\u4ee5\u9009\u76f4\u63a5\u8fde\u63a5,\u4e5f\u53ef\u4ee5\u9009\u62e9wifi\u5f53\u7136,wifi\u5357\u8981\u914d\u7f6e\u70ed\u70b9. \u540c\u65f6,\u5728\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d,\u8981\u4fdd\u6301\u7f51\u7edc\u7545\u901a( *\u4e00\u5b9a\u8981\u80fd\u6b63\u5e38\u8bbf\u95eeGoogle\u53caHomeAssistant\u5b98\u7f51 ),\u80fd\u6b63\u5e38\u7684\u8bbf\u95ee\u5e76\u4e0b\u8f7dHomeAssistantOS\u7684\u955c\u50cf. \u5728try\u6a21\u5f0f\u4e2d,\u4e0b\u8f7dha\u5b89\u65b9\u955c\u50cf \u8fdb\u5165Ubuntu Live\u7cfb\u7edf\u540e,\u6253\u5f00\u6d4f\u89c8\u5668,\u8bbf\u95eeHomeAssistant\u7684 \u5b98\u65b9\u6587\u6863 , \u8fdb\u5165HomeAssistant\u5b98\u7f51,\u70b9\\\u51fb\u83dc\u5355Installstatiion,\u8fdb\u5165\u5b89\u88c5\u8bf4\u660e \u627e\u5230GenericX86-84,\u5e76\u6253\u5f00\u8fd9\u4e2a\u5728\u9875\u9762 \u627e\u5230\u9875\u9762\u4e2d\u7684\u955c\u50cf\u4e0b\u8f7d\u5730\u5740\u5982\u4e0b\u56fe \u4e0b\u8f7d HomeAssistOs-x86-64\u955c\u50cf \u5f00\u59cb\u4e0b\u8f7d\u540e,\u5982\u4e0b\u56fe\u6240\u793a \u4e0b\u8f7d\u8fc7\u7a0b\u4e2d\u5982\u4e0b\u56fe\u6240\u793a \u4e0b\u8f7d\u5b8c\u6210\u540e \u6587\u4ef6\u4fdd\u5b58\u5728/home/Downloads/hos_Generic-86-64-15.1.img.xz \u4f7f\u7528ubuntu live\u7684\u81ea\u5e26\u7684\u78c1\u76d8\u6062\u590d\u5de5\u5177\u5199\u5165\u955c\u50cf\u5230\u786c\u76d8. \u5728Ubuntu Live\u7684\u7cfb\u7edf\u4e2d,\u627e\u5230\u663e\u793a\u5e94\u7528\u7a0b\u5e8f(\u4e00\u822c\u5728\u5de6\u4e0a\u89d2\u6216\u53f3\u4e0b\u89d2), \u641c\u7d22\u5e76\u627e\u5230Disks\u5e94\u7528\u7a0b\u5e8f,\u5e76\u6253\u5f00Disks\u5e94\u7528\u7a0b\u5e8f. \u5728\u5de6\u4fa7\u5217\u8868\u4e2d\u627e\u5230\u5e76\u9009\u62e9\u4f60\u7684\u76ee\u6807\u78c1\u76d8(\u4e00\u822c\u4e3a\u4f60\u8981\u5b89\u88c5HAOS\u7684\u786c\u76d8) \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u83dc\u5355\u56fe\u6807\uff08\u4e09\u4e2a\u70b9\uff09\uff0c\u9009\u62e9\u201c\u6062\u590d\u78c1\u76d8\u955c\u50cf\u201d \u6d4f\u89c8\u5e76\u9009\u62e9\u4f60\u4e0b\u8f7d\u7684HAOS\u955c\u50cf\u6587\u4ef6\u3002 \u70b9\u51fb,\u5e76\u6d4f\u89c8\u5230\u4e0b\u8f7d\u7684\u6587\u4ef6 hos_Generic-86-64-15.1.img.xz \u786e\u8ba4\u76ee\u6807\u78c1\u76d8\uff0c\u5e76\u5f00\u59cb\u955c\u50cf\u6062\u590d\u8fc7\u7a0b\u3002 \u786e\u8ba4\u6807\u786c\u76d8\u6b63\u786e\u540e,\u7ee7\u7eed \u63d0\u793a\u786e\u8ba4\u65f6\u70b9\u51fb Restore \u63d0\u793a\u6388\u6743\u65f6,\u70b9\u51fb Authenticate \u786e\u5b9a\u540e,\u5c31\u4f1a\u5f00\u59cb\u628a\u955c\u50cf\u6587\u4ef6\u5199\u5165\u786c\u76d8 \u8bf7\u6ce8\u610f,\u8fd9\u4e2a\u8fc7\u7a0b\u4e00\u5c06\u4f1a,\u6e05\u9664\u786c\u76d8\u4e0a\u539f\u6709\u7684\u6570\u636e,\u8bf7\u786e\u4fdd\u5df2\u5907\u4efd\u91cd\u8981\u6570\u636e. \u5199\u5165\u5b8c\u6210\u540e,\u5982\u4e0b\u56fe\u6240\u793a \u6b64\u65f6,\u5c31\u5df2\u7ecf\u6210\u529f\u7684\u628aHA\u955c\u50cf\u5199\u5165\u5230\u786c\u548c\u808b\u4e2d\u4e86 \u79fb\u9664U\u76d8 \u4e00\u65e6Home Assistant\u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\u5b8c\u6210\uff0c\u5173\u95ed\u7cfb\u7edf\u3002 \u5f53Ubuntu\u5173\u95ed\u540e\uff0c\u79fb\u9664USB\u95ea\u5b58\u9a71\u52a8\u5668\uff08Ubuntu\u4f1a\u901a\u77e5\u60a8\u53ef\u4ee5\u5b89\u5168\u79fb\u9664\uff09\u3002 \u91cd\u542f\u7cfb\u7edf. \u73b0\u5728\uff0c\u60a8\u7684Home Assistant\u670d\u52a1\u5668\u5df2\u7ecf\u8bbe\u7f6e\u5b8c\u6bd5\uff0c\u60a8\u53ef\u4ee5\u5f00\u59cb\u4f7f\u7528\u5b83\u3002 \u8fdb\u5165HA cli\u754c\u9762 \u7cfb\u7edf\u542f\u52a8\u6210\u529f\u540e\uff0c\u5982\u4e0b\u56fe\u6240\u793a \u901a\u8fc7\u6d4f\u89c8\u5668,\u8f93\u5165\u63a7\u5236\u53f0\u63d0\u793a\u7684IP\u52a0\u7aef\u53e3 http://192.168.3:8123 \u5373\u53ef\u8fdb\u5165\u56fe\u578b\u5316\u754c\u9762,\u5982\u4e0b","title":"\u57fa\u4e8elinux\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf"},{"location":"install-guide/LinuxInstall/#linux","text":"\u8fd9\u79cd\u65b9\u6cd5\u7684\u64cd\u4f5c\u65b9\u6cd5\u662f: \u5148\u4e0b\u8f7d ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf\u684c\u9762\u7248 \uff0c\u4fdd\u5b58\u4e3aubuntu24.04-desktip-amd.iso\u3002 \u5728\u865a\u62df\u673a\u6216\u7269\u7406\u673a\u4e2d\u5b89\u88c5\u6b64ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf.(\u4e34\u65f6\u4f7f\u7528)\u3002 \u8fd9\u4e2a\u8fc7\u7a0b \uff0c\u8bf7\u53c2\u8003\u5176\u5b83\u6559\u7a0b\u3002 \u4f7f\u7528ubuntu24.04\u5236\u4f5clinux\u542f\u52a8U\u76d8ubuntu live\u3002 \u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u628a\u4e0b\u8f7d\u7684ubuntu24.04-desktip-amd.iso\u653e\u5230\u65b0\u5b89\u88c5\u7684Ubuntu\u64cd\u4f5c\u7cfb\u7edf\u4e0b\u6298\u4efb\u610f\u76ee\u5f55,\u5982,\u653e\u5230 \u8fd9\u4e2a\u76ee\u5f55. \u7136\u540e,\u627e\u5230ubuntu\u81ea\u5e26\u7684\u542f\u52a8\u76d8\u5236\u4f5c\u5de5\u5177,\u5982\u56fe\u6240\u793a c\u8fd0\u884c\u542f\u52a8\u76d8\u521b\u5efa\u5668,\u5982\u4e0b \u5148\u62e9\u521a\u521a\u653e\u7f6e\u7684ubuntu24.04-desktip-amd.iso\u4f5c\u4e3a\u6e90\u955c\u50cf,\u7136\u540e\u628a\u8981\u5236\u4f5c\u542f\u52a8\u76d8\u7684U\u76d8\u63d2\u5165USB\u53e3\uff0c\u7136\u540e\uff0c\u9009 \u62e9\u4f5c\u4e3a\u8981\u4f7f\u7528\u7684\u78c1\u76d8\uff0c\u5f53\u7136\u53ef\u4ee5\u63d0\u524d\u63d2\u5165U\u76d8\u3002\u7136\u540e\u70b9\u51fb\u5236\u4f5c\u542f\u52a8\u76d8\u3002 \u5728\u5f39\u51fa\u7684\u786e\u8ba4\u6846\u4e2d\uff0c\u70b9\u51fb\u662f\uff0c \u7136\u540e\u8f93\u51fa\u5f53\u524d\u7684\u7528\u6237\u5bf9\u5e94\u7684\u5bc6\u7801\uff0c\u786e\u8ba4\uff0c \u7cfb\u7edf\u5c06\u4f1a\u81ea\u52a8\u5f00\u542f\u628aubuntu live \u542f\u52a8\u5f15\u5bfc\u76d8\u4fe1\u606f, \u5199\u5165U\u76d8\uff0c \u63d0\u793a\u5b8c\u6210\u65f6\uff0c\u70b9\u9000\u51fa\uff0c\u5f39\u51fa\u5982\u4e0b\u63d0\u793a \uff0c\u8bf4\u660e\u542f\u52a8U\u76d8\u5236\u4f5c\u6210\u529f\u4e86\u3002 \u4f7f\u7528\u542f\u52a8U\u76d8ubuntu live\u5f15\u5bfcx86\u5c0f\u5de5\u63a7\u673a. \u628aU\u76d8\u63d2\u5165\u5165X86\u5c0f\u5de5\u63a7\u673a\u5e76\u786e\u4fdd \u6b63\u786e\u914d\u7f6e\u4e86Bios \u542f\u52a8\u540e,\u6309F11\u5176\u5b83\u4e3b\u673a\u53ef\u80fd\u6709\u6240\u4e0d\u540c(\u53ef\u4ee5\u67e5\u4e3b\u677f\u8bf4\u660e\u4e66,\u6216\u54a8\u8be2\u4e3b\u677f\u5382\u5bb6),\u9009\u62e9\u4ee5U\u76d8\u5f15\u5bfc\u3002 \u516c\u53f8\u7684\u5c0f\u5de5\u63a7\u673a,\u662f\u542f\u52a8\u65f6,\u6309F11\u4e0d\u653e,\u8fdb\u5165\u7cfb\u7edf\u5f15\u5bfc\u83dc\u5355,\u6839\u636eU\u76d8\u7684\u4e0d\u540c,U\u76d8\u5f15\u5bfc\u76d8\u4e2d\u7684\u7cfb\u7edf\u7c7b\u522b\u4e0d\u540c,\u663e\u793a\u7684\u5185\u5bb9\u7565\u6709\u4e0d\u540c,\u5982\u4e0b\u56fe\u6240\u793a \u8fdb\u5165try\u6a21\u5f0f(\u4e0d\u5b89\u88c5). \u5f53\u7cfb\u7edf\u542f\u52a8\u65f6,\u8bf7\u786e\u4fdd\u9009\u62e9\u201cTry or Install Ubuntu\". \u7cfb\u7edf\u542f\u4f1a\u542f\u52a8U\u76d8\u4e2d\u7684Ubuntu live\u7cfb\u7edf, \u5728\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d, \u4f1a\u6709\u51e0\u4e2a\u9009\u9879\u8981\u9009\u62e9\u5982\u4e0b\u56fe\u6240\u793a, \u9009\u62e9\u8bed\u8a00 \u6b64\u5904\u76f4\u63a5\u4e0b\u4e00\u6b65 \u6b64\u5904\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u7f51\u7edc\u8fde\u63a5\u53ef\u4ee5\u9009\u76f4\u63a5\u8fde\u63a5,\u4e5f\u53ef\u4ee5\u9009\u62e9wifi\u5f53\u7136,wifi\u5357\u8981\u914d\u7f6e\u70ed\u70b9. \u540c\u65f6,\u5728\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d,\u8981\u4fdd\u6301\u7f51\u7edc\u7545\u901a( *\u4e00\u5b9a\u8981\u80fd\u6b63\u5e38\u8bbf\u95eeGoogle\u53caHomeAssistant\u5b98\u7f51 ),\u80fd\u6b63\u5e38\u7684\u8bbf\u95ee\u5e76\u4e0b\u8f7dHomeAssistantOS\u7684\u955c\u50cf. \u5728try\u6a21\u5f0f\u4e2d,\u4e0b\u8f7dha\u5b89\u65b9\u955c\u50cf \u8fdb\u5165Ubuntu Live\u7cfb\u7edf\u540e,\u6253\u5f00\u6d4f\u89c8\u5668,\u8bbf\u95eeHomeAssistant\u7684 \u5b98\u65b9\u6587\u6863 , \u8fdb\u5165HomeAssistant\u5b98\u7f51,\u70b9\\\u51fb\u83dc\u5355Installstatiion,\u8fdb\u5165\u5b89\u88c5\u8bf4\u660e \u627e\u5230GenericX86-84,\u5e76\u6253\u5f00\u8fd9\u4e2a\u5728\u9875\u9762 \u627e\u5230\u9875\u9762\u4e2d\u7684\u955c\u50cf\u4e0b\u8f7d\u5730\u5740\u5982\u4e0b\u56fe \u4e0b\u8f7d HomeAssistOs-x86-64\u955c\u50cf \u5f00\u59cb\u4e0b\u8f7d\u540e,\u5982\u4e0b\u56fe\u6240\u793a \u4e0b\u8f7d\u8fc7\u7a0b\u4e2d\u5982\u4e0b\u56fe\u6240\u793a \u4e0b\u8f7d\u5b8c\u6210\u540e \u6587\u4ef6\u4fdd\u5b58\u5728/home/Downloads/hos_Generic-86-64-15.1.img.xz \u4f7f\u7528ubuntu live\u7684\u81ea\u5e26\u7684\u78c1\u76d8\u6062\u590d\u5de5\u5177\u5199\u5165\u955c\u50cf\u5230\u786c\u76d8. \u5728Ubuntu Live\u7684\u7cfb\u7edf\u4e2d,\u627e\u5230\u663e\u793a\u5e94\u7528\u7a0b\u5e8f(\u4e00\u822c\u5728\u5de6\u4e0a\u89d2\u6216\u53f3\u4e0b\u89d2), \u641c\u7d22\u5e76\u627e\u5230Disks\u5e94\u7528\u7a0b\u5e8f,\u5e76\u6253\u5f00Disks\u5e94\u7528\u7a0b\u5e8f. \u5728\u5de6\u4fa7\u5217\u8868\u4e2d\u627e\u5230\u5e76\u9009\u62e9\u4f60\u7684\u76ee\u6807\u78c1\u76d8(\u4e00\u822c\u4e3a\u4f60\u8981\u5b89\u88c5HAOS\u7684\u786c\u76d8) \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u83dc\u5355\u56fe\u6807\uff08\u4e09\u4e2a\u70b9\uff09\uff0c\u9009\u62e9\u201c\u6062\u590d\u78c1\u76d8\u955c\u50cf\u201d \u6d4f\u89c8\u5e76\u9009\u62e9\u4f60\u4e0b\u8f7d\u7684HAOS\u955c\u50cf\u6587\u4ef6\u3002 \u70b9\u51fb,\u5e76\u6d4f\u89c8\u5230\u4e0b\u8f7d\u7684\u6587\u4ef6 hos_Generic-86-64-15.1.img.xz \u786e\u8ba4\u76ee\u6807\u78c1\u76d8\uff0c\u5e76\u5f00\u59cb\u955c\u50cf\u6062\u590d\u8fc7\u7a0b\u3002 \u786e\u8ba4\u6807\u786c\u76d8\u6b63\u786e\u540e,\u7ee7\u7eed \u63d0\u793a\u786e\u8ba4\u65f6\u70b9\u51fb Restore \u63d0\u793a\u6388\u6743\u65f6,\u70b9\u51fb Authenticate \u786e\u5b9a\u540e,\u5c31\u4f1a\u5f00\u59cb\u628a\u955c\u50cf\u6587\u4ef6\u5199\u5165\u786c\u76d8 \u8bf7\u6ce8\u610f,\u8fd9\u4e2a\u8fc7\u7a0b\u4e00\u5c06\u4f1a,\u6e05\u9664\u786c\u76d8\u4e0a\u539f\u6709\u7684\u6570\u636e,\u8bf7\u786e\u4fdd\u5df2\u5907\u4efd\u91cd\u8981\u6570\u636e. \u5199\u5165\u5b8c\u6210\u540e,\u5982\u4e0b\u56fe\u6240\u793a \u6b64\u65f6,\u5c31\u5df2\u7ecf\u6210\u529f\u7684\u628aHA\u955c\u50cf\u5199\u5165\u5230\u786c\u548c\u808b\u4e2d\u4e86 \u79fb\u9664U\u76d8 \u4e00\u65e6Home Assistant\u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\u5b8c\u6210\uff0c\u5173\u95ed\u7cfb\u7edf\u3002 \u5f53Ubuntu\u5173\u95ed\u540e\uff0c\u79fb\u9664USB\u95ea\u5b58\u9a71\u52a8\u5668\uff08Ubuntu\u4f1a\u901a\u77e5\u60a8\u53ef\u4ee5\u5b89\u5168\u79fb\u9664\uff09\u3002 \u91cd\u542f\u7cfb\u7edf. \u73b0\u5728\uff0c\u60a8\u7684Home Assistant\u670d\u52a1\u5668\u5df2\u7ecf\u8bbe\u7f6e\u5b8c\u6bd5\uff0c\u60a8\u53ef\u4ee5\u5f00\u59cb\u4f7f\u7528\u5b83\u3002 \u8fdb\u5165HA cli\u754c\u9762 \u7cfb\u7edf\u542f\u52a8\u6210\u529f\u540e\uff0c\u5982\u4e0b\u56fe\u6240\u793a \u901a\u8fc7\u6d4f\u89c8\u5668,\u8f93\u5165\u63a7\u5236\u53f0\u63d0\u793a\u7684IP\u52a0\u7aef\u53e3 http://192.168.3:8123 \u5373\u53ef\u8fdb\u5165\u56fe\u578b\u5316\u754c\u9762,\u5982\u4e0b","title":"\u57fa\u4e8elinux\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf"},{"location":"install-guide/WinPeInstall/","text":"Windows PE \u4e0b\u5199\u5165 HA \u955c\u50cf \u00b6 windows Pe\u4e0b\u5199\u5165\u786c\u76d8\u955c\u50cf\u7684\u4e3b\u8981\u601d\u8def\u662f\u4f7f\u7528Roadkilnet\u5f00\u53d1\u7684Rodakill's Disk Image\u5de5\u5177\u628aHA\u7684\u955c\u50cf\u5199\u5165\u786c\u76d8. \u4e0b\u8f7dDisk Image \u00b6 DiskImage\u7684\u5b98\u65b9\u4e0b\u8f7d\u5730\u5740\u4e3a ) https://roadkil.net/program.php?ProgramID=12&Action=NewOSID&DownloadVersion=12&Installer=NO \u8fdb\u5165\u7f51\u7ad9\u7684\u4e0b\u8f7d\u9875\u9762,\u5982\u4e0b,\u9009\u62e9windows8 10 or 11\u548cStand Alone Version\u7248\u672c,\u7136\u540e\u70b9\u51fb\u4e0b\u8f7d \u4e0b\u8f7d\u5b8c\u6210\u540e,\u5f97\u5230\u5982\u4e0bDiskImage_1_6_WinAll .exe\u6587\u4ef6 ,\u4fdd\u5b58\u597d,\u540e\u9762\u9700\u8981\u4fdd\u5b58\u4e48U\u76d8\u3002 \u5236\u4f5cWindowsPE\u5f15\u5bfcU\u76d8 \u00b6 windows\u7684PE\u5236\u4f5c\u5de5\u5177\u6709\u5f88\u591a\uff0c\u6bd4\u5982\u8001\u6bdb\u6843,\u5927\u767d\u83dc,\u7b49,\u4f46\u8fd9\u4e9b\u5927\u591a\u4f1a\u6709\u503c\u5165\u5e7f\u544a\u7b49,\u7528\u4e8e\u5b89\u88c5windows\u7cfb\u7edf\u4f1a\u6709\u8bb8\u591a\u5783\u573e\u8f6f\u4ef6,\u8fd9\u91cc\u63a8\u8350\u4f7f\u7528\" \u5faePE\u5de5\u5177\u7bb1 \",\u4e0b\u8f7d\u5b89\u88c5\u7a0b\u5e8f\u5982\u4e0b: \u8fd0\u884cWePev2.3.exe \u70b9\u51fb\u53f3\u4e0b\u89d2\u7684\u5b89\u88c5\u5230U\u76d8\u56fe\u6807 \u9009\u62e9\u6b63\u786e\u7684\u4ea7\uff0c\u5e76\u914d\u597d\u5377\u6807\uff0c\u70b9\u51fb\u7acb\u5373\u5b89\u88c5\u5230U\u76d8\uff0c \u63d0\u793a\u5f00\u59cb\u5236\u4f5cU\u76d8 \u7a0d\u7b49\u7247\u523b \u7cfb\u7edf\u63d0\u793a\u5236\u4f5c\u5b8c\u6210 \u4e0b\u8f7d\u5e76\u89e3\u538bHAOS\u955c\u50cf\u5230U\u76d8 \u00b6 \u70b9\u51fb\u8bbf\u95ee Ha-os-GenerricX86-64\u9875\u9762 ,\u627e\u5230\u4e0b\u955c\u50cf\u7684\u4e0b\u8f7d\u94fe\u63a5 \u4e5f\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u5982\u4e0b\u94fe\u63a5 \u4e0b\u8f7d,\u4f46\u5c3d\u91cf\u8fd8\u662f\u6309\u4e0a\u8ff0\u65b9\u6cd5\u4e0b\u8f7d,\u4fdd\u8bc1\u6bcf\u6b21\u4e0b\u8f7d\u7684\u90fd\u662f\u5b98\u7f51\u6700\u65b0\u7684\u7248\u672c. \u4e0b\u8f7d\u5b8c\u6210\u540e\u5982\u4e0b \u89e3\u538b\u8fd9\u4e2a\u6587\u4ef6 \u5f97\u5230haos_generic-x86-64-15.1.img,\u628a\u8fd9\u4e2a\u6587\u4ef6\u590d\u5236\u5230U\u76d8\u4e2d\u4efb\u610f\u76ee\u5f55 \u6bd4\u5982\uff0c\u6211\u653e\u5230\u4e86\u5982\u4e0b\u76ee\u5f55 \u628a\u4e4b\u524d\u4e0b\u8f7d\u597d\u7684Disk Image\u653e\u5165U\u76d8 \u00b6 \u81f3\u6b64WINpe\u5f15\u5bfcU\u76d8\u5c31\u5236\u4f5c\u597d\u4e86\u3002 \u7528\u6b64U\u76d8\u5f15\u5bfc\u5c0f\u5de5\u63a7\u673a\uff0c\u6ce8\u610f\u610f\u8981\u6b63\u786e\u7684\u914d\u7f6eBIOS\uff0c\u53ca\u8981\u7528\u6b63\u786e\u7684\u6539\u53d8\u542f\u52a8\u987a\u5e8f\u7684\u65b9\u6cd5\u5982F11\u5e38\u6309, \u5f15\u5bfc\u6210\u529f\u767d\u5e26 ,\u76f4\u5165PE\u542f\u52a8\u754c\u9762\uff0c\u9009 \u7b2c\u4e00\u9879\u9ed8\u8ba4\uff0c\u7ee7\u7eed \u7a0d\u5019\u4f1a\u8fdb\u5165PE\u7cfb\u7edf \u627e\u5230\u5e76\u542f\u52a8diskImage\u5199\u76d8\u5de5\u5177 \u70b9YES\u7ee7\u7eed \u9009 \u62e9\u4e0b\u8f7d\u597d\u7684HAOS\u7684\u5b89\u88c5\u955c\u50cfimg\u6587\u4ef6 \u63d0\u793a\u6570\u636e\u6709\u4e22\u5931\u98ce\u9669\u65f6,\u70b9\u662f \u6ce8\u610f\u5728\u5199\u5165\u4e4b\u524d,\u4e00\u5b9a\u8981\u786e\u8ba4\u662f\u786c\u76d8\u800c\u975eU\u76d8\uff0c\u4e00\u822c\u4e3aphysical disk 0 \u5199\u5165\u5b8c\u6210\u540e\u4f1a\u63d0\u793a\u5199\u5165\u6210\u529f \u91cd\u65b0\u542f\u52a8\u8fdb\u5165HA cli\u754c\u9762 \u00b6 \u7cfb\u7edf\u542f\u52a8\u6210\u529f\u540e\uff0c\u5982\u4e0b\u56fe\u6240\u793a \u901a\u8fc7\u6d4f\u89c8\u5668,\u8f93\u5165\u63a7\u5236\u53f0\u63d0\u793a\u7684IP\u52a0\u7aef\u53e3 http://192.168.3:8123 \u5373\u53ef\u8fdb\u5165\u56fe\u578b\u5316\u754c\u9762,\u5982\u4e0b","title":"Windows PE \u4e0b\u5199\u5165 HA \u955c\u50cf"},{"location":"install-guide/WinPeInstall/#windows-pe-ha","text":"windows Pe\u4e0b\u5199\u5165\u786c\u76d8\u955c\u50cf\u7684\u4e3b\u8981\u601d\u8def\u662f\u4f7f\u7528Roadkilnet\u5f00\u53d1\u7684Rodakill's Disk Image\u5de5\u5177\u628aHA\u7684\u955c\u50cf\u5199\u5165\u786c\u76d8.","title":"Windows PE \u4e0b\u5199\u5165 HA \u955c\u50cf"},{"location":"install-guide/WinPeInstall/#disk-image","text":"DiskImage\u7684\u5b98\u65b9\u4e0b\u8f7d\u5730\u5740\u4e3a ) https://roadkil.net/program.php?ProgramID=12&Action=NewOSID&DownloadVersion=12&Installer=NO \u8fdb\u5165\u7f51\u7ad9\u7684\u4e0b\u8f7d\u9875\u9762,\u5982\u4e0b,\u9009\u62e9windows8 10 or 11\u548cStand Alone Version\u7248\u672c,\u7136\u540e\u70b9\u51fb\u4e0b\u8f7d \u4e0b\u8f7d\u5b8c\u6210\u540e,\u5f97\u5230\u5982\u4e0bDiskImage_1_6_WinAll .exe\u6587\u4ef6 ,\u4fdd\u5b58\u597d,\u540e\u9762\u9700\u8981\u4fdd\u5b58\u4e48U\u76d8\u3002","title":"\u4e0b\u8f7dDisk Image"},{"location":"install-guide/WinPeInstall/#windowspeu","text":"windows\u7684PE\u5236\u4f5c\u5de5\u5177\u6709\u5f88\u591a\uff0c\u6bd4\u5982\u8001\u6bdb\u6843,\u5927\u767d\u83dc,\u7b49,\u4f46\u8fd9\u4e9b\u5927\u591a\u4f1a\u6709\u503c\u5165\u5e7f\u544a\u7b49,\u7528\u4e8e\u5b89\u88c5windows\u7cfb\u7edf\u4f1a\u6709\u8bb8\u591a\u5783\u573e\u8f6f\u4ef6,\u8fd9\u91cc\u63a8\u8350\u4f7f\u7528\" \u5faePE\u5de5\u5177\u7bb1 \",\u4e0b\u8f7d\u5b89\u88c5\u7a0b\u5e8f\u5982\u4e0b: \u8fd0\u884cWePev2.3.exe \u70b9\u51fb\u53f3\u4e0b\u89d2\u7684\u5b89\u88c5\u5230U\u76d8\u56fe\u6807 \u9009\u62e9\u6b63\u786e\u7684\u4ea7\uff0c\u5e76\u914d\u597d\u5377\u6807\uff0c\u70b9\u51fb\u7acb\u5373\u5b89\u88c5\u5230U\u76d8\uff0c \u63d0\u793a\u5f00\u59cb\u5236\u4f5cU\u76d8 \u7a0d\u7b49\u7247\u523b \u7cfb\u7edf\u63d0\u793a\u5236\u4f5c\u5b8c\u6210","title":"\u5236\u4f5cWindowsPE\u5f15\u5bfcU\u76d8"},{"location":"install-guide/WinPeInstall/#haosu","text":"\u70b9\u51fb\u8bbf\u95ee Ha-os-GenerricX86-64\u9875\u9762 ,\u627e\u5230\u4e0b\u955c\u50cf\u7684\u4e0b\u8f7d\u94fe\u63a5 \u4e5f\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u5982\u4e0b\u94fe\u63a5 \u4e0b\u8f7d,\u4f46\u5c3d\u91cf\u8fd8\u662f\u6309\u4e0a\u8ff0\u65b9\u6cd5\u4e0b\u8f7d,\u4fdd\u8bc1\u6bcf\u6b21\u4e0b\u8f7d\u7684\u90fd\u662f\u5b98\u7f51\u6700\u65b0\u7684\u7248\u672c. \u4e0b\u8f7d\u5b8c\u6210\u540e\u5982\u4e0b \u89e3\u538b\u8fd9\u4e2a\u6587\u4ef6 \u5f97\u5230haos_generic-x86-64-15.1.img,\u628a\u8fd9\u4e2a\u6587\u4ef6\u590d\u5236\u5230U\u76d8\u4e2d\u4efb\u610f\u76ee\u5f55 \u6bd4\u5982\uff0c\u6211\u653e\u5230\u4e86\u5982\u4e0b\u76ee\u5f55","title":"\u4e0b\u8f7d\u5e76\u89e3\u538bHAOS\u955c\u50cf\u5230U\u76d8"},{"location":"install-guide/WinPeInstall/#disk-imageu","text":"\u81f3\u6b64WINpe\u5f15\u5bfcU\u76d8\u5c31\u5236\u4f5c\u597d\u4e86\u3002 \u7528\u6b64U\u76d8\u5f15\u5bfc\u5c0f\u5de5\u63a7\u673a\uff0c\u6ce8\u610f\u610f\u8981\u6b63\u786e\u7684\u914d\u7f6eBIOS\uff0c\u53ca\u8981\u7528\u6b63\u786e\u7684\u6539\u53d8\u542f\u52a8\u987a\u5e8f\u7684\u65b9\u6cd5\u5982F11\u5e38\u6309, \u5f15\u5bfc\u6210\u529f\u767d\u5e26 ,\u76f4\u5165PE\u542f\u52a8\u754c\u9762\uff0c\u9009 \u7b2c\u4e00\u9879\u9ed8\u8ba4\uff0c\u7ee7\u7eed \u7a0d\u5019\u4f1a\u8fdb\u5165PE\u7cfb\u7edf \u627e\u5230\u5e76\u542f\u52a8diskImage\u5199\u76d8\u5de5\u5177 \u70b9YES\u7ee7\u7eed \u9009 \u62e9\u4e0b\u8f7d\u597d\u7684HAOS\u7684\u5b89\u88c5\u955c\u50cfimg\u6587\u4ef6 \u63d0\u793a\u6570\u636e\u6709\u4e22\u5931\u98ce\u9669\u65f6,\u70b9\u662f \u6ce8\u610f\u5728\u5199\u5165\u4e4b\u524d,\u4e00\u5b9a\u8981\u786e\u8ba4\u662f\u786c\u76d8\u800c\u975eU\u76d8\uff0c\u4e00\u822c\u4e3aphysical disk 0 \u5199\u5165\u5b8c\u6210\u540e\u4f1a\u63d0\u793a\u5199\u5165\u6210\u529f","title":"\u628a\u4e4b\u524d\u4e0b\u8f7d\u597d\u7684Disk Image\u653e\u5165U\u76d8"},{"location":"install-guide/WinPeInstall/#ha-cli","text":"\u7cfb\u7edf\u542f\u52a8\u6210\u529f\u540e\uff0c\u5982\u4e0b\u56fe\u6240\u793a \u901a\u8fc7\u6d4f\u89c8\u5668,\u8f93\u5165\u63a7\u5236\u53f0\u63d0\u793a\u7684IP\u52a0\u7aef\u53e3 http://192.168.3:8123 \u5373\u53ef\u8fdb\u5165\u56fe\u578b\u5316\u754c\u9762,\u5982\u4e0b","title":"\u91cd\u65b0\u542f\u52a8\u8fdb\u5165HA cli\u754c\u9762"},{"location":"install-guide/configX86Bios/","text":"\u901a\u7528\u8bbe\u7f6e \u00b6 \u8981\u542f\u52a8Home Assistant\u64cd\u4f5c\u7cfb\u7edf\uff0cBIOS\u9700\u8981\u542f\u7528UEFI\u542f\u52a8\u6a21\u5f0f\u5e76\u7981\u7528\u5b89\u5168\u542f\u52a8\u3002 \u4ee5\u4e0b\u622a\u56fe\u6765\u81ea\u7b2c\u4e03\u4ee3\u82f1\u7279\u5c14NUC\u7cfb\u7edf\u3002\u60a8\u7684\u7cfb\u7edf\u4e0a\u7684BIOS\u83dc\u5355\u53ef\u80fd\u770b\u8d77\u6765\u4e0d\u540c\uff0c\u4f46\u9009\u9879\u5e94\u8be5\u4ecd\u7136\u5b58\u5728\u5e76\u5177\u6709\u7c7b\u4f3c\u7684\u540d\u79f0\u3002 \u8981\u8fdb\u5165BIOS\uff0c\u8bf7\u542f\u52a8\u60a8\u7684x86-64\u786c\u4ef6\u5e76\u53cd\u590d\u6309\u4e0bF2\u952e\uff08\u5728\u67d0\u4e9b\u7cfb\u7edf\u4e0a\uff0c\u8fd9\u53ef\u80fd\u662fDel\u3001F1\u6216F10\u952e\uff09\u3002 \u786e\u4fdd\u542f\u7528\u4e86UEFI\u542f\u52a8\u6a21\u5f0f\u3002 \u7981\u7528\u5b89\u5168\u542f\u52a8\u3002 \u4fdd\u5b58\u66f4\u6539\u5e76\u9000\u51fa\u3002 BIOS\u914d\u7f6e\u73b0\u5df2\u5b8c\u6210\u3002 \u516c\u53f8\u5c0f\u5de5\u63a7\u673a(1900)\u914d\u7f6e \u00b6 \u516c\u53f8\u7684\u5c0f\u5de5\u63a7\u673a\u8fdb\u5165Bios\u7684\u65b9\u5f0f,\u662f\u5f00\u673a\u65f6,\u6309DEL\u952e,\u8fdb\u5165\u5982\u4e0b\u754c\u9762 \u8fdb\u5165Bios\u540e,\u8981\u8c03OS Selection,\u9ed8\u8ba4\u4e3awindows7\u9700\u8981\u8c03\u6574\u4e3aLinux\u5982\u4e0b\u56fe \u7136\u540e\u4fdd\u5b58,\u9000\u51fa \u63d0\u793a\u4fdd\u5b58\u65f6,\u9009\u62e9YES","title":"configX86Bios"},{"location":"install-guide/configX86Bios/#_1","text":"\u8981\u542f\u52a8Home Assistant\u64cd\u4f5c\u7cfb\u7edf\uff0cBIOS\u9700\u8981\u542f\u7528UEFI\u542f\u52a8\u6a21\u5f0f\u5e76\u7981\u7528\u5b89\u5168\u542f\u52a8\u3002 \u4ee5\u4e0b\u622a\u56fe\u6765\u81ea\u7b2c\u4e03\u4ee3\u82f1\u7279\u5c14NUC\u7cfb\u7edf\u3002\u60a8\u7684\u7cfb\u7edf\u4e0a\u7684BIOS\u83dc\u5355\u53ef\u80fd\u770b\u8d77\u6765\u4e0d\u540c\uff0c\u4f46\u9009\u9879\u5e94\u8be5\u4ecd\u7136\u5b58\u5728\u5e76\u5177\u6709\u7c7b\u4f3c\u7684\u540d\u79f0\u3002 \u8981\u8fdb\u5165BIOS\uff0c\u8bf7\u542f\u52a8\u60a8\u7684x86-64\u786c\u4ef6\u5e76\u53cd\u590d\u6309\u4e0bF2\u952e\uff08\u5728\u67d0\u4e9b\u7cfb\u7edf\u4e0a\uff0c\u8fd9\u53ef\u80fd\u662fDel\u3001F1\u6216F10\u952e\uff09\u3002 \u786e\u4fdd\u542f\u7528\u4e86UEFI\u542f\u52a8\u6a21\u5f0f\u3002 \u7981\u7528\u5b89\u5168\u542f\u52a8\u3002 \u4fdd\u5b58\u66f4\u6539\u5e76\u9000\u51fa\u3002 BIOS\u914d\u7f6e\u73b0\u5df2\u5b8c\u6210\u3002","title":"\u901a\u7528\u8bbe\u7f6e"},{"location":"install-guide/configX86Bios/#1900","text":"\u516c\u53f8\u7684\u5c0f\u5de5\u63a7\u673a\u8fdb\u5165Bios\u7684\u65b9\u5f0f,\u662f\u5f00\u673a\u65f6,\u6309DEL\u952e,\u8fdb\u5165\u5982\u4e0b\u754c\u9762 \u8fdb\u5165Bios\u540e,\u8981\u8c03OS Selection,\u9ed8\u8ba4\u4e3awindows7\u9700\u8981\u8c03\u6574\u4e3aLinux\u5982\u4e0b\u56fe \u7136\u540e\u4fdd\u5b58,\u9000\u51fa \u63d0\u793a\u4fdd\u5b58\u65f6,\u9009\u62e9YES","title":"\u516c\u53f8\u5c0f\u5de5\u63a7\u673a(1900)\u914d\u7f6e"},{"location":"install-guide/installHa/","text":"\u5b89\u88c5HomeAssistant \u00b6 HomeAssistant\u7684\u5b89\u88c5\u6709\u591a\u79cd\u65b9\u5f0f\u4e0e\u65b9\u6cd5,\u6700\u5e38\u7528\u6298\u6709\u786c\u5907\u76f4\u63a5\u5b89\u88c5,docker\u5b89\u88c5\u865a\u62df\u673a\u5b89\u88c5\u7b49. \u4e0b\u9762\u6211\u4eec\u5c31\u4ee5\u786c\u76d8\u5b89\u88c5HAOS\u4e3a\u4f8b\u4ecb\u7ecd\u57fa\u4e8ex86\u786c\u4ef6\u7684\u57fa\u7840\u4e0a\u5b89\u88c5HAOS,\u57fa\u5b83\u7684\u5b89\u88c5\u65b9\u5f0f,\u540e\u7eed\u4f1a\u4ecb\u7ecd. BIOS\u914d\u7f6e \u00b6 \u91cd\u8981\u63d0\u9192 \u5728\u5b89\u88c5HAOS\u4e4b\u524d\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684BIOS\u8bbe\u7f6e\u6b63\u786e\u3002\u4ee5\u4e0b\u662f\u4e00\u4e9b\u5efa\u8bae\u7684BIOS\u914d\u7f6e\uff1a \u542f\u7528\u865a\u62df\u5316\u6280\u672f\uff08VT-x\u6216AMD-V\uff09\u3002 \u7981\u7528\u5b89\u5168\u542f\u52a8\uff08Secure Boot\uff09\u3002 \u8bbe\u7f6e\u542f\u52a8\u987a\u5e8f\uff0c\u4ee5\u4fbf\u4eceUSB\u6216\u5149\u76d8\u542f\u52a8\u3002 \u8bf7\u5728\u5b89\u88c5\u4e4b\u524d\u52a1\u5fc5\u68c0\u67e5\u8fd9\u4e9b BIOS\u8bbe\u7f6e \u3002 \u516c\u53f8\u7684\u5c0f\u4e3b\u673a\u8fd9\u4e00 BIOS\u8bbe\u7f6e\u89c6\u9891\u6f14\u793a HAOS\u5b89\u88c5 \u00b6 \u5b89\u88c5\u5728X86PC\u786c\u76d8\u4e0a \u00b6 haos\u8981\u5b89\u88c5\u5728\u786c\u76d8\u4e0a,\u603b\u4f53\u601d\u8def\u662f,\u5148\u5230HA\u7684\u5b98\u7f51\u4e0b\u8f7dhaos\u7684\u5b98\u65b9\u955c\u50cf\u6587\u4ef6 ,\u4e00\u822c\u4e3a.gz\u6216.gz.xz\u7b49\u683c\u5f0f,\u7136\u540e\u518d\u7528\u5199\u76d8\u5de5\u5177,\u76f4\u63a5\u628a\u8fd9\u4e2a\u955c\u50cf\u5199\u5165\u786c\u76d8. \u5c06\u955c\u50cf\u6587\u4ef6\u5199\u5165\u786c\u76d8\u4e0a\u7ea6\u6709\u4e24\u79cd\u65b9\u6cd5: \u5728linux\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u5199\u5165\u955c\u50cf \u5728windows\u5e73\u53f0\u4e0a\u5199\u5165\u955c\u50cf \u57fa\u4e8elinux\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf \u00b6 \u8fd9\u79cd\u65b9\u6cd5\u7684\u64cd\u4f5c\u65b9\u6cd5\u662f: \u5148\u4e0b\u8f7d\u5b89\u88c5ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf \u5728\u865a\u62df\u673a\u6216\u7269\u7406\u673a\u4e2d\u5b89\u88c5\u6b64ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf.(\u4e34\u65f6\u4f7f\u7528) \u4f7f\u7528ubuntu24.04\u5236\u4f5clinux\u542f\u52a8U\u76d8ubuntu live \u4f7f\u7528\u542f\u52a8U\u76d8ubuntu live\u5f15\u5bfcx86\u5c0f\u5de5\u63a7\u673a. \u8fdb\u5165try\u6a21\u5f0f(\u4e0d\u5b89\u88c5). \u5728try\u6a21\u5f0f\u4e2d,\u4e0b\u8f7dha\u5b89\u65b9\u955c\u50cf \u4f7f\u7528ubuntu live\u7684\u81ea\u5e26\u7684\u78c1\u76d8\u6062\u590d\u5de5\u5177\u5199\u5165\u955c\u50cf\u5230\u786c\u76d8. \u79fb\u9664U\u76d8 \u91cd\u542f\u7cfb\u7edf \u8fdb\u5165HA cli\u754c\u9762 \u6b64\u79cd\u65b9\u6cd5\u7684\u597d\u5904\u662f,\u4e0d\u7528\u62c6\u9664\u786c\u76d8,\u76f4\u63a5\u5728\u5c0f\u5de5\u63a7\u673a\u4e0a\u5c31\u80fd\u5b9e\u73b0\u64cd\u4f5c. \u57fa\u4e8e windows\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf. \u00b6 \u5b98\u65b9\u5728\u4ecb\u7ecd\u8fd9\u79cd\u65b9\u6cd5\u662f\u8ba9\u7528\u6237\u628a\u5c0f\u5de5\u63a7\u673a\u7684\u786c\u76d8\u62c6\u4e0b,\u88c5\u5165\u7528\u6237\u81ea\u5df2\u7684\u7535\u8111\u4e2d,\u5e76\u7528balenaEtcher\u5199\u76d8\u5de5\u5177\u5c06\u955c\u50cf\u5199\u5165\u5c0f\u5de5\u63a7\u7684\u673a\u7684\u786c\u76d8\u540e,\u518d\u628a\u5c0f\u5de5\u63a7\u673a\u673a\u7684\u786c\u76d8\u88c5\u5165\u5c0f\u5de5\u63a7\u673a.\u8fd9\u65b9\u6cd5\u65b9\u4fbf\u5feb\u6377,\u4f46\u662f\u9700\u8981\u62c6\u673a,\u6709\u9700\u8981\u7684\u7528\u6237\u53ef\u4ee5\u5230\u5b98\u65b9\u4ecb\u7ecd\u9875\u9762 Geneic x86-64 \u53bb\u770b\u5177\u4f53\u64cd\u4f5c\u65b9\u6cd5. \u6211\u4eec\u5e38\u7528\u7684\u65b9\u6cd5\u5982\u4e0b: \u5236\u4f5c\u4e00\u4e2a\u5176\u4e8ewindows PE\u7cfb\u7edf\u7684\u5f15\u5bfcU\u76d8. \u4e0b\u8f7d\u5b98\u65b9\u955c\u50cf\u5230U\u76d8\u4e2d\u3002 \u89e3\u538b\u955c\u50cf\u4e3a.img\u6587\u4ef6 \u7528PE\u5e26\u7684\u5199\u76d8\u5de5\u5177\uff0c\u5c06HA\u955c\u50cf\u5199\u5165\u786c\u76d8\u3002 \u79fb\u9664U\u76d8\u3002 \u91cd\u542f\u8fdb\u5165HA ClI. \u76f4\u63a5 \u8fd8\u539f\u6574\u4e2a\u78c1\u76d8 \u00b6 \u56e0\u3001\u4e3aHA\u5b89\u88c5\u914d\u7f6e\uff0c\u8f83\u4e3a\u590d\u6742\uff0c\u6240\u4ee5\uff0c\u6211\u4eec\u4f7f\u7528\u78c1\u76d8\u5168\u76d8\u7684\u6620\u50cf\u6765\u8fd8\u539f\u78c1\u76d8\uff0c\u6765\u8fbe\u5230\u5feb\u901f\u5b89\u88c5\u76ee\u7684\uff0c\u6b64\u65b9\u6cd5\uff0c\u80fd\u5728\u534a\u5c0f\u65f6\u5de6\u53f3\u7684\u65f6\u95f4\uff0c\u76f4\u63a5\u5b89\u88c5\u597dHA\uff0c\u540c\u65f6\uff0c\u6240\u4ee5\u7528\u7684\u5230\u8bbe\u7f6e\u4e0e\u63d2\u4ef6\u7a0b\u5e8f\u4e0e\u540c\u6b65\u88c5\u597d\uff0c\u5927\u5927\u8282\u7701\u4e86\u65f6\u95f4\u3002 \u5b89\u88c5\u5728VMware ESXi\u4e0a \u00b6 vmware ESXi\u662f\u4e00\u4e2a\u4f01\u4e1a\u7ea7\u7684\u865a\u62df\u5316\u5e73\u53f0\uff0c\u53ef\u4ee5\u5728\u5176\u4e0a\u5b89\u88c5Home Assistant. \u8be6\u60c5\u89c1: vmwareExsi\u5b89\u88c5Ha.md","title":"\u5b89\u88c5"},{"location":"install-guide/installHa/#homeassistant","text":"HomeAssistant\u7684\u5b89\u88c5\u6709\u591a\u79cd\u65b9\u5f0f\u4e0e\u65b9\u6cd5,\u6700\u5e38\u7528\u6298\u6709\u786c\u5907\u76f4\u63a5\u5b89\u88c5,docker\u5b89\u88c5\u865a\u62df\u673a\u5b89\u88c5\u7b49. \u4e0b\u9762\u6211\u4eec\u5c31\u4ee5\u786c\u76d8\u5b89\u88c5HAOS\u4e3a\u4f8b\u4ecb\u7ecd\u57fa\u4e8ex86\u786c\u4ef6\u7684\u57fa\u7840\u4e0a\u5b89\u88c5HAOS,\u57fa\u5b83\u7684\u5b89\u88c5\u65b9\u5f0f,\u540e\u7eed\u4f1a\u4ecb\u7ecd.","title":"\u5b89\u88c5HomeAssistant"},{"location":"install-guide/installHa/#bios","text":"\u91cd\u8981\u63d0\u9192 \u5728\u5b89\u88c5HAOS\u4e4b\u524d\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684BIOS\u8bbe\u7f6e\u6b63\u786e\u3002\u4ee5\u4e0b\u662f\u4e00\u4e9b\u5efa\u8bae\u7684BIOS\u914d\u7f6e\uff1a \u542f\u7528\u865a\u62df\u5316\u6280\u672f\uff08VT-x\u6216AMD-V\uff09\u3002 \u7981\u7528\u5b89\u5168\u542f\u52a8\uff08Secure Boot\uff09\u3002 \u8bbe\u7f6e\u542f\u52a8\u987a\u5e8f\uff0c\u4ee5\u4fbf\u4eceUSB\u6216\u5149\u76d8\u542f\u52a8\u3002 \u8bf7\u5728\u5b89\u88c5\u4e4b\u524d\u52a1\u5fc5\u68c0\u67e5\u8fd9\u4e9b BIOS\u8bbe\u7f6e \u3002 \u516c\u53f8\u7684\u5c0f\u4e3b\u673a\u8fd9\u4e00 BIOS\u8bbe\u7f6e\u89c6\u9891\u6f14\u793a","title":"BIOS\u914d\u7f6e"},{"location":"install-guide/installHa/#haos","text":"","title":"HAOS\u5b89\u88c5"},{"location":"install-guide/installHa/#x86pc","text":"haos\u8981\u5b89\u88c5\u5728\u786c\u76d8\u4e0a,\u603b\u4f53\u601d\u8def\u662f,\u5148\u5230HA\u7684\u5b98\u7f51\u4e0b\u8f7dhaos\u7684\u5b98\u65b9\u955c\u50cf\u6587\u4ef6 ,\u4e00\u822c\u4e3a.gz\u6216.gz.xz\u7b49\u683c\u5f0f,\u7136\u540e\u518d\u7528\u5199\u76d8\u5de5\u5177,\u76f4\u63a5\u628a\u8fd9\u4e2a\u955c\u50cf\u5199\u5165\u786c\u76d8. \u5c06\u955c\u50cf\u6587\u4ef6\u5199\u5165\u786c\u76d8\u4e0a\u7ea6\u6709\u4e24\u79cd\u65b9\u6cd5: \u5728linux\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u5199\u5165\u955c\u50cf \u5728windows\u5e73\u53f0\u4e0a\u5199\u5165\u955c\u50cf","title":"\u5b89\u88c5\u5728X86PC\u786c\u76d8\u4e0a"},{"location":"install-guide/installHa/#linux","text":"\u8fd9\u79cd\u65b9\u6cd5\u7684\u64cd\u4f5c\u65b9\u6cd5\u662f: \u5148\u4e0b\u8f7d\u5b89\u88c5ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf \u5728\u865a\u62df\u673a\u6216\u7269\u7406\u673a\u4e2d\u5b89\u88c5\u6b64ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf.(\u4e34\u65f6\u4f7f\u7528) \u4f7f\u7528ubuntu24.04\u5236\u4f5clinux\u542f\u52a8U\u76d8ubuntu live \u4f7f\u7528\u542f\u52a8U\u76d8ubuntu live\u5f15\u5bfcx86\u5c0f\u5de5\u63a7\u673a. \u8fdb\u5165try\u6a21\u5f0f(\u4e0d\u5b89\u88c5). \u5728try\u6a21\u5f0f\u4e2d,\u4e0b\u8f7dha\u5b89\u65b9\u955c\u50cf \u4f7f\u7528ubuntu live\u7684\u81ea\u5e26\u7684\u78c1\u76d8\u6062\u590d\u5de5\u5177\u5199\u5165\u955c\u50cf\u5230\u786c\u76d8. \u79fb\u9664U\u76d8 \u91cd\u542f\u7cfb\u7edf \u8fdb\u5165HA cli\u754c\u9762 \u6b64\u79cd\u65b9\u6cd5\u7684\u597d\u5904\u662f,\u4e0d\u7528\u62c6\u9664\u786c\u76d8,\u76f4\u63a5\u5728\u5c0f\u5de5\u63a7\u673a\u4e0a\u5c31\u80fd\u5b9e\u73b0\u64cd\u4f5c.","title":"\u57fa\u4e8elinux\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf"},{"location":"install-guide/installHa/#windows","text":"\u5b98\u65b9\u5728\u4ecb\u7ecd\u8fd9\u79cd\u65b9\u6cd5\u662f\u8ba9\u7528\u6237\u628a\u5c0f\u5de5\u63a7\u673a\u7684\u786c\u76d8\u62c6\u4e0b,\u88c5\u5165\u7528\u6237\u81ea\u5df2\u7684\u7535\u8111\u4e2d,\u5e76\u7528balenaEtcher\u5199\u76d8\u5de5\u5177\u5c06\u955c\u50cf\u5199\u5165\u5c0f\u5de5\u63a7\u7684\u673a\u7684\u786c\u76d8\u540e,\u518d\u628a\u5c0f\u5de5\u63a7\u673a\u673a\u7684\u786c\u76d8\u88c5\u5165\u5c0f\u5de5\u63a7\u673a.\u8fd9\u65b9\u6cd5\u65b9\u4fbf\u5feb\u6377,\u4f46\u662f\u9700\u8981\u62c6\u673a,\u6709\u9700\u8981\u7684\u7528\u6237\u53ef\u4ee5\u5230\u5b98\u65b9\u4ecb\u7ecd\u9875\u9762 Geneic x86-64 \u53bb\u770b\u5177\u4f53\u64cd\u4f5c\u65b9\u6cd5. \u6211\u4eec\u5e38\u7528\u7684\u65b9\u6cd5\u5982\u4e0b: \u5236\u4f5c\u4e00\u4e2a\u5176\u4e8ewindows PE\u7cfb\u7edf\u7684\u5f15\u5bfcU\u76d8. \u4e0b\u8f7d\u5b98\u65b9\u955c\u50cf\u5230U\u76d8\u4e2d\u3002 \u89e3\u538b\u955c\u50cf\u4e3a.img\u6587\u4ef6 \u7528PE\u5e26\u7684\u5199\u76d8\u5de5\u5177\uff0c\u5c06HA\u955c\u50cf\u5199\u5165\u786c\u76d8\u3002 \u79fb\u9664U\u76d8\u3002 \u91cd\u542f\u8fdb\u5165HA ClI.","title":"\u57fa\u4e8ewindows\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf."},{"location":"install-guide/installHa/#_1","text":"\u56e0\u3001\u4e3aHA\u5b89\u88c5\u914d\u7f6e\uff0c\u8f83\u4e3a\u590d\u6742\uff0c\u6240\u4ee5\uff0c\u6211\u4eec\u4f7f\u7528\u78c1\u76d8\u5168\u76d8\u7684\u6620\u50cf\u6765\u8fd8\u539f\u78c1\u76d8\uff0c\u6765\u8fbe\u5230\u5feb\u901f\u5b89\u88c5\u76ee\u7684\uff0c\u6b64\u65b9\u6cd5\uff0c\u80fd\u5728\u534a\u5c0f\u65f6\u5de6\u53f3\u7684\u65f6\u95f4\uff0c\u76f4\u63a5\u5b89\u88c5\u597dHA\uff0c\u540c\u65f6\uff0c\u6240\u4ee5\u7528\u7684\u5230\u8bbe\u7f6e\u4e0e\u63d2\u4ef6\u7a0b\u5e8f\u4e0e\u540c\u6b65\u88c5\u597d\uff0c\u5927\u5927\u8282\u7701\u4e86\u65f6\u95f4\u3002","title":"\u76f4\u63a5\u8fd8\u539f\u6574\u4e2a\u78c1\u76d8"},{"location":"install-guide/installHa/#vmware-esxi","text":"vmware ESXi\u662f\u4e00\u4e2a\u4f01\u4e1a\u7ea7\u7684\u865a\u62df\u5316\u5e73\u53f0\uff0c\u53ef\u4ee5\u5728\u5176\u4e0a\u5b89\u88c5Home Assistant. \u8be6\u60c5\u89c1: vmwareExsi\u5b89\u88c5Ha.md","title":"\u5b89\u88c5\u5728VMware ESXi\u4e0a"},{"location":"install-guide/vmwareExsi%E5%AE%89%E8%A3%85Ha/","text":"\u57fa\u4e8evmWare Exsi\u5b89\u88c5HA \u00b6 1. \u51c6\u5907\u5de5\u4f5c \u00b6 \u4e0b\u8f7dVMware ESXi\u5b89\u88c5\u955c\u50cf. \u6253\u5f00\u9875\u9762 https://www.home-assistant.io/installation/alternative \u70b9\u51fb\u4e0b\u8f7d\u201c VMware ESXi/vSphere \u7684 .ova \u683c\u5f0f\u955c\u50cf\u6587\u4ef6\u201d \u6ce8\u610f1 \u4f7f\u7528 E1000 \u6216 E1000E \u865a\u62df\u7f51\u7edc\u9002\u914d\u5668\u3002\u5f53\u4f7f\u7528 VMware \u7684 VMXnet3 \u865a\u62df\u7f51\u7edc\u9002\u914d\u5668\u65f6\uff0c\u5df2\u786e\u8ba4\u5b58\u5728 mDNS/\u591a\u64ad\u53d1\u73b0\u95ee\u9898\u3002 \u89e3\u6790\uff1a E1000 \u548c E1000E\uff1a\u63a8\u8350\u7684\u865a\u62df\u7f51\u7edc\u9002\u914d\u5668 VMXnet3\uff1a\u53ef\u80fd\u4f1a\u5bfc\u81f4\u7f51\u7edc\u53d1\u73b0\u95ee\u9898 mDNS\uff1a\u591a\u64ad\u57df\u540d\u7cfb\u7edf \u591a\u64ad\u53d1\u73b0\uff1a\u8bbe\u5907\u5728\u7f51\u7edc\u4e0a\u81ea\u52a8\u53d1\u73b0\u548c\u901a\u4fe1\u7684\u673a\u5236 \u5efa\u8bae\uff1a \u5728 VMware ESXi \u521b\u5efa\u865a\u62df\u673a\u65f6 \u7f51\u7edc\u9002\u914d\u5668\u9009\u62e9 E1000 \u6216 E1000E \u907f\u514d\u4f7f\u7528 VMXnet3 \u6ce8\u610f2 \u5728ESXi\u4e0a\u901a\u8fc7OVF/OVA\u955c\u50cf\u5b89\u88c5\u865a\u62df\u673a\uff0c\u4e3b\u8981\u6b65\u9aa4\u5305\u62ec\uff1a\u767b\u5f55ESXi\u4e3b\u673a\uff0c\u9009\u62e9\u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\uff0c\u9009\u62e9\u201c\u4eceOVF\u6216OVA\u6587\u4ef6\u90e8\u7f72\u865a\u62df\u673a\u201d\uff0c\u7136\u540e\u9009\u62e9OVF\u6216OVA\u6587\u4ef6\u5e76\u5b8c\u6210\u540e\u7eed\u8bbe\u7f6e\u3002\ufeff \u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a \u767b\u5f55ESXi\u4e3b\u673a\uff1a:\u4f7f\u7528Web Client\u6216vSphere Client\u767b\u5f55\u5230\u60a8\u7684ESXi\u4e3b\u673a\u3002\ufeff \u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\uff1a:\u5728ESXi\u754c\u9762\u4e2d\uff0c\u627e\u5230\u5e76\u70b9\u51fb\u201c\u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\u201d\u9009\u9879\u3002\ufeff \u9009\u62e9\u90e8\u7f72\u7c7b\u578b\uff1a:\u9009\u62e9\u201c\u4eceOVF\u6216OVA\u6587\u4ef6\u90e8\u7f72\u865a\u62df\u673a\u201d\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u9009\u62e9OVF/OVA\u6587\u4ef6\uff1a:\u8f93\u5165\u865a\u62df\u673a\u540d\u79f0\uff0c\u7136\u540e\u9009\u62e9\u8981\u90e8\u7f72\u7684OVF\u6216OVA\u6587\u4ef6\uff0c\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u9009\u62e9\u5b58\u50a8\u4f4d\u7f6e\uff1a:\u9009\u62e9\u865a\u62df\u673a\u5b58\u50a8\u7684\u4f4d\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u9009\u62e9\u90e8\u7f72\u9009\u9879\uff1a:\u6839\u636e\u9700\u8981\u9009\u62e9\u90e8\u7f72\u9009\u9879\uff0c\u4f8b\u5982\u7f51\u7edc\u914d\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u5b8c\u6210\u90e8\u7f72\uff1a:\u5728\u201c\u5373\u5c06\u5b8c\u6210\u201d\u9875\u9762\uff0c\u68c0\u67e5\u8bbe\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u5b8c\u6210\u201d\u3002\ufeff \u542f\u52a8\u865a\u62df\u673a\uff1a:\u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u542f\u52a8\u65b0\u521b\u5efa\u7684\u865a\u62df\u673a\u5373\u53ef\u3002\ufeff \u6ce8\u610f\u4e8b\u9879\uff1a \u5982\u679c\u4f7f\u7528OVF\u6587\u4ef6\uff0c\u901a\u5e38\u9700\u8981\u914d\u5408VMDK\u7b49\u865a\u62df\u78c1\u76d8\u6587\u4ef6\u4e00\u8d77\u4f7f\u7528\u3002\ufeff \u786e\u4fddOVF\u6587\u4ef6\u548c\u76f8\u5173\u7684\u865a\u62df\u78c1\u76d8\u6587\u4ef6\u90fd\u5728\u540c\u4e00\u4e2a\u76ee\u5f55\u4e0b\uff0c\u6216\u8005\u4e0a\u4f20\u5230ESXi\u7684\u5b58\u50a8\u3002\ufeff \u5728\u201c\u90e8\u7f72\u9009\u9879\u201d\u9875\u9762\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u914d\u7f6e\u865a\u62df\u673a\u7684\u7f51\u7edc\u3001\u8d44\u6e90\u7b49\u8bbe\u7f6e\u3002\ufeff \u5982\u679c\u9047\u5230\u201c\u7f3a\u5c11\u78c1\u76d8\u955c\u50cf\u201d\u7b49\u62a5\u9519\uff0c\u53ef\u80fd\u662f\u7531\u4e8eOVF\u6587\u4ef6\u4e2d\u5f15\u7528\u7684\u78c1\u76d8\u6587\u4ef6\u8def\u5f84\u4e0d\u6b63\u786e\uff0c\u6216\u8005\u78c1\u76d8\u6587\u4ef6\u672a\u6b63\u786e\u4e0a\u4f20\u5230ESXi\u7684\u5b58\u50a8\uff0c\u9700\u8981\u68c0\u67e5\u5e76\u4fee\u6b63\u3002\ufeff \u5bf9\u4e8e\u67d0\u4e9bOVF\u6a21\u677f\uff0c\u53ef\u80fd\u9700\u8981\u8fdb\u884c\u4e00\u4e9b\u989d\u5916\u7684\u914d\u7f6e\uff0c\u4f8b\u5982\u4fee\u6539\u865a\u62df\u673a\u7684\u786c\u4ef6\u7248\u672c\u4ee5\u517c\u5bb9ESXi\u7248\u672c\u3002\ufeff \u901a\u8fc7\u4ee5\u4e0a\u6b65\u9aa4\uff0c\u60a8\u5c31\u53ef\u4ee5\u6210\u529f\u5730\u5728ESXi\u4e0a\u901a\u8fc7OVF/OVA\u955c\u50cf\u5b89\u88c5\u865a\u62df\u673a\u4e86 2. \u5b89\u88c5\u6b65\u9aa4 \u00b6 \u767b\u5f55\u5230ESXi\u4e3b\u673a\u7684Web\u754c\u9762\u3002 \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u70b9\u51fb\u201c\u865a\u62df\u673a\u201d\u3002 \u70b9\u51fb\u201c\u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\u201d\u6309\u94ae\u3002 \u9009\u62e9\u201c\u4eceOVF\u6216OVA\u6587\u4ef6\u90e8\u7f72\u865a\u62df\u673a\u201d\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u8f93\u5165\u865a\u62df\u673a\u540d\u79f0\uff0c\u5e76\u9009\u62e9\u4e0b\u8f7d\u7684Home Assistant OVA\u6587\u4ef6\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u9009\u62e9\u5b58\u50a8\u4f4d\u7f6e\uff0c\u901a\u5e38\u9009\u62e9\u9ed8\u8ba4\u7684\u5b58\u50a8\u4f4d\u7f6e\u5373\u53ef\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u5728\u201c\u7f51\u7edc\u6620\u5c04\u201d\u9875\u9762\uff0c\u9009\u62e9\u9002\u5f53\u7684\u7f51\u7edc\u9002\u914d\u5668\uff08\u786e\u4fdd\u4f7f\u7528E1000\u6216E1000E\uff09\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u5728\u201c\u5373\u5c06\u5b8c\u6210\u201d\u9875\u9762\uff0c\u68c0\u67e5\u8bbe\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u5b8c\u6210\u201d\u3002 \u9875\u9762\u5e95\u90e8\u4f1a\u663e\u793a\u90e8\u7f72\u8fdb\u5ea6\uff0c\u7b49\u5f85\u90e8\u7f72\u5b8c\u6210\u3002 \u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u60a8\u53ef\u4ee5\u5728\u865a\u62df\u673a\u5217\u8868\u4e2d\u770b\u5230\u65b0\u521b\u5efa\u7684Home Assistant\u865a\u62df\u673a\u3002 \u9009\u4e2dHome Assistant\u865a\u62df\u673a\uff0c\u70b9\u51fb\u201c\u542f\u52a8\u201d\u6309\u94ae\u6765\u542f\u52a8\u865a\u673a \u9996\u6b21\u542f\u52a8\u53ef\u80fd\u9700\u8981\u4e00\u4e9b\u65f6\u95f4\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\u3002 \u770b\u5230ha> \u8fdb\u793a\u7b26\u540e\uff0c\u53ef\u4ee5\u8bd5\u7740\u8f93\u5165 ha \u547d\u4ee4\u6765\u68c0\u67e5Home Assistant\u7684\u72b6\u6001\u3002 \u4e0a\u8ff0\u72b6\u6001\uff0c\u5982\u679c\u663e\u793a \"System is not ready with state: setup\"\uff0c\u8bf4\u660e\u7cfb\u7edf\u6b63\u5728\u5b89\u88c5\u4e2d\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\uff0c\u76f4\u5230\u7cfb\u7edf\u5b8c\u5168\u542f\u52a8\u540e\u518d\u8bbf\u95eeWeb\u754c\u9762\u3002\u9996\u6b21\u542f\u52a8 Home Assistant \u9700\u8981\u8f83\u957f\u65f6\u95f4\uff0c\u901a\u5e38\u9700\u8981 10-30 \u5206\u949f\uff0c\u8fd9\u53d6\u51b3\u4e8e\u60a8\u7684\u786c\u4ef6\u914d\u7f6e\u3002 \u7a0d\u7b49\u4e00\u4f1a\uff0c\u6211\u4eec\u518d\u6b21\u7528ha cli info\u6765\u67e5\u770b\u72b6\u6001 \u7136\u540e\u7528 ha network info \u6765\u67e5\u770b\u7f51\u7edc\u72b6\u6001,\u53ef\u89c1\u6211\u4eec\u7684IP\u5730\u5740\u662f:192.168.1.51,\u540e\u7eed\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u8fd9\u4e2aIP\u5730\u5740\u6765\u8bbf\u95eeHome Assistant\u7684Web\u754c\u9762\u3002 \u542f\u52a8\u540e\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u6d4f\u89c8\u5668\u8bbf\u95eeHome Assistant\u7684Web\u754c\u9762\uff0c\u901a\u5e38\u662f\u901a\u8fc7ESXi\u4e3b\u673a\u7684IP\u5730\u5740\u52a0\u4e0a\u7aef\u53e38123\u6765\u8bbf\u95ee\uff0c\u4f8b\u5982\uff1ahttp:// :8123\u3002 \u672c\u4f8b\u662fHttp://192.168.1.51:8123 \u5982\u4e0b\uff0c\u663e\u793a\uff0c\u8fd8\u5728\u5b89\u88c5\u4e2d \u7b49\u5f85\u5373\u53ef\uff0c\u540e\u7eed\u7684\u5b89\u88c5\u8c03\u8bd5\u7b49\uff0c\u89c1\u5176\u5b83\u6587\u6863\u3002","title":"vmwareExsi\u5b89\u88c5Ha"},{"location":"install-guide/vmwareExsi%E5%AE%89%E8%A3%85Ha/#vmware-exsiha","text":"","title":"\u57fa\u4e8evmWare Exsi\u5b89\u88c5HA"},{"location":"install-guide/vmwareExsi%E5%AE%89%E8%A3%85Ha/#1","text":"\u4e0b\u8f7dVMware ESXi\u5b89\u88c5\u955c\u50cf. \u6253\u5f00\u9875\u9762 https://www.home-assistant.io/installation/alternative \u70b9\u51fb\u4e0b\u8f7d\u201c VMware ESXi/vSphere \u7684 .ova \u683c\u5f0f\u955c\u50cf\u6587\u4ef6\u201d \u6ce8\u610f1 \u4f7f\u7528 E1000 \u6216 E1000E \u865a\u62df\u7f51\u7edc\u9002\u914d\u5668\u3002\u5f53\u4f7f\u7528 VMware \u7684 VMXnet3 \u865a\u62df\u7f51\u7edc\u9002\u914d\u5668\u65f6\uff0c\u5df2\u786e\u8ba4\u5b58\u5728 mDNS/\u591a\u64ad\u53d1\u73b0\u95ee\u9898\u3002 \u89e3\u6790\uff1a E1000 \u548c E1000E\uff1a\u63a8\u8350\u7684\u865a\u62df\u7f51\u7edc\u9002\u914d\u5668 VMXnet3\uff1a\u53ef\u80fd\u4f1a\u5bfc\u81f4\u7f51\u7edc\u53d1\u73b0\u95ee\u9898 mDNS\uff1a\u591a\u64ad\u57df\u540d\u7cfb\u7edf \u591a\u64ad\u53d1\u73b0\uff1a\u8bbe\u5907\u5728\u7f51\u7edc\u4e0a\u81ea\u52a8\u53d1\u73b0\u548c\u901a\u4fe1\u7684\u673a\u5236 \u5efa\u8bae\uff1a \u5728 VMware ESXi \u521b\u5efa\u865a\u62df\u673a\u65f6 \u7f51\u7edc\u9002\u914d\u5668\u9009\u62e9 E1000 \u6216 E1000E \u907f\u514d\u4f7f\u7528 VMXnet3 \u6ce8\u610f2 \u5728ESXi\u4e0a\u901a\u8fc7OVF/OVA\u955c\u50cf\u5b89\u88c5\u865a\u62df\u673a\uff0c\u4e3b\u8981\u6b65\u9aa4\u5305\u62ec\uff1a\u767b\u5f55ESXi\u4e3b\u673a\uff0c\u9009\u62e9\u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\uff0c\u9009\u62e9\u201c\u4eceOVF\u6216OVA\u6587\u4ef6\u90e8\u7f72\u865a\u62df\u673a\u201d\uff0c\u7136\u540e\u9009\u62e9OVF\u6216OVA\u6587\u4ef6\u5e76\u5b8c\u6210\u540e\u7eed\u8bbe\u7f6e\u3002\ufeff \u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a \u767b\u5f55ESXi\u4e3b\u673a\uff1a:\u4f7f\u7528Web Client\u6216vSphere Client\u767b\u5f55\u5230\u60a8\u7684ESXi\u4e3b\u673a\u3002\ufeff \u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\uff1a:\u5728ESXi\u754c\u9762\u4e2d\uff0c\u627e\u5230\u5e76\u70b9\u51fb\u201c\u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\u201d\u9009\u9879\u3002\ufeff \u9009\u62e9\u90e8\u7f72\u7c7b\u578b\uff1a:\u9009\u62e9\u201c\u4eceOVF\u6216OVA\u6587\u4ef6\u90e8\u7f72\u865a\u62df\u673a\u201d\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u9009\u62e9OVF/OVA\u6587\u4ef6\uff1a:\u8f93\u5165\u865a\u62df\u673a\u540d\u79f0\uff0c\u7136\u540e\u9009\u62e9\u8981\u90e8\u7f72\u7684OVF\u6216OVA\u6587\u4ef6\uff0c\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u9009\u62e9\u5b58\u50a8\u4f4d\u7f6e\uff1a:\u9009\u62e9\u865a\u62df\u673a\u5b58\u50a8\u7684\u4f4d\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u9009\u62e9\u90e8\u7f72\u9009\u9879\uff1a:\u6839\u636e\u9700\u8981\u9009\u62e9\u90e8\u7f72\u9009\u9879\uff0c\u4f8b\u5982\u7f51\u7edc\u914d\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u5b8c\u6210\u90e8\u7f72\uff1a:\u5728\u201c\u5373\u5c06\u5b8c\u6210\u201d\u9875\u9762\uff0c\u68c0\u67e5\u8bbe\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u5b8c\u6210\u201d\u3002\ufeff \u542f\u52a8\u865a\u62df\u673a\uff1a:\u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u542f\u52a8\u65b0\u521b\u5efa\u7684\u865a\u62df\u673a\u5373\u53ef\u3002\ufeff \u6ce8\u610f\u4e8b\u9879\uff1a \u5982\u679c\u4f7f\u7528OVF\u6587\u4ef6\uff0c\u901a\u5e38\u9700\u8981\u914d\u5408VMDK\u7b49\u865a\u62df\u78c1\u76d8\u6587\u4ef6\u4e00\u8d77\u4f7f\u7528\u3002\ufeff \u786e\u4fddOVF\u6587\u4ef6\u548c\u76f8\u5173\u7684\u865a\u62df\u78c1\u76d8\u6587\u4ef6\u90fd\u5728\u540c\u4e00\u4e2a\u76ee\u5f55\u4e0b\uff0c\u6216\u8005\u4e0a\u4f20\u5230ESXi\u7684\u5b58\u50a8\u3002\ufeff \u5728\u201c\u90e8\u7f72\u9009\u9879\u201d\u9875\u9762\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u914d\u7f6e\u865a\u62df\u673a\u7684\u7f51\u7edc\u3001\u8d44\u6e90\u7b49\u8bbe\u7f6e\u3002\ufeff \u5982\u679c\u9047\u5230\u201c\u7f3a\u5c11\u78c1\u76d8\u955c\u50cf\u201d\u7b49\u62a5\u9519\uff0c\u53ef\u80fd\u662f\u7531\u4e8eOVF\u6587\u4ef6\u4e2d\u5f15\u7528\u7684\u78c1\u76d8\u6587\u4ef6\u8def\u5f84\u4e0d\u6b63\u786e\uff0c\u6216\u8005\u78c1\u76d8\u6587\u4ef6\u672a\u6b63\u786e\u4e0a\u4f20\u5230ESXi\u7684\u5b58\u50a8\uff0c\u9700\u8981\u68c0\u67e5\u5e76\u4fee\u6b63\u3002\ufeff \u5bf9\u4e8e\u67d0\u4e9bOVF\u6a21\u677f\uff0c\u53ef\u80fd\u9700\u8981\u8fdb\u884c\u4e00\u4e9b\u989d\u5916\u7684\u914d\u7f6e\uff0c\u4f8b\u5982\u4fee\u6539\u865a\u62df\u673a\u7684\u786c\u4ef6\u7248\u672c\u4ee5\u517c\u5bb9ESXi\u7248\u672c\u3002\ufeff \u901a\u8fc7\u4ee5\u4e0a\u6b65\u9aa4\uff0c\u60a8\u5c31\u53ef\u4ee5\u6210\u529f\u5730\u5728ESXi\u4e0a\u901a\u8fc7OVF/OVA\u955c\u50cf\u5b89\u88c5\u865a\u62df\u673a\u4e86","title":"1. \u51c6\u5907\u5de5\u4f5c"},{"location":"install-guide/vmwareExsi%E5%AE%89%E8%A3%85Ha/#2","text":"\u767b\u5f55\u5230ESXi\u4e3b\u673a\u7684Web\u754c\u9762\u3002 \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u70b9\u51fb\u201c\u865a\u62df\u673a\u201d\u3002 \u70b9\u51fb\u201c\u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\u201d\u6309\u94ae\u3002 \u9009\u62e9\u201c\u4eceOVF\u6216OVA\u6587\u4ef6\u90e8\u7f72\u865a\u62df\u673a\u201d\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u8f93\u5165\u865a\u62df\u673a\u540d\u79f0\uff0c\u5e76\u9009\u62e9\u4e0b\u8f7d\u7684Home Assistant OVA\u6587\u4ef6\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u9009\u62e9\u5b58\u50a8\u4f4d\u7f6e\uff0c\u901a\u5e38\u9009\u62e9\u9ed8\u8ba4\u7684\u5b58\u50a8\u4f4d\u7f6e\u5373\u53ef\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u5728\u201c\u7f51\u7edc\u6620\u5c04\u201d\u9875\u9762\uff0c\u9009\u62e9\u9002\u5f53\u7684\u7f51\u7edc\u9002\u914d\u5668\uff08\u786e\u4fdd\u4f7f\u7528E1000\u6216E1000E\uff09\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u5728\u201c\u5373\u5c06\u5b8c\u6210\u201d\u9875\u9762\uff0c\u68c0\u67e5\u8bbe\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u5b8c\u6210\u201d\u3002 \u9875\u9762\u5e95\u90e8\u4f1a\u663e\u793a\u90e8\u7f72\u8fdb\u5ea6\uff0c\u7b49\u5f85\u90e8\u7f72\u5b8c\u6210\u3002 \u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u60a8\u53ef\u4ee5\u5728\u865a\u62df\u673a\u5217\u8868\u4e2d\u770b\u5230\u65b0\u521b\u5efa\u7684Home Assistant\u865a\u62df\u673a\u3002 \u9009\u4e2dHome Assistant\u865a\u62df\u673a\uff0c\u70b9\u51fb\u201c\u542f\u52a8\u201d\u6309\u94ae\u6765\u542f\u52a8\u865a\u673a \u9996\u6b21\u542f\u52a8\u53ef\u80fd\u9700\u8981\u4e00\u4e9b\u65f6\u95f4\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\u3002 \u770b\u5230ha> \u8fdb\u793a\u7b26\u540e\uff0c\u53ef\u4ee5\u8bd5\u7740\u8f93\u5165 ha \u547d\u4ee4\u6765\u68c0\u67e5Home Assistant\u7684\u72b6\u6001\u3002 \u4e0a\u8ff0\u72b6\u6001\uff0c\u5982\u679c\u663e\u793a \"System is not ready with state: setup\"\uff0c\u8bf4\u660e\u7cfb\u7edf\u6b63\u5728\u5b89\u88c5\u4e2d\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\uff0c\u76f4\u5230\u7cfb\u7edf\u5b8c\u5168\u542f\u52a8\u540e\u518d\u8bbf\u95eeWeb\u754c\u9762\u3002\u9996\u6b21\u542f\u52a8 Home Assistant \u9700\u8981\u8f83\u957f\u65f6\u95f4\uff0c\u901a\u5e38\u9700\u8981 10-30 \u5206\u949f\uff0c\u8fd9\u53d6\u51b3\u4e8e\u60a8\u7684\u786c\u4ef6\u914d\u7f6e\u3002 \u7a0d\u7b49\u4e00\u4f1a\uff0c\u6211\u4eec\u518d\u6b21\u7528ha cli info\u6765\u67e5\u770b\u72b6\u6001 \u7136\u540e\u7528 ha network info \u6765\u67e5\u770b\u7f51\u7edc\u72b6\u6001,\u53ef\u89c1\u6211\u4eec\u7684IP\u5730\u5740\u662f:192.168.1.51,\u540e\u7eed\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u8fd9\u4e2aIP\u5730\u5740\u6765\u8bbf\u95eeHome Assistant\u7684Web\u754c\u9762\u3002 \u542f\u52a8\u540e\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u6d4f\u89c8\u5668\u8bbf\u95eeHome Assistant\u7684Web\u754c\u9762\uff0c\u901a\u5e38\u662f\u901a\u8fc7ESXi\u4e3b\u673a\u7684IP\u5730\u5740\u52a0\u4e0a\u7aef\u53e38123\u6765\u8bbf\u95ee\uff0c\u4f8b\u5982\uff1ahttp:// :8123\u3002 \u672c\u4f8b\u662fHttp://192.168.1.51:8123 \u5982\u4e0b\uff0c\u663e\u793a\uff0c\u8fd8\u5728\u5b89\u88c5\u4e2d \u7b49\u5f85\u5373\u53ef\uff0c\u540e\u7eed\u7684\u5b89\u88c5\u8c03\u8bd5\u7b49\uff0c\u89c1\u5176\u5b83\u6587\u6863\u3002","title":"2. \u5b89\u88c5\u6b65\u9aa4"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/","text":"ModbusPoll v7.0.0 \u4f7f\u7528\u6559\u7a0b \u00b6 \u76ee\u5f55 \u00b6 \u8f6f\u4ef6\u4ecb\u7ecd \u5b89\u88c5\u4e0e\u542f\u52a8 \u57fa\u672c\u914d\u7f6e \u8fde\u63a5\u8bbe\u7f6e \u6570\u636e\u8bfb\u53d6\u914d\u7f6e \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u901a\u4fe1\u5b9e\u4f8b \u6570\u636e\u76d1\u63a7\u4e0e\u5206\u6790 \u6545\u969c\u6392\u9664 \u9ad8\u7ea7\u529f\u80fd \u8f6f\u4ef6\u4ecb\u7ecd \u00b6 ModbusPoll\u662f\u4e00\u6b3e\u4e13\u4e1a\u7684Modbus\u4e3b\u673a\u4eff\u771f\u5668\u5de5\u5177\uff0c\u4e3b\u8981\u7528\u4e8e\uff1a - \u6d4b\u8bd5\u548c\u8c03\u8bd5Modbus\u4ece\u8bbe\u5907 - \u76d1\u63a7Modbus\u8bbe\u5907\u6570\u636e - \u9a8c\u8bc1\u8bbe\u5907\u901a\u4fe1\u534f\u8bae - \u6545\u969c\u8bca\u65ad\u548c\u6392\u9664 \u4e3b\u8981\u7279\u6027 \u00b6 \u652f\u6301Modbus RTU/ASCII/TCP\u534f\u8bae \u5b9e\u65f6\u6570\u636e\u76d1\u63a7 \u591a\u79cd\u6570\u636e\u683c\u5f0f\u663e\u793a \u65e5\u5fd7\u8bb0\u5f55\u529f\u80fd \u6279\u91cf\u8bfb\u53d6\u529f\u80fd \u5b89\u88c5\u4e0e\u542f\u52a8 \u00b6 \u7cfb\u7edf\u8981\u6c42 \u00b6 Windows 7/8/10/11 .NET Framework 4.0 \u6216\u66f4\u9ad8\u7248\u672c \u81f3\u5c1150MB\u53ef\u7528\u78c1\u76d8\u7a7a\u95f4 \u5b89\u88c5\u6b65\u9aa4 \u00b6 \u4e0b\u8f7dModbusPoll-v7.0.0\u5b89\u88c5\u5305 \u53f3\u952e\u70b9\u51fb\u5b89\u88c5\u5305\uff0c\u9009\u62e9\"\u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884c\" \u6309\u7167\u5b89\u88c5\u5411\u5bfc\u5b8c\u6210\u5b89\u88c5 \u542f\u52a8\u7a0b\u5e8f\uff1a\u5f00\u59cb\u83dc\u5355 \u2192 ModbusPoll \u9996\u6b21\u542f\u52a8 \u00b6 \u542f\u52a8\u540e\u4f1a\u663e\u793a\u4e3b\u754c\u9762\uff0c\u5305\u542b\uff1a - \u83dc\u5355\u680f\uff1a\u6587\u4ef6\u3001\u8fde\u63a5\u3001\u8bbe\u7f6e\u7b49 - \u5de5\u5177\u680f\uff1a\u5e38\u7528\u529f\u80fd\u5feb\u6377\u6309\u94ae - \u6570\u636e\u663e\u793a\u533a\u57df\uff1a\u5bc4\u5b58\u5668\u6570\u636e\u8868\u683c - \u72b6\u6001\u680f\uff1a\u8fde\u63a5\u72b6\u6001\u548c\u7edf\u8ba1\u4fe1\u606f \u57fa\u672c\u914d\u7f6e \u00b6 \u8fde\u63a5\u8bbe\u7f6e \u00b6 \u4e32\u53e3\u8fde\u63a5\uff08RTU/ASCII\uff09 Connection \u2192 Connect \u6216\u70b9\u51fb\u5de5\u5177\u680f\u8fde\u63a5\u56fe\u6807 \u8fde\u63a5\u53c2\u6570\u914d\u7f6e Port : \u9009\u62e9\u4e32\u53e3\uff08COM1, COM2\u7b49\uff09 Baud Rate : \u6ce2\u7279\u7387\uff08\u5e38\u75289600, 19200, 38400\uff09 Data Bits : \u6570\u636e\u4f4d\uff08\u901a\u5e38\u4e3a8\uff09 Parity : \u6821\u9a8c\u4f4d\uff08None, Even, Odd\uff09 Stop Bits : \u505c\u6b62\u4f4d\uff081\u62162\uff09 Mode : \u9009\u62e9RTU\u6216ASCII TCP\u8fde\u63a5\u8bbe\u7f6e IP Address : \u8bbe\u5907IP\u5730\u5740 Port : \u7aef\u53e3\u53f7\uff08\u9ed8\u8ba4502\uff09 Unit ID : \u4ece\u7ad9\u5730\u5740 \u8fde\u63a5\u8bbe\u7f6e \u00b6 \u4e32\u53e3\u8fde\u63a5\u793a\u4f8b \u00b6 \u4ee5\u6c34\u5904\u7406\u673a\u4e3a\u4f8b\uff1a - Port: COM1 - Baud Rate: 9600 - Data Bits: 8 - Parity: None - Stop Bits: 1 - Mode: RTU - Response timeout: 1000ms - Delay between polls: 100ms TCP\u8fde\u63a5\u793a\u4f8b \u00b6 \u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u7f51\u7edc\u8fde\u63a5\uff1a - IP Address: 192.168.1.100 - Port: 502 - Unit ID: 1 - Response timeout: 3000ms - Delay between polls: 500ms \u6570\u636e\u8bfb\u53d6\u914d\u7f6e \u00b6 \u8bbe\u7f6e\u8bfb\u53d6\u53c2\u6570 \u00b6 Setup \u2192 Read/Write Definition \u914d\u7f6e\u8bfb\u53d6\u53c2\u6570\uff1a Slave ID : \u4ece\u7ad9\u5730\u5740\uff081-247\uff09 Function : \u529f\u80fd\u7801 01: \u8bfb\u53d6\u7ebf\u5708\u72b6\u6001 02: \u8bfb\u53d6\u8f93\u5165\u72b6\u6001 03: \u8bfb\u53d6\u4fdd\u6301\u5bc4\u5b58\u5668 04: \u8bfb\u53d6\u8f93\u5165\u5bc4\u5b58\u5668 Address : \u8d77\u59cb\u5730\u5740 Quantity : \u8bfb\u53d6\u6570\u91cf Scan Rate : \u626b\u63cf\u9891\u7387\uff08ms\uff09 \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u53c2\u6570\u914d\u7f6e\u793a\u4f8b \u00b6 \u6e29\u5ea6\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 03 (Read Holding Registers) - Address: 23 (0x0017) - Quantity: 2 - Scan Rate: 1000ms \u4f9b\u6db2\u538b\u529b\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 03 - Address: 25 (0x0019) - Quantity: 2 - Scan Rate: 500ms \u6db2\u4f4d\u72b6\u6001\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 01 (Read Coils) - Address: 0x0001 - Quantity: 16 - Scan Rate: 2000ms \u7535\u5bfc\u7387\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 03 - Address: 24 (0x0018) - Quantity: 2 - Scan Rate: 1000ms PH\u503c\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 03 - Address: 29 (0x001D) - Quantity: 2 - Scan Rate: 1000ms \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u901a\u4fe1\u5b9e\u4f8b \u00b6 \u6c34\u5904\u7406\u673a\u53c2\u6570\u8bfb\u53d6 \u00b6 \u6839\u636e\u6c34\u5904\u7406\u8bbe\u5907\u901a\u4fe1\u534f\u8bae\u914d\u7f6e\uff1a 1. \u6e29\u5ea6\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x0017\uff09 - Function: 03 - Address: 23 (0x0017) - Quantity: 2 - Data Format: Float (4\u5b57\u8282) 2. \u7535\u5bfc\u7387\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x0018\uff09 - Function: 03 - Address: 24 (0x0018) - Quantity: 2 - Data Format: Float 3. \u4f9b\u6db2\u538b\u529b\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x0019-0x001A\uff09 - Function: 03 - Address: 25 (0x0019) - Quantity: 4 - Data Format: Float (\u4f9b\u6db2\u4e00\u3001\u4f9b\u6db2\u4e8c\u538b\u529b) 4. \u6db2\u4f4d\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x001B-0x001C\uff09 - Function: 03 - Address: 27 (0x001B) - Quantity: 4 - Data Format: Float (\u50a8\u6db2\u3001\u914d\u6db2\u6db2\u4f4d) 5. PH\u503c\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x001D\uff09 - Function: 03 - Address: 29 (0x001D) - Quantity: 2 - Data Format: Float \u6279\u91cf\u8bfb\u53d6\u914d\u7f6e \u00b6 Setup \u2192 Read/Write Definition \u2192 Add Multiple \u521b\u5efa\u591a\u4e2a\u8bfb\u53d6\u7ec4\uff1a - \u7ec41\uff1a\u6e29\u5ea6\u76f8\u5173\u53c2\u6570 (0x0017-0x0018) - \u7ec42\uff1a\u538b\u529b\u76f8\u5173\u53c2\u6570 (0x0019-0x001A) - \u7ec43\uff1a\u6db2\u4f4d\u76f8\u5173\u53c2\u6570 (0x001B-0x001C) - \u7ec44\uff1aPH\u503c\u53c2\u6570 (0x001D) - \u7ec45\uff1a\u72b6\u6001\u76f8\u5173\u53c2\u6570 (0x0001-0x0010) \u6570\u636e\u76d1\u63a7\u4e0e\u5206\u6790 \u00b6 \u6570\u636e\u663e\u793a\u683c\u5f0f \u00b6 Display \u2192 Data Format \u9009\u62e9\u5408\u9002\u7684\u663e\u793a\u683c\u5f0f\uff1a Signed/Unsigned : \u6709\u7b26\u53f7/\u65e0\u7b26\u53f7 16-bit/32-bit : \u6570\u636e\u4f4d\u6570 Hex/Decimal/Binary : \u8fdb\u5236\u663e\u793a Float : \u6d6e\u70b9\u6570\u663e\u793a \u5b57\u8282\u5e8f\u914d\u7f6e\u8be6\u89e3 \u00b6 \u91cd\u8981 \uff1a\u6b63\u786e\u7684\u5b57\u8282\u5e8f\u8bbe\u7f6e\u662f\u6570\u636e\u6b63\u786e\u663e\u793a\u7684\u5173\u952e \u914d\u7f6e\u6b65\u9aa4 \uff1a 1. Display \u2192 Data Format \u2192 Advanced 2. \u5b57\u8282\u5e8f\u9009\u9879 \uff1a ``` \u25a1 Byte Swap - \u5b57\u8282\u4ea4\u6362 \u25a1 Word Swap - \u5b57\u4ea4\u6362 \u56db\u79cd\u7ec4\u5408\u5bf9\u5e94\u4e0d\u540c\u5b57\u8282\u5e8f\uff1a \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 \u9009\u9879\u7ec4\u5408 \u2502 \u5b57\u8282\u5e8f \u2502 \u793a\u4f8b \u2502 \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502 \u65e0\u52fe\u9009 \u2502 ABCD \u2502 42 0C CC CD \u2502 \u2502 Byte Swap \u2502 BADC \u2502 0C 42 CD CC \u2502 \u2502 Word Swap \u2502 CDAB \u2502 CC CD 42 0C \u2502 \u2502 Both \u2502 DCBA \u2502 CD CC 0C 42 \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 ``` \u5b9e\u9645\u9a8c\u8bc1\u65b9\u6cd5 \uff1a \u57fa\u4e8e\u60a8\u7684\u901a\u4fe1\u6570\u636e CD CC 0C 42\uff1a 1. \u5c1d\u8bd5DCBA\u683c\u5f0f\uff1aCD CC 0C 42 \u2192 35.2\u00b0C \u2713 2. \u5176\u4ed6\u683c\u5f0f\u90fd\u4f1a\u663e\u793a\u5f02\u5e38\u503c 3. \u56e0\u6b64\u60a8\u7684\u8bbe\u5907\u4f7f\u7528DCBA\u5b57\u8282\u5e8f \u914d\u7f6e\u5efa\u8bae \uff1a - \u6c34\u5904\u7406\u8bbe\u5907\u901a\u5e38\u4f7f\u7528\u5927\u7aef\u5e8f(ABCD) - PC-based\u8bbe\u5907\u901a\u5e38\u4f7f\u7528\u5c0f\u7aef\u5e8f(DCBA) - \u6839\u636e\u5b9e\u9645\u6570\u636e\u9a8c\u8bc1\u9009\u62e9\u6b63\u786e\u683c\u5f0f \u5b9e\u65f6\u76d1\u63a7 \u00b6 View\u83dc\u5355\u9009\u9879\uff1a - Data View: \u6570\u636e\u8868\u683c\u89c6\u56fe - Register View: \u5bc4\u5b58\u5668\u89c6\u56fe - Traffic View: \u901a\u4fe1\u6d41\u91cf\u89c6\u56fe - Error View: \u9519\u8bef\u65e5\u5fd7\u89c6\u56fe \u6570\u636e\u8bb0\u5f55 \u00b6 Log \u2192 Start Logging \u8bbe\u7f6e\u65e5\u5fd7\u6587\u4ef6\u8def\u5f84\u548c\u683c\u5f0f \u9009\u62e9\u8bb0\u5f55\u95f4\u9694\u548c\u6761\u4ef6 \u5f00\u59cb\u8bb0\u5f55\u6570\u636e\u53d8\u5316 \u544a\u8b66\u8bbe\u7f6e \u00b6 Setup \u2192 Alarm Setup \u914d\u7f6e\u544a\u8b66\u6761\u4ef6\uff1a - \u6c34\u6e29\u8d85\u9650\uff1a> 40\u00b0C \u6216 < 35\u00b0C - \u4f9b\u6db2\u538b\u529b\u5f02\u5e38\uff1a< 0.1MPa \u6216 > 0.5MPa - \u7535\u5bfc\u7387\u5f02\u5e38\uff1a< 13.0 \u6216 > 15.0 mS/cm - \u8bbe\u5907\u79bb\u7ebf\uff1a\u901a\u4fe1\u8d85\u65f6 > 5\u79d2 \u6545\u969c\u6392\u9664 \u00b6 \u5e38\u89c1\u95ee\u9898\u53ca\u89e3\u51b3\u65b9\u6848 \u00b6 1. \u8fde\u63a5\u5931\u8d25 \u00b6 \u95ee\u9898\uff1a\u65e0\u6cd5\u8fde\u63a5\u5230\u8bbe\u5907 \u89e3\u51b3\u65b9\u6848\uff1a - \u68c0\u67e5\u4e32\u53e3/\u7f51\u7edc\u8fde\u63a5 - \u786e\u8ba4\u6ce2\u7279\u7387\u548c\u901a\u4fe1\u53c2\u6570 - \u68c0\u67e5\u8bbe\u5907\u5730\u5740\u662f\u5426\u6b63\u786e - \u9a8c\u8bc1\u7535\u7f06\u8fde\u63a5 2. \u6570\u636e\u8bfb\u53d6\u5f02\u5e38 \u00b6 \u95ee\u9898\uff1a\u8bfb\u53d6\u6570\u636e\u5168\u4e3a0\u6216\u5f02\u5e38\u503c \u89e3\u51b3\u65b9\u6848\uff1a - \u68c0\u67e5\u529f\u80fd\u7801\u662f\u5426\u6b63\u786e - \u786e\u8ba4\u5bc4\u5b58\u5668\u5730\u5740 - \u68c0\u67e5\u6570\u636e\u683c\u5f0f\u8bbe\u7f6e - \u9a8c\u8bc1\u8bbe\u5907\u662f\u5426\u652f\u6301\u8be5\u529f\u80fd 3. \u901a\u4fe1\u8d85\u65f6 \u00b6 \u95ee\u9898\uff1a\u9891\u7e41\u51fa\u73b0\u901a\u4fe1\u8d85\u65f6 \u89e3\u51b3\u65b9\u6848\uff1a - \u589e\u52a0Response Timeout\u65f6\u95f4 - \u51cf\u5c11\u626b\u63cf\u9891\u7387 - \u68c0\u67e5\u7f51\u7edc\u7a33\u5b9a\u6027 - \u786e\u8ba4\u8bbe\u5907\u8d1f\u8f7d\u60c5\u51b5 4. \u6570\u636e\u683c\u5f0f\u9519\u8bef \u00b6 \u95ee\u9898\uff1a\u6570\u636e\u663e\u793a\u683c\u5f0f\u4e0d\u6b63\u786e \u89e3\u51b3\u65b9\u6848\uff1a - \u68c0\u67e5\u5b57\u8282\u5e8f\u8bbe\u7f6e\uff08\u5927\u7aef/\u5c0f\u7aef\uff09 - \u786e\u8ba4\u6570\u636e\u7c7b\u578b\uff08\u6574\u6570/\u6d6e\u70b9\uff09 - \u8c03\u6574\u6570\u636e\u4f4d\u6570\u8bbe\u7f6e - \u53c2\u8003\u8bbe\u5907\u624b\u518c\u786e\u8ba4\u683c\u5f0f 5. \u5b57\u8282\u5e8f\u95ee\u9898\u8bca\u65ad \u00b6 \u95ee\u9898\uff1a\u6570\u636e\u6570\u503c\u5f02\u5e38\uff08\u8fc7\u5927\u6216\u8fc7\u5c0f\uff09 \u75c7\u72b6\uff1a - \u6e29\u5ea6\u663e\u793a\u51e0\u5343\u5ea6\u6216\u8d1f\u503c - \u538b\u529b\u663e\u793a\u5f02\u5e38\u5927\u7684\u6570\u503c - \u7535\u5bfc\u7387\u663e\u793a\u4e0d\u5408\u7406\u6570\u503c \u89e3\u51b3\u6b65\u9aa4\uff1a 1. \u67e5\u770bTraffic View\u4e2d\u7684\u539f\u59cb\u5341\u516d\u8fdb\u5236\u6570\u636e 2. \u5c1d\u8bd5\u4e0d\u540c\u5b57\u8282\u5e8f\u7ec4\u5408\uff1a - Display \u2192 Data Format \u2192 Byte Swap - Display \u2192 Data Format \u2192 Word Swap 3. \u9009\u62e9\u663e\u793a\u5408\u7406\u6570\u503c\u7684\u7ec4\u5408 4. \u9a8c\u8bc1\u591a\u4e2a\u53c2\u6570\u786e\u4fdd\u8bbe\u7f6e\u6b63\u786e \u5b9e\u4f8b\uff1a \u539f\u59cb\u6570\u636e\uff1aCD CC 0C 42 - \u9ed8\u8ba4(ABCD)\uff1a\u5f02\u5e38\u503c - Byte swap(BADC)\uff1a\u5f02\u5e38\u503c - Word swap(CDAB)\uff1a\u5f02\u5e38\u503c - Byte+Word(DCBA)\uff1a35.2\u00b0C \u2713\u6b63\u786e \u9ad8\u7ea7\u529f\u80fd \u00b6 1. \u811a\u672c\u81ea\u52a8\u5316 \u00b6 Tools \u2192 Scripting \u652f\u6301VB\u811a\u672c\u81ea\u52a8\u5316\uff1a - \u81ea\u52a8\u8fde\u63a5\u8bbe\u5907 - \u6279\u91cf\u6570\u636e\u5904\u7406 - \u6761\u4ef6\u89e6\u53d1\u64cd\u4f5c - \u62a5\u544a\u751f\u6210 2. \u6570\u636e\u5bfc\u51fa \u00b6 File \u2192 Export Data \u652f\u6301\u591a\u79cd\u683c\u5f0f\uff1a - CSV\u6587\u4ef6 - Excel\u6587\u4ef6 - XML\u683c\u5f0f - \u81ea\u5b9a\u4e49\u683c\u5f0f 3. \u591a\u8bbe\u5907\u76d1\u63a7 \u00b6 \u53ef\u540c\u65f6\u76d1\u63a7\u591a\u4e2a\u8bbe\u5907\uff1a 1. File \u2192 New Document 2. \u914d\u7f6e\u4e0d\u540c\u8bbe\u5907\u53c2\u6570 3. Window \u2192 Tile \u5e73\u94fa\u663e\u793a 4. \u5b9e\u73b0\u591a\u8bbe\u5907\u96c6\u4e2d\u76d1\u63a7 4. \u8d8b\u52bf\u5206\u6790 \u00b6 View \u2192 Trend View \u529f\u80fd\u7279\u6027\uff1a - \u5b9e\u65f6\u8d8b\u52bf\u56fe\u8868 - \u5386\u53f2\u6570\u636e\u56de\u653e - \u6570\u636e\u7edf\u8ba1\u5206\u6790 - \u5f02\u5e38\u70b9\u6807\u8bb0 \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u76d1\u63a7\u5b9e\u6218 \u00b6 \u5b8c\u6574\u76d1\u63a7\u914d\u7f6e \u00b6 # \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u76d1\u63a7\u914d\u7f6e\u793a\u4f8b \u8bbe\u5907\u4fe1\u606f : \u8bbe\u5907\u578b\u53f7 : \u6c34\u5904\u7406\u673a+\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907 \u901a\u4fe1\u65b9\u5f0f : Modbus RTU/TCP \u6ce2\u7279\u7387 : 9600 \u4ece\u7ad9\u5730\u5740 : 1 \u76d1\u63a7\u53c2\u6570 : \u6e29\u5ea6\u76d1\u63a7 : \u5730\u5740 : 0x0017 \u5355\u4f4d : \u00b0C \u544a\u8b66 : 35-40\u00b0C \u7535\u5bfc\u7387\u76d1\u63a7 : \u5730\u5740 : 0x0018 \u5355\u4f4d : mS/cm \u544a\u8b66 : 13.0-15.0 \u538b\u529b\u76d1\u63a7 : \u4f9b\u6db2\u4e00 : 0x0019 \u4f9b\u6db2\u4e8c : 0x001A \u5355\u4f4d : MPa \u544a\u8b66 : 0.1-0.5 \u6db2\u4f4d\u76d1\u63a7 : \u50a8\u6db2 : 0x001B \u914d\u6db2 : 0x001C \u5355\u4f4d : % \u544a\u8b66 : 10-90% PH\u503c\u76d1\u63a7 : \u5730\u5740 : 0x001D \u5355\u4f4d : pH \u544a\u8b66 : 6.5-7.5 \u626b\u63cf\u8bbe\u7f6e : \u6b63\u5e38\u626b\u63cf : 1000ms \u5feb\u901f\u626b\u63cf : 500ms \u6162\u901f\u626b\u63cf : 2000ms \u901a\u4fe1\u534f\u8bae\u5206\u6790 : \u57fa\u4e8e\u5b9e\u9645\u901a\u4fe1\u6570\u636e : - \u4f7f\u7528Modbus TCP\u534f\u8bae - \u529f\u80fd\u780103 (Read Holding Registers) - \u8d77\u59cb\u5730\u5740 : 0x0017 (\u6e29\u5ea6) - \u6570\u636e\u683c\u5f0f : 32\u4f4d\u6d6e\u70b9\u6570 (IEEE 754) - \u5b57\u8282\u5e8f\u5206\u6790 : * \u539f\u59cb\u6570\u636e : CD CC 0C 42 * \u9700\u8981DCBA\u5b57\u8282\u5e8f (Byte+Word Swap) * \u89e3\u6790\u7ed3\u679c : 35.2\u00b0C - \u6570\u636e\u793a\u4f8b\u9a8c\u8bc1 : * CD CC 0C 42 (\u5341\u516d\u8fdb\u5236) * \u2192 0x420CCCCD (\u91cd\u6392\u540e) * \u2192 35.2000008 (IEEE 754\u6d6e\u70b9\u6570) * \u2192 35.2\u00b0C (\u663e\u793a\u503c) \u914d\u7f6e\u8981\u70b9 : - ModbusPoll\u8bbe\u7f6e : Display \u2192 Data Format - \u52fe\u9009 : Byte Swap + Word Swap - \u6570\u636e\u7c7b\u578b : 32-bit Float - \u9a8c\u8bc1\u65b9\u6cd5 : \u89c2\u5bdf\u6e29\u5ea6\u662f\u5426\u5728\u5408\u7406\u8303\u56f4(30-50\u00b0C) \u81ea\u52a8\u5316\u811a\u672c\u793a\u4f8b \u00b6 ' \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u72b6\u6001\u68c0\u67e5\u811a\u672c Sub CheckWaterTreatmentStatus () Dim temp , pressure1 , pressure2 , conductivity , ph ' \u8bfb\u53d6\u6e29\u5ea6 (\u5730\u574023) temp = mbPoll . ReadFloat ( 1 , 3 , 23 ) ' \u8bfb\u53d6\u538b\u529b (\u5730\u574025,26) pressure1 = mbPoll . ReadFloat ( 1 , 3 , 25 ) pressure2 = mbPoll . ReadFloat ( 1 , 3 , 26 ) ' \u8bfb\u53d6\u7535\u5bfc\u7387 (\u5730\u574024) conductivity = mbPoll . ReadFloat ( 1 , 3 , 24 ) ' \u8bfb\u53d6PH\u503c (\u5730\u574029) ph = mbPoll . ReadFloat ( 1 , 3 , 29 ) ' \u68c0\u67e5\u5f02\u5e38 If temp > 40 Or temp < 35 Then MsgBox \"\u6c34\u6e29\u5f02\u5e38: \" & temp & \"\u00b0C\" End If If pressure1 < 0.1 Or pressure1 > 0.5 Then MsgBox \"\u4f9b\u6db2\u4e00\u538b\u529b\u5f02\u5e38: \" & pressure1 & \"MPa\" End If If conductivity < 13.0 Or conductivity > 15.0 Then MsgBox \"\u7535\u5bfc\u7387\u5f02\u5e38: \" & conductivity & \"mS/cm\" End If If ph < 6.5 Or ph > 7.5 Then MsgBox \"PH\u503c\u5f02\u5e38: \" & ph End If End Sub \u6700\u4f73\u5b9e\u8df5\u5efa\u8bae \u00b6 1. \u6027\u80fd\u4f18\u5316 \u00b6 \u5408\u7406\u8bbe\u7f6e\u626b\u63cf\u9891\u7387\uff0c\u907f\u514d\u8fc7\u5ea6\u8f6e\u8be2 \u4f7f\u7528\u6279\u91cf\u8bfb\u53d6\u51cf\u5c11\u901a\u4fe1\u6b21\u6570 \u5b9a\u671f\u6e05\u7406\u65e5\u5fd7\u6587\u4ef6 \u76d1\u63a7\u7cfb\u7edf\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5 2. \u6570\u636e\u7ba1\u7406 \u00b6 \u5efa\u7acb\u89c4\u8303\u7684\u53c2\u6570\u547d\u540d\u89c4\u5219 \u5b9a\u671f\u5907\u4efd\u91cd\u8981\u914d\u7f6e \u8bbe\u7f6e\u5408\u7406\u7684\u6570\u636e\u4fdd\u5b58\u5468\u671f \u5b9e\u65bd\u6570\u636e\u5b89\u5168\u63aa\u65bd 3. \u7ef4\u62a4\u5efa\u8bae \u00b6 \u5b9a\u671f\u68c0\u67e5\u901a\u4fe1\u7ebf\u8def \u66f4\u65b0\u8bbe\u5907\u9a71\u52a8\u7a0b\u5e8f \u5907\u4efd\u5de5\u7a0b\u914d\u7f6e\u6587\u4ef6 \u5efa\u7acb\u6545\u969c\u5904\u7406\u6d41\u7a0b \u9644\u5f55 \u00b6 A. Modbus\u529f\u80fd\u7801\u5bf9\u7167\u8868 \u00b6 01 - Read Coils (\u8bfb\u53d6\u7ebf\u5708\u72b6\u6001) 02 - Read Discrete Inputs (\u8bfb\u53d6\u79bb\u6563\u8f93\u5165) 03 - Read Holding Registers (\u8bfb\u53d6\u4fdd\u6301\u5bc4\u5b58\u5668) 04 - Read Input Registers (\u8bfb\u53d6\u8f93\u5165\u5bc4\u5b58\u5668) 05 - Write Single Coil (\u5199\u5355\u4e2a\u7ebf\u5708) 06 - Write Single Register (\u5199\u5355\u4e2a\u5bc4\u5b58\u5668) 15 - Write Multiple Coils (\u5199\u591a\u4e2a\u7ebf\u5708) 16 - Write Multiple Registers (\u5199\u591a\u4e2a\u5bc4\u5b58\u5668) B. \u5e38\u7528\u6ce2\u7279\u7387\u8bbe\u7f6e \u00b6 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 C. \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u5e38\u7528\u5730\u5740\u6620\u5c04 \u00b6 \u57fa\u4e8e\u5b9e\u9645\u901a\u4fe1\u6570\u636e\u7684\u5730\u5740\u6620\u5c04\uff1a \u6e29\u5ea6\uff1a0x0017 (\u5341\u8fdb\u523623) \u7535\u5bfc\u7387\uff1a0x0018 (\u5341\u8fdb\u523624) \u4f9b\u6db2\u4e00\u538b\u529b\uff1a0x0019 (\u5341\u8fdb\u523625) \u4f9b\u6db2\u4e8c\u538b\u529b\uff1a0x001A (\u5341\u8fdb\u523626) \u50a8\u6db2\u6db2\u4f4d\uff1a0x001B (\u5341\u8fdb\u523627) \u914d\u6db2\u6db2\u4f4d\uff1a0x001C (\u5341\u8fdb\u523628) PH\u503c\uff1a0x001D (\u5341\u8fdb\u523629) \u72b6\u6001\u7c7b\uff1a0x0001-0x0010 \u63a7\u5236\u7c7b\uff1a0x0020-0x0030 D. \u5927\u7aef\u5c0f\u7aef\uff08\u5b57\u8282\u5e8f\uff09\u8be6\u89e3 \u00b6 \u4ec0\u4e48\u662f\u5927\u7aef\u5c0f\u7aef\uff1f \u00b6 \u5b57\u8282\u5e8f\uff08Byte Order\uff09\u662f\u6307\u591a\u5b57\u8282\u6570\u636e\u5728\u5185\u5b58\u4e2d\u7684\u5b58\u50a8\u987a\u5e8f\uff0c\u4e3b\u8981\u6709\u4e24\u79cd\uff1a \u5927\u7aef\u5e8f\uff08Big Endian\uff09 \uff1a - \u9ad8\u4f4d\u5b57\u8282\u5b58\u50a8\u5728\u4f4e\u5730\u5740 - \u7b26\u5408\u4eba\u7c7b\u9605\u8bfb\u4e60\u60ef - \u7f51\u7edc\u4f20\u8f93\u6807\u51c6\u5b57\u8282\u5e8f \u5c0f\u7aef\u5e8f\uff08Little Endian\uff09 \uff1a - \u4f4e\u4f4d\u5b57\u8282\u5b58\u50a8\u5728\u4f4e\u5730\u5740 - \u591a\u6570x86\u5904\u7406\u5668\u91c7\u7528 - Intel\u67b6\u6784\u9ed8\u8ba4\u5b57\u8282\u5e8f \u5b9e\u9645\u4f8b\u5b50\u8bf4\u660e \u00b6 \u4ee532\u4f4d\u6d6e\u70b9\u6570 35.2\u00b0C \u4e3a\u4f8b\uff1a IEEE 754 \u6d6e\u70b9\u6570\u8868\u793a\uff1a0x420C_CCCD \u5927\u7aef\u5e8f\u5b58\u50a8\uff1a \u5730\u5740 \u5185\u5bb9 0x1000 0x42 (\u6700\u9ad8\u4f4d\u5b57\u8282) 0x1001 0x0C 0x1002 0xCC 0x1003 0xCD (\u6700\u4f4e\u4f4d\u5b57\u8282) \u5c0f\u7aef\u5e8f\u5b58\u50a8\uff1a \u5730\u5740 \u5185\u5bb9 0x1000 0xCD (\u6700\u4f4e\u4f4d\u5b57\u8282) 0x1001 0xCC 0x1002 0x0C 0x1003 0x42 (\u6700\u9ad8\u4f4d\u5b57\u8282) \u5982\u4f55\u786e\u5b9a\u8bbe\u5907\u5b57\u8282\u5e8f\uff1f \u00b6 \u65b9\u6cd51\uff1a\u901a\u8fc7\u901a\u4fe1\u6570\u636e\u5206\u6790 \u4ececommdata.txt\u770b\u5230\u7684\u6570\u636e\uff1aCD CC 0C 42 1. \u5c06\u8fd94\u4e2a\u5b57\u8282\u6309\u4e0d\u540c\u5b57\u8282\u5e8f\u89e3\u91ca\uff1a - \u5927\u7aef\u5e8f\uff1a0x42_0C_CCCD = 35.2 (\u5408\u7406\u7684\u6e29\u5ea6\u503c) - \u5c0f\u7aef\u5e8f\uff1a0xCDCC_0C42 = \u975e\u5e38\u5927\u7684\u6570\u503c(\u4e0d\u5408\u7406) 2. \u7ed3\u8bba\uff1a\u8bbe\u5907\u4f7f\u7528\u5927\u7aef\u5e8f \u65b9\u6cd52\uff1a\u67e5\u770b\u8bbe\u5907\u624b\u518c \u8bbe\u5907\u6280\u672f\u6587\u6863\u901a\u5e38\u4f1a\u8bf4\u660e\uff1a - \"\u7f51\u7edc\u5b57\u8282\u5e8f\" = \u5927\u7aef\u5e8f - \"\u4e3b\u673a\u5b57\u8282\u5e8f\" = \u901a\u5e38\u662f\u5c0f\u7aef\u5e8f - \"Intel\u683c\u5f0f\" = \u5c0f\u7aef\u5e8f - \"Motorola\u683c\u5f0f\" = \u5927\u7aef\u5e8f \u65b9\u6cd53\uff1aModbusPoll\u4e2d\u7684\u9a8c\u8bc1 \u5728ModbusPoll\u4e2d\u6d4b\u8bd5\uff1a 1. Setup \u2192 Data Format \u2192 Byte Swap 2. \u89c2\u5bdf\u6570\u636e\u662f\u5426\u5408\u7406\uff1a - \u6e29\u5ea6\u5e94\u8be5\u57280-100\u00b0C\u8303\u56f4 - \u538b\u529b\u5e94\u8be5\u57280-10MPa\u8303\u56f4 - \u7535\u5bfc\u7387\u5e94\u8be5\u572810-20mS/cm\u8303\u56f4 3. \u9009\u62e9\u663e\u793a\u6b63\u786e\u6570\u503c\u7684\u5b57\u8282\u5e8f ModbusPoll\u5b57\u8282\u5e8f\u8bbe\u7f6e \u00b6 \u914d\u7f6e\u8def\u5f84 \uff1aDisplay \u2192 Data Format \u9009\u9879\u8bf4\u660e \uff1a \u25a1 Byte swap - \u4ea4\u6362\u5b57\u8282\u5e8f \u25a1 Word swap - \u4ea4\u6362\u5b57\u987a\u5e8f \u25a1 Dword swap - \u4ea4\u6362\u53cc\u5b57\u987a\u5e8f \u7ec4\u5408\u8bbe\u7f6e\u5bf9\u5e94\u4e0d\u540c\u683c\u5f0f\uff1a - \u65e0\u52fe\u9009\uff1aABCD (\u5927\u7aef\u5e8f) - Byte swap\uff1aBADC - Word swap\uff1aCDAB - Byte+Word swap\uff1aDCBA (\u5c0f\u7aef\u5e8f) \u5b9e\u9645\u5e94\u7528\u793a\u4f8b \u00b6 \u6848\u4f8b1\uff1a\u6e29\u5ea6\u8bfb\u53d6\u5f02\u5e38 \u95ee\u9898\uff1a\u8bfb\u53d6\u6e29\u5ea6\u663e\u793a\u4e3a\u51e0\u5343\u5ea6 \u539f\u56e0\uff1a\u5b57\u8282\u5e8f\u8bbe\u7f6e\u9519\u8bef \u89e3\u51b3\uff1a\u52fe\u9009\"Byte swap\"\u8c03\u6574\u5b57\u8282\u5e8f \u6848\u4f8b2\uff1a\u538b\u529b\u503c\u663e\u793a\u5f02\u5e38 \u8bfb\u53d6\u6570\u636e\uff1a12 34 56 78 \u5927\u7aef\u5e8f\u89e3\u91ca\uff1a0x12345678 = 305,419,896 (\u5f02\u5e38) \u5c0f\u7aef\u5e8f\u89e3\u91ca\uff1a0x78563412 = 2,018,915,346 (\u5f02\u5e38) \u9700\u8981Word swap\uff1a0x34127856 = 873,756,758 (\u4ecd\u5f02\u5e38) \u6b63\u786e\u8bbe\u7f6e\uff1aByte+Word swap = 0x78563412\u8f6c\u6362\u4e3a\u6d6e\u70b9\u6570 \u8c03\u8bd5\u6280\u5de7 \u00b6 \u6b65\u9aa41\uff1a\u8bb0\u5f55\u539f\u59cb\u6570\u636e \u4f7f\u7528Traffic View\u67e5\u770b\u539f\u59cb\u5341\u516d\u8fdb\u5236\u6570\u636e \u4f8b\u5982\uff1a42 0C CC CD \u6b65\u9aa42\uff1a\u624b\u52a8\u8ba1\u7b97\u9a8c\u8bc1 \u4f7f\u7528\u5728\u7ebfIEEE 754\u8f6c\u6362\u5668\uff1a - \u8f93\u5165\uff1a420CCCCD - \u8f93\u51fa\uff1a35.2000008... - \u9a8c\u8bc1\u662f\u5426\u4e3a\u5408\u7406\u6570\u503c \u6b65\u9aa43\uff1aModbusPoll\u4e2d\u6d4b\u8bd5 \u4f9d\u6b21\u5c1d\u8bd5\u56db\u79cd\u5b57\u8282\u5e8f\u7ec4\u5408\uff1a 1. ABCD - \u539f\u59cb\u987a\u5e8f 2. BADC - Byte swap 3. CDAB - Word swap 4. DCBA - Byte+Word swap \u9009\u62e9\u663e\u793a\u5408\u7406\u6570\u503c\u7684\u8bbe\u7f6e \u5e38\u89c1\u8bbe\u5907\u5b57\u8282\u5e8f \u00b6 \u5927\u7aef\u5e8f\u8bbe\u5907\uff1a - \u65bd\u8010\u5fb7PLC - \u897f\u95e8\u5b50S7\u7cfb\u5217 - ABB\u8bbe\u5907 - \u5927\u591a\u6570\u7f51\u7edc\u8bbe\u5907 \u5c0f\u7aef\u5e8f\u8bbe\u5907\uff1a - \u4e09\u83f1PLC - \u6b27\u59c6\u9f99PLC - PC-based\u63a7\u5236\u5668 - Intel\u67b6\u6784\u8bbe\u5907 \u672c\u6559\u7a0b\u57fa\u4e8eModbusPoll v7.0.0\u7248\u672c\u7f16\u5199\uff0c\u9002\u7528\u4e8e\u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u53c2\u6570\u76d1\u63a7\u7cfb\u7edf\u3002\u5982\u6709\u95ee\u9898\u8bf7\u53c2\u8003\u5b98\u65b9\u6587\u6863\u6216\u8054\u7cfb\u6280\u672f\u652f\u6301\u3002","title":"ModbusPoll-v7.0.0\u4f7f\u7528\u6559\u7a0b"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#modbuspoll-v700","text":"","title":"ModbusPoll v7.0.0 \u4f7f\u7528\u6559\u7a0b"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_1","text":"\u8f6f\u4ef6\u4ecb\u7ecd \u5b89\u88c5\u4e0e\u542f\u52a8 \u57fa\u672c\u914d\u7f6e \u8fde\u63a5\u8bbe\u7f6e \u6570\u636e\u8bfb\u53d6\u914d\u7f6e \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u901a\u4fe1\u5b9e\u4f8b \u6570\u636e\u76d1\u63a7\u4e0e\u5206\u6790 \u6545\u969c\u6392\u9664 \u9ad8\u7ea7\u529f\u80fd","title":"\u76ee\u5f55"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_2","text":"ModbusPoll\u662f\u4e00\u6b3e\u4e13\u4e1a\u7684Modbus\u4e3b\u673a\u4eff\u771f\u5668\u5de5\u5177\uff0c\u4e3b\u8981\u7528\u4e8e\uff1a - \u6d4b\u8bd5\u548c\u8c03\u8bd5Modbus\u4ece\u8bbe\u5907 - \u76d1\u63a7Modbus\u8bbe\u5907\u6570\u636e - \u9a8c\u8bc1\u8bbe\u5907\u901a\u4fe1\u534f\u8bae - \u6545\u969c\u8bca\u65ad\u548c\u6392\u9664","title":"\u8f6f\u4ef6\u4ecb\u7ecd"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_3","text":"\u652f\u6301Modbus RTU/ASCII/TCP\u534f\u8bae \u5b9e\u65f6\u6570\u636e\u76d1\u63a7 \u591a\u79cd\u6570\u636e\u683c\u5f0f\u663e\u793a \u65e5\u5fd7\u8bb0\u5f55\u529f\u80fd \u6279\u91cf\u8bfb\u53d6\u529f\u80fd","title":"\u4e3b\u8981\u7279\u6027"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_4","text":"","title":"\u5b89\u88c5\u4e0e\u542f\u52a8"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_5","text":"Windows 7/8/10/11 .NET Framework 4.0 \u6216\u66f4\u9ad8\u7248\u672c \u81f3\u5c1150MB\u53ef\u7528\u78c1\u76d8\u7a7a\u95f4","title":"\u7cfb\u7edf\u8981\u6c42"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_6","text":"\u4e0b\u8f7dModbusPoll-v7.0.0\u5b89\u88c5\u5305 \u53f3\u952e\u70b9\u51fb\u5b89\u88c5\u5305\uff0c\u9009\u62e9\"\u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884c\" \u6309\u7167\u5b89\u88c5\u5411\u5bfc\u5b8c\u6210\u5b89\u88c5 \u542f\u52a8\u7a0b\u5e8f\uff1a\u5f00\u59cb\u83dc\u5355 \u2192 ModbusPoll","title":"\u5b89\u88c5\u6b65\u9aa4"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_7","text":"\u542f\u52a8\u540e\u4f1a\u663e\u793a\u4e3b\u754c\u9762\uff0c\u5305\u542b\uff1a - \u83dc\u5355\u680f\uff1a\u6587\u4ef6\u3001\u8fde\u63a5\u3001\u8bbe\u7f6e\u7b49 - \u5de5\u5177\u680f\uff1a\u5e38\u7528\u529f\u80fd\u5feb\u6377\u6309\u94ae - \u6570\u636e\u663e\u793a\u533a\u57df\uff1a\u5bc4\u5b58\u5668\u6570\u636e\u8868\u683c - \u72b6\u6001\u680f\uff1a\u8fde\u63a5\u72b6\u6001\u548c\u7edf\u8ba1\u4fe1\u606f","title":"\u9996\u6b21\u542f\u52a8"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_8","text":"","title":"\u57fa\u672c\u914d\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_9","text":"\u4e32\u53e3\u8fde\u63a5\uff08RTU/ASCII\uff09 Connection \u2192 Connect \u6216\u70b9\u51fb\u5de5\u5177\u680f\u8fde\u63a5\u56fe\u6807 \u8fde\u63a5\u53c2\u6570\u914d\u7f6e Port : \u9009\u62e9\u4e32\u53e3\uff08COM1, COM2\u7b49\uff09 Baud Rate : \u6ce2\u7279\u7387\uff08\u5e38\u75289600, 19200, 38400\uff09 Data Bits : \u6570\u636e\u4f4d\uff08\u901a\u5e38\u4e3a8\uff09 Parity : \u6821\u9a8c\u4f4d\uff08None, Even, Odd\uff09 Stop Bits : \u505c\u6b62\u4f4d\uff081\u62162\uff09 Mode : \u9009\u62e9RTU\u6216ASCII TCP\u8fde\u63a5\u8bbe\u7f6e IP Address : \u8bbe\u5907IP\u5730\u5740 Port : \u7aef\u53e3\u53f7\uff08\u9ed8\u8ba4502\uff09 Unit ID : \u4ece\u7ad9\u5730\u5740","title":"\u8fde\u63a5\u8bbe\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_10","text":"","title":"\u8fde\u63a5\u8bbe\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_11","text":"\u4ee5\u6c34\u5904\u7406\u673a\u4e3a\u4f8b\uff1a - Port: COM1 - Baud Rate: 9600 - Data Bits: 8 - Parity: None - Stop Bits: 1 - Mode: RTU - Response timeout: 1000ms - Delay between polls: 100ms","title":"\u4e32\u53e3\u8fde\u63a5\u793a\u4f8b"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#tcp","text":"\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u7f51\u7edc\u8fde\u63a5\uff1a - IP Address: 192.168.1.100 - Port: 502 - Unit ID: 1 - Response timeout: 3000ms - Delay between polls: 500ms","title":"TCP\u8fde\u63a5\u793a\u4f8b"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_12","text":"","title":"\u6570\u636e\u8bfb\u53d6\u914d\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_13","text":"Setup \u2192 Read/Write Definition \u914d\u7f6e\u8bfb\u53d6\u53c2\u6570\uff1a Slave ID : \u4ece\u7ad9\u5730\u5740\uff081-247\uff09 Function : \u529f\u80fd\u7801 01: \u8bfb\u53d6\u7ebf\u5708\u72b6\u6001 02: \u8bfb\u53d6\u8f93\u5165\u72b6\u6001 03: \u8bfb\u53d6\u4fdd\u6301\u5bc4\u5b58\u5668 04: \u8bfb\u53d6\u8f93\u5165\u5bc4\u5b58\u5668 Address : \u8d77\u59cb\u5730\u5740 Quantity : \u8bfb\u53d6\u6570\u91cf Scan Rate : \u626b\u63cf\u9891\u7387\uff08ms\uff09","title":"\u8bbe\u7f6e\u8bfb\u53d6\u53c2\u6570"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_14","text":"\u6e29\u5ea6\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 03 (Read Holding Registers) - Address: 23 (0x0017) - Quantity: 2 - Scan Rate: 1000ms \u4f9b\u6db2\u538b\u529b\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 03 - Address: 25 (0x0019) - Quantity: 2 - Scan Rate: 500ms \u6db2\u4f4d\u72b6\u6001\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 01 (Read Coils) - Address: 0x0001 - Quantity: 16 - Scan Rate: 2000ms \u7535\u5bfc\u7387\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 03 - Address: 24 (0x0018) - Quantity: 2 - Scan Rate: 1000ms PH\u503c\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 03 - Address: 29 (0x001D) - Quantity: 2 - Scan Rate: 1000ms","title":"\u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u53c2\u6570\u914d\u7f6e\u793a\u4f8b"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_15","text":"","title":"\u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u901a\u4fe1\u5b9e\u4f8b"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_16","text":"\u6839\u636e\u6c34\u5904\u7406\u8bbe\u5907\u901a\u4fe1\u534f\u8bae\u914d\u7f6e\uff1a 1. \u6e29\u5ea6\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x0017\uff09 - Function: 03 - Address: 23 (0x0017) - Quantity: 2 - Data Format: Float (4\u5b57\u8282) 2. \u7535\u5bfc\u7387\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x0018\uff09 - Function: 03 - Address: 24 (0x0018) - Quantity: 2 - Data Format: Float 3. \u4f9b\u6db2\u538b\u529b\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x0019-0x001A\uff09 - Function: 03 - Address: 25 (0x0019) - Quantity: 4 - Data Format: Float (\u4f9b\u6db2\u4e00\u3001\u4f9b\u6db2\u4e8c\u538b\u529b) 4. \u6db2\u4f4d\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x001B-0x001C\uff09 - Function: 03 - Address: 27 (0x001B) - Quantity: 4 - Data Format: Float (\u50a8\u6db2\u3001\u914d\u6db2\u6db2\u4f4d) 5. PH\u503c\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x001D\uff09 - Function: 03 - Address: 29 (0x001D) - Quantity: 2 - Data Format: Float","title":"\u6c34\u5904\u7406\u673a\u53c2\u6570\u8bfb\u53d6"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_17","text":"Setup \u2192 Read/Write Definition \u2192 Add Multiple \u521b\u5efa\u591a\u4e2a\u8bfb\u53d6\u7ec4\uff1a - \u7ec41\uff1a\u6e29\u5ea6\u76f8\u5173\u53c2\u6570 (0x0017-0x0018) - \u7ec42\uff1a\u538b\u529b\u76f8\u5173\u53c2\u6570 (0x0019-0x001A) - \u7ec43\uff1a\u6db2\u4f4d\u76f8\u5173\u53c2\u6570 (0x001B-0x001C) - \u7ec44\uff1aPH\u503c\u53c2\u6570 (0x001D) - \u7ec45\uff1a\u72b6\u6001\u76f8\u5173\u53c2\u6570 (0x0001-0x0010)","title":"\u6279\u91cf\u8bfb\u53d6\u914d\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_18","text":"","title":"\u6570\u636e\u76d1\u63a7\u4e0e\u5206\u6790"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_19","text":"Display \u2192 Data Format \u9009\u62e9\u5408\u9002\u7684\u663e\u793a\u683c\u5f0f\uff1a Signed/Unsigned : \u6709\u7b26\u53f7/\u65e0\u7b26\u53f7 16-bit/32-bit : \u6570\u636e\u4f4d\u6570 Hex/Decimal/Binary : \u8fdb\u5236\u663e\u793a Float : \u6d6e\u70b9\u6570\u663e\u793a","title":"\u6570\u636e\u663e\u793a\u683c\u5f0f"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_20","text":"\u91cd\u8981 \uff1a\u6b63\u786e\u7684\u5b57\u8282\u5e8f\u8bbe\u7f6e\u662f\u6570\u636e\u6b63\u786e\u663e\u793a\u7684\u5173\u952e \u914d\u7f6e\u6b65\u9aa4 \uff1a 1. Display \u2192 Data Format \u2192 Advanced 2. \u5b57\u8282\u5e8f\u9009\u9879 \uff1a ``` \u25a1 Byte Swap - \u5b57\u8282\u4ea4\u6362 \u25a1 Word Swap - \u5b57\u4ea4\u6362 \u56db\u79cd\u7ec4\u5408\u5bf9\u5e94\u4e0d\u540c\u5b57\u8282\u5e8f\uff1a \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 \u9009\u9879\u7ec4\u5408 \u2502 \u5b57\u8282\u5e8f \u2502 \u793a\u4f8b \u2502 \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502 \u65e0\u52fe\u9009 \u2502 ABCD \u2502 42 0C CC CD \u2502 \u2502 Byte Swap \u2502 BADC \u2502 0C 42 CD CC \u2502 \u2502 Word Swap \u2502 CDAB \u2502 CC CD 42 0C \u2502 \u2502 Both \u2502 DCBA \u2502 CD CC 0C 42 \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 ``` \u5b9e\u9645\u9a8c\u8bc1\u65b9\u6cd5 \uff1a \u57fa\u4e8e\u60a8\u7684\u901a\u4fe1\u6570\u636e CD CC 0C 42\uff1a 1. \u5c1d\u8bd5DCBA\u683c\u5f0f\uff1aCD CC 0C 42 \u2192 35.2\u00b0C \u2713 2. \u5176\u4ed6\u683c\u5f0f\u90fd\u4f1a\u663e\u793a\u5f02\u5e38\u503c 3. \u56e0\u6b64\u60a8\u7684\u8bbe\u5907\u4f7f\u7528DCBA\u5b57\u8282\u5e8f \u914d\u7f6e\u5efa\u8bae \uff1a - \u6c34\u5904\u7406\u8bbe\u5907\u901a\u5e38\u4f7f\u7528\u5927\u7aef\u5e8f(ABCD) - PC-based\u8bbe\u5907\u901a\u5e38\u4f7f\u7528\u5c0f\u7aef\u5e8f(DCBA) - \u6839\u636e\u5b9e\u9645\u6570\u636e\u9a8c\u8bc1\u9009\u62e9\u6b63\u786e\u683c\u5f0f","title":"\u5b57\u8282\u5e8f\u914d\u7f6e\u8be6\u89e3"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_21","text":"View\u83dc\u5355\u9009\u9879\uff1a - Data View: \u6570\u636e\u8868\u683c\u89c6\u56fe - Register View: \u5bc4\u5b58\u5668\u89c6\u56fe - Traffic View: \u901a\u4fe1\u6d41\u91cf\u89c6\u56fe - Error View: \u9519\u8bef\u65e5\u5fd7\u89c6\u56fe","title":"\u5b9e\u65f6\u76d1\u63a7"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_22","text":"Log \u2192 Start Logging \u8bbe\u7f6e\u65e5\u5fd7\u6587\u4ef6\u8def\u5f84\u548c\u683c\u5f0f \u9009\u62e9\u8bb0\u5f55\u95f4\u9694\u548c\u6761\u4ef6 \u5f00\u59cb\u8bb0\u5f55\u6570\u636e\u53d8\u5316","title":"\u6570\u636e\u8bb0\u5f55"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_23","text":"Setup \u2192 Alarm Setup \u914d\u7f6e\u544a\u8b66\u6761\u4ef6\uff1a - \u6c34\u6e29\u8d85\u9650\uff1a> 40\u00b0C \u6216 < 35\u00b0C - \u4f9b\u6db2\u538b\u529b\u5f02\u5e38\uff1a< 0.1MPa \u6216 > 0.5MPa - \u7535\u5bfc\u7387\u5f02\u5e38\uff1a< 13.0 \u6216 > 15.0 mS/cm - \u8bbe\u5907\u79bb\u7ebf\uff1a\u901a\u4fe1\u8d85\u65f6 > 5\u79d2","title":"\u544a\u8b66\u8bbe\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_24","text":"","title":"\u6545\u969c\u6392\u9664"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_25","text":"","title":"\u5e38\u89c1\u95ee\u9898\u53ca\u89e3\u51b3\u65b9\u6848"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#1","text":"\u95ee\u9898\uff1a\u65e0\u6cd5\u8fde\u63a5\u5230\u8bbe\u5907 \u89e3\u51b3\u65b9\u6848\uff1a - \u68c0\u67e5\u4e32\u53e3/\u7f51\u7edc\u8fde\u63a5 - \u786e\u8ba4\u6ce2\u7279\u7387\u548c\u901a\u4fe1\u53c2\u6570 - \u68c0\u67e5\u8bbe\u5907\u5730\u5740\u662f\u5426\u6b63\u786e - \u9a8c\u8bc1\u7535\u7f06\u8fde\u63a5","title":"1. \u8fde\u63a5\u5931\u8d25"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#2","text":"\u95ee\u9898\uff1a\u8bfb\u53d6\u6570\u636e\u5168\u4e3a0\u6216\u5f02\u5e38\u503c \u89e3\u51b3\u65b9\u6848\uff1a - \u68c0\u67e5\u529f\u80fd\u7801\u662f\u5426\u6b63\u786e - \u786e\u8ba4\u5bc4\u5b58\u5668\u5730\u5740 - \u68c0\u67e5\u6570\u636e\u683c\u5f0f\u8bbe\u7f6e - \u9a8c\u8bc1\u8bbe\u5907\u662f\u5426\u652f\u6301\u8be5\u529f\u80fd","title":"2. \u6570\u636e\u8bfb\u53d6\u5f02\u5e38"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#3","text":"\u95ee\u9898\uff1a\u9891\u7e41\u51fa\u73b0\u901a\u4fe1\u8d85\u65f6 \u89e3\u51b3\u65b9\u6848\uff1a - \u589e\u52a0Response Timeout\u65f6\u95f4 - \u51cf\u5c11\u626b\u63cf\u9891\u7387 - \u68c0\u67e5\u7f51\u7edc\u7a33\u5b9a\u6027 - \u786e\u8ba4\u8bbe\u5907\u8d1f\u8f7d\u60c5\u51b5","title":"3. \u901a\u4fe1\u8d85\u65f6"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#4","text":"\u95ee\u9898\uff1a\u6570\u636e\u663e\u793a\u683c\u5f0f\u4e0d\u6b63\u786e \u89e3\u51b3\u65b9\u6848\uff1a - \u68c0\u67e5\u5b57\u8282\u5e8f\u8bbe\u7f6e\uff08\u5927\u7aef/\u5c0f\u7aef\uff09 - \u786e\u8ba4\u6570\u636e\u7c7b\u578b\uff08\u6574\u6570/\u6d6e\u70b9\uff09 - \u8c03\u6574\u6570\u636e\u4f4d\u6570\u8bbe\u7f6e - \u53c2\u8003\u8bbe\u5907\u624b\u518c\u786e\u8ba4\u683c\u5f0f","title":"4. \u6570\u636e\u683c\u5f0f\u9519\u8bef"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#5","text":"\u95ee\u9898\uff1a\u6570\u636e\u6570\u503c\u5f02\u5e38\uff08\u8fc7\u5927\u6216\u8fc7\u5c0f\uff09 \u75c7\u72b6\uff1a - \u6e29\u5ea6\u663e\u793a\u51e0\u5343\u5ea6\u6216\u8d1f\u503c - \u538b\u529b\u663e\u793a\u5f02\u5e38\u5927\u7684\u6570\u503c - \u7535\u5bfc\u7387\u663e\u793a\u4e0d\u5408\u7406\u6570\u503c \u89e3\u51b3\u6b65\u9aa4\uff1a 1. \u67e5\u770bTraffic View\u4e2d\u7684\u539f\u59cb\u5341\u516d\u8fdb\u5236\u6570\u636e 2. \u5c1d\u8bd5\u4e0d\u540c\u5b57\u8282\u5e8f\u7ec4\u5408\uff1a - Display \u2192 Data Format \u2192 Byte Swap - Display \u2192 Data Format \u2192 Word Swap 3. \u9009\u62e9\u663e\u793a\u5408\u7406\u6570\u503c\u7684\u7ec4\u5408 4. \u9a8c\u8bc1\u591a\u4e2a\u53c2\u6570\u786e\u4fdd\u8bbe\u7f6e\u6b63\u786e \u5b9e\u4f8b\uff1a \u539f\u59cb\u6570\u636e\uff1aCD CC 0C 42 - \u9ed8\u8ba4(ABCD)\uff1a\u5f02\u5e38\u503c - Byte swap(BADC)\uff1a\u5f02\u5e38\u503c - Word swap(CDAB)\uff1a\u5f02\u5e38\u503c - Byte+Word(DCBA)\uff1a35.2\u00b0C \u2713\u6b63\u786e","title":"5. \u5b57\u8282\u5e8f\u95ee\u9898\u8bca\u65ad"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_26","text":"","title":"\u9ad8\u7ea7\u529f\u80fd"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#1_1","text":"Tools \u2192 Scripting \u652f\u6301VB\u811a\u672c\u81ea\u52a8\u5316\uff1a - \u81ea\u52a8\u8fde\u63a5\u8bbe\u5907 - \u6279\u91cf\u6570\u636e\u5904\u7406 - \u6761\u4ef6\u89e6\u53d1\u64cd\u4f5c - \u62a5\u544a\u751f\u6210","title":"1. \u811a\u672c\u81ea\u52a8\u5316"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#2_1","text":"File \u2192 Export Data \u652f\u6301\u591a\u79cd\u683c\u5f0f\uff1a - CSV\u6587\u4ef6 - Excel\u6587\u4ef6 - XML\u683c\u5f0f - \u81ea\u5b9a\u4e49\u683c\u5f0f","title":"2. \u6570\u636e\u5bfc\u51fa"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#3_1","text":"\u53ef\u540c\u65f6\u76d1\u63a7\u591a\u4e2a\u8bbe\u5907\uff1a 1. File \u2192 New Document 2. \u914d\u7f6e\u4e0d\u540c\u8bbe\u5907\u53c2\u6570 3. Window \u2192 Tile \u5e73\u94fa\u663e\u793a 4. \u5b9e\u73b0\u591a\u8bbe\u5907\u96c6\u4e2d\u76d1\u63a7","title":"3. \u591a\u8bbe\u5907\u76d1\u63a7"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#4_1","text":"View \u2192 Trend View \u529f\u80fd\u7279\u6027\uff1a - \u5b9e\u65f6\u8d8b\u52bf\u56fe\u8868 - \u5386\u53f2\u6570\u636e\u56de\u653e - \u6570\u636e\u7edf\u8ba1\u5206\u6790 - \u5f02\u5e38\u70b9\u6807\u8bb0","title":"4. \u8d8b\u52bf\u5206\u6790"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_27","text":"","title":"\u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u76d1\u63a7\u5b9e\u6218"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_28","text":"# \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u76d1\u63a7\u914d\u7f6e\u793a\u4f8b \u8bbe\u5907\u4fe1\u606f : \u8bbe\u5907\u578b\u53f7 : \u6c34\u5904\u7406\u673a+\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907 \u901a\u4fe1\u65b9\u5f0f : Modbus RTU/TCP \u6ce2\u7279\u7387 : 9600 \u4ece\u7ad9\u5730\u5740 : 1 \u76d1\u63a7\u53c2\u6570 : \u6e29\u5ea6\u76d1\u63a7 : \u5730\u5740 : 0x0017 \u5355\u4f4d : \u00b0C \u544a\u8b66 : 35-40\u00b0C \u7535\u5bfc\u7387\u76d1\u63a7 : \u5730\u5740 : 0x0018 \u5355\u4f4d : mS/cm \u544a\u8b66 : 13.0-15.0 \u538b\u529b\u76d1\u63a7 : \u4f9b\u6db2\u4e00 : 0x0019 \u4f9b\u6db2\u4e8c : 0x001A \u5355\u4f4d : MPa \u544a\u8b66 : 0.1-0.5 \u6db2\u4f4d\u76d1\u63a7 : \u50a8\u6db2 : 0x001B \u914d\u6db2 : 0x001C \u5355\u4f4d : % \u544a\u8b66 : 10-90% PH\u503c\u76d1\u63a7 : \u5730\u5740 : 0x001D \u5355\u4f4d : pH \u544a\u8b66 : 6.5-7.5 \u626b\u63cf\u8bbe\u7f6e : \u6b63\u5e38\u626b\u63cf : 1000ms \u5feb\u901f\u626b\u63cf : 500ms \u6162\u901f\u626b\u63cf : 2000ms \u901a\u4fe1\u534f\u8bae\u5206\u6790 : \u57fa\u4e8e\u5b9e\u9645\u901a\u4fe1\u6570\u636e : - \u4f7f\u7528Modbus TCP\u534f\u8bae - \u529f\u80fd\u780103 (Read Holding Registers) - \u8d77\u59cb\u5730\u5740 : 0x0017 (\u6e29\u5ea6) - \u6570\u636e\u683c\u5f0f : 32\u4f4d\u6d6e\u70b9\u6570 (IEEE 754) - \u5b57\u8282\u5e8f\u5206\u6790 : * \u539f\u59cb\u6570\u636e : CD CC 0C 42 * \u9700\u8981DCBA\u5b57\u8282\u5e8f (Byte+Word Swap) * \u89e3\u6790\u7ed3\u679c : 35.2\u00b0C - \u6570\u636e\u793a\u4f8b\u9a8c\u8bc1 : * CD CC 0C 42 (\u5341\u516d\u8fdb\u5236) * \u2192 0x420CCCCD (\u91cd\u6392\u540e) * \u2192 35.2000008 (IEEE 754\u6d6e\u70b9\u6570) * \u2192 35.2\u00b0C (\u663e\u793a\u503c) \u914d\u7f6e\u8981\u70b9 : - ModbusPoll\u8bbe\u7f6e : Display \u2192 Data Format - \u52fe\u9009 : Byte Swap + Word Swap - \u6570\u636e\u7c7b\u578b : 32-bit Float - \u9a8c\u8bc1\u65b9\u6cd5 : \u89c2\u5bdf\u6e29\u5ea6\u662f\u5426\u5728\u5408\u7406\u8303\u56f4(30-50\u00b0C)","title":"\u5b8c\u6574\u76d1\u63a7\u914d\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_29","text":"' \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u72b6\u6001\u68c0\u67e5\u811a\u672c Sub CheckWaterTreatmentStatus () Dim temp , pressure1 , pressure2 , conductivity , ph ' \u8bfb\u53d6\u6e29\u5ea6 (\u5730\u574023) temp = mbPoll . ReadFloat ( 1 , 3 , 23 ) ' \u8bfb\u53d6\u538b\u529b (\u5730\u574025,26) pressure1 = mbPoll . ReadFloat ( 1 , 3 , 25 ) pressure2 = mbPoll . ReadFloat ( 1 , 3 , 26 ) ' \u8bfb\u53d6\u7535\u5bfc\u7387 (\u5730\u574024) conductivity = mbPoll . ReadFloat ( 1 , 3 , 24 ) ' \u8bfb\u53d6PH\u503c (\u5730\u574029) ph = mbPoll . ReadFloat ( 1 , 3 , 29 ) ' \u68c0\u67e5\u5f02\u5e38 If temp > 40 Or temp < 35 Then MsgBox \"\u6c34\u6e29\u5f02\u5e38: \" & temp & \"\u00b0C\" End If If pressure1 < 0.1 Or pressure1 > 0.5 Then MsgBox \"\u4f9b\u6db2\u4e00\u538b\u529b\u5f02\u5e38: \" & pressure1 & \"MPa\" End If If conductivity < 13.0 Or conductivity > 15.0 Then MsgBox \"\u7535\u5bfc\u7387\u5f02\u5e38: \" & conductivity & \"mS/cm\" End If If ph < 6.5 Or ph > 7.5 Then MsgBox \"PH\u503c\u5f02\u5e38: \" & ph End If End Sub","title":"\u81ea\u52a8\u5316\u811a\u672c\u793a\u4f8b"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_30","text":"","title":"\u6700\u4f73\u5b9e\u8df5\u5efa\u8bae"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#1_2","text":"\u5408\u7406\u8bbe\u7f6e\u626b\u63cf\u9891\u7387\uff0c\u907f\u514d\u8fc7\u5ea6\u8f6e\u8be2 \u4f7f\u7528\u6279\u91cf\u8bfb\u53d6\u51cf\u5c11\u901a\u4fe1\u6b21\u6570 \u5b9a\u671f\u6e05\u7406\u65e5\u5fd7\u6587\u4ef6 \u76d1\u63a7\u7cfb\u7edf\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5","title":"1. \u6027\u80fd\u4f18\u5316"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#2_2","text":"\u5efa\u7acb\u89c4\u8303\u7684\u53c2\u6570\u547d\u540d\u89c4\u5219 \u5b9a\u671f\u5907\u4efd\u91cd\u8981\u914d\u7f6e \u8bbe\u7f6e\u5408\u7406\u7684\u6570\u636e\u4fdd\u5b58\u5468\u671f \u5b9e\u65bd\u6570\u636e\u5b89\u5168\u63aa\u65bd","title":"2. \u6570\u636e\u7ba1\u7406"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#3_2","text":"\u5b9a\u671f\u68c0\u67e5\u901a\u4fe1\u7ebf\u8def \u66f4\u65b0\u8bbe\u5907\u9a71\u52a8\u7a0b\u5e8f \u5907\u4efd\u5de5\u7a0b\u914d\u7f6e\u6587\u4ef6 \u5efa\u7acb\u6545\u969c\u5904\u7406\u6d41\u7a0b","title":"3. \u7ef4\u62a4\u5efa\u8bae"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_31","text":"","title":"\u9644\u5f55"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#a-modbus","text":"01 - Read Coils (\u8bfb\u53d6\u7ebf\u5708\u72b6\u6001) 02 - Read Discrete Inputs (\u8bfb\u53d6\u79bb\u6563\u8f93\u5165) 03 - Read Holding Registers (\u8bfb\u53d6\u4fdd\u6301\u5bc4\u5b58\u5668) 04 - Read Input Registers (\u8bfb\u53d6\u8f93\u5165\u5bc4\u5b58\u5668) 05 - Write Single Coil (\u5199\u5355\u4e2a\u7ebf\u5708) 06 - Write Single Register (\u5199\u5355\u4e2a\u5bc4\u5b58\u5668) 15 - Write Multiple Coils (\u5199\u591a\u4e2a\u7ebf\u5708) 16 - Write Multiple Registers (\u5199\u591a\u4e2a\u5bc4\u5b58\u5668)","title":"A. Modbus\u529f\u80fd\u7801\u5bf9\u7167\u8868"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#b","text":"1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200","title":"B. \u5e38\u7528\u6ce2\u7279\u7387\u8bbe\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#c","text":"\u57fa\u4e8e\u5b9e\u9645\u901a\u4fe1\u6570\u636e\u7684\u5730\u5740\u6620\u5c04\uff1a \u6e29\u5ea6\uff1a0x0017 (\u5341\u8fdb\u523623) \u7535\u5bfc\u7387\uff1a0x0018 (\u5341\u8fdb\u523624) \u4f9b\u6db2\u4e00\u538b\u529b\uff1a0x0019 (\u5341\u8fdb\u523625) \u4f9b\u6db2\u4e8c\u538b\u529b\uff1a0x001A (\u5341\u8fdb\u523626) \u50a8\u6db2\u6db2\u4f4d\uff1a0x001B (\u5341\u8fdb\u523627) \u914d\u6db2\u6db2\u4f4d\uff1a0x001C (\u5341\u8fdb\u523628) PH\u503c\uff1a0x001D (\u5341\u8fdb\u523629) \u72b6\u6001\u7c7b\uff1a0x0001-0x0010 \u63a7\u5236\u7c7b\uff1a0x0020-0x0030","title":"C. \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u5e38\u7528\u5730\u5740\u6620\u5c04"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#d","text":"","title":"D. \u5927\u7aef\u5c0f\u7aef\uff08\u5b57\u8282\u5e8f\uff09\u8be6\u89e3"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_32","text":"\u5b57\u8282\u5e8f\uff08Byte Order\uff09\u662f\u6307\u591a\u5b57\u8282\u6570\u636e\u5728\u5185\u5b58\u4e2d\u7684\u5b58\u50a8\u987a\u5e8f\uff0c\u4e3b\u8981\u6709\u4e24\u79cd\uff1a \u5927\u7aef\u5e8f\uff08Big Endian\uff09 \uff1a - \u9ad8\u4f4d\u5b57\u8282\u5b58\u50a8\u5728\u4f4e\u5730\u5740 - \u7b26\u5408\u4eba\u7c7b\u9605\u8bfb\u4e60\u60ef - \u7f51\u7edc\u4f20\u8f93\u6807\u51c6\u5b57\u8282\u5e8f \u5c0f\u7aef\u5e8f\uff08Little Endian\uff09 \uff1a - \u4f4e\u4f4d\u5b57\u8282\u5b58\u50a8\u5728\u4f4e\u5730\u5740 - \u591a\u6570x86\u5904\u7406\u5668\u91c7\u7528 - Intel\u67b6\u6784\u9ed8\u8ba4\u5b57\u8282\u5e8f","title":"\u4ec0\u4e48\u662f\u5927\u7aef\u5c0f\u7aef\uff1f"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_33","text":"\u4ee532\u4f4d\u6d6e\u70b9\u6570 35.2\u00b0C \u4e3a\u4f8b\uff1a IEEE 754 \u6d6e\u70b9\u6570\u8868\u793a\uff1a0x420C_CCCD \u5927\u7aef\u5e8f\u5b58\u50a8\uff1a \u5730\u5740 \u5185\u5bb9 0x1000 0x42 (\u6700\u9ad8\u4f4d\u5b57\u8282) 0x1001 0x0C 0x1002 0xCC 0x1003 0xCD (\u6700\u4f4e\u4f4d\u5b57\u8282) \u5c0f\u7aef\u5e8f\u5b58\u50a8\uff1a \u5730\u5740 \u5185\u5bb9 0x1000 0xCD (\u6700\u4f4e\u4f4d\u5b57\u8282) 0x1001 0xCC 0x1002 0x0C 0x1003 0x42 (\u6700\u9ad8\u4f4d\u5b57\u8282)","title":"\u5b9e\u9645\u4f8b\u5b50\u8bf4\u660e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_34","text":"\u65b9\u6cd51\uff1a\u901a\u8fc7\u901a\u4fe1\u6570\u636e\u5206\u6790 \u4ececommdata.txt\u770b\u5230\u7684\u6570\u636e\uff1aCD CC 0C 42 1. \u5c06\u8fd94\u4e2a\u5b57\u8282\u6309\u4e0d\u540c\u5b57\u8282\u5e8f\u89e3\u91ca\uff1a - \u5927\u7aef\u5e8f\uff1a0x42_0C_CCCD = 35.2 (\u5408\u7406\u7684\u6e29\u5ea6\u503c) - \u5c0f\u7aef\u5e8f\uff1a0xCDCC_0C42 = \u975e\u5e38\u5927\u7684\u6570\u503c(\u4e0d\u5408\u7406) 2. \u7ed3\u8bba\uff1a\u8bbe\u5907\u4f7f\u7528\u5927\u7aef\u5e8f \u65b9\u6cd52\uff1a\u67e5\u770b\u8bbe\u5907\u624b\u518c \u8bbe\u5907\u6280\u672f\u6587\u6863\u901a\u5e38\u4f1a\u8bf4\u660e\uff1a - \"\u7f51\u7edc\u5b57\u8282\u5e8f\" = \u5927\u7aef\u5e8f - \"\u4e3b\u673a\u5b57\u8282\u5e8f\" = \u901a\u5e38\u662f\u5c0f\u7aef\u5e8f - \"Intel\u683c\u5f0f\" = \u5c0f\u7aef\u5e8f - \"Motorola\u683c\u5f0f\" = \u5927\u7aef\u5e8f \u65b9\u6cd53\uff1aModbusPoll\u4e2d\u7684\u9a8c\u8bc1 \u5728ModbusPoll\u4e2d\u6d4b\u8bd5\uff1a 1. Setup \u2192 Data Format \u2192 Byte Swap 2. \u89c2\u5bdf\u6570\u636e\u662f\u5426\u5408\u7406\uff1a - \u6e29\u5ea6\u5e94\u8be5\u57280-100\u00b0C\u8303\u56f4 - \u538b\u529b\u5e94\u8be5\u57280-10MPa\u8303\u56f4 - \u7535\u5bfc\u7387\u5e94\u8be5\u572810-20mS/cm\u8303\u56f4 3. \u9009\u62e9\u663e\u793a\u6b63\u786e\u6570\u503c\u7684\u5b57\u8282\u5e8f","title":"\u5982\u4f55\u786e\u5b9a\u8bbe\u5907\u5b57\u8282\u5e8f\uff1f"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#modbuspoll","text":"\u914d\u7f6e\u8def\u5f84 \uff1aDisplay \u2192 Data Format \u9009\u9879\u8bf4\u660e \uff1a \u25a1 Byte swap - \u4ea4\u6362\u5b57\u8282\u5e8f \u25a1 Word swap - \u4ea4\u6362\u5b57\u987a\u5e8f \u25a1 Dword swap - \u4ea4\u6362\u53cc\u5b57\u987a\u5e8f \u7ec4\u5408\u8bbe\u7f6e\u5bf9\u5e94\u4e0d\u540c\u683c\u5f0f\uff1a - \u65e0\u52fe\u9009\uff1aABCD (\u5927\u7aef\u5e8f) - Byte swap\uff1aBADC - Word swap\uff1aCDAB - Byte+Word swap\uff1aDCBA (\u5c0f\u7aef\u5e8f)","title":"ModbusPoll\u5b57\u8282\u5e8f\u8bbe\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_35","text":"\u6848\u4f8b1\uff1a\u6e29\u5ea6\u8bfb\u53d6\u5f02\u5e38 \u95ee\u9898\uff1a\u8bfb\u53d6\u6e29\u5ea6\u663e\u793a\u4e3a\u51e0\u5343\u5ea6 \u539f\u56e0\uff1a\u5b57\u8282\u5e8f\u8bbe\u7f6e\u9519\u8bef \u89e3\u51b3\uff1a\u52fe\u9009\"Byte swap\"\u8c03\u6574\u5b57\u8282\u5e8f \u6848\u4f8b2\uff1a\u538b\u529b\u503c\u663e\u793a\u5f02\u5e38 \u8bfb\u53d6\u6570\u636e\uff1a12 34 56 78 \u5927\u7aef\u5e8f\u89e3\u91ca\uff1a0x12345678 = 305,419,896 (\u5f02\u5e38) \u5c0f\u7aef\u5e8f\u89e3\u91ca\uff1a0x78563412 = 2,018,915,346 (\u5f02\u5e38) \u9700\u8981Word swap\uff1a0x34127856 = 873,756,758 (\u4ecd\u5f02\u5e38) \u6b63\u786e\u8bbe\u7f6e\uff1aByte+Word swap = 0x78563412\u8f6c\u6362\u4e3a\u6d6e\u70b9\u6570","title":"\u5b9e\u9645\u5e94\u7528\u793a\u4f8b"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_36","text":"\u6b65\u9aa41\uff1a\u8bb0\u5f55\u539f\u59cb\u6570\u636e \u4f7f\u7528Traffic View\u67e5\u770b\u539f\u59cb\u5341\u516d\u8fdb\u5236\u6570\u636e \u4f8b\u5982\uff1a42 0C CC CD \u6b65\u9aa42\uff1a\u624b\u52a8\u8ba1\u7b97\u9a8c\u8bc1 \u4f7f\u7528\u5728\u7ebfIEEE 754\u8f6c\u6362\u5668\uff1a - \u8f93\u5165\uff1a420CCCCD - \u8f93\u51fa\uff1a35.2000008... - \u9a8c\u8bc1\u662f\u5426\u4e3a\u5408\u7406\u6570\u503c \u6b65\u9aa43\uff1aModbusPoll\u4e2d\u6d4b\u8bd5 \u4f9d\u6b21\u5c1d\u8bd5\u56db\u79cd\u5b57\u8282\u5e8f\u7ec4\u5408\uff1a 1. ABCD - \u539f\u59cb\u987a\u5e8f 2. BADC - Byte swap 3. CDAB - Word swap 4. DCBA - Byte+Word swap \u9009\u62e9\u663e\u793a\u5408\u7406\u6570\u503c\u7684\u8bbe\u7f6e","title":"\u8c03\u8bd5\u6280\u5de7"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_37","text":"\u5927\u7aef\u5e8f\u8bbe\u5907\uff1a - \u65bd\u8010\u5fb7PLC - \u897f\u95e8\u5b50S7\u7cfb\u5217 - ABB\u8bbe\u5907 - \u5927\u591a\u6570\u7f51\u7edc\u8bbe\u5907 \u5c0f\u7aef\u5e8f\u8bbe\u5907\uff1a - \u4e09\u83f1PLC - \u6b27\u59c6\u9f99PLC - PC-based\u63a7\u5236\u5668 - Intel\u67b6\u6784\u8bbe\u5907 \u672c\u6559\u7a0b\u57fa\u4e8eModbusPoll v7.0.0\u7248\u672c\u7f16\u5199\uff0c\u9002\u7528\u4e8e\u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u53c2\u6570\u76d1\u63a7\u7cfb\u7edf\u3002\u5982\u6709\u95ee\u9898\u8bf7\u53c2\u8003\u5b98\u65b9\u6587\u6863\u6216\u8054\u7cfb\u6280\u672f\u652f\u6301\u3002","title":"\u5e38\u89c1\u8bbe\u5907\u5b57\u8282\u5e8f"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/","text":"node-red\u5982\u4f55\u8fde\u63a5modbus slave\u8bbe\u5907 \u00b6 \u8bf4\u660e \u00b6 \u6211\u60f3\u5728node-red\u4e2d\u7528\u6d41\u7a0b\u56fe\u4e2d\u914d\u7f6emodbus master\u4e3b\u8bbe\u5907\u901a\u8fc7mocbus tcp rtu\u53bb\u8054\u63a5modbus slave\u8bbe\u5907\uff0c\u5982\u4f55\u914d\u7f6e\u5462\uff1f \u6b65\u9aa4\u4e00\uff1a\u5b89\u88c5Modbus\u76f8\u5173\u8282\u70b9 \u00b6 \u6253\u5f00Node-RED\u7f16\u8f91\u5668\uff08\u6d4f\u89c8\u5668\u8bbf\u95ee http://<\u4f60\u7684\u8bbe\u5907IP>:1880\uff09\u3002 \u70b9\u51fb\u53f3\u4e0a\u89d2\u83dc\u5355\uff0c\u9009\u62e9\u201cManage palette\uff08\u7ba1\u7406\u8c03\u8272\u677f\uff09\u201d\u3002 \u5728\u201cInstall\u201d\u6807\u7b7e\u9875\u4e2d\u641c\u7d22 node-red-contrib-modbus \uff0c\u70b9\u51fb\u201cInstall\u201d\u5b89\u88c5\u3002 \u6b65\u9aa4\u4e8c\uff1a\u6dfb\u52a0Modbus TCP/RTU\u8282\u70b9 \u00b6 \u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u5de6\u4fa7\u4f1a\u51fa\u73b0\u201cmodbus\u201d\u7c7b\u522b\u3002 \u62d6\u62fd modbus-read \u6216 modbus-write \u8282\u70b9\u5230\u6d41\u7a0b\u56fe\u4e2d\u3002 \u53cc\u51fb\u8282\u70b9\uff0c\u70b9\u51fb\u201cServer\u201d\u53f3\u4fa7\u7684\u94c5\u7b14\u56fe\u6807\uff0c\u65b0\u589eModbus\u670d\u52a1\u5668\u914d\u7f6e\u3002 \u6b65\u9aa4\u4e09\uff1a\u914d\u7f6eModbus\u4e3b\u8bbe\u5907\uff08Master\uff09 \u00b6 \u8fde\u63a5\u7c7b\u578b \uff1a \u5982\u679c\u662fTCP\uff0c\u9009\u62e9\u201cTCP\u201d\uff0c\u586b\u5199Slave\u8bbe\u5907\u7684IP\u548c\u7aef\u53e3\uff08\u901a\u5e38\u4e3a502\uff09\u3002 \u5982\u679c\u662fRTU\uff08\u4e32\u53e3\uff09\uff0c\u9009\u62e9\u201cSerial\u201d\uff0c\u586b\u5199\u4e32\u53e3\u8bbe\u5907\uff08\u5982 /dev/ttyUSB0 \uff09\u3001\u6ce2\u7279\u7387\u3001\u6570\u636e\u4f4d\u3001\u6821\u9a8c\u7b49\u53c2\u6570\u3002 Unit-Id \uff1a\u586b\u5199\u76ee\u6807Slave\u7684\u5730\u5740\uff08\u901a\u5e38\u4e3a1\uff09\u3002 \u5176\u4ed6\u53c2\u6570\u6309\u5b9e\u9645\u9700\u6c42\u8bbe\u7f6e\u3002 \u6b65\u9aa4\u56db\uff1a\u914d\u7f6e\u8bfb\u5199\u64cd\u4f5c \u00b6 modbus-read \u8282\u70b9\uff1a\u8bbe\u7f6e\u529f\u80fd\u7801\uff08\u598203\u8bfb\u4fdd\u6301\u5bc4\u5b58\u5668\uff09\u3001\u8d77\u59cb\u5730\u5740\u3001\u957f\u5ea6\u3001\u8f6e\u8be2\u95f4\u9694\u7b49\u3002 modbus-write \u8282\u70b9\uff1a\u8bbe\u7f6e\u529f\u80fd\u7801\u3001\u76ee\u6807\u5730\u5740\u3001\u5199\u5165\u6570\u636e\u7b49\u3002 Modbus-Read\u8282\u70b9\u53c2\u6570\u586b\u5199\u8bf4\u660e \u00b6 \u540d\u79f0 \uff1a\u81ea\u5b9a\u4e49\uff0c\u4fbf\u4e8e\u8bc6\u522b\u3002 \u4e3b\u9898\uff08Topic\uff09 \uff1a\u53ef\u7559\u7a7a\u6216\u81ea\u5b9a\u4e49\uff08\u5982\u7528\u4e8e\u6d88\u606f\u5206\u6d41\u65f6\u586b\u5199\uff09\uff0c\u4e00\u822c\u9ed8\u8ba4\u5373\u53ef\u3002 Unit-Id \uff1a\u586b\u5199\u76ee\u6807 Modbus slave \u8bbe\u5907\u7684\u5730\u5740\uff08\u901a\u5e38\u4e3a1\uff0c\u5177\u4f53\u770b\u4f60\u7684\u8bbe\u5907\u8bbe\u7f6e\uff09\u3002 FC\uff08\u529f\u80fd\u7801\uff09 \uff1a\u9009\u62e9\u4f60\u8981\u6267\u884c\u7684Modbus\u529f\u80fd\u7801\uff0c\u5e38\u7528\u5982\u4e0b\uff1a 1\uff1a\u8bfb\u7ebf\u5708\uff08Coil Status\uff09 2\uff1a\u8bfb\u79bb\u6563\u8f93\u5165\uff08Input Status\uff09 3\uff1a\u8bfb\u4fdd\u6301\u5bc4\u5b58\u5668\uff08Holding Registers\uff0c\u6700\u5e38\u7528\uff09 4\uff1a\u8bfb\u8f93\u5165\u5bc4\u5b58\u5668\uff08Input Registers\uff09 Address \uff1a\u8981\u8bfb\u53d6\u7684\u5bc4\u5b58\u5668\u6216\u7ebf\u5708\u7684\u8d77\u59cb\u5730\u5740\uff08\u901a\u5e38\u4ece0\u62161\u5f00\u59cb\uff0c\u5177\u4f53\u770b\u8bbe\u5907\u624b\u518c\uff09\u3002 Quantity \uff1a\u8bfb\u53d6\u7684\u6570\u91cf\uff08\u5982\u8981\u8bfb2\u4e2a\u5bc4\u5b58\u5668\u5c31\u586b2\uff09\u3002 Poll Rate \uff1a\u8f6e\u8be2\u5468\u671f\uff0c\u5355\u4f4d\u4e3a\u6beb\u79d2\uff08\u59821000\u8868\u793a\u6bcf\u79d2\u8bfb\u53d6\u4e00\u6b21\uff09\u3002 \u4e3e\u4f8b\uff08\u8bfb\u53d6slave\u5730\u5740\u4e3a1\uff0c\u4fdd\u6301\u5bc4\u5b58\u5668\uff0c\u8d77\u59cb\u5730\u57400\uff0c\u6570\u91cf2\uff0c\u6bcf\u79d2\u8f6e\u8be2\uff09\uff1a - Unit-Id\uff1a1 - FC\uff1a3 - Address\uff1a0 - Quantity\uff1a2 - Poll Rate\uff1a1000 \u6b65\u9aa4\u4e94\uff1a\u90e8\u7f72\u4e0e\u8c03\u8bd5 \u00b6 \u8fde\u63a5\u8282\u70b9\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u201c\u90e8\u7f72\u201d\u3002 \u67e5\u770bdebug\u9762\u677f\uff0c\u786e\u8ba4\u6570\u636e\u662f\u5426\u6b63\u5e38\u6536\u53d1\u3002 \u53c2\u8003\u793a\u4f8b \u00b6 [modbus-read] \u2192 [debug] \u5e38\u89c1\u95ee\u9898 \u00b6 \u786e\u8ba4\u7269\u7406\u8fde\u63a5\u548c\u4e32\u53e3\u6743\u9650\u3002 TCP\u6a21\u5f0f\u4e0b\u9632\u706b\u5899\u9700\u653e\u884c502\u7aef\u53e3\u3002 RTU\u6a21\u5f0f\u4e0b\u9700\u6b63\u786e\u914d\u7f6e\u4e32\u53e3\u53c2\u6570\u3002 \u5982\u9700\u66f4\u8be6\u7ec6\u7684\u914d\u7f6e\u8bf4\u660e\uff0c\u53ef\u53c2\u8003 node-red-contrib-modbus\u5b98\u65b9\u6587\u6863","title":"node-red\u5982\u4f55\u8fde\u63a5modbus _slave\u8bbe\u5907"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#node-redmodbus-slave","text":"","title":"node-red\u5982\u4f55\u8fde\u63a5modbus slave\u8bbe\u5907"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#_1","text":"\u6211\u60f3\u5728node-red\u4e2d\u7528\u6d41\u7a0b\u56fe\u4e2d\u914d\u7f6emodbus master\u4e3b\u8bbe\u5907\u901a\u8fc7mocbus tcp rtu\u53bb\u8054\u63a5modbus slave\u8bbe\u5907\uff0c\u5982\u4f55\u914d\u7f6e\u5462\uff1f","title":"\u8bf4\u660e"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#modbus","text":"\u6253\u5f00Node-RED\u7f16\u8f91\u5668\uff08\u6d4f\u89c8\u5668\u8bbf\u95ee http://<\u4f60\u7684\u8bbe\u5907IP>:1880\uff09\u3002 \u70b9\u51fb\u53f3\u4e0a\u89d2\u83dc\u5355\uff0c\u9009\u62e9\u201cManage palette\uff08\u7ba1\u7406\u8c03\u8272\u677f\uff09\u201d\u3002 \u5728\u201cInstall\u201d\u6807\u7b7e\u9875\u4e2d\u641c\u7d22 node-red-contrib-modbus \uff0c\u70b9\u51fb\u201cInstall\u201d\u5b89\u88c5\u3002","title":"\u6b65\u9aa4\u4e00\uff1a\u5b89\u88c5Modbus\u76f8\u5173\u8282\u70b9"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#modbus-tcprtu","text":"\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u5de6\u4fa7\u4f1a\u51fa\u73b0\u201cmodbus\u201d\u7c7b\u522b\u3002 \u62d6\u62fd modbus-read \u6216 modbus-write \u8282\u70b9\u5230\u6d41\u7a0b\u56fe\u4e2d\u3002 \u53cc\u51fb\u8282\u70b9\uff0c\u70b9\u51fb\u201cServer\u201d\u53f3\u4fa7\u7684\u94c5\u7b14\u56fe\u6807\uff0c\u65b0\u589eModbus\u670d\u52a1\u5668\u914d\u7f6e\u3002","title":"\u6b65\u9aa4\u4e8c\uff1a\u6dfb\u52a0Modbus TCP/RTU\u8282\u70b9"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#modbusmaster","text":"\u8fde\u63a5\u7c7b\u578b \uff1a \u5982\u679c\u662fTCP\uff0c\u9009\u62e9\u201cTCP\u201d\uff0c\u586b\u5199Slave\u8bbe\u5907\u7684IP\u548c\u7aef\u53e3\uff08\u901a\u5e38\u4e3a502\uff09\u3002 \u5982\u679c\u662fRTU\uff08\u4e32\u53e3\uff09\uff0c\u9009\u62e9\u201cSerial\u201d\uff0c\u586b\u5199\u4e32\u53e3\u8bbe\u5907\uff08\u5982 /dev/ttyUSB0 \uff09\u3001\u6ce2\u7279\u7387\u3001\u6570\u636e\u4f4d\u3001\u6821\u9a8c\u7b49\u53c2\u6570\u3002 Unit-Id \uff1a\u586b\u5199\u76ee\u6807Slave\u7684\u5730\u5740\uff08\u901a\u5e38\u4e3a1\uff09\u3002 \u5176\u4ed6\u53c2\u6570\u6309\u5b9e\u9645\u9700\u6c42\u8bbe\u7f6e\u3002","title":"\u6b65\u9aa4\u4e09\uff1a\u914d\u7f6eModbus\u4e3b\u8bbe\u5907\uff08Master\uff09"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#_2","text":"modbus-read \u8282\u70b9\uff1a\u8bbe\u7f6e\u529f\u80fd\u7801\uff08\u598203\u8bfb\u4fdd\u6301\u5bc4\u5b58\u5668\uff09\u3001\u8d77\u59cb\u5730\u5740\u3001\u957f\u5ea6\u3001\u8f6e\u8be2\u95f4\u9694\u7b49\u3002 modbus-write \u8282\u70b9\uff1a\u8bbe\u7f6e\u529f\u80fd\u7801\u3001\u76ee\u6807\u5730\u5740\u3001\u5199\u5165\u6570\u636e\u7b49\u3002","title":"\u6b65\u9aa4\u56db\uff1a\u914d\u7f6e\u8bfb\u5199\u64cd\u4f5c"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#modbus-read","text":"\u540d\u79f0 \uff1a\u81ea\u5b9a\u4e49\uff0c\u4fbf\u4e8e\u8bc6\u522b\u3002 \u4e3b\u9898\uff08Topic\uff09 \uff1a\u53ef\u7559\u7a7a\u6216\u81ea\u5b9a\u4e49\uff08\u5982\u7528\u4e8e\u6d88\u606f\u5206\u6d41\u65f6\u586b\u5199\uff09\uff0c\u4e00\u822c\u9ed8\u8ba4\u5373\u53ef\u3002 Unit-Id \uff1a\u586b\u5199\u76ee\u6807 Modbus slave \u8bbe\u5907\u7684\u5730\u5740\uff08\u901a\u5e38\u4e3a1\uff0c\u5177\u4f53\u770b\u4f60\u7684\u8bbe\u5907\u8bbe\u7f6e\uff09\u3002 FC\uff08\u529f\u80fd\u7801\uff09 \uff1a\u9009\u62e9\u4f60\u8981\u6267\u884c\u7684Modbus\u529f\u80fd\u7801\uff0c\u5e38\u7528\u5982\u4e0b\uff1a 1\uff1a\u8bfb\u7ebf\u5708\uff08Coil Status\uff09 2\uff1a\u8bfb\u79bb\u6563\u8f93\u5165\uff08Input Status\uff09 3\uff1a\u8bfb\u4fdd\u6301\u5bc4\u5b58\u5668\uff08Holding Registers\uff0c\u6700\u5e38\u7528\uff09 4\uff1a\u8bfb\u8f93\u5165\u5bc4\u5b58\u5668\uff08Input Registers\uff09 Address \uff1a\u8981\u8bfb\u53d6\u7684\u5bc4\u5b58\u5668\u6216\u7ebf\u5708\u7684\u8d77\u59cb\u5730\u5740\uff08\u901a\u5e38\u4ece0\u62161\u5f00\u59cb\uff0c\u5177\u4f53\u770b\u8bbe\u5907\u624b\u518c\uff09\u3002 Quantity \uff1a\u8bfb\u53d6\u7684\u6570\u91cf\uff08\u5982\u8981\u8bfb2\u4e2a\u5bc4\u5b58\u5668\u5c31\u586b2\uff09\u3002 Poll Rate \uff1a\u8f6e\u8be2\u5468\u671f\uff0c\u5355\u4f4d\u4e3a\u6beb\u79d2\uff08\u59821000\u8868\u793a\u6bcf\u79d2\u8bfb\u53d6\u4e00\u6b21\uff09\u3002 \u4e3e\u4f8b\uff08\u8bfb\u53d6slave\u5730\u5740\u4e3a1\uff0c\u4fdd\u6301\u5bc4\u5b58\u5668\uff0c\u8d77\u59cb\u5730\u57400\uff0c\u6570\u91cf2\uff0c\u6bcf\u79d2\u8f6e\u8be2\uff09\uff1a - Unit-Id\uff1a1 - FC\uff1a3 - Address\uff1a0 - Quantity\uff1a2 - Poll Rate\uff1a1000","title":"Modbus-Read\u8282\u70b9\u53c2\u6570\u586b\u5199\u8bf4\u660e"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#_3","text":"\u8fde\u63a5\u8282\u70b9\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u201c\u90e8\u7f72\u201d\u3002 \u67e5\u770bdebug\u9762\u677f\uff0c\u786e\u8ba4\u6570\u636e\u662f\u5426\u6b63\u5e38\u6536\u53d1\u3002","title":"\u6b65\u9aa4\u4e94\uff1a\u90e8\u7f72\u4e0e\u8c03\u8bd5"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#_4","text":"[modbus-read] \u2192 [debug]","title":"\u53c2\u8003\u793a\u4f8b"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#_5","text":"\u786e\u8ba4\u7269\u7406\u8fde\u63a5\u548c\u4e32\u53e3\u6743\u9650\u3002 TCP\u6a21\u5f0f\u4e0b\u9632\u706b\u5899\u9700\u653e\u884c502\u7aef\u53e3\u3002 RTU\u6a21\u5f0f\u4e0b\u9700\u6b63\u786e\u914d\u7f6e\u4e32\u53e3\u53c2\u6570\u3002 \u5982\u9700\u66f4\u8be6\u7ec6\u7684\u914d\u7f6e\u8bf4\u660e\uff0c\u53ef\u53c2\u8003 node-red-contrib-modbus\u5b98\u65b9\u6587\u6863","title":"\u5e38\u89c1\u95ee\u9898"},{"location":"node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/","text":"Node-RED \u5e38\u7528\u7ec4\u4ef6\u5217\u8868 \u00b6 \u4ee5\u4e0b\u662f\u5e38\u7528\u7684 Node-RED \u7ec4\u4ef6\u53ca\u5176\u7248\u672c\uff0c\u5efa\u8bae\u6839\u636e\u5b9e\u9645\u9700\u6c42\u9009\u62e9\u5b89\u88c5\u3002 \u7ec4\u4ef6\u540d\u79f0 \u7248\u672c \u8bf4\u660e @node-red-contrib-themes/theme-collection 4.0.11 \u4e3b\u9898\u96c6\u5408 node-red 4.0.9 Node-RED \u4e3b\u7a0b\u5e8f node-red-contrib-aedes 0.6.0 MQTT Broker \u8282\u70b9 node-red-contrib-bigtimer 2.8.6 \u5f3a\u5927\u7684\u5b9a\u65f6\u5668\u8282\u70b9 node-red-contrib-cast 0.2.17 Google Cast \u652f\u6301 node-red-contrib-counter 0.1.6 \u8ba1\u6570\u5668\u8282\u70b9 node-red-contrib-cron-plus 2.1.0 \u9ad8\u7ea7\u5b9a\u65f6\u4efb\u52a1\u8282\u70b9 node-red-contrib-home-assistant-websocket 0.77.1 Home Assistant \u96c6\u6210 node-red-contrib-influxdb 0.7.0 InfluxDB \u6570\u636e\u5e93\u652f\u6301 node-red-contrib-interval-length 0.0.6 \u95f4\u9694\u957f\u5ea6\u8ba1\u7b97 node-red-contrib-lvin-crc16 1.0.2 CRC16 \u6821\u9a8c node-red-contrib-md5 1.0.4 MD5 \u52a0\u5bc6 node-red-contrib-modbus 5.43.0 Modbus \u534f\u8bae\u652f\u6301 node-red-contrib-moment 5.0.0 \u65f6\u95f4\u5904\u7406 node-red-contrib-mqtt-broker 0.2.9 MQTT Broker \u8282\u70b9 node-red-contrib-persistent-fsm 1.2.1 \u6709\u72b6\u6001\u673a\u8282\u70b9 node-red-contrib-sunevents 3.1.1 \u65e5\u51fa\u65e5\u843d\u4e8b\u4ef6 node-red-contrib-time-range-switch 1.2.0 \u65f6\u95f4\u8303\u56f4\u5f00\u5173 node-red-dashboard 3.6.5 \u4eea\u8868\u76d8\u7ec4\u4ef6 node-red-node-base64 1.0.0 Base64 \u7f16\u7801\u89e3\u7801 node-red-node-email 3.0.3 \u90ae\u4ef6\u53d1\u9001\u8282\u70b9 node-red-node-feedparser 0.3.0 RSS Feed \u89e3\u6790 node-red-node-ping 0.3.3 Ping \u8282\u70b9 node-red-node-random 0.4.1 \u968f\u673a\u6570\u8282\u70b9 node-red-node-serialport 2.0.3 \u4e32\u53e3\u8282\u70b9 node-red-node-smooth 0.1.2 \u5e73\u6ed1\u6570\u636e\u8282\u70b9 node-red-node-suncalc 1.2.0 \u592a\u9633\u8ba1\u7b97\u8282\u70b9 node-red-node-twitter 1.2.0 Twitter \u96c6\u6210 \u5982\u9700\u8be6\u7ec6\u4f7f\u7528\u65b9\u6cd5\uff0c\u8bf7\u53c2\u8003\u5b98\u65b9\u6587\u6863\u6216\u793e\u533a\u6559\u7a0b\u3002","title":"node-red\u5e38\u7528\u7ec4\u4ef6\u5217\u8868"},{"location":"node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/#node-red","text":"\u4ee5\u4e0b\u662f\u5e38\u7528\u7684 Node-RED \u7ec4\u4ef6\u53ca\u5176\u7248\u672c\uff0c\u5efa\u8bae\u6839\u636e\u5b9e\u9645\u9700\u6c42\u9009\u62e9\u5b89\u88c5\u3002 \u7ec4\u4ef6\u540d\u79f0 \u7248\u672c \u8bf4\u660e @node-red-contrib-themes/theme-collection 4.0.11 \u4e3b\u9898\u96c6\u5408 node-red 4.0.9 Node-RED \u4e3b\u7a0b\u5e8f node-red-contrib-aedes 0.6.0 MQTT Broker \u8282\u70b9 node-red-contrib-bigtimer 2.8.6 \u5f3a\u5927\u7684\u5b9a\u65f6\u5668\u8282\u70b9 node-red-contrib-cast 0.2.17 Google Cast \u652f\u6301 node-red-contrib-counter 0.1.6 \u8ba1\u6570\u5668\u8282\u70b9 node-red-contrib-cron-plus 2.1.0 \u9ad8\u7ea7\u5b9a\u65f6\u4efb\u52a1\u8282\u70b9 node-red-contrib-home-assistant-websocket 0.77.1 Home Assistant \u96c6\u6210 node-red-contrib-influxdb 0.7.0 InfluxDB \u6570\u636e\u5e93\u652f\u6301 node-red-contrib-interval-length 0.0.6 \u95f4\u9694\u957f\u5ea6\u8ba1\u7b97 node-red-contrib-lvin-crc16 1.0.2 CRC16 \u6821\u9a8c node-red-contrib-md5 1.0.4 MD5 \u52a0\u5bc6 node-red-contrib-modbus 5.43.0 Modbus \u534f\u8bae\u652f\u6301 node-red-contrib-moment 5.0.0 \u65f6\u95f4\u5904\u7406 node-red-contrib-mqtt-broker 0.2.9 MQTT Broker \u8282\u70b9 node-red-contrib-persistent-fsm 1.2.1 \u6709\u72b6\u6001\u673a\u8282\u70b9 node-red-contrib-sunevents 3.1.1 \u65e5\u51fa\u65e5\u843d\u4e8b\u4ef6 node-red-contrib-time-range-switch 1.2.0 \u65f6\u95f4\u8303\u56f4\u5f00\u5173 node-red-dashboard 3.6.5 \u4eea\u8868\u76d8\u7ec4\u4ef6 node-red-node-base64 1.0.0 Base64 \u7f16\u7801\u89e3\u7801 node-red-node-email 3.0.3 \u90ae\u4ef6\u53d1\u9001\u8282\u70b9 node-red-node-feedparser 0.3.0 RSS Feed \u89e3\u6790 node-red-node-ping 0.3.3 Ping \u8282\u70b9 node-red-node-random 0.4.1 \u968f\u673a\u6570\u8282\u70b9 node-red-node-serialport 2.0.3 \u4e32\u53e3\u8282\u70b9 node-red-node-smooth 0.1.2 \u5e73\u6ed1\u6570\u636e\u8282\u70b9 node-red-node-suncalc 1.2.0 \u592a\u9633\u8ba1\u7b97\u8282\u70b9 node-red-node-twitter 1.2.0 Twitter \u96c6\u6210 \u5982\u9700\u8be6\u7ec6\u4f7f\u7528\u65b9\u6cd5\uff0c\u8bf7\u53c2\u8003\u5b98\u65b9\u6587\u6863\u6216\u793e\u533a\u6559\u7a0b\u3002","title":"Node-RED \u5e38\u7528\u7ec4\u4ef6\u5217\u8868"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/","text":"\u5982\u4f55\u5b89\u88c5node-red\u5b89\u88c5\u5230orangepi Zero3 \u00b6 \u64cd\u4f5c\u7cfb\u7edf \u00b6 \u57fa\u4e8eubuntu\u7684\u64cd\u4f5c\u7cfb\u7edf\u7684orangepizero3\u5b9a\u5236\u7248 \u5b89\u88c5\u6b65\u9aa4 \u00b6 1. \u66f4\u65b0\u7cfb\u7edf \u00b6 \u5728\u7ec8\u7aef\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u786e\u4fdd\u7cfb\u7edf\u4e3a\u6700\u65b0\uff1a sudo apt-get update && sudo apt-get upgrade -y 2. \u5b89\u88c5Node-RED \u00b6 Node-RED\u5b98\u65b9\u63d0\u4f9b\u4e86\u4e00\u952e\u5b89\u88c5\u811a\u672c\uff0c\u9002\u7528\u4e8eDebian/Ubuntu\u7cfb\u7edf\uff1a bash < ( curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered ) \u5b89\u88c5\u8fc7\u7a0b\u4e2d\u53ef\u6839\u636e\u63d0\u793a\u9009\u62e9\u201cy\u201d\u7ee7\u7eed\u3002 3. \u542f\u52a8\u4e0e\u505c\u6b62Node-RED \u00b6 \u542f\u52a8\uff1a bash node-red-start \u505c\u6b62\uff1a bash node-red-stop \u67e5\u770b\u65e5\u5fd7\uff1a bash node-red-log 4. \u8bbe\u7f6e\u5f00\u673a\u81ea\u542f \u00b6 \u901a\u5e38\u5b89\u88c5\u811a\u672c\u4f1a\u81ea\u52a8\u8bbe\u7f6e\u5f00\u673a\u81ea\u542f\uff0c\u5982\u9700\u624b\u52a8\u8bbe\u7f6e\uff1a sudo systemctl enable nodered.service 5. \u8bbf\u95eeNode-RED \u00b6 \u5728\u6d4f\u89c8\u5668\u8bbf\u95ee\uff1a http://<\u4f60\u7684OrangePi\u7684IP\u5730\u5740>:1880 \u53ef\u7528 hostname -I \u6216 ip a \u547d\u4ee4\u67e5\u8be2IP\u5730\u5740 sudo systemctl status nodered.service sudo systemctl start nodered.service sudo systemctl stop nodered.service sudo systemctl restart nodered.service \u5982\u4f55\u5b89\u88c5\u63d2\u4ef6 \u00b6 \u5982\u4f55\u8fdb\u5165\u63d2\u4ef6\u7ba1\u7406 \u00b6 \u5982\u4f55\u5b89\u88c5MQTT\u63d2\u4ef6 \u00b6","title":"\u5982\u4f55\u628anode-red\u5b89\u88c5\u5230orangepiZero"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#node-redorangepi-zero3","text":"","title":"\u5982\u4f55\u5b89\u88c5node-red\u5b89\u88c5\u5230orangepi Zero3"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#_1","text":"\u57fa\u4e8eubuntu\u7684\u64cd\u4f5c\u7cfb\u7edf\u7684orangepizero3\u5b9a\u5236\u7248","title":"\u64cd\u4f5c\u7cfb\u7edf"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#_2","text":"","title":"\u5b89\u88c5\u6b65\u9aa4"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#1","text":"\u5728\u7ec8\u7aef\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u786e\u4fdd\u7cfb\u7edf\u4e3a\u6700\u65b0\uff1a sudo apt-get update && sudo apt-get upgrade -y","title":"1. \u66f4\u65b0\u7cfb\u7edf"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#2-node-red","text":"Node-RED\u5b98\u65b9\u63d0\u4f9b\u4e86\u4e00\u952e\u5b89\u88c5\u811a\u672c\uff0c\u9002\u7528\u4e8eDebian/Ubuntu\u7cfb\u7edf\uff1a bash < ( curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered ) \u5b89\u88c5\u8fc7\u7a0b\u4e2d\u53ef\u6839\u636e\u63d0\u793a\u9009\u62e9\u201cy\u201d\u7ee7\u7eed\u3002","title":"2. \u5b89\u88c5Node-RED"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#3-node-red","text":"\u542f\u52a8\uff1a bash node-red-start \u505c\u6b62\uff1a bash node-red-stop \u67e5\u770b\u65e5\u5fd7\uff1a bash node-red-log","title":"3. \u542f\u52a8\u4e0e\u505c\u6b62Node-RED"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#4","text":"\u901a\u5e38\u5b89\u88c5\u811a\u672c\u4f1a\u81ea\u52a8\u8bbe\u7f6e\u5f00\u673a\u81ea\u542f\uff0c\u5982\u9700\u624b\u52a8\u8bbe\u7f6e\uff1a sudo systemctl enable nodered.service","title":"4. \u8bbe\u7f6e\u5f00\u673a\u81ea\u542f"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#5-node-red","text":"\u5728\u6d4f\u89c8\u5668\u8bbf\u95ee\uff1a http://<\u4f60\u7684OrangePi\u7684IP\u5730\u5740>:1880 \u53ef\u7528 hostname -I \u6216 ip a \u547d\u4ee4\u67e5\u8be2IP\u5730\u5740 sudo systemctl status nodered.service sudo systemctl start nodered.service sudo systemctl stop nodered.service sudo systemctl restart nodered.service","title":"5. \u8bbf\u95eeNode-RED"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#_3","text":"","title":"\u5982\u4f55\u5b89\u88c5\u63d2\u4ef6"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#_4","text":"","title":"\u5982\u4f55\u8fdb\u5165\u63d2\u4ef6\u7ba1\u7406"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#mqtt","text":"","title":"\u5982\u4f55\u5b89\u88c5MQTT\u63d2\u4ef6"},{"location":"node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/","text":"unning Node-RED install for user orangepi at /home/orangepi on ubuntu [sudo] password for orangepi: This can take 20-30 minutes on the slower Pi versions - please wait. Stop Node-RED \u2714 Remove old version of Node-RED \u2714 Remove old version of Node.js \u2714 Install Node 20.19.3-1nodesource1 \u2714 v20.19.3 Npm 10.8.2 Clean npm cache \u2714 Install Node-RED core \u2714 4.0.9 Move global nodes to local - Npm rebuild existing nodes \u2714 Install extra Pi nodes \u2714 Add shortcut commands \u2718 Update systemd script \u2714 Any errors will be logged to /var/log/nodered-install.log All done. You can now start Node-RED with the command node-red-start or using the icon under Menu / Programming / Node-RED Then point your browser to localhost:1880 or http://{your_pi_ip-address}:1880 Started : Wed Jul 9 12:28:33 PM CST 2025 Finished: Wed Jul 9 12:37:17 PM CST 2025 ### WARNING DO NOT EXPOSE NODE-RED TO THE OPEN INTERNET WITHOUT SECURING IT FIRST Even if your Node-RED doesn't have anything valuable, (automated) attacks will happen and could provide a foothold in your local network Follow the guide at https://nodered.org/docs/user-guide/runtime/securing-node-red to setup security. ### ADDITIONAL RECOMMENDATIONS You can customise the initial settings by running: node-red admin init Node-RED Settings File initialisation ===================================== This tool will help you create a Node-RED settings file. \u2716 Settings file \u00b7 /home/orangepi/.node-red/settings.js orangepi@orangepizero3:~$ ^C orangepi@orangepizero3:~$","title":"\u5b89\u88c5node-red\u8bb0\u5f55"}]}
\ No newline at end of file
diff --git a/Help/site/sitemap.xml.gz b/Help/site/sitemap.xml.gz
index c50c8f3..372a585 100644
--- a/Help/site/sitemap.xml.gz
+++ b/Help/site/sitemap.xml.gz
Binary files differ

--
Gitblit v1.8.0