{"id":114176,"date":"2026-10-08T14:17:01","date_gmt":"2026-10-08T06:17:01","guid":{"rendered":"https:\/\/www.wsisp.com\/helps\/114176.html"},"modified":"2026-10-08T14:17:01","modified_gmt":"2026-10-08T06:17:01","slug":"mqtt%e6%99%ba%e8%83%bd%e9%80%9a%e6%96%ad%e5%99%a8gscw1m2p-%c2%b7-%e5%bc%80%e5%8f%91%e8%80%85%e5%ae%9e%e6%88%98%e6%8c%87%e5%8d%97","status":"publish","type":"post","link":"https:\/\/www.wsisp.com\/helps\/114176.html","title":{"rendered":"MQTT\u667a\u80fd\u901a\u65ad\u5668GSCW1M2P \u00b7 \u5f00\u53d1\u8005\u5b9e\u6218\u6307\u5357"},"content":{"rendered":"<h2>GemeOpen GSCW1M2P \u667a\u80fd\u901a\u65ad\u5668&#xff08;25A&#xff09; \u00b7 \u5f00\u53d1\u8005\u5b9e\u6218\u6307\u5357<\/h2>\n<p>\u9762\u5411\u8f6f\u4ef6\u5f00\u53d1\u8005\u3001\u96c6\u6210\u5546\u9879\u76ee\u7ecf\u7406\u3001\u4f20\u7edf\u7535\u5b50\u8bbe\u5907\u5382\u7684\u6df1\u5ea6\u5e94\u7528\u624b\u518c<\/p>\n<p>\u4ece\u300c\u4e3a\u4ec0\u4e48 10A \u63d2\u5ea7\u4e0d\u591f\u7528\u300d\u5230\u300c\u600e\u4e48\u843d\u5730\u8d5a\u94b1\u300d\u2014\u2014\u6db5\u76d6\u534f\u8bae\u3001\u5199\u4ee3\u7801\u3001\u8c03\u8bd5\u3001\u5927\u529f\u7387\u7528\u7535\u91c7\u96c6\u3001\u5b89\u88c5\u65bd\u5de5\u3001\u4e0e\u4f20\u7edf\u914d\u7535\/\u5de5\u4e1a\u7cfb\u7edf\u5bf9\u63a5\u300124 \u4e2a\u5e94\u7528\u573a\u666f\u3001\u6210\u672c\u6536\u76ca\u4e0e\u8fd0\u7ef4\u4f53\u7cfb\u3002<\/p>\n<h3>\u76ee\u5f55<\/h3>\n<ul>\n<li>\u7b2c 1 \u7ae0 \u5f00\u7bc7&#xff1a;\u5f53 10A \u63d2\u5ea7\u4e0d\u591f\u7528\u2014\u201425A \u901a\u65ad\u5668\u7684\u6218\u573a<\/li>\n<li>\u7b2c 2 \u7ae0 \u8ba4\u8bc6 GSCW1M2P&#xff1a;25A\/6000W\u3001\u63a5\u7ebf\u5f0f\u3001\u7528\u7535\u91c7\u96c6\u4e0e\u80fd\u529b\u8fb9\u754c<\/li>\n<li>\u7b2c 3 \u7ae0 \u534f\u8bae\u4e0e\u6307\u4ee4\u5168\u666f<\/li>\n<li>\u7b2c 4 \u7ae0 \u5feb\u901f\u4e0a\u624b&#xff1a;15 \u5206\u949f\u63a7\u5236\u4e00\u53f0\u5927\u529f\u7387\u8bbe\u5907&#xff08;\u4e09\u8bed\u8a00&#xff09;<\/li>\n<li>\u7b2c 5 \u7ae0 \u5927\u529f\u7387\u7528\u7535\u91c7\u96c6\u4e0e\u8ba1\u91cf<\/li>\n<li>\u7b2c 6 \u7ae0 \u8c03\u8bd5\u624b\u518c&#xff1a;\u4ece&#034;\u6ca1\u53cd\u5e94&#034;\u5230&#034;\u4e00\u773c\u5b9a\u4f4d&#034;<\/li>\n<li>\u7b2c 7 \u7ae0 \u4e8c\u6b21\u5f00\u53d1\u8fdb\u9636&#xff1a;\u628a\u5b83\u53d8\u6210\u4f60\u7684\u4ea7\u54c1<\/li>\n<li>\u7b2c 8 \u7ae0 \u4e91\u5e73\u53f0\u5bf9\u63a5\u4e0e\u7cfb\u7edf\u96c6\u6210<\/li>\n<li>\u7b2c 9 \u7ae0 \u4e0e\u4f20\u7edf\u7535\u6c14\u8bbe\u5907\u5bf9\u63a5<\/li>\n<li>\u7b2c 10 \u7ae0 \u81ea\u52a8\u5316\u4e0e\u5b89\u5168\u7528\u7535&#xff1a;\u8ba9\u5927\u529f\u7387\u8bbe\u5907&#034;\u542c\u8bdd\u4e14\u5b89\u5168&#034;<\/li>\n<li>\u7b2c 11 \u7ae0 \u5b89\u88c5\u4e0e\u65bd\u5de5&#xff1a;25A \u662f&#034;\u7535\u5de5\u6d3b&#034;<\/li>\n<li>\u7b2c 12 \u7ae0 \u4e0e\u914d\u7535\u7cfb\u7edf\/\u5de5\u4e1a\u8bbe\u5907\u5bf9\u63a5<\/li>\n<li>\u7b2c 13 \u7ae0 \u5e94\u7528\u573a\u666f 12 \u4f8b<\/li>\n<li>\u7b2c 14 \u7ae0 \u5e94\u7528\u573a\u666f 12 \u4f8b&#xff08;\u7f16\u53f7 13~24&#xff09;<\/li>\n<li>\u7b2c 15 \u7ae0 \u7701\u94b1\u8d26&#xff1a;\u4e00\u4e2a\u901a\u65ad\u5668\u5e2e\u4f60\u7701\u4e86\u4ec0\u4e48<\/li>\n<li>\u7b2c 16 \u7ae0 \u589e\u6548&#xff1a;\u81ea\u52a8\u5316\u5e26\u6765\u7684\u6536\u76ca<\/li>\n<li>\u7b2c 17 \u7ae0 \u589e\u6536&#xff1a;\u628a\u901a\u65ad\u5668\u53d8\u6210\u5546\u4e1a\u6a21\u5f0f<\/li>\n<li>\u7b2c 18 \u7ae0 \u9879\u76ee\u7ba1\u7406&#xff1a;\u96c6\u6210\u5546\u89c6\u89d2\u7684\u843d\u5730\u65b9\u6cd5\u8bba<\/li>\n<li>\u7b2c 19 \u7ae0 \u8fd0\u7ef4\u4f53\u7cfb&#xff1a;\u8ba9\u7cfb\u7edf\u957f\u671f\u7a33\u5b9a<\/li>\n<li>\u7b2c 20 \u7ae0 \u9644\u5f55<\/li>\n<li>\u9644\u5f55 A \u00b7 \u8bbe\u5907\u89c4\u683c\u4e0e\u6307\u4ee4\u57fa\u51c6<\/li>\n<\/ul>\n<hr \/>\n<h2>\u7b2c 1 \u7ae0 \u5f00\u7bc7&#xff1a;\u5f53 10A \u63d2\u5ea7\u4e0d\u591f\u7528\u2014\u201425A \u901a\u65ad\u5668\u7684\u6218\u573a<\/h2>\n<p>\u4e00\u53e5\u8bdd\u70b9\u9898&#xff1a;\u667a\u80fd\u63d2\u5ea7\u80fd\u7ba1\u4f4f\u53f0\u706f\u548c\u98ce\u6247&#xff0c;\u5374\u7ba1\u4e0d\u4f4f\u7a7a\u8c03\u548c\u70ed\u6c34\u5668&#xff1b;GSCW1M2P \u8fd9\u7c7b&#034;\u63a5\u7ebf\u5f0f\u5927\u529f\u7387\u901a\u65ad\u5668&#034;&#xff0c;\u6b63\u662f\u4e3a\u4e86\u63a5\u7ba1\u90a3\u4e9b 10A \u63d2\u5ea7\u4e0d\u6562\u78b0\u7684\u8d1f\u8f7d\u800c\u751f\u3002<\/p>\n<h3>1.1 \u4e09\u4e2a\u771f\u5b9e\u75db\u70b9<\/h3>\n<p>\u5927\u90e8\u5206\u4eba\u7b2c\u4e00\u6b21\u63a5\u89e6&#034;\u667a\u80fd\u63d2\u5ea7&#034;&#xff0c;\u90fd\u662f\u4ece\u51e0\u5341\u5757\u4e00\u4e2a\u7684\u63d2\u5934\u5f0f\u4ea7\u54c1\u5f00\u59cb\u7684&#xff1a;\u63d2\u4e0a\u53bb\u3001\u8fde WiFi\u3001\u624b\u673a\u70b9\u4e00\u4e0b&#xff0c;\u53f0\u706f\u5c31\u4eae\u4e86&#xff0c;\u786e\u5b9e\u5f88\u723d\u3002\u4f46\u53ea\u8981\u4f60\u624b\u91cc\u7684\u8bbe\u5907\u7a0d\u5fae&#034;\u91cd&#034;\u4e00\u70b9&#xff0c;\u8fd9\u5957\u903b\u8f91\u7acb\u523b\u5c31\u7ef7\u4e0d\u4f4f\u4e86\u3002\u4e0b\u9762\u4e09\u4e2a\u573a\u666f&#xff0c;\u51e0\u4e4e\u6bcf\u5468\u90fd\u4f1a\u4ee5\u5de5\u5355\u7684\u5f62\u5f0f\u51fa\u73b0\u5728\u96c6\u6210\u5546\u548c\u65b9\u6848\u5546\u7684\u7fa4\u91cc\u3002<\/p>\n<p>\u75db\u70b9\u4e00&#xff1a;\u5927\u529f\u7387\u8bbe\u5907\u6839\u672c\u63d2\u4e0d\u8fdb\u53bb\u3002<br \/>\n\u5bb6\u7528\u6302\u673a\u7a7a\u8c03\u666e\u904d 1.5 \u5339\u5230 3 \u5339&#xff0c;\u8fd0\u884c\u529f\u7387\u4e00\u4e24\u5343\u74e6\u8d77\u6b65&#xff0c;\u538b\u7f29\u673a\u542f\u52a8\u90a3\u4e00\u4e0b\u66f4\u662f\u989d\u5b9a\u503c\u7684\u6570\u500d&#xff1b;\u50a8\u6c34\u5f0f\u7535\u70ed\u6c34\u5668\u52a8\u8f84 2000W~3000W&#xff1b;\u5373\u70ed\u5f0f\u70ed\u6c34\u5668\u751a\u81f3\u80fd\u5230 7000W \u4ee5\u4e0a\u3002\u666e\u901a\u63d2\u5934\u5f0f\u667a\u80fd\u63d2\u5ea7\u6807\u79f0 10A\u3001\u7ea6 2200W&#xff0c;\u9047\u5230\u8fd9\u7c7b\u8bbe\u5907\u8981\u4e48\u76f4\u63a5&#034;\u5e26\u4e0d\u52a8&#034;\u8df3\u95f8&#xff0c;\u8981\u4e48\u957f\u671f\u5728\u4e34\u754c\u70b9\u5de5\u4f5c\u3001\u63d2\u5ea7\u53d1\u70eb\u3001\u7ee7\u7535\u5668\u7c98\u8fde\u3001\u5851\u6599\u58f3\u4f53\u53d8\u5f62\u2014\u2014\u8fd9\u5c31\u662f\u706b\u707e\u9690\u60a3\u3002\u7528\u6237\u60f3\u7684\u662f&#034;\u8ba9\u7a7a\u8c03\u80fd\u8fdc\u7a0b\u5f00&#034;&#xff0c;\u7ed3\u679c\u9762\u5bf9\u7684\u662f&#034;\u63d2\u5ea7\u6839\u672c\u625b\u4e0d\u4f4f&#034;\u3002<\/p>\n<p>\u75db\u70b9\u4e8c&#xff1a;\u60f3\u624b\u52a8\u5f00\u5173&#xff0c;\u7eaf\u5c5e\u6d6a\u8d39\u65f6\u95f4\u548c\u4eba\u529b\u3002<br \/>\n\u529e\u516c\u5ba4\u7684\u524d\u53f0\u3001\u95e8\u5e97\u7684\u62db\u724c\u706f\u3001\u5de5\u5730\u4e34\u65f6\u7528\u7535\u3001\u6c11\u5bbf\u7684\u6cf3\u6c60\u5faa\u73af\u6cf5\u2014\u2014\u8fd9\u4e9b\u8bbe\u5907\u5e38\u5e38\u9700\u8981&#034;\u4e0b\u73ed\u65ad\u7535\u3001\u4e0a\u73ed\u901a\u7535&#034;\u3002\u5982\u679c\u6ca1\u6709\u81ea\u52a8\u5316&#xff0c;\u5c31\u5f97\u6bcf\u5929\u4e13\u7a0b\u8dd1\u4e00\u8d9f\u4eba\u5de5\u62c9\u95f8&#xff1b;\u5982\u679c\u88c5\u7684\u662f\u666e\u901a\u667a\u80fd\u63d2\u5ea7&#xff0c;\u53c8\u8981\u9762\u5bf9&#034;\u529f\u7387\u4e0d\u591f\u3001\u56de\u8def\u4e0d\u5339\u914d&#034;\u7684\u95ee\u9898\u3002\u65f6\u95f4\u4e00\u957f&#xff0c;\u6ca1\u4eba\u613f\u610f\u5e72\u8fd9\u4ef6\u4e8b&#xff0c;\u4e8e\u662f\u8bbe\u5907\u5e38\u5e74\u901a\u7535&#xff0c;\u767d\u767d\u8017\u7535\u8fd8\u52a0\u901f\u8001\u5316\u3002<\/p>\n<p>\u75db\u70b9\u4e09&#xff1a;\u80fd\u8017\u662f\u4e2a\u9ed1\u76d2&#xff0c;\u7535\u8d39\u8bf4\u4e0d\u6e05\u3002<br \/>\n\u4e00\u4e2a\u5145\u7535\u6869\u65c1\u7684\u5546\u7528\u51b0\u67dc\u3001\u4e00\u6392\u5171\u4eab\u6d17\u8863\u673a\u3001\u51e0\u53f0\u5c0f\u578b\u7535\u673a&#xff0c;\u6bcf\u6708\u7535\u8d39\u5230\u5e95\u82b1\u5728\u8c01\u8eab\u4e0a&#xff1f;\u4f20\u7edf\u65b9\u5f0f\u662f\u88c5\u4e00\u4e2a\u72ec\u7acb\u7684\u7535\u8868&#xff0c;\u6210\u672c\u9ad8\u3001\u5e03\u7ebf\u9ebb\u70e6\u3001\u8fd8\u5f97\u4eba\u5de5\u6284\u8868\u3002\u8c01\u90fd\u60f3\u8981\u4e00\u4e2a&#034;\u65e2\u80fd\u8fdc\u7a0b\u5f00\u5173\u3001\u53c8\u80fd\u987a\u5e26\u4e0a\u62a5\u7528\u4e86\u591a\u5c11\u7535&#034;\u7684\u4e1c\u897f&#xff0c;\u628a&#034;\u63a7\u5236&#034;\u548c&#034;\u8ba1\u91cf&#034;\u5408\u4e8c\u4e3a\u4e00\u3002<\/p>\n<p>\u8fd9\u4e09\u4e2a\u75db\u70b9\u7684\u5171\u540c\u89e3&#xff0c;\u5c31\u662f \u63a5\u7ebf\u5f0f\u5927\u529f\u7387\u667a\u80fd\u901a\u65ad\u5668\u3002\u5b83\u4e0d\u505a&#034;\u63d2\u5934&#034;&#xff0c;\u800c\u662f\u50cf\u5f00\u5173\u4e00\u6837\u4e32\u8fdb\u7ebf\u8def\u91cc&#xff0c;\u7528 25A \/ \u6700\u5927 6000W \u7684\u80fd\u529b\u53bb\u63a5\u7ba1\u5927\u8d1f\u8f7d&#xff0c;\u540c\u65f6\u628a\u7535\u538b\u3001\u7535\u6d41\u3001\u529f\u7387\u3001\u7528\u7535\u91cf\u4e00\u8def\u91c7\u96c6\u5e76\u4e0a\u62a5\u3002GemeOpen GSCW1M2P&#xff08;\u4ea7\u54c1\u540d&#034;\u667a\u80fd\u901a\u65ad\u5668 25A-S2 Plus-WiFi&#034;&#xff09;\u5c31\u662f\u8fd9\u4e00\u7c7b\u7684\u5178\u578b\u4ee3\u8868\u3002<\/p>\n<h3>1.2 \u63d2\u5ea7 vs \u901a\u65ad\u5668\u7684\u5206\u5de5<\/h3>\n<p>\u5f88\u591a\u4eba\u4f1a\u628a&#034;\u667a\u80fd\u63d2\u5ea7&#034;\u548c&#034;\u667a\u80fd\u901a\u65ad\u5668&#034;\u6df7\u4e3a\u4e00\u8c08&#xff0c;\u5176\u5b9e\u5b83\u4eec\u662f\u4e24\u79cd\u5b9a\u4f4d\u5b8c\u5168\u4e0d\u540c\u7684\u4ea7\u54c1\u3002\u6253\u4e2a\u6bd4\u65b9&#xff1a;\u667a\u80fd\u63d2\u5ea7\u50cf&#034;\u63d2\u5ea7\u4e0a\u7684\u5f00\u5173&#034;&#xff0c;\u53ea\u80fd\u7ba1\u90a3\u4e9b\u5df2\u7ecf\u7528\u63d2\u5934\u63d2\u4e0a\u7684\u7535\u5668&#xff1b;\u800c\u667a\u80fd\u901a\u65ad\u5668\u50cf&#034;\u914d\u7535\u7bb1\u91cc\u7684\u4e00\u8def\u7a7a\u6c14\u5f00\u5173&#034;&#xff0c;\u5b83\u672c\u8eab\u5c31\u662f\u7ebf\u8def\u7684\u4e00\u90e8\u5206&#xff0c;\u60f3\u63a7\u5236\u54ea\u6761\u56de\u8def&#xff0c;\u5c31\u628a\u54ea\u6761\u56de\u8def\u63a5\u5230\u5b83\u8eab\u4e0a\u3002<\/p>\n<table>\n<tr>\u7ef4\u5ea6\u63d2\u5934\u5f0f\u667a\u80fd\u63d2\u5ea7&#xff08;10A&#xff09;\u63a5\u7ebf\u5f0f\u901a\u65ad\u5668&#xff08;GSCW1M2P 25A&#xff09;<\/tr>\n<tbody>\n<tr>\n<td>\u63a5\u5165\u65b9\u5f0f<\/td>\n<td>\u7535\u5668\u63d2\u5934\u63d2\u5728\u63d2\u5ea7\u4e0a<\/td>\n<td>\u8fdb\u7ebf \/ \u51fa\u7ebf\u76f4\u63a5\u63a5\u7ebf&#xff0c;\u4e32\u5165\u56de\u8def<\/td>\n<\/tr>\n<tr>\n<td>\u627f\u8f7d\u80fd\u529b<\/td>\n<td>\u7ea6 10A \/ 2200W \u7ea7<\/td>\n<td>25A \/ MAX 6000W&#xff08;\u963b\u6027&#xff09;<\/td>\n<\/tr>\n<tr>\n<td>\u9002\u7528\u8bbe\u5907<\/td>\n<td>\u53f0\u706f\u3001\u98ce\u6247\u3001\u8def\u7531\u5668\u3001\u5c0f\u5bb6\u7535<\/td>\n<td>\u7a7a\u8c03\u3001\u70ed\u6c34\u5668\u3001\u6c34\u6cf5\u3001\u7535\u673a\u3001\u5546\u7528\u8bbe\u5907<\/td>\n<\/tr>\n<tr>\n<td>\u5b89\u88c5\u65b9\u5f0f<\/td>\n<td>\u5373\u63d2\u5373\u7528<\/td>\n<td>\u9700\u65ad\u7535\u4f5c\u4e1a\u3001\u4e13\u4e1a\u7535\u5de5\u63a5\u7ebf<\/td>\n<\/tr>\n<tr>\n<td>\u8ba1\u91cf\u80fd\u529b<\/td>\n<td>\u4e00\u822c\u4e0d\u5e26\u6216\u7cbe\u5ea6\u6709\u9650<\/td>\n<td>\u5e26\u7528\u7535\u91c7\u96c6&#xff08;V\/A\/W\/kWh&#xff09;<\/td>\n<\/tr>\n<tr>\n<td>\u5178\u578b\u89d2\u8272<\/td>\n<td>\u6d88\u8d39\u7ea7&#034;C \u7aef\u5c0f\u73a9\u610f&#034;<\/td>\n<td>\u5de5\u7a0b\u7ea7&#034;B \u7aef\u63a7\u5236\u8282\u70b9&#034;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u4e00\u53e5\u8bdd\u603b\u7ed3\u5206\u5de5&#xff1a;10A \u63d2\u5ea7\u8d1f\u8d23&#034;\u8f7b\u91cf\u3001\u968f\u624b&#034;&#xff0c;25A \u901a\u65ad\u5668\u8d1f\u8d23&#034;\u91cd\u8f7d\u3001\u5de5\u7a0b&#034;\u3002\u5f53\u4f60\u7684\u8bbe\u5907\u529f\u7387\u8d85\u8fc7 2000W&#xff0c;\u6216\u8005\u6839\u672c\u6ca1\u6709\u63d2\u5934&#xff08;\u662f\u63a5\u5230\u7ebf\u8def\u4e0a\u7684&#xff09;&#xff0c;\u684c\u9762\u4e0a\u7684\u8def\u5c31\u5df2\u7ecf\u8d70\u6b7b\u4e86&#xff0c;\u552f\u4e00\u7684\u6b63\u89e3\u5c31\u662f\u63a5\u7ebf\u5f0f\u901a\u65ad\u5668\u3002<\/p>\n<h3>1.3 \u8fd9\u4efd\u6587\u6863\u5199\u7ed9\u8c01&#xff0c;\u600e\u4e48\u8bfb<\/h3>\n<p>\u8fd9\u7bc7\u6587\u6863\u4e0d\u662f&#034;\u5f00\u7bb1\u5373\u7528&#034;\u7684\u8bf4\u660e\u4e66&#xff0c;\u800c\u662f\u4e00\u4efd\u9762\u5411\u5f00\u53d1\u8005\u7684\u6280\u672f\u5f00\u53d1\u6307\u5357\u3002\u5b83\u5047\u8bbe\u4f60\u5df2\u7ecf\u6709\u80fd\u529b\u8bfb\u61c2\u4ee3\u7801\u3001\u770b\u61c2\u63a5\u7ebf\u56fe\u3001\u6216\u8005\u81f3\u5c11\u80fd\u628a\u5b83\u8bb2\u7ed9\u7535\u5de5\u542c\u3002\u6839\u636e\u4f60\u7684\u8eab\u4efd&#xff0c;\u5efa\u8bae\u8fd9\u6837\u8bfb&#xff1a;<\/p>\n<ul>\n<li>\u8f6f\u4ef6\u5f00\u53d1\u8005&#xff1a;\u91cd\u70b9\u5728\u7b2c 3 \u7ae0&#xff08;\u534f\u8bae\u4e0e\u6307\u4ee4\u5168\u666f&#xff09;\u548c\u7b2c 4 \u7ae0&#xff08;\u4e09\u8bed\u8a00\u5feb\u901f\u4e0a\u624b&#xff09;\u3002\u4f60\u8981\u5173\u5fc3\u7684\u662f\u7528\u4ec0\u4e48\u534f\u8bae\u3001\u53d1\u4ec0\u4e48\u5b57\u6bb5\u3001\u6536\u5230\u4ec0\u4e48\u54cd\u5e94\u3001\u6570\u636e\u5728\u54ea\u3002<\/li>\n<li>\u96c6\u6210\u5546 \/ \u9879\u76ee\u7ecf\u7406&#xff1a;\u91cd\u70b9\u5728\u7b2c 2 \u7ae0&#xff08;\u80fd\u529b\u8fb9\u754c\u3001\u5bff\u547d\u9884\u7b97&#xff09;\u548c\u7b2c 4 \u7ae0\u7684\u843d\u5730\u6e05\u5355\u3002\u4f60\u8981\u5173\u5fc3\u7684\u662f&#034;\u80fd\u4e0d\u80fd\u625b\u4f4f\u8fd9\u4e2a\u8d1f\u8f7d&#034;\u201c\u591a\u5c11\u4e2a\u70b9\u201d\u201c\u9a8c\u6536\u600e\u4e48\u8fc7\u201d\u201c\u4f1a\u4e0d\u4f1a\u6709\u9690\u6027\u6210\u672c\u201d\u3002<\/li>\n<li>\u4f20\u7edf\u7535\u5b50\u8bbe\u5907\u5382 \/ \u786c\u4ef6\u5de5\u7a0b\u5e08&#xff1a;\u91cd\u70b9\u5728\u7b2c 2 \u7ae0&#xff08;\u7535\u6c14\u89c4\u683c\u3001\u63a5\u7ebf\u7ea6\u675f\u3001\u5bff\u547d&#xff09;\u548c\u6bcf\u7ae0\u672b\u5c3e\u7684\u5de5\u7a0b\u63d0\u793a\u3002\u4f60\u8981\u5173\u5fc3\u7684\u662f\u7ebf\u5f84\u3001\u7a7a\u5f00\u3001\u964d\u989d\u3001\u6563\u70ed\u4e0e\u53ef\u9760\u6027\u3002<\/li>\n<\/ul>\n<p>\u65e0\u8bba\u4f60\u5c5e\u4e8e\u54ea\u4e00\u7c7b&#xff0c;\u8bf7\u8bb0\u4f4f\u5168\u6587\u6709\u4e00\u6761\u8d2f\u7a7f\u59cb\u7ec8\u7684\u7ea2\u7ebf&#xff1a;\u8fd9\u662f\u5f3a\u7535\u8bbe\u5907&#xff0c;\u6d89\u53ca 110~260Vac \u5e02\u7535&#xff0c;\u4efb\u4f55\u63a5\u7ebf\u4f5c\u4e1a\u90fd\u5fc5\u987b\u65ad\u7535\u8fdb\u884c\u3001\u7531\u4e13\u4e1a\u7535\u5de5\u64cd\u4f5c&#xff0c;\u5e76\u914d\u5907\u8db3\u591f\u5bb9\u91cf\u7684\u7a7a\u6c14\u5f00\u5173 \/ \u6f0f\u7535\u4fdd\u62a4\u5668\u3002<\/p>\n<h4>\u672c\u7ae0\u8981\u70b9<\/h4>\n<li>10A \u63d2\u5934\u5f0f\u63d2\u5ea7\u65e0\u6cd5\u627f\u8f7d\u7a7a\u8c03\u3001\u70ed\u6c34\u5668\u7b49\u5927\u529f\u7387\u8bbe\u5907&#xff0c;\u786c\u4e0a\u5c31\u662f\u5b89\u5168\u4e8b\u6545\u3002<\/li>\n<li>\u667a\u80fd\u63d2\u5ea7\u7ba1&#034;\u8f7b\u91cf\u5373\u63d2\u5373\u7528&#034;&#xff0c;\u63a5\u7ebf\u5f0f\u901a\u65ad\u5668\u7ba1&#034;\u91cd\u8f7d\u5de5\u7a0b\u56de\u8def&#034;&#xff0c;\u4e24\u8005\u5206\u5de5\u660e\u786e\u3002<\/li>\n<li>GSCW1M2P \u5b9a\u4f4d\u662f 25A \/ \u6700\u5927 6000W\u3001\u5355\u8def\u63a5\u7ebf\u5f0f\u3001\u5e26\u7528\u7535\u91c7\u96c6\u7684\u5927\u529f\u7387\u63a7\u5236\u8282\u70b9\u3002<\/li>\n<li>\u4e09\u7c7b\u8bfb\u8005\u5404\u6709\u4fa7\u91cd\u70b9&#xff1a;\u5f00\u53d1\u8005\u770b\u534f\u8bae\u4e0e\u4ee3\u7801&#xff0c;\u96c6\u6210\u5546\u770b\u8fb9\u754c\u4e0e\u6210\u672c&#xff0c;\u786c\u4ef6\u770b\u7535\u6c14\u7ba1\u7ebf\u3002<\/li>\n<li>\u5f3a\u7535\u4f5c\u4e1a&#xff0c;\u65ad\u7535\u3001\u6301\u8bc1\u7535\u5de5\u3001\u7a7a\u5f00\u6f0f\u4fdd&#xff0c;\u4e00\u4e2a\u90fd\u4e0d\u80fd\u5c11\u3002<\/li>\n<hr \/>\n<h2>\u7b2c 2 \u7ae0 \u8ba4\u8bc6 GSCW1M2P&#xff1a;25A\/6000W\u3001\u63a5\u7ebf\u5f0f\u3001\u7528\u7535\u91c7\u96c6\u4e0e\u80fd\u529b\u8fb9\u754c<\/h2>\n<p>\u4e00\u53e5\u8bdd\u70b9\u9898&#xff1a;\u8981\u628a\u4e00\u53f0\u8bbe\u5907\u7528\u5bf9\u3001\u7528\u597d&#xff0c;\u5148\u5f97\u628a\u5b83&#034;\u80fd\u505a\u4ec0\u4e48\u3001\u4e0d\u80fd\u505a\u4ec0\u4e48&#034;\u770b\u5f97\u660e\u660e\u767d\u767d\u2014\u2014\u672c\u7ae0\u9010\u6761\u62c6\u89e3 GSCW1M2P \u7684\u89c4\u683c\u3001\u5bff\u547d\u4e0e\u80fd\u529b\u8fb9\u754c&#xff0c;\u5c24\u5176\u628a&#034;\u89c6\u5728\u529f\u7387&#034;\u8fd9\u4e2a\u6700\u5bb9\u6613\u8e29\u5751\u7684\u6982\u5ff5\u8bb2\u900f\u3002<\/p>\n<h3>2.1 \u89c4\u683c\u9010\u6761\u89e3\u8bfb<\/h3>\n<p>\u5148\u770b\u89c4\u683c\u8868&#xff0c;\u518d\u9010\u6761\u89e3\u91ca\u5b83\u5bf9\u4f60\u610f\u5473\u7740\u4ec0\u4e48\u3002<\/p>\n<table>\n<tr>\u9879\u76ee\u53c2\u6570\u5bf9\u5f00\u53d1\u8005\u7684\u542b\u4e49<\/tr>\n<tbody>\n<tr>\n<td>\u4e3b\u63a7<\/td>\n<td>\u4e50\u946b ESP8266<\/td>\n<td>\u6210\u719f\u7684 WiFi SoC&#xff0c;\u751f\u6001\u597d\u3001\u6613\u4e8c\u6b21\u5f00\u53d1\u3001\u56fa\u4ef6\u7a33\u5b9a<\/td>\n<\/tr>\n<tr>\n<td>\u5c3a\u5bf8<\/td>\n<td>50mm \u00d7 110mm \u00d7 32mm<\/td>\n<td>\u5c0f\u5de7&#xff0c;\u53ef\u585e\u8fdb\u5e95\u76d2\u6216\u5c0f\u578b\u914d\u7535\u7a7a\u95f4&#xff0c;\u6ce8\u610f\u8d70\u7ebf\u7a7a\u95f4<\/td>\n<\/tr>\n<tr>\n<td>\u8f93\u5165\u7535\u538b<\/td>\n<td>110Vac ~ 260Vac<\/td>\n<td>\u5bbd\u538b&#xff0c;\u8986\u76d6\u56fd\u5185 220V \u4e0e\u90e8\u5206\u6d77\u5916 110V\/\u7f8e\u6807\u573a\u666f<\/td>\n<\/tr>\n<tr>\n<td>\u8f93\u51fa\u901a\u9053<\/td>\n<td>\u5355\u8def<\/td>\n<td>\u4e00\u8def\u5c31\u662f\u4e00\u4e2a\u56de\u8def&#xff0c;\u4e0d\u662f\u4e09\u8def\u5f00\u5173<\/td>\n<\/tr>\n<tr>\n<td>\u5de5\u4f5c\u7535\u6d41<\/td>\n<td>25A<\/td>\n<td>\u5927\u7535\u6d41\u627f\u8f7d&#xff0c;\u5bf9\u5e94\u5927\u529f\u7387\u8d1f\u8f7d<\/td>\n<\/tr>\n<tr>\n<td>\u6700\u5927\u8d1f\u8f7d<\/td>\n<td>MAX 6000W&#xff08;\u963b\u6027\u8d1f\u8f7d&#xff09;<\/td>\n<td>\u5173\u952e\u7ea6\u675f&#xff1a;\u8fd9\u662f&#034;\u963b\u6027&#034;\u4e0a\u9650&#xff0c;\u611f\u6027\u8d1f\u8f7d\u8981\u964d\u989d<\/td>\n<\/tr>\n<tr>\n<td>\u5f85\u673a\u529f\u7387<\/td>\n<td>&lt; 4W<\/td>\n<td>\u8bbe\u5907\u81ea\u8eab\u9759\u6001\u529f\u8017\u4f4e&#xff0c;\u957f\u671f\u901a\u7535\u4e0d\u8fc7\u5206\u6d6a\u8d39<\/td>\n<\/tr>\n<tr>\n<td>\u901a\u8baf<\/td>\n<td>2.4GHz WiFi&#xff1b;MQTT \/ TCP \/ HTTP<\/td>\n<td>\u4e09\u79cd\u63a7\u5236\u65b9\u5f0f&#xff0c;\u53ef\u6309\u5de5\u7a0b\u6761\u4ef6\u9009\u62e9<\/td>\n<\/tr>\n<tr>\n<td>\u5bff\u58f3<\/td>\n<td>\u963b\u71c3 PC\/ABS V0 \u7ea7<\/td>\n<td>\u963b\u71c3\u7b49\u7ea7\u9ad8&#xff0c;\u5b89\u5168\u6027\u6709\u4fdd\u969c<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u9010\u6761\u8bf4\u4eba\u8bdd&#xff1a;<\/p>\n<ul>\n<li>ESP8266&#xff1a;\u8fd9\u662f\u88ab\u6d77\u91cf\u7269\u8054\u7f51\u4ea7\u54c1\u9a8c\u8bc1\u8fc7\u7684\u4e3b\u63a7&#xff0c;\u610f\u5473\u7740\u8d44\u6599\u591a\u3001\u8f6e\u5b50\u5168\u3001\u51fa\u95ee\u9898\u597d\u6392\u67e5\u3002\u5bf9\u4e8c\u6b21\u5f00\u53d1\u53cb\u597d&#xff0c;\u4f60\u51e0\u4e4e\u4e0d\u7528\u62c5\u5fc3&#034;\u82af\u7247\u592a\u51b7\u95e8\u627e\u4e0d\u5230\u8d44\u6599&#034;\u3002<\/li>\n<li>50\u00d7110\u00d732mm&#xff1a;\u5927\u81f4\u662f\u4e00\u5305\u9999\u70df\u7684\u4f53\u91cf&#xff0c;\u63a5\u7ebf\u5f0f\u4ea7\u54c1\u91cc\u7b97\u7d27\u51d1\u3002\u5b89\u88c5\u65f6\u8981\u9884\u7559\u8fdb\u51fa\u7ebf\u7a7a\u95f4\u548c\u6563\u70ed\u95f4\u9699&#xff0c;\u522b\u628a\u7ebf\u6324\u6b7b\u3002<\/li>\n<li>110~260Vac \u5bbd\u538b\u8f93\u5165&#xff1a;\u8fd9\u4e00\u6761\u5f88\u91cd\u8981&#xff0c;\u5b83\u51b3\u5b9a\u4e86\u8bbe\u5907\u7684\u5e02\u573a\u9002\u914d\u6027\u2014\u2014\u540c\u4e00\u4e2a\u578b\u53f7\u80fd\u8986\u76d6\u56fd\u5185 220V \u4e0e\u6d77\u5916 110V \u573a\u666f&#xff0c;\u51fa\u53e3\u9879\u76ee\u4e0d\u7528\u53e6\u914d\u578b\u3002<\/li>\n<li>\u5355\u8def\u8f93\u51fa&#xff1a;\u518d\u6b21\u5f3a\u8c03&#xff0c;\u5b83\u662f\u4e00\u8def\u901a\u65ad\u5668\u3002\u8981\u5b9e\u73b0&#034;\u4e09\u53f0\u8bbe\u5907\u5206\u5f00\u63a7\u5236&#034;&#xff0c;\u5c31\u5f97\u7528\u4e09\u4e2a&#xff0c;\u800c\u4e0d\u662f\u5e7b\u60f3\u4e00\u4e2a\u8bbe\u5907\u7ba1\u4e09\u8def\u3002<\/li>\n<li>25A \/ MAX 6000W&#xff08;\u963b\u6027&#xff09;&#xff1a;25A \u00d7 220V \u2248 5500W&#xff0c;\u6807\u6ce8 MAX 6000W \u662f\u963b\u6027\u8d1f\u8f7d\u5cf0\u503c\u80fd\u529b\u3002&#034;\u963b\u6027&#034;\u4e24\u4e2a\u5b57\u662f\u672c\u7ae0\u540e\u9762 2.3 \u8282\u7684\u91cd\u70b9\u3002<\/li>\n<li>\u5f85\u673a &lt; 4W&#xff1a;\u8bbe\u5907\u81ea\u8eab\u957f\u671f\u901a\u7535\u7684\u635f\u8017\u5f88\u4f4e&#xff0c;\u505a\u5e38\u5e74\u5728\u7ebf\u63a7\u5236\u4e0d\u4f1a\u6709&#034;\u8bbe\u5907\u81ea\u5df1\u5c31\u5f88\u8017\u7535&#034;\u7684\u5c34\u5c2c\u3002<\/li>\n<li>MQTT \/ TCP \/ HTTP&#xff1a;\u63a7\u5236\u534f\u8bae\u4e09\u9009\u4e00&#xff08;\u6216\u7ec4\u5408&#xff09;&#xff0c;\u8fd9\u662f\u5b83&#034;\u9762\u5411\u5f00\u53d1\u8005&#034;\u7684\u6838\u5fc3\u5356\u70b9\u3002<\/li>\n<li>V0 \u7ea7\u963b\u71c3\u5916\u58f3&#xff1a;\u4e07\u4e00\u5185\u90e8\u5f02\u5e38\u53d1\u70ed&#xff0c;\u5916\u58f3\u4e0d\u6613\u52a9\u71c3&#xff0c;\u8fd9\u662f\u7535\u6c14\u5b89\u5168\u7684\u57fa\u672c\u76d8\u3002<\/li>\n<\/ul>\n<p>\u91cd\u8981\u63d0\u793a&#xff1a;\u672c\u578b\u53f7\u65e0 RS-485\u3001\u65e0\u7ea2\u5916\u9065\u63a7\u3002\u5982\u679c\u4f60\u7684\u65b9\u6848\u91cc\u539f\u672c\u89c4\u5212\u4e86&#034;\u63a5 485 \u603b\u7ebf&#034;\u6216&#034;\u7528\u7ea2\u5916\u9065\u63a7\u7a7a\u8c03&#034;&#xff0c;\u8bf7\u6539\u8bbe\u8ba1\u2014\u2014\u8fd9\u91cc\u53ea\u6709 WiFi &#043; MQTT\/TCP\/HTTP\u3002<\/p>\n<h3>2.2 \u5bff\u547d\u4e0e\u53ef\u9760\u6027&#xff1a;\u9ad8\u9891\u901a\u65ad\u7684\u5bff\u547d\u9884\u7b97<\/h3>\n<p>\u7ee7\u7535\u5668\u662f\u6709\u673a\u68b0\u5bff\u547d\u7684\u3002GSCW1M2P \u7ed9\u51fa\u4e24\u4e2a\u5bff\u547d\u6307\u6807&#xff0c;\u542b\u4e49\u5b8c\u5168\u4e0d\u540c&#xff1a;<\/p>\n<table>\n<tr>\u6307\u6807\u6570\u503c\u542b\u4e49<\/tr>\n<tbody>\n<tr>\n<td>\u673a\u68b0\u5bff\u547d<\/td>\n<td>500 \u4e07\u6b21<\/td>\n<td>\u4e0d\u5e26\u7535\u3001\u7a7a\u52a8\u4f5c\u65f6\u7684\u89e6\u70b9\u5f00\u5408\u6b21\u6570<\/td>\n<\/tr>\n<tr>\n<td>\u7535\u6c14\u5bff\u547d<\/td>\n<td>5 \u4e07\u6b21<\/td>\n<td>\u5e26\u8d1f\u8f7d\u901a\u65ad\u65f6\u7684\u5b89\u5168\u5f00\u5408\u6b21\u6570<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u8fd9\u4e24\u4e2a\u6570\u5b57\u5dee\u4e86\u4e24\u4e2a\u6570\u91cf\u7ea7&#xff0c;\u6b63\u662f\u65b0\u624b\u6700\u5bb9\u6613\u5ffd\u7565\u7684\u5730\u65b9\u3002\u673a\u68b0\u5bff\u547d 500 \u4e07\u6b21\u542c\u8d77\u6765&#034;\u8fd9\u8f88\u5b50\u7528\u4e0d\u5b8c&#034;&#xff0c;\u4f46\u771f\u6b63\u6d88\u8017\u5bff\u547d\u7684\u662f&#034;\u5e26\u7535\u901a\u65ad&#034;&#xff0c;\u4e5f\u5c31\u662f\u7535\u6c14\u5bff\u547d\u2014\u2014\u53ea\u6709 5 \u4e07\u6b21\u3002<\/p>\n<p>\u4e3e\u4e2a&#034;\u5bff\u547d\u9884\u7b97&#034;\u7684\u4f8b\u5b50&#xff08;\u793a\u4f8b\u6d4b\u7b97&#xff09;&#xff1a;\u5047\u8bbe\u4f60\u5728\u505a\u4e00\u4e2a&#034;\u6bcf\u5c0f\u65f6\u5f00\u5173\u4e00\u6b21\u7684\u51b7\u5e93\u8865\u5149&#034;\u9879\u76ee&#xff0c;\u4e00\u5929 24 \u6b21&#xff0c;\u4e00\u5e74\u7ea6 8760 \u6b21\u3002\u82e5\u6309\u7535\u6c14\u5bff\u547d 5 \u4e07\u6b21\u4f30\u7b97&#xff0c;\u5927\u7ea6 5.7 \u5e74\u5c31\u4f1a\u63a5\u8fd1\u8bbe\u8ba1\u5bff\u547d&#xff1b;\u5982\u679c\u505a\u5230&#034;\u6bcf 5 \u5206\u949f\u5f00\u5173\u4e00\u6b21&#034;&#xff0c;\u4e00\u5929 288 \u6b21&#xff0c;\u4e0d\u5230\u534a\u5e74\u5c31\u628a\u7535\u6c14\u5bff\u547d\u8017\u6389\u5927\u534a\u3002\u8fd9\u4e0d\u662f\u5371\u8a00\u8038\u542c&#xff0c;\u800c\u662f\u63d0\u9192\u4f60&#xff1a;\u51e1\u662f\u9ad8\u9891\u901a\u65ad\u573a\u666f&#xff0c;\u4e00\u5b9a\u8981\u5148\u7b97\u5bff\u547d\u8d26\u3002<\/p>\n<p>\u5de5\u7a0b\u7ed3\u8bba&#xff1a;<\/p>\n<li>\u4f4e\u9891\u901a\u65ad&#xff08;\u4e00\u5929\u51e0\u6b21\u5230\u51e0\u5341\u6b21&#xff09;&#xff1a;\u653e\u5fc3\u7528&#xff0c;\u5bff\u547d\u8db3\u591f\u3002<\/li>\n<li>\u9ad8\u9891\u901a\u65ad&#xff08;\u5206\u949f\u7ea7\u3001\u79d2\u7ea7\u5faa\u73af&#xff09;&#xff1a;\u614e\u7528\u7ee7\u7535\u5668\u65b9\u6848&#xff0c;\u8003\u8651\u56fa\u6001\u7ee7\u7535\u5668&#xff08;SSR&#xff09;\u3001\u63a5\u89e6\u5668&#xff0c;\u6216\u5728\u4e1a\u52a1\u5c42\u505a&#034;\u5408\u5e76\u63a7\u5236\u3001\u51cf\u5c11\u65e0\u6548\u5f00\u5173&#034;\u3002<\/li>\n<li>\u80fd&#034;\u62c9\u957f\u5f00\u5173&#034;\u5c31\u522b&#034;\u9891\u7e41\u5f00\u5173&#034;&#xff1a;\u6bd4\u5982\u7a7a\u8c03\u8fd9\u79cd&#xff0c;\u4e0e\u5176\u53cd\u590d\u901a\u65ad&#xff0c;\u4e0d\u5982\u8ba9\u5b83\u81ea\u5df1\u5f85\u673a\u3001\u7531\u901a\u65ad\u5668\u53ea\u505a&#034;\u6574\u4f53\u65ad\u7535&#034;\u7684\u7c97\u7c92\u5ea6\u63a7\u5236\u3002<\/li>\n<h3>2.3 \u80fd\u529b\u8fb9\u754c&#xff1a;\u5355\u8def\u3001\u63a5\u7ebf\u5f0f\u3001\u4e0d\u9632\u6c34<\/h3>\n<p>\u89c4\u683c\u8868\u4e4b\u5916&#xff0c;\u8fd8\u6709\u4e09\u6761\u5fc5\u987b\u523b\u5728\u8111\u5b50\u91cc\u7684\u8fb9\u754c&#xff0c;\u5b83\u4eec\u51b3\u5b9a\u4e86&#034;\u80fd\u7528&#034;\u548c&#034;\u4e0d\u80fd\u7528&#034;\u3002<\/p>\n<p>\u8fb9\u754c\u4e00&#xff1a;\u5355\u8def\u3002<br \/>\n\u5b83\u53ea\u6709\u4e00\u8def\u8f93\u51fa\u3002\u4e00\u4e2a\u901a\u65ad\u5668 &#061; \u4e00\u4e2a\u56de\u8def\u3002\u4e09\u53f0\u8bbe\u5907\u8981\u72ec\u7acb\u63a7\u5236&#xff0c;\u5c31\u662f\u4e09\u53f0\u901a\u65ad\u5668\u3001\u4e09\u6761\u56de\u8def\u3002\u522b\u6307\u671b\u5b83\u50cf&#034;\u4e09\u8def\u5f00\u5173\u9762\u677f&#034;\u4e00\u6837\u4e00\u62d6\u4e09\u3002<\/p>\n<p>\u8fb9\u754c\u4e8c&#xff1a;\u63a5\u7ebf\u5f0f&#xff0c;\u975e\u63d2\u5934\u3002<br \/>\nGSCW1M2P \u662f\u63a5\u7ebf\u5f0f\u5b89\u88c5&#xff1a;\u9700\u8981**\u8fdb\u7ebf&#xff08;\u6765\u81ea\u7a7a\u5f00\/\u4e0a\u7ea7\u56de\u8def&#xff09;\u548c\u51fa\u7ebf&#xff08;\u53bb\u5f80\u8d1f\u8f7d&#xff09;**\u4e24\u7aef\u63a5\u7ebf&#xff0c;\u4e32\u8fdb\u56de\u8def\u91cc\u3002\u8fd9\u610f\u5473\u7740&#xff1a;<\/p>\n<li>\u5fc5\u987b\u65ad\u7535\u4f5c\u4e1a&#xff0c;\u5207\u65ad\u4e0a\u7ea7\u7a7a\u5f00&#xff0c;\u9a8c\u7535\u786e\u8ba4\u65e0\u7535\u540e\u518d\u52a8\u624b\u3002<\/li>\n<li>\u7531\u4e13\u4e1a\u7535\u5de5\u64cd\u4f5c&#xff0c;\u975e\u4e13\u4e1a\u4eba\u5458\u4e0d\u5f97\u89e6\u78b0\u5f3a\u7535\u63a5\u7ebf\u3002<\/li>\n<li>\u5bfc\u7ebf\u7ebf\u5f84\u8981\u4e0e 25A \u5339\u914d\u3002\u53c2\u8003\u5de5\u7a0b\u60ef\u4f8b&#xff0c;25A \u56de\u8def\u5efa\u8bae \u22654mm\u00b2 \u94dc\u82af\u7ebf&#xff08;\u5177\u4f53\u4ee5\u5f53\u5730\u7535\u6c14\u89c4\u8303\u4e0e\u7ebf\u7f06\u9009\u578b\u4e3a\u51c6&#xff09;&#xff1b;\u7ebf\u5f84\u4e0d\u591f\u4f1a\u6210\u4e3a\u53d1\u70ed\u70b9\u548c\u706b\u707e\u6e90\u3002<\/li>\n<li>\u5fc5\u987b\u914d\u8db3\u591f\u5bb9\u91cf\u7684\u7a7a\u5f00 \/ \u6f0f\u7535\u4fdd\u62a4\u5668&#xff0c;\u4e3a\u8fd9\u6761\u56de\u8def\u63d0\u4f9b\u8fc7\u6d41\u4e0e\u6f0f\u7535\u4fdd\u62a4\u3002<\/li>\n<p>\u8fb9\u754c\u4e09&#xff1a;\u4e0d\u9632\u6c34\u3002<br \/>\n\u672c\u4ea7\u54c1\u4e0d\u9632\u6c34&#xff0c;\u53ea\u80fd\u5b89\u88c5\u5728\u5e72\u71e5\u3001\u65e0\u51dd\u9732\u3001\u65e0\u76f4\u63a5\u6c34\u6dcb\u7684\u5ba4\u5185\u73af\u5883&#xff08;\u914d\u7535\u7bb1\u3001\u5ba4\u5185\u5e95\u76d2&#xff09;\u3002\u4e25\u7981\u88c5\u5728\u6c34\u6c60\u8fb9\u3001\u5ba4\u5916\u9732\u5929\u3001\u6d74\u5ba4\u84b8\u6c7d\u533a\u7b49\u6f6e\u6e7f\u573a\u6240\u3002\u82e5\u73b0\u573a\u6f6e\u6e7f&#xff0c;\u5fc5\u987b\u53e6\u52a0\u9632\u62a4\u7bb1\u4f53\u5e76\u505a\u597d\u5bc6\u5c01\u3002<\/p>\n<p>\u8fb9\u754c\u56db&#xff08;\u6700\u5bb9\u6613\u88ab\u5ffd\u89c6&#xff09;&#xff1a;\u611f\u6027\u8d1f\u8f7d\u5fc5\u987b\u964d\u989d\u3002<br \/>\n&#034;MAX 6000W&#034;\u9488\u5bf9\u7684\u662f\u963b\u6027\u8d1f\u8f7d\u2014\u2014\u7535\u70ed\u4e1d\u3001\u767d\u70bd\u706f\u3001\u7535\u963b\u7089\u8fd9\u7c7b&#xff0c;\u7535\u6d41\u4e0e\u7535\u538b\u540c\u76f8\u3001\u542f\u52a8\u51b2\u51fb\u5c0f\u3002\u800c\u7535\u673a\u3001\u538b\u7f29\u673a\u3001\u6c34\u6cf5\u5c5e\u4e8e\u611f\u6027\u8d1f\u8f7d&#xff0c;\u542f\u52a8\u77ac\u95f4\u7535\u6d41\u53ef\u8fbe\u989d\u5b9a\u503c\u7684\u6570\u500d&#xff08;\u5e38\u89c1\u7684 3~7 \u500d&#xff09;\u3002\u4e00\u53f0\u989d\u5b9a 2kW \u7684\u7535\u673a&#xff0c;\u542f\u52a8\u5cf0\u503c\u53ef\u80fd\u51b2\u5230 6~14kW&#xff0c;\u8fdc\u8d85\u901a\u65ad\u5668\u7684\u627f\u53d7\u80fd\u529b\u3002<\/p>\n<p>\u56e0\u6b64&#xff0c;\u611f\u6027\u8d1f\u8f7d\u573a\u666f\u5fc5\u987b&#xff1a;<\/p>\n<ul>\n<li>\u964d\u989d\u4f7f\u7528&#xff1a;\u6309\u989d\u5b9a\u7535\u6d41\u7684 1\/2 \u751a\u81f3\u66f4\u4f4e\u53bb\u914d&#xff08;\u4f8b\u5982 25A \u901a\u65ad\u5668\u53bb\u5e26\u989d\u5b9a 10A \u4ee5\u5185\u7684\u611f\u6027\u8d1f\u8f7d&#xff09;&#xff0c;\u7559\u8db3\u4f59\u91cf\u3002<\/li>\n<li>\u52a0\u63a5\u89e6\u5668 \/ \u8f6f\u542f\u52a8\u5668&#xff1a;\u8ba9\u901a\u65ad\u5668\u53ea\u8d1f\u8d23&#034;\u53d1\u53f7\u65bd\u4ee4&#034;&#xff0c;\u771f\u6b63\u5207\u65ad\u5927\u7535\u6d41\u7684\u4efb\u52a1\u4ea4\u7ed9\u63a5\u89e6\u5668&#xff0c;\u7528\u8f6f\u542f\u52a8\u6291\u5236\u542f\u52a8\u51b2\u51fb\u3002<\/li>\n<li>\u5355\u72ec\u8bc4\u4f30&#xff1a;\u538b\u7f29\u673a\u7c7b&#xff08;\u7a7a\u8c03\u3001\u51b0\u67dc&#xff09;\u542f\u52a8\u6700&#034;\u51f6&#034;&#xff0c;\u52a1\u5fc5\u5355\u72ec\u6d4b\u7b97\u542f\u52a8\u7535\u6d41\u3002<\/li>\n<\/ul>\n<p>\u4e00\u53e5\u8bdd&#xff1a;6000W \u662f\u7ed9\u963b\u6027\u8d1f\u8f7d\u7684&#xff1b;\u611f\u6027\u8d1f\u8f7d\u8bf7\u964d\u989d &#043; \u52a0\u4e2d\u95f4\u5668\u4ef6&#xff0c;\u522b\u786c\u63a5\u3002<\/p>\n<h3>2.4 \u89c6\u5728\u529f\u7387&#xff1a;\u63d2\u5ea7 \/ \u901a\u65ad\u5668\u4e0a\u62a5\u7684\u662f\u89c6\u5728\u529f\u7387<\/h3>\n<p>\u8fd9\u662f\u5168\u6587\u6700&#034;\u70e7\u8111&#034;\u3001\u4e5f\u6700\u5f71\u54cd\u4f60\u9a8c\u6536\u7684\u4e00\u4e2a\u6982\u5ff5&#xff0c;\u4e00\u5b9a\u8981\u8bb2\u6e05\u695a\u3002<\/p>\n<p>\u7535\u5b66\u91cc\u6709\u4e09\u79cd\u529f\u7387&#xff1a;<\/p>\n<ul>\n<li>\u6709\u529f\u529f\u7387 P&#xff08;\u5355\u4f4d W&#xff09;&#xff1a;\u771f\u6b63\u505a\u529f\u3001\u771f\u6b63\u8ba1\u8d39\u7684\u90a3\u90e8\u5206\u3002<\/li>\n<li>\u65e0\u529f\u529f\u7387 Q&#xff08;\u5355\u4f4d var&#xff09;&#xff1a;\u5728\u7535\u611f\u548c\u7535\u5bb9\u4e4b\u95f4\u6765\u56de\u4e32\u95e8\u3001\u4e0d\u505a\u529f\u7684\u90a3\u90e8\u5206\u3002<\/li>\n<li>\u89c6\u5728\u529f\u7387 S&#xff08;\u5355\u4f4d VA&#xff09;&#xff1a;\u7535\u538b\u6709\u6548\u503c \u00d7 \u7535\u6d41\u6709\u6548\u503c\u7684\u4e58\u79ef&#xff0c;\u662f&#034;\u770b\u7740\u6709\u591a\u5927&#034;&#xff0c;S\u00b2 &#061; P\u00b2 &#043; Q\u00b2\u3002<\/li>\n<\/ul>\n<p>GSCW1M2P \u4e0a\u62a5\u7684 power \u5b57\u6bb5\u662f\u89c6\u5728\u529f\u7387&#xff08;VA\/W \u53e3\u5f84\u4e0b\u7684\u7535\u538b\u7535\u6d41\u4e58\u79ef&#xff09;\u3002 \u5b83\u76f4\u63a5\u628a voltage \u00d7 current \u7b97\u51fa\u6765&#xff0c;\u4e0d\u533a\u5206\u6709\u529f\u65e0\u529f\u3002\u8fd9\u5bf9\u7eaf\u963b\u6027\u8d1f\u8f7d&#xff08;\u7535\u70ed\u6c34\u5668\u3001\u767d\u70bd\u706f&#xff09;\u51e0\u4e4e\u7b49\u4e8e\u6709\u529f\u529f\u7387&#xff0c;\u8bef\u5dee\u5f88\u5c0f&#xff1b;\u4f46\u5bf9\u611f\u6027\u8d1f\u8f7d&#xff08;\u7535\u673a\u3001\u5e26\u7535\u6e90\u9002\u914d\u5668\u7684\u8bbe\u5907\u3001\u53d8\u9891\u7a7a\u8c03&#xff09;&#xff0c;\u89c6\u5728\u529f\u7387\u4f1a\u660e\u663e\u5927\u4e8e\u6709\u529f\u529f\u7387\u3002<\/p>\n<p>\u8fd9\u5bf9\u4f60\u610f\u5473\u7740\u4ec0\u4e48&#xff1f;<\/p>\n<li>\u770b\u8bbe\u5907&#034;\u5403\u591a\u5927\u7535\u6d41\u3001\u4f1a\u4e0d\u4f1a\u8fc7\u8f7d&#034;&#xff1a;\u7528\u89c6\u5728\u529f\u7387&#xff08;\u914d\u5408\u7535\u6d41&#xff09;\u5224\u65ad\u662f\u6070\u5f53\u7684&#xff0c;\u56e0\u4e3a\u5b83\u53cd\u6620\u7684\u662f\u7ebf\u8def\u5b9e\u9645\u8981\u627f\u53d7\u7684\u7535\u538b\u7535\u6d41\u4e58\u79ef\u3002<\/li>\n<li>\u7b97\u7535\u8d39&#xff1a;\u4e0d\u80fd\u76f4\u63a5\u7528\u89c6\u5728\u529f\u7387\u4e58\u65f6\u95f4\u3002\u7535\u8d39\u6309\u6709\u529f\u529f\u7387&#xff08;kWh&#xff09;\u8ba1\u3002\u82e5\u4f60\u7684\u8d1f\u8f7d\u662f\u611f\u6027\u7684&#xff0c;\u76f4\u63a5\u7528 power \u00d7 \u65f6\u95f4 \u4f1a\u9ad8\u4f30\u7535\u8d39&#xff0c;\u9700\u8981\u4e58\u4ee5\u529f\u7387\u56e0\u6570&#xff08;PF &#061; P\/S&#xff09;\u6298\u7b97&#xff1a;\u6709\u529f \u2248 \u89c6\u5728\u529f\u7387 \u00d7 \u529f\u7387\u56e0\u6570\u3002<\/li>\n<li>\u7d2f\u8ba1\u7528\u7535\u91cf energy&#xff1a;\u6ce8\u610f\u5b83\u540c\u6837\u662f\u8bbe\u5907\u5c42\u9762\u91c7\u96c6\/\u7d2f\u8ba1\u7684\u53e3\u5f84&#xff0c;\u5de5\u7a0b\u4e0a\u5982\u6d89\u53ca\u7cbe\u786e\u8ba1\u8d39&#xff0c;\u9700\u7ed3\u5408\u8d1f\u8f7d\u7c7b\u578b\u4e0e\u529f\u7387\u56e0\u6570\u505a\u6821\u51c6&#xff08;\u793a\u4f8b\u573a\u666f&#xff0c;\u975e\u8ba1\u91cf\u8ba4\u8bc1\u7ea7\u7535\u8868&#xff09;\u3002<\/li>\n<p>\u7528\u8868\u683c\u5e2e\u4f60\u8bb0&#xff1a;<\/p>\n<table>\n<tr>\u6982\u5ff5\u7b26\u53f7\u5355\u4f4d\u8ba1\u8d39&#xff1f;\u4e0a\u62a5\u5b57\u6bb5<\/tr>\n<tbody>\n<tr>\n<td>\u89c6\u5728\u529f\u7387<\/td>\n<td>S<\/td>\n<td>VA\/W<\/td>\n<td>\u5426&#xff08;\u8fd1\u4f3c&#xff09;<\/td>\n<td>power<\/td>\n<\/tr>\n<tr>\n<td>\u6709\u529f\u529f\u7387<\/td>\n<td>P<\/td>\n<td>W<\/td>\n<td>\u662f<\/td>\n<td>\u9700\u81ea\u884c\u6309 PF \u6298\u7b97<\/td>\n<\/tr>\n<tr>\n<td>\u65e0\u529f\u529f\u7387<\/td>\n<td>Q<\/td>\n<td>var<\/td>\n<td>\u5426<\/td>\n<td>\u4e0d\u5355\u72ec\u4e0a\u62a5<\/td>\n<\/tr>\n<tr>\n<td>\u7d2f\u8ba1\u7528\u7535\u91cf<\/td>\n<td>\u2014<\/td>\n<td>kWh<\/td>\n<td>\u662f<\/td>\n<td>energy<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u5de5\u7a0b\u63d0\u9192&#xff1a;\u505a&#034;\u7535\u8d39\u5ba1\u8ba1&#034;\u7c7b\u529f\u80fd\u65f6&#xff0c;\u51e1\u9047\u5230\u7535\u673a\u3001\u53d8\u9891\u5668\u3001\u5f00\u5173\u7535\u6e90\u7c7b\u8d1f\u8f7d&#xff0c;\u90fd\u8981\u5728\u6587\u6863\u6216\u754c\u9762\u4e0a\u6ce8\u660e&#034;\u6b64\u4e3a\u89c6\u5728\u529f\u7387\u53e3\u5f84&#xff0c;\u5982\u9700\u8ba1\u8d39\u8bf7\u6309\u529f\u7387\u56e0\u6570\u6298\u7b97&#034;&#xff0c;\u907f\u514d\u7528\u6237\u62ff\u4e86\u6570\u5c31\u5f53\u6210\u7535\u8d39\u3002<\/p>\n<h4>\u672c\u7ae0\u8981\u70b9<\/h4>\n<li>ESP8266 \u4e3b\u63a7\u300150\u00d7110\u00d732mm\u3001110~260Vac \u5bbd\u538b\u3001\u5355\u8def\u300125A\u3001MAX 6000W&#xff08;\u963b\u6027&#xff09;\u3001\u5f85\u673a &lt; 4W&#xff0c;\u662f\u5b83\u7684\u57fa\u7840\u753b\u50cf\u3002<\/li>\n<li>\u5bff\u547d\u5206\u4e24\u672c\u8d26&#xff1a;\u673a\u68b0 500 \u4e07\u6b21\u5f88\u5bbd\u88d5&#xff0c;\u7535\u6c14 5 \u4e07\u6b21\u624d\u662f\u9ad8\u9891\u901a\u65ad\u7684\u771f\u5b9e\u74f6\u9888&#xff0c;\u52a1\u5fc5\u5148\u7b97\u5bff\u547d\u9884\u7b97\u3002<\/li>\n<li>\u4e09\u6761\u786c\u8fb9\u754c&#xff1a;\u5355\u8def\u3001\u63a5\u7ebf\u5f0f&#xff08;\u65ad\u7535 &#043; \u7535\u5de5 &#043; \u22654mm\u00b2 \u7ebf\u5f84 &#043; \u7a7a\u5f00\u6f0f\u4fdd&#xff09;\u3001\u4e0d\u9632\u6c34\u3002<\/li>\n<li>\u611f\u6027\u8d1f\u8f7d&#xff08;\u7535\u673a\/\u538b\u7f29\u673a\/\u6c34\u6cf5&#xff09;\u5fc5\u987b\u964d\u989d\u5e76\u8003\u8651\u63a5\u89e6\u5668\/\u8f6f\u542f\u52a8&#xff0c;6000W \u662f\u963b\u6027\u4e0a\u9650\u3002<\/li>\n<li>\u4e0a\u62a5\u7684 power \u662f\u89c6\u5728\u529f\u7387&#xff0c;\u7528\u4e8e\u5224\u65ad\u8d1f\u8f7d\u5408\u9002&#xff0c;\u4f46\u7b97\u7535\u8d39\u8981\u6309\u6709\u529f\u529f\u7387&#xff08;\u4e58\u529f\u7387\u56e0\u6570&#xff09;\u3002<\/li>\n<h4>\u843d\u5730\u6e05\u5355<\/h4>\n<ul>\n<li class=\"task-list-item\"> \u786e\u8ba4\u8d1f\u8f7d\u7c7b\u578b&#xff1a;\u963b\u6027\u8fd8\u662f\u611f\u6027&#xff1f;\u989d\u5b9a\u529f\u7387 \/ \u7535\u6d41\u591a\u5c11&#xff1f;<\/li>\n<li class=\"task-list-item\"> \u82e5\u662f\u611f\u6027\u8d1f\u8f7d&#xff0c;\u6d4b\u7b97\u542f\u52a8\u7535\u6d41&#xff0c;\u786e\u5b9a\u964d\u989d\u6bd4\u4f8b\u6216\u52a0\u88c5\u63a5\u89e6\u5668\u3002<\/li>\n<li class=\"task-list-item\"> \u6838\u5bf9\u7ebf\u5f84\u662f\u5426 \u22654mm\u00b2&#xff08;\u6216\u7b26\u5408\u5f53\u5730\u89c4\u8303&#xff09;&#xff0c;\u914d\u597d\u7a7a\u5f00 \/ \u6f0f\u4fdd\u3002<\/li>\n<li class=\"task-list-item\"> \u786e\u8ba4\u5b89\u88c5\u73af\u5883\u5e72\u71e5\u3001\u65e0\u51dd\u9732\u3001\u4e0d\u6d89\u6c34\u3002<\/li>\n<li class=\"task-list-item\"> \u8bc4\u4f30\u901a\u65ad\u9891\u7387&#xff0c;\u5bf9\u7167\u7535\u6c14\u5bff\u547d 5 \u4e07\u6b21\u505a\u5bff\u547d\u9884\u7b97\u3002<\/li>\n<\/ul>\n<hr \/>\n<h2>\u7b2c 3 \u7ae0 \u534f\u8bae\u4e0e\u6307\u4ee4\u5168\u666f<\/h2>\n<p>\u4e00\u53e5\u8bdd\u70b9\u9898&#xff1a;GSCW1M2P \u63d0\u4f9b\u7ed9\u5f00\u53d1\u8005\u7684&#034;\u63a5\u53e3&#034;\u5c31\u662f\u4e09\u79cd\u534f\u8bae\u52a0\u4e00\u5957\u6307\u4ee4\u8868&#xff0c;\u770b\u61c2&#034;\u8c01\u53d1\u5e03\u3001\u8c01\u8ba2\u9605&#034;\u548c&#034;\u8bf7\u6c42\u2014\u54cd\u5e94&#034;\u6a21\u578b&#xff0c;\u4f60\u5c31\u638c\u63e1\u4e86\u63a7\u5236\u5b83\u7684\u5168\u90e8\u94a5\u5319\u3002<\/p>\n<h3>3.1 MQTT \/ TCP \/ HTTP \u4e09\u79cd\u65b9\u5f0f\u600e\u4e48\u9009<\/h3>\n<p>\u8bbe\u5907\u652f\u6301\u4e09\u79cd\u63a7\u5236\u534f\u8bae&#xff0c;\u5404\u6709\u9002\u7528\u573a\u666f&#xff1a;<\/p>\n<table>\n<tr>\u534f\u8bae\u7279\u70b9\u9002\u5408\u8c01\u5178\u578b\u7528\u9014<\/tr>\n<tbody>\n<tr>\n<td>MQTT<\/td>\n<td>\u8f7b\u91cf\u3001\u957f\u8fde\u63a5\u3001\u53d1\u5e03\/\u8ba2\u9605\u3001\u7701\u6d41\u91cf\u3001\u5929\u751f\u9002\u5408&#034;\u4e00\u5bf9\u591a&#034;\u548c&#034;\u8bbe\u5907\u4e3b\u52a8\u4e0a\u62a5&#034;<\/td>\n<td>\u81ea\u5efa IoT \u5e73\u53f0\u3001\u4e91\u7aef\u96c6\u6210<\/td>\n<td>\u8fdc\u7a0b\u63a7\u5236 &#043; \u7528\u7535\u6570\u636e\u5b9a\u65f6\u4e0a\u62a5<\/td>\n<\/tr>\n<tr>\n<td>TCP<\/td>\n<td>\u957f\u8fde\u63a5\u3001\u539f\u59cb\u5b57\u8282\u6d41\u3001\u5b9e\u73b0\u7b80\u5355\u76f4\u63a5<\/td>\n<td>\u5c40\u57df\u7f51\u5185\u81ea\u63a7\u7cfb\u7edf\u3001\u8001\u5f0f\u4e0a\u4f4d\u673a<\/td>\n<td>\u5185\u7f51\u70b9\u5bf9\u70b9\u63a7\u5236<\/td>\n<\/tr>\n<tr>\n<td>HTTP<\/td>\n<td>\u8bf7\u6c42\u2014\u54cd\u5e94\u3001\u65e0\u72b6\u6001\u3001\u6613\u8c03\u8bd5\u3001\u9632\u706b\u5899\u53cb\u597d<\/td>\n<td>\u5feb\u901f\u9a8c\u8bc1\u3001\u5185\u7f51\u63a7\u5236<\/td>\n<td>\u5185\u7f51 HTTP \u63a7\u5236\u3001\u5feb\u901f\u8054\u8c03<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u9009\u578b\u53e3\u8bc0&#xff08;\u793a\u4f8b\u5efa\u8bae&#xff09;&#xff1a;<\/p>\n<li>\u8981\u4e0a\u4e91\u3001\u8981\u8bbe\u5907\u4e3b\u52a8\u4e0a\u62a5\u3001\u8981\u4f4e\u529f\u8017\u957f\u8fde\u63a5 \u2192 \u9009 MQTT\u3002<\/li>\n<li>\u53ea\u5728\u5c40\u57df\u7f51\u91cc\u3001\u60f3\u8981\u6700\u7b80\u5355\u7684\u957f\u77ed\u8fde\u63a5\u901a\u4fe1 \u2192 \u9009 TCP\u3002<\/li>\n<li>\u53ea\u60f3\u5728\u5185\u7f51\u5feb\u901f\u70b9\u4e00\u4e0b\u3001\u9a8c\u8bc1\u529f\u80fd \u2192 \u9009 HTTP\u3002<\/li>\n<p>\u503c\u5f97\u4e00\u63d0\u7684\u662f&#xff0c;GSCW1M2P \u7684\u4e00\u5927\u5356\u70b9\u662f\u53ef\u63a5\u5165\u81ea\u5efa\u670d\u52a1\u5668&#xff0c;\u4e0e\u5382\u5546\u4e91\u89e3\u8026\u3001\u65e0\u6346\u7ed1\u3001\u65e0\u9690\u6027\u6210\u672c\u3002\u4f60\u5b8c\u5168\u53ef\u4ee5\u628a\u8bbe\u5907\u6307\u5411\u81ea\u5df1\u7684 MQTT Broker&#xff08;\u901a\u8fc7 setting-mqtt&#xff09;\u6216\u81ea\u5df1\u7684 TCP \u670d\u52a1&#xff08;\u901a\u8fc7 setting-tcp&#xff09;&#xff0c;\u6570\u636e\u548c\u63a7\u5236\u6743\u90fd\u5728\u4f60\u81ea\u5df1\u624b\u91cc\u3002\u4fee\u6539\u670d\u52a1\u5668\u914d\u7f6e\u540e\u9700\u8981\u65ad\u7535\u91cd\u542f&#xff0c;\u6216\u901a\u8fc7 controller-restart \u91cd\u542f\u8bbe\u5907\u624d\u80fd\u751f\u6548\u2014\u2014\u8fd9\u4e00\u70b9\u52a1\u5fc5\u5199\u8fdb\u4f60\u7684\u90e8\u7f72 SOP\u3002<\/p>\n<h3>3.2 \u4e3b\u9898\u8bed\u4e49\u7684\u53cd\u76f4\u89c9<\/h3>\n<p>\u8fd9\u662f\u65b0\u624b\u6700\u5bb9\u6613\u7ffb\u8f66\u7684\u5730\u65b9&#xff0c;\u8bf7\u9010\u5b57\u8bfb\u4e09\u904d\u3002<\/p>\n<p>\u8bbe\u5907\u901a\u8fc7 info-protocol \u6307\u4ee4\u8fd4\u56de\u5f53\u524d\u901a\u4fe1\u534f\u8bae\u914d\u7f6e&#xff0c;\u5b57\u6bb5\u5305\u62ec server\u3001port\u3001publish\u3001subcribe\u3001clientId\u3001username\u3001protocol\u3002\u5176\u4e2d\u4e24\u4e2a\u4e3b\u9898\u5b57\u6bb5\u7684\u8bed\u4e49&#xff0c;\u53d6\u7684\u662f&#034;\u8bbe\u5907\u89c6\u89d2&#034;&#xff0c;\u800c\u4e0d\u662f&#034;\u5e73\u53f0\u89c6\u89d2&#034;&#xff1a;<\/p>\n<ul>\n<li>publish&#xff1a;\u8bbe\u5907\u53d1\u5e03\u6570\u636e\u7684\u4e3b\u9898 \u2014\u2014 \u6240\u4ee5\u5e73\u53f0\u8981\u8ba2\u9605\u5b83&#xff0c;\u624d\u80fd\u6536\u5230\u8bbe\u5907\u4e0a\u62a5\u7684\u7528\u7535\u6570\u636e\u548c\u54cd\u5e94\u3002<\/li>\n<li>subcribe&#xff1a;\u8bbe\u5907\u8ba2\u9605\u7684\u4e3b\u9898 \u2014\u2014 \u6240\u4ee5\u5e73\u53f0\u8981\u5f80\u8fd9\u91cc\u53d1\u5e03&#xff08;\u4e0b\u6307\u4ee4&#xff09;\u3002<\/li>\n<\/ul>\n<p>\u53cd\u76f4\u89c9\u70b9\u4e00&#xff1a;\u5b57\u6bb5\u540d\u662f\u8bbe\u5907\u89c6\u89d2\u3002\u770b\u5230 publish \u5c31\u60f3&#034;\u6211\u8981\u53d1\u5e03&#xff1f;&#034;\u2014\u2014\u9519&#xff0c;\u662f\u8bbe\u5907\u53d1\u5e03\u3001\u4f60\u6765\u8ba2\u9605\u3002<\/p>\n<p>\u53cd\u76f4\u89c9\u70b9\u4e8c&#xff1a;subcribe \u662f\u56fa\u4ef6\u91cc\u56fa\u5b9a\u7684\u62fc\u5199&#xff08;\u5c11\u4e86 c&#xff0c;\u6b63\u786e\u82f1\u6587\u662f subscribe&#xff09;\u3002\u4e0d\u8981&#034;\u597d\u5fc3&#034;\u628a\u5b83\u6539\u6210 subscribe&#xff0c;\u6539\u4e86\u5c31\u8ddf\u56fa\u4ef6\u7684\u4e3b\u9898\u5bf9\u4e0d\u4e0a&#xff0c;\u6307\u4ee4\u53d1\u4e0d\u51fa\u53bb\u3002\u8fd9\u662f\u56fa\u4ef6\u65e2\u5b9a\u7684\u5b57\u7b26\u4e32&#xff0c;\u7167\u7528\u5373\u53ef\u3002<\/p>\n<p>\u8bb0\u5fc6\u53e3\u8bc0&#xff1a;<\/p>\n<p>publish \u662f&#034;\u8bbe\u5907\u8bf4\u7ed9\u6211\u542c&#034;&#xff0c;\u6211\u8ba2\u9605&#xff1b;subcribe \u662f&#034;\u8bbe\u5907\u542c\u6211\u8bf4&#034;&#xff0c;\u6211\u53d1\u5e03\u3002<\/p>\n<h3>3.3 \u6307\u4ee4\u5168\u8868\u901f\u89c8\u4e0e\u300c\u8bf7\u6c42\u2014\u54cd\u5e94\u300d\u6a21\u578b<\/h3>\n<p>\u8bbe\u5907\u4ee5&#034;\u4e0b\u884c\u4e3a\u4e3b&#034;&#xff08;\u5e73\u53f0\u4e0b\u53d1\u3001\u8bbe\u5907\u54cd\u5e94&#xff09;&#xff0c;\u6bcf\u6761\u8bf7\u6c42\u5e26\u4e00\u4e2a messageId \u4e1a\u52a1\u6d41\u6c34\u53f7&#xff0c;\u8bbe\u5907\u4f1a\u539f\u6837\u56de\u663e&#xff0c;\u65b9\u4fbf\u4f60\u628a\u54cd\u5e94\u548c\u8bf7\u6c42\u5bf9\u4e0a\u53f7\u3002<\/p>\n<table>\n<tr>\u529f\u80fd\u6307\u4ee4\u540d\u5173\u952e\u8bf7\u6c42\u5b57\u6bb5\u54cd\u5e94\u5173\u952e\u5b57\u6bb5<\/tr>\n<tbody>\n<tr>\n<td>\u901a\u65ad\u7535\u63a7\u5236<\/td>\n<td>controller-event<\/td>\n<td>key(0 \u65ad\u7535\/1 \u901a\u7535)\u3001type:&#034;event&#034;<\/td>\n<td>commandName\u3001key\u3001mac\u3001ip\u3001onState\u3001signal\u3001ssid\u3001keyLock\u3001version\u3001wifiLock<\/td>\n<\/tr>\n<tr>\n<td>\u8bbe\u7f6e\u4e0a\u62a5\u9891\u7387<\/td>\n<td>device-timer-interval<\/td>\n<td>timerEnable(0\/1)\u3001timerInterval(\u79d2, 5~86400)\u3001type:&#034;setting&#034;<\/td>\n<td>commandName\u3001timerEnable\u3001timerInterval\u3001success<\/td>\n<\/tr>\n<tr>\n<td>\u5b9a\u65f6\u4e0a\u62a5&#xff08;\u8bbe\u5907\u4e3b\u52a8&#xff09;<\/td>\n<td>device-timer-task<\/td>\n<td>\u2014<\/td>\n<td>commandName\u3001voltage\u3001current\u3001power\u3001energy\u3001key\u3001mac\u3001source:&#034;auto&#034;<\/td>\n<\/tr>\n<tr>\n<td>\u8bbe\u5907\u57fa\u7840\u4fe1\u606f<\/td>\n<td>info-all<\/td>\n<td>type:&#034;info&#034;<\/td>\n<td>code\u3001mac\u3001version\u3001ssid\u3001ip\u3001signal\u3001keyLock\u3001wifiLock\u3001onState<\/td>\n<\/tr>\n<tr>\n<td>\u5b9e\u65f6\u7528\u7535\u4fe1\u606f<\/td>\n<td>info-statistic<\/td>\n<td>type:&#034;statistic&#034;<\/td>\n<td>commandName\u3001voltage\u3001current\u3001power\u3001energy\u3001key\u3001mac\u3001messageId\u3001source<\/td>\n<\/tr>\n<tr>\n<td>\u7d2f\u8ba1\u7535\u91cf\u6e05\u96f6<\/td>\n<td>energy-clear<\/td>\n<td>\u2014<\/td>\n<td>success<\/td>\n<\/tr>\n<tr>\n<td>\u901a\u4fe1\u534f\u8bae<\/td>\n<td>info-protocol<\/td>\n<td>\u2014<\/td>\n<td>server\u3001port\u3001publish\u3001subcribe\u3001clientId\u3001username\u3001protocol<\/td>\n<\/tr>\n<tr>\n<td>\u6309\u952e\u9501<\/td>\n<td>setting-key-lock<\/td>\n<td>keyLock(0\/1)\u3001type:&#034;setting&#034;<\/td>\n<td>success<\/td>\n<\/tr>\n<tr>\n<td>\u4e0a\u7535\u9ed8\u8ba4\u72b6\u6001<\/td>\n<td>setting-on-state<\/td>\n<td>onState(0 \u8bb0\u5fc6\/1 \u5173\u95ed\/2 \u5f00\u542f)\u3001type:&#034;setting&#034;<\/td>\n<td>success<\/td>\n<\/tr>\n<tr>\n<td>\u81ea\u5b9a\u4e49 MQTT<\/td>\n<td>setting-mqtt<\/td>\n<td>server\u3001port\u3001publish\u3001subcribe\u3001clientId\u3001username\u3001password\u3001type:&#034;custom&#034;<\/td>\n<td>success<\/td>\n<\/tr>\n<tr>\n<td>\u81ea\u5b9a\u4e49 TCP<\/td>\n<td>setting-tcp<\/td>\n<td>server\u3001port\u3001protocol:&#034;tcp&#034;\u3001type:&#034;custom&#034;<\/td>\n<td>success<\/td>\n<\/tr>\n<tr>\n<td>\u914d\u7f51\u9501<\/td>\n<td>setting-wifi-lock<\/td>\n<td>wifiLock(0\/1)\u3001type:&#034;setting&#034;<\/td>\n<td>success<\/td>\n<\/tr>\n<tr>\n<td>\u6062\u590d\u51fa\u5382<\/td>\n<td>controller-reset<\/td>\n<td>system:&#034;reset&#034;\u3001type:&#034;setting&#034;<\/td>\n<td>success\u3001message<\/td>\n<\/tr>\n<tr>\n<td>\u91cd\u542f\u8bbe\u5907<\/td>\n<td>controller-restart<\/td>\n<td>system:&#034;restart&#034;\u3001type:&#034;setting&#034;<\/td>\n<td>success\u3001message<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u300c\u8bf7\u6c42\u2014\u54cd\u5e94\u300d\u6a21\u578b\u53ef\u4ee5\u6982\u62ec\u4e3a&#xff1a;<\/p>\n<li>\u5e73\u53f0\u628a\u4e00\u6761 JSON&#xff08;\u542b commandName\u3001\u76f8\u5173\u5b57\u6bb5\u3001messageId&#xff09;\u53d1\u5e03\u5230\u8bbe\u5907\u8ba2\u9605\u7684\u4e3b\u9898&#xff08;subcribe&#xff09;\u3002<\/li>\n<li>\u8bbe\u5907\u6536\u5230\u540e\u6267\u884c&#xff0c;\u5e76\u628a\u7ed3\u679c&#xff08;\u542b\u539f\u6837\u56de\u663e\u7684 messageId&#xff09;\u53d1\u5e03\u5230\u8bbe\u5907\u53d1\u5e03\u7684\u4e3b\u9898&#xff08;publish&#xff09;\u3002<\/li>\n<li>\u5e73\u53f0\u4ece publish \u4e3b\u9898\u6536\u5230\u54cd\u5e94&#xff0c;\u7528 messageId \u5339\u914d\u5230\u81ea\u5df1\u7684\u8bf7\u6c42&#xff0c;\u5904\u7406\u4e1a\u52a1\u903b\u8f91\u3002<\/li>\n<p>\u5176\u4e2d type \u5b57\u6bb5\u6709\u4e09\u7c7b\u8bed\u4e49&#xff1a;&#034;event&#034;&#xff08;\u4e8b\u4ef6\u7c7b&#xff0c;\u5982\u901a\u65ad\u7535&#xff09;\u3001&#034;setting&#034;&#xff08;\u8bbe\u7f6e\u7c7b&#xff0c;\u5982\u6539\u914d\u7f6e&#xff09;\u3001&#034;info&#034; \/ &#034;statistic&#034;&#xff08;\u67e5\u8be2\u7c7b&#xff0c;\u5982\u8bfb\u4fe1\u606f\u3001\u8bfb\u7528\u7535&#xff09;\u3002\u7406\u89e3\u8fd9\u4e09\u4e2a type&#xff0c;\u5c31\u80fd\u4e00\u773c\u770b\u51fa\u8fd9\u6761\u6307\u4ee4&#034;\u662f\u5e72\u4ec0\u4e48\u7684&#034;\u3002<\/p>\n<h3>3.4 \u7528\u7535\u6570\u636e\u7ed3\u6784<\/h3>\n<p>\u7528\u7535\u76f8\u5173\u6570\u636e\u5728\u4e24\u4e2a\u5730\u65b9\u51fa\u73b0&#xff0c;\u5b57\u6bb5\u4e00\u81f4&#xff08;voltage\u3001current\u3001power\u3001energy&#xff09;&#xff0c;\u6765\u6e90\u4e0d\u540c&#xff1a;<\/p>\n<ul>\n<li>\u8bbe\u5907\u4e3b\u52a8\u4e0a\u62a5&#xff1a;device-timer-task&#xff0c;source \u4e3a &#034;auto&#034;&#xff0c;\u6309\u4f60\u8bbe\u7f6e\u7684\u9891\u7387\u5b9a\u65f6\u63a8\u6765\u3002\u5b57\u6bb5&#xff1a;commandName:&#034;device-timer-task&#034;\u3001voltage\u3001current\u3001power\u3001energy\u3001key\u3001mac\u3001source:&#034;auto&#034;\u3002<\/li>\n<li>\u5e73\u53f0\u4e3b\u52a8\u67e5\u8be2&#xff1a;info-statistic&#xff0c;\u4f60\u53d1 type:&#034;statistic&#034; \u53bb\u95ee&#xff0c;\u8bbe\u5907\u56de\u3002\u5b57\u6bb5&#xff1a;commandName:&#034;info-statistic&#034;\u3001voltage\u3001current\u3001power\u3001energy\u3001key\u3001mac\u3001messageId\u3001source\u3002<\/li>\n<\/ul>\n<p>\u56db\u4e2a\u6838\u5fc3\u5b57\u6bb5\u7684\u542b\u4e49&#xff1a;<\/p>\n<table>\n<tr>\u5b57\u6bb5\u542b\u4e49\u5355\u4f4d\u8bf4\u660e<\/tr>\n<tbody>\n<tr>\n<td>voltage<\/td>\n<td>\u7535\u538b<\/td>\n<td>V<\/td>\n<td>\u5b9e\u65f6\u7535\u538b<\/td>\n<\/tr>\n<tr>\n<td>current<\/td>\n<td>\u7535\u6d41<\/td>\n<td>A<\/td>\n<td>\u5b9e\u65f6\u7535\u6d41<\/td>\n<\/tr>\n<tr>\n<td>power<\/td>\n<td>\u89c6\u5728\u529f\u7387&#xff08;\u7535\u538b\u00d7\u7535\u6d41&#xff09;<\/td>\n<td>W<\/td>\n<td>\u5224\u65ad\u8d1f\u8f7d\u5927\u5c0f\u7528&#xff0c;\u8ba1\u8d39\u9700\u6298\u7b97\u6709\u529f<\/td>\n<\/tr>\n<tr>\n<td>energy<\/td>\n<td>\u7d2f\u8ba1\u7528\u7535\u91cf<\/td>\n<td>kWh<\/td>\n<td>\u53ef\u7528 energy-clear \u6e05\u96f6<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>key \u5b57\u6bb5\u53cd\u6620\u5f53\u524d\u7ee7\u7535\u5668\u72b6\u6001&#xff08;0 \u65ad\u7535 \/ 1 \u901a\u7535&#xff09;&#xff0c;mac \u662f\u8bbe\u5907\u6807\u8bc6&#xff0c;\u65b9\u4fbf\u4e00\u5e73\u53f0\u591a\u8bbe\u5907\u65f6\u533a\u5206\u6765\u6e90\u3002<\/p>\n<h4>\u672c\u7ae0\u8981\u70b9<\/h4>\n<li>\u534f\u8bae\u4e09\u9009\u4e00&#xff1a;\u4e0a\u4e91\/\u4e3b\u52a8\u4e0a\u62a5\u9009 MQTT&#xff0c;\u5185\u7f51\u7b80\u5355\u901a\u4fe1\u9009 TCP&#xff0c;\u5feb\u901f\u9a8c\u8bc1\u9009 HTTP\u3002<\/li>\n<li>\u4e3b\u9898\u8bed\u4e49\u53d6&#034;\u8bbe\u5907\u89c6\u89d2&#034;&#xff1a;publish \u5e73\u53f0\u8ba2\u9605&#xff0c;subcribe \u5e73\u53f0\u53d1\u5e03&#xff1b;subcribe \u662f\u56fa\u4ef6\u56fa\u5b9a\u62fc\u5199&#xff0c;\u522b\u6539\u3002<\/li>\n<li>\u6307\u4ee4\u9075\u5faa\u300c\u8bf7\u6c42\u2014\u54cd\u5e94\u300d\u6a21\u578b&#xff1a;\u5e73\u53f0\u53d1\u6307\u4ee4&#xff08;\u5e26 messageId&#xff09;&#xff0c;\u8bbe\u5907\u6267\u884c\u540e\u56de\u663e messageId&#xff0c;\u5e73\u53f0\u636e\u6b64\u5339\u914d\u3002<\/li>\n<li>type \u5206\u4e09\u7c7b&#xff1a;event&#xff08;\u4e8b\u4ef6&#xff09;\u3001setting&#xff08;\u8bbe\u7f6e&#xff09;\u3001info\/statistic&#xff08;\u67e5\u8be2&#xff09;\u3002<\/li>\n<li>\u7528\u7535\u56db\u5b57\u6bb5&#xff1a;voltage \/ current \/ power&#xff08;\u89c6\u5728&#xff09;\/ energy&#xff0c;\u4e3b\u52a8\u4e0a\u62a5\u8d70 device-timer-task&#xff0c;\u67e5\u8be2\u8d70 info-statistic\u3002<\/li>\n<h4>\u843d\u5730\u6e05\u5355<\/h4>\n<ul>\n<li class=\"task-list-item\"> \u7528 info-protocol \u8bfb\u56de publish \/ subcribe \/ server \/ port&#xff0c;\u786e\u8ba4\u4e3b\u9898\u4e0e\u670d\u52a1\u5668\u3002<\/li>\n<li class=\"task-list-item\"> \u5e73\u53f0\u7aef\u8ba2\u9605 publish \u4e3b\u9898\u3001\u5411 subcribe \u4e3b\u9898\u53d1\u5e03&#xff0c;\u5207\u52ff\u5199\u53cd\u3002<\/li>\n<li class=\"task-list-item\"> \u6240\u6709\u4e0b\u884c\u6307\u4ee4\u5e26\u4e0a messageId&#xff0c;\u5e76\u5b9e\u73b0&#034;\u6309 messageId \u5339\u914d\u54cd\u5e94&#034;\u7684\u56de\u8c03\u3002<\/li>\n<li class=\"task-list-item\"> \u7528 setting-mqtt \/ setting-tcp \u6307\u5411\u81ea\u5efa\u670d\u52a1\u5668\u540e&#xff0c;\u8bb0\u5f97\u65ad\u7535\u91cd\u542f\u6216 controller-restart\u3002<\/li>\n<li class=\"task-list-item\"> \u8bbe\u8ba1\u7528\u7535\u6570\u636e\u89e3\u6790&#xff1a;voltage \/ current \/ power \/ energy \u5206\u522b\u843d\u5e93\u3002<\/li>\n<\/ul>\n<hr \/>\n<h2>\u7b2c 4 \u7ae0 \u5feb\u901f\u4e0a\u624b&#xff1a;15 \u5206\u949f\u63a7\u5236\u4e00\u53f0\u5927\u529f\u7387\u8bbe\u5907&#xff08;\u4e09\u8bed\u8a00&#xff09;<\/h2>\n<p>\u4e00\u53e5\u8bdd\u70b9\u9898&#xff1a;\u4e0b\u9762\u8fd9\u5957\u6d41\u7a0b&#xff0c;\u4ece\u65ad\u7535\u63a5\u7ebf\u5230\u4ee3\u7801\u8dd1\u901a\u3001\u62ff\u5230\u7528\u7535\u6570\u636e&#xff0c;\u6700\u5feb 15 \u5206\u949f\u5c31\u80fd\u5b8c\u6210\u2014\u2014\u524d\u63d0\u662f\u63a5\u7ebf\u7531\u4e13\u4e1a\u4eba\u5458\u3001\u5e76\u4e25\u683c\u9075\u5b88\u5f3a\u7535\u5b89\u5168\u89c4\u8303\u3002<\/p>\n<h3>4.1 \u51c6\u5907&#xff1a;\u65ad\u7535\u63a5\u7ebf\u3001\u4e0a\u7535\u3001\u914d\u7f51\u3001\u786e\u8ba4\u4e3b\u9898<\/h3>\n<p>\u7b2c 0 \u6b65&#xff1a;\u65ad\u7535\u3002 \u5207\u65ad\u4e0a\u7ea7\u7a7a\u6c14\u5f00\u5173&#xff0c;\u7528\u9a8c\u7535\u7b14 \/ \u4e07\u7528\u8868\u786e\u8ba4\u7ebf\u8def\u65e0\u7535\u3002&#xff08;\u82e5\u4f60\u6ca1\u6709\u7535\u5de5\u8d44\u8d28&#xff0c;\u8bf7\u628a\u8fd9\u4e00\u6b65\u4ea4\u7ed9\u4e13\u4e1a\u4eba\u5458\u3002&#xff09;<\/p>\n<p>\u7b2c 1 \u6b65&#xff1a;\u63a5\u7ebf\u3002 \u628a\u4e0a\u7ea7\u56de\u8def\u7684\u8fdb\u7ebf\u63a5\u5165\u901a\u65ad\u5668\u8f93\u5165\u7aef&#xff0c;\u51fa\u7ebf\u63a5\u5230\u8d1f\u8f7d&#xff08;\u53bb\u5f80\u7a7a\u8c03 \/ \u70ed\u6c34\u5668 \/ \u7535\u673a\u56de\u8def&#xff09;\u3002\u786e\u4fdd\u7ebf\u5f84\u5339\u914d&#xff08;\u53c2\u8003 \u22654mm\u00b2 \u94dc\u82af&#xff09;&#xff0c;\u7a7a\u5f00 \/ \u6f0f\u4fdd\u5bb9\u91cf\u8db3\u591f&#xff0c;\u63a5\u7ebf\u7aef\u5b50\u62e7\u7d27\u3002<\/p>\n<p>\u7b2c 2 \u6b65&#xff1a;\u4e0a\u7535\u3002 \u5408\u4e0a\u7a7a\u6c14\u5f00\u5173&#xff0c;\u89c2\u5bdf\u8bbe\u5907\u6307\u793a\u706f\u662f\u5426\u6b63\u5e38\u3002<\/p>\n<p>\u7b2c 3 \u6b65&#xff1a;\u914d\u7f51\u3002 \u6309\u8bbe\u5907\u8bf4\u660e\u8fdb\u5165\u914d\u7f51\u6a21\u5f0f&#xff0c;\u7528\u624b\u673a\u628a\u8bbe\u5907\u63a5\u5165 2.4GHz WiFi&#xff08;\u6ce8\u610f&#xff1a;\u4ec5\u652f\u6301 2.4GHz&#xff0c;5GHz \u8fde\u4e0d\u4e0a&#xff09;\u3002<\/p>\n<p>\u7b2c 4 \u6b65&#xff1a;\u786e\u8ba4\u4e3b\u9898\u3002 \u8ba9\u8bbe\u5907\u8fde\u4e0a\u5382\u5bb6\u9ed8\u8ba4 MQTT \u6d4b\u8bd5\u670d\u52a1\u5668&#xff0c;\u6216\u7528 setting-mqtt \u6539\u5230\u4f60\u7684\u670d\u52a1\u5668\u3002\u7136\u540e\u4e0b\u53d1 info-protocol&#xff0c;\u8bb0\u4e0b\u8fd4\u56de\u7684 publish&#xff08;\u5e73\u53f0\u8ba2\u9605&#xff09;\u3001subcribe&#xff08;\u5e73\u53f0\u53d1\u5e03&#xff09;\u3001server\u3001port\u3002\u6539\u8fc7\u670d\u52a1\u5668\u914d\u7f6e\u7684&#xff0c;\u52a1\u5fc5\u65ad\u7535\u91cd\u542f\u6216 controller-restart \u8ba9\u5176\u751f\u6548\u3002<\/p>\n<p>\u5b8c\u6210\u540e&#xff0c;\u4f60\u624b\u91cc\u5c31\u6709&#xff1a;\u4e00\u53f0\u5728\u7ebf\u8bbe\u5907 &#043; \u4e00\u7ec4\u4e3b\u9898\u3002\u63a5\u4e0b\u6765\u8fdb\u5165\u4ee3\u7801\u73af\u8282\u3002<\/p>\n<h3>4.2 Python \u6700\u5c0f\u793a\u4f8b&#xff08;paho-mqtt&#xff09;<\/h3>\n<p>\u4e0b\u9762\u7684 Python \u793a\u4f8b\u6f14\u793a\u5b8c\u6574\u94fe\u8def&#xff1a;\u8fde\u63a5 \u2192 \u8ba2\u9605 publish \u2192 \u53d1 controller-event \u901a\u7535 \u2192 \u6536\u5230\u54cd\u5e94 \u2192 \u67e5\u8be2\u7528\u7535\u3002<\/p>\n<p><span class=\"token keyword\">import<\/span> json<span class=\"token punctuation\">,<\/span> time<br \/>\n<span class=\"token keyword\">import<\/span> paho<span class=\"token punctuation\">.<\/span>mqtt<span class=\"token punctuation\">.<\/span>client <span class=\"token keyword\">as<\/span> mqtt<\/p>\n<p><span class=\"token comment\"># \u6ce8\u610f&#xff1a;\u4ee5\u4e0b\u4e3b\u9898\u4e3a\u793a\u610f\u5360\u4f4d&#xff0c;\u5b9e\u9645\u8bf7\u4ee5 info-protocol \u8fd4\u56de\u7684 publish\/subcribe \u4e3a\u51c6<\/span><br \/>\nBROKER   <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#034;mqtt.example.com&#034;<\/span><br \/>\nPORT     <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">1883<\/span><br \/>\nCLIENT_ID <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#034;gscw-demo-python&#034;<\/span><br \/>\nCMD_TOPIC  <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#034;device\/gscw1m2p\/DEMO\/subcribe&#034;<\/span>   <span class=\"token comment\"># \u8bbe\u5907\u8ba2\u9605 \u2192 \u5e73\u53f0\u53d1\u5e03&#xff08;\u4e0b\u6307\u4ee4&#xff09;<\/span><br \/>\nDATA_TOPIC <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#034;device\/gscw1m2p\/DEMO\/publish&#034;<\/span>    <span class=\"token comment\"># \u8bbe\u5907\u53d1\u5e03 \u2192 \u5e73\u53f0\u8ba2\u9605&#xff08;\u6536\u6570\u636e&#xff09;<\/span><\/p>\n<p><span class=\"token keyword\">def<\/span> <span class=\"token function\">on_connect<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> userdata<span class=\"token punctuation\">,<\/span> flags<span class=\"token punctuation\">,<\/span> rc<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    <span class=\"token keyword\">print<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;\u5df2\u8fde\u63a5 broker, rc &#061;&#034;<\/span><span class=\"token punctuation\">,<\/span> rc<span class=\"token punctuation\">)<\/span><br \/>\n    client<span class=\"token punctuation\">.<\/span>subscribe<span class=\"token punctuation\">(<\/span>DATA_TOPIC<span class=\"token punctuation\">)<\/span>               <span class=\"token comment\"># \u8ba2\u9605\u8bbe\u5907\u4e0a\u62a5\u7684\u4e3b\u9898<\/span><\/p>\n<p><span class=\"token keyword\">def<\/span> <span class=\"token function\">on_message<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> userdata<span class=\"token punctuation\">,<\/span> msg<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    payload <span class=\"token operator\">&#061;<\/span> json<span class=\"token punctuation\">.<\/span>loads<span class=\"token punctuation\">(<\/span>msg<span class=\"token punctuation\">.<\/span>payload<span class=\"token punctuation\">.<\/span>decode<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    name <span class=\"token operator\">&#061;<\/span> payload<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;commandName&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">if<\/span> name <span class=\"token operator\">&#061;&#061;<\/span> <span class=\"token string\">&#034;controller-event&#034;<\/span><span class=\"token punctuation\">:<\/span><br \/>\n        <span class=\"token keyword\">print<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;\u901a\u65ad\u7535\u54cd\u5e94: key&#061;%s onState&#061;%s&#034;<\/span> <span class=\"token operator\">%<\/span> <span class=\"token punctuation\">(<\/span>payload<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;key&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> payload<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;onState&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">elif<\/span> name <span class=\"token operator\">&#061;&#061;<\/span> <span class=\"token string\">&#034;info-statistic&#034;<\/span><span class=\"token punctuation\">:<\/span><br \/>\n        <span class=\"token keyword\">print<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;\u7528\u7535: V&#061;%s A&#061;%s W&#061;%s kWh&#061;%s&#034;<\/span> <span class=\"token operator\">%<\/span> <span class=\"token punctuation\">(<\/span><br \/>\n            payload<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;voltage&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> payload<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;current&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n            payload<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;power&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> payload<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;energy&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><\/p>\n<p>client <span class=\"token operator\">&#061;<\/span> mqtt<span class=\"token punctuation\">.<\/span>Client<span class=\"token punctuation\">(<\/span>client_id<span class=\"token operator\">&#061;<\/span>CLIENT_ID<span class=\"token punctuation\">)<\/span><br \/>\nclient<span class=\"token punctuation\">.<\/span>on_connect <span class=\"token operator\">&#061;<\/span> on_connect<br \/>\nclient<span class=\"token punctuation\">.<\/span>on_message <span class=\"token operator\">&#061;<\/span> on_message<br \/>\nclient<span class=\"token punctuation\">.<\/span>connect<span class=\"token punctuation\">(<\/span>BROKER<span class=\"token punctuation\">,<\/span> PORT<span class=\"token punctuation\">,<\/span> <span class=\"token number\">60<\/span><span class=\"token punctuation\">)<\/span><br \/>\nclient<span class=\"token punctuation\">.<\/span>loop_start<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><\/p>\n<p><span class=\"token comment\"># 1) \u901a\u7535&#xff08;key&#061;1 \u901a\u7535 \/ key&#061;0 \u65ad\u7535&#xff09;&#xff0c;\u5e26 messageId \u4fbf\u4e8e\u5339\u914d\u54cd\u5e94<\/span><br \/>\nclient<span class=\"token punctuation\">.<\/span>publish<span class=\"token punctuation\">(<\/span>CMD_TOPIC<span class=\"token punctuation\">,<\/span> json<span class=\"token punctuation\">.<\/span>dumps<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token string\">&#034;commandName&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;controller-event&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;key&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;type&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;event&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;messageId&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;1001&#034;<\/span><span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\ntime<span class=\"token punctuation\">.<\/span>sleep<span class=\"token punctuation\">(<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><\/p>\n<p><span class=\"token comment\"># 2) \u67e5\u8be2\u5b9e\u65f6\u7528\u7535<\/span><br \/>\nclient<span class=\"token punctuation\">.<\/span>publish<span class=\"token punctuation\">(<\/span>CMD_TOPIC<span class=\"token punctuation\">,<\/span> json<span class=\"token punctuation\">.<\/span>dumps<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token string\">&#034;commandName&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;info-statistic&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;type&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;statistic&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;messageId&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;1002&#034;<\/span><span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\ntime<span class=\"token punctuation\">.<\/span>sleep<span class=\"token punctuation\">(<\/span><span class=\"token number\">3<\/span><span class=\"token punctuation\">)<\/span><\/p>\n<p>client<span class=\"token punctuation\">.<\/span>loop_stop<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><\/p>\n<p>\u8fd0\u884c\u540e&#xff0c;\u4f60\u5e94\u5f53\u5148\u5728\u63a7\u5236\u53f0\u770b\u5230&#034;\u901a\u65ad\u7535\u54cd\u5e94&#034;&#xff0c;\u518d\u770b\u5230\u4e00\u884c\u7528\u7535\u6570\u636e\u3002<\/p>\n<h3>4.3 Node.js \u4e0e Java \u6700\u5c0f\u793a\u4f8b<\/h3>\n<p>Node.js&#xff08;\u7ea6 20 \u884c&#xff09;&#xff1a;<\/p>\n<p><span class=\"token keyword\">const<\/span> mqtt <span class=\"token operator\">&#061;<\/span> <span class=\"token function\">require<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;mqtt&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">const<\/span> <span class=\"token constant\">CMD<\/span>  <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#039;device\/gscw1m2p\/DEMO\/subcribe&#039;<\/span><span class=\"token punctuation\">;<\/span>  <span class=\"token comment\">\/\/ \u5e73\u53f0\u53d1\u5e03&#xff1a;\u4e0b\u6307\u4ee4<\/span><br \/>\n<span class=\"token keyword\">const<\/span> <span class=\"token constant\">DATA<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#039;device\/gscw1m2p\/DEMO\/publish&#039;<\/span><span class=\"token punctuation\">;<\/span>   <span class=\"token comment\">\/\/ \u5e73\u53f0\u8ba2\u9605&#xff1a;\u6536\u6570\u636e<\/span><\/p>\n<p><span class=\"token keyword\">const<\/span> c <span class=\"token operator\">&#061;<\/span> mqtt<span class=\"token punctuation\">.<\/span><span class=\"token function\">connect<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;mqtt:\/\/mqtt.example.com:1883&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token punctuation\">{<\/span> <span class=\"token literal-property property\">clientId<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;gscw-demo-node&#039;<\/span> <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p>c<span class=\"token punctuation\">.<\/span><span class=\"token function\">on<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;connect&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  c<span class=\"token punctuation\">.<\/span><span class=\"token function\">subscribe<\/span><span class=\"token punctuation\">(<\/span><span class=\"token constant\">DATA<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n  c<span class=\"token punctuation\">.<\/span><span class=\"token function\">publish<\/span><span class=\"token punctuation\">(<\/span><span class=\"token constant\">CMD<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token constant\">JSON<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">stringify<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">{<\/span> <span class=\"token literal-property property\">commandName<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;controller-event&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token literal-property property\">key<\/span><span class=\"token operator\">:<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token literal-property property\">type<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;event&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token literal-property property\">messageId<\/span><span class=\"token operator\">:<\/span> <span class=\"token string\">&#039;2001&#039;<\/span> <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p>c<span class=\"token punctuation\">.<\/span><span class=\"token function\">on<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;message&#039;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token parameter\">topic<span class=\"token punctuation\">,<\/span> buf<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&gt;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">const<\/span> msg <span class=\"token operator\">&#061;<\/span> <span class=\"token constant\">JSON<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">parse<\/span><span class=\"token punctuation\">(<\/span>buf<span class=\"token punctuation\">.<\/span><span class=\"token function\">toString<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>msg<span class=\"token punctuation\">.<\/span>commandName <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token string\">&#039;controller-event&#039;<\/span><span class=\"token punctuation\">)<\/span> console<span class=\"token punctuation\">.<\/span><span class=\"token function\">log<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;\u54cd\u5e94: onState&#061;&#039;<\/span><span class=\"token punctuation\">,<\/span> msg<span class=\"token punctuation\">.<\/span>onState<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n  <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>msg<span class=\"token punctuation\">.<\/span>commandName <span class=\"token operator\">&#061;&#061;&#061;<\/span> <span class=\"token string\">&#039;info-statistic&#039;<\/span><span class=\"token punctuation\">)<\/span>   console<span class=\"token punctuation\">.<\/span><span class=\"token function\">log<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;\u7528\u7535: W&#061;&#039;<\/span><span class=\"token punctuation\">,<\/span> msg<span class=\"token punctuation\">.<\/span>power<span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#039;kWh&#061;&#039;<\/span><span class=\"token punctuation\">,<\/span> msg<span class=\"token punctuation\">.<\/span>energy<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p>Java&#xff08;Eclipse Paho&#xff0c;\u7ea6 25 \u884c&#xff09;&#xff1a;<\/p>\n<p><span class=\"token keyword\">import<\/span> <span class=\"token import\"><span class=\"token namespace\">org<span class=\"token punctuation\">.<\/span>eclipse<span class=\"token punctuation\">.<\/span>paho<span class=\"token punctuation\">.<\/span>client<span class=\"token punctuation\">.<\/span>mqttv3<span class=\"token punctuation\">.<\/span><\/span><span class=\"token operator\">*<\/span><\/span><span class=\"token punctuation\">;<\/span><br \/>\n<span class=\"token keyword\">import<\/span> <span class=\"token import\"><span class=\"token namespace\">org<span class=\"token punctuation\">.<\/span>eclipse<span class=\"token punctuation\">.<\/span>paho<span class=\"token punctuation\">.<\/span>client<span class=\"token punctuation\">.<\/span>mqttv3<span class=\"token punctuation\">.<\/span>persist<span class=\"token punctuation\">.<\/span><\/span><span class=\"token class-name\">MemoryPersistence<\/span><\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p><span class=\"token keyword\">public<\/span> <span class=\"token keyword\">class<\/span> <span class=\"token class-name\">GscwDemo<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n  <span class=\"token keyword\">public<\/span> <span class=\"token keyword\">static<\/span> <span class=\"token keyword\">void<\/span> <span class=\"token function\">main<\/span><span class=\"token punctuation\">(<\/span><span class=\"token class-name\">String<\/span><span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span> args<span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">throws<\/span> <span class=\"token class-name\">Exception<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token class-name\">String<\/span> <span class=\"token constant\">CMD<\/span>  <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#034;device\/gscw1m2p\/DEMO\/subcribe&#034;<\/span><span class=\"token punctuation\">;<\/span>  <span class=\"token comment\">\/\/ \u5e73\u53f0\u53d1\u5e03<\/span><br \/>\n    <span class=\"token class-name\">String<\/span> <span class=\"token constant\">DATA<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#034;device\/gscw1m2p\/DEMO\/publish&#034;<\/span><span class=\"token punctuation\">;<\/span>   <span class=\"token comment\">\/\/ \u5e73\u53f0\u8ba2\u9605<\/span><\/p>\n<p>    <span class=\"token class-name\">MqttClient<\/span> client <span class=\"token operator\">&#061;<\/span> <span class=\"token keyword\">new<\/span> <span class=\"token class-name\">MqttClient<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;tcp:\/\/mqtt.example.com:1883&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;gscw-demo-java&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">new<\/span> <span class=\"token class-name\">MemoryPersistence<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    client<span class=\"token punctuation\">.<\/span><span class=\"token function\">connect<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p>    client<span class=\"token punctuation\">.<\/span><span class=\"token function\">subscribe<\/span><span class=\"token punctuation\">(<\/span><span class=\"token constant\">DATA<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token punctuation\">(<\/span>topic<span class=\"token punctuation\">,<\/span> msg<span class=\"token punctuation\">)<\/span> <span class=\"token operator\">-&gt;<\/span><br \/>\n        <span class=\"token class-name\">System<\/span><span class=\"token punctuation\">.<\/span>out<span class=\"token punctuation\">.<\/span><span class=\"token function\">println<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;\u6536\u5230: &#034;<\/span> <span class=\"token operator\">&#043;<\/span> <span class=\"token keyword\">new<\/span> <span class=\"token class-name\">String<\/span><span class=\"token punctuation\">(<\/span>msg<span class=\"token punctuation\">.<\/span><span class=\"token function\">getPayload<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p>\n<p>    <span class=\"token class-name\">String<\/span> body <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#034;{\\\\&#034;commandName\\\\&#034;:\\\\&#034;controller-event\\\\&#034;,\\\\&#034;key\\\\&#034;:1,\\\\&#034;type\\\\&#034;:\\\\&#034;event\\\\&#034;,\\\\&#034;messageId\\\\&#034;:\\\\&#034;3001\\\\&#034;}&#034;<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    client<span class=\"token punctuation\">.<\/span><span class=\"token function\">publish<\/span><span class=\"token punctuation\">(<\/span><span class=\"token constant\">CMD<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token keyword\">new<\/span> <span class=\"token class-name\">MqttMessage<\/span><span class=\"token punctuation\">(<\/span>body<span class=\"token punctuation\">.<\/span><span class=\"token function\">getBytes<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    <span class=\"token class-name\">Thread<\/span><span class=\"token punctuation\">.<\/span><span class=\"token function\">sleep<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">3000<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n    client<span class=\"token punctuation\">.<\/span><span class=\"token function\">disconnect<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br \/>\n  <span class=\"token punctuation\">}<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><\/p>\n<p>\u4e09\u4e2a\u793a\u4f8b\u7684\u7ed3\u6784\u5b8c\u5168\u4e00\u81f4&#xff1a;\u8ba2\u9605 publish\u3001\u5411 subcribe \u53d1\u5e03\u3001\u6309 commandName \u5206\u53d1\u6d88\u606f\u3002\u8bed\u8a00\u53ea\u662f\u5916\u58f3&#xff0c;\u6a21\u578b\u662f\u540c\u4e00\u4e2a\u3002<\/p>\n<h3>4.4 \u5b8c\u6574\u811a\u672c&#xff1a;\u5f00\u5173 &#043; \u7528\u7535\u6570\u636e\u91c7\u96c6 &#043; \u4e0a\u62a5\u9891\u7387\u8bbe\u7f6e<\/h3>\n<p>\u4e0b\u9762\u628a&#034;\u901a\u65ad\u7535\u63a7\u5236&#034;\u201c\u67e5\u8be2\u7528\u7535\u201d&#034;\u8bbe\u7f6e\u5b9a\u65f6\u4e0a\u62a5\u9891\u7387&#034;\u4e09\u4ef6\u4e8b\u5408\u6210\u4e00\u4e2a\u53ef\u7528\u7684 Python \u811a\u672c\u3002\u5b83\u5148\u8bbe\u7f6e\u8bbe\u5907\u6bcf 30 \u79d2\u81ea\u52a8\u4e0a\u62a5\u4e00\u6b21\u7528\u7535&#xff0c;\u518d\u901a\u7535&#xff0c;\u7136\u540e\u6301\u7eed\u63a5\u6536\u6570\u636e\u3002<\/p>\n<p><span class=\"token keyword\">import<\/span> json<span class=\"token punctuation\">,<\/span> time<br \/>\n<span class=\"token keyword\">import<\/span> paho<span class=\"token punctuation\">.<\/span>mqtt<span class=\"token punctuation\">.<\/span>client <span class=\"token keyword\">as<\/span> mqtt<\/p>\n<p>BROKER<span class=\"token punctuation\">,<\/span> PORT <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#034;mqtt.example.com&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">1883<\/span><br \/>\nCMD_TOPIC  <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#034;device\/gscw1m2p\/DEMO\/subcribe&#034;<\/span>   <span class=\"token comment\"># \u5e73\u53f0\u53d1\u5e03<\/span><br \/>\nDATA_TOPIC <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#034;device\/gscw1m2p\/DEMO\/publish&#034;<\/span>    <span class=\"token comment\"># \u5e73\u53f0\u8ba2\u9605<\/span><\/p>\n<p><span class=\"token keyword\">def<\/span> <span class=\"token function\">on_connect<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> userdata<span class=\"token punctuation\">,<\/span> flags<span class=\"token punctuation\">,<\/span> rc<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    client<span class=\"token punctuation\">.<\/span>subscribe<span class=\"token punctuation\">(<\/span>DATA_TOPIC<span class=\"token punctuation\">)<\/span><\/p>\n<p><span class=\"token keyword\">def<\/span> <span class=\"token function\">on_message<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> userdata<span class=\"token punctuation\">,<\/span> msg<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    d <span class=\"token operator\">&#061;<\/span> json<span class=\"token punctuation\">.<\/span>loads<span class=\"token punctuation\">(<\/span>msg<span class=\"token punctuation\">.<\/span>payload<span class=\"token punctuation\">.<\/span>decode<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    n <span class=\"token operator\">&#061;<\/span> d<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;commandName&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">if<\/span> n <span class=\"token operator\">&#061;&#061;<\/span> <span class=\"token string\">&#034;device-timer-task&#034;<\/span><span class=\"token punctuation\">:<\/span>        <span class=\"token comment\"># \u8bbe\u5907\u6309\u9891\u7387\u4e3b\u52a8\u4e0a\u62a5<\/span><br \/>\n        <span class=\"token keyword\">print<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;[\u81ea\u52a8\u4e0a\u62a5 source&#061;%s] V&#061;%s A&#061;%s W&#061;%s kWh&#061;%s&#034;<\/span> <span class=\"token operator\">%<\/span> <span class=\"token punctuation\">(<\/span><br \/>\n            d<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;source&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> d<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;voltage&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> d<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;current&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n            d<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;power&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> d<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;energy&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">elif<\/span> n <span class=\"token operator\">&#061;&#061;<\/span> <span class=\"token string\">&#034;info-statistic&#034;<\/span><span class=\"token punctuation\">:<\/span>         <span class=\"token comment\"># \u5e73\u53f0\u67e5\u8be2\u7684\u5b9e\u65f6\u6570\u636e<\/span><br \/>\n        <span class=\"token keyword\">print<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;[\u5b9e\u65f6\u67e5\u8be2] W&#061;%s kWh&#061;%s&#034;<\/span> <span class=\"token operator\">%<\/span> <span class=\"token punctuation\">(<\/span>d<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;power&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> d<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;energy&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">elif<\/span> n <span class=\"token operator\">&#061;&#061;<\/span> <span class=\"token string\">&#034;device-timer-interval&#034;<\/span><span class=\"token punctuation\">:<\/span>  <span class=\"token comment\"># \u8bbe\u7f6e\u9891\u7387\u7684\u54cd\u5e94<\/span><br \/>\n        <span class=\"token keyword\">print<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;[\u9891\u7387\u8bbe\u7f6e] enable&#061;%s interval&#061;%s success&#061;%s&#034;<\/span> <span class=\"token operator\">%<\/span> <span class=\"token punctuation\">(<\/span><br \/>\n            d<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;timerEnable&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> d<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;timerInterval&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> d<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;success&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><\/p>\n<p>client <span class=\"token operator\">&#061;<\/span> mqtt<span class=\"token punctuation\">.<\/span>Client<span class=\"token punctuation\">(<\/span>client_id<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;gscw-demo-full&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\nclient<span class=\"token punctuation\">.<\/span>on_connect <span class=\"token operator\">&#061;<\/span> on_connect<br \/>\nclient<span class=\"token punctuation\">.<\/span>on_message <span class=\"token operator\">&#061;<\/span> on_message<br \/>\nclient<span class=\"token punctuation\">.<\/span>connect<span class=\"token punctuation\">(<\/span>BROKER<span class=\"token punctuation\">,<\/span> PORT<span class=\"token punctuation\">,<\/span> <span class=\"token number\">60<\/span><span class=\"token punctuation\">)<\/span><br \/>\nclient<span class=\"token punctuation\">.<\/span>loop_start<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><\/p>\n<p><span class=\"token comment\"># 1) \u8bbe\u7f6e\u5b9a\u65f6\u4e0a\u62a5&#xff1a;\u542f\u7528(timerEnable&#061;1)&#xff0c;\u6bcf 30 \u79d2\u4e00\u6b21&#xff08;timerInterval \u8303\u56f4 5~86400 \u79d2&#xff09;<\/span><br \/>\nclient<span class=\"token punctuation\">.<\/span>publish<span class=\"token punctuation\">(<\/span>CMD_TOPIC<span class=\"token punctuation\">,<\/span> json<span class=\"token punctuation\">.<\/span>dumps<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token string\">&#034;commandName&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;device-timer-interval&#034;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    <span class=\"token string\">&#034;timerEnable&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;timerInterval&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">30<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    <span class=\"token string\">&#034;type&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;setting&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;messageId&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;4001&#034;<\/span><span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\ntime<span class=\"token punctuation\">.<\/span>sleep<span class=\"token punctuation\">(<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><\/p>\n<p><span class=\"token comment\"># 2) \u901a\u7535<\/span><br \/>\nclient<span class=\"token punctuation\">.<\/span>publish<span class=\"token punctuation\">(<\/span>CMD_TOPIC<span class=\"token punctuation\">,<\/span> json<span class=\"token punctuation\">.<\/span>dumps<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token string\">&#034;commandName&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;controller-event&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;key&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;type&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;event&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;messageId&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;4002&#034;<\/span><span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\ntime<span class=\"token punctuation\">.<\/span>sleep<span class=\"token punctuation\">(<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><\/p>\n<p><span class=\"token comment\"># 3) \u4e3b\u52a8\u67e5\u8be2\u4e00\u6b21\u5b9e\u65f6\u7528\u7535<\/span><br \/>\nclient<span class=\"token punctuation\">.<\/span>publish<span class=\"token punctuation\">(<\/span>CMD_TOPIC<span class=\"token punctuation\">,<\/span> json<span class=\"token punctuation\">.<\/span>dumps<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token string\">&#034;commandName&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;info-statistic&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;type&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;statistic&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;messageId&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;4003&#034;<\/span><span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\ntime<span class=\"token punctuation\">.<\/span>sleep<span class=\"token punctuation\">(<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">)<\/span><\/p>\n<p><span class=\"token comment\"># 4) \u4fdd\u6301\u8fde\u63a5&#xff0c;\u63a5\u6536\u81ea\u52a8\u4e0a\u62a5&#xff08;\u793a\u4f8b\u6301\u7eed 60 \u79d2&#xff09;<\/span><br \/>\ntime<span class=\"token punctuation\">.<\/span>sleep<span class=\"token punctuation\">(<\/span><span class=\"token number\">60<\/span><span class=\"token punctuation\">)<\/span><\/p>\n<p><span class=\"token comment\"># 5) \u6536\u5c3e\u65ad\u7535&#xff08;\u6309\u9700&#xff09;<\/span><br \/>\nclient<span class=\"token punctuation\">.<\/span>publish<span class=\"token punctuation\">(<\/span>CMD_TOPIC<span class=\"token punctuation\">,<\/span> json<span class=\"token punctuation\">.<\/span>dumps<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token string\">&#034;commandName&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;controller-event&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;key&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;type&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;event&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;messageId&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;4004&#034;<\/span><span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\ntime<span class=\"token punctuation\">.<\/span>sleep<span class=\"token punctuation\">(<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">)<\/span><\/p>\n<p>client<span class=\"token punctuation\">.<\/span>loop_stop<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><\/p>\n<p>\u8fd0\u884c\u8fc7\u7a0b\u4e2d\u4f60\u4f1a\u540c\u65f6\u770b\u5230\u4e09\u7c7b\u8f93\u51fa&#xff1a;device-timer-task&#xff08;\u81ea\u52a8\u4e0a\u62a5&#xff09;\u3001info-statistic&#xff08;\u67e5\u8be2\u8fd4\u56de&#xff09;\u3001device-timer-interval&#xff08;\u9891\u7387\u8bbe\u7f6e\u786e\u8ba4&#xff09;\u3002\u81f3\u6b64&#xff0c;\u4f60\u5df2\u7ecf\u638c\u63e1\u4e86&#034;\u63a7\u7535 &#043; \u8ba1\u91cf &#043; \u9891\u7387\u8c03\u8282&#034;\u4e09\u4f4d\u4e00\u4f53\u7684\u6700\u5c0f\u95ed\u73af\u3002<\/p>\n<h3>4.5 \u672c\u7ae0\u843d\u5730\u6e05\u5355<\/h3>\n<ul>\n<li class=\"task-list-item\"> \u63a5\u7ebf\u524d\u65ad\u7535\u3001\u9a8c\u7535&#xff1b;\u63a5\u7ebf\u7531\u4e13\u4e1a\u7535\u5de5\u5b8c\u6210&#xff0c;\u7ebf\u5f84\u4e0e\u7a7a\u5f00\/\u6f0f\u4fdd\u6309\u89c4\u8303\u914d\u7f6e\u3002<\/li>\n<li class=\"task-list-item\"> \u8bbe\u5907\u63a5\u5165 2.4GHz WiFi&#xff0c;\u7528 info-protocol \u786e\u8ba4 publish \/ subcribe \u53ca\u670d\u52a1\u5668\u4fe1\u606f\u3002<\/li>\n<li class=\"task-list-item\"> \u5e73\u53f0\u6b63\u786e\u8ba2\u9605 publish\u3001\u5411 subcribe \u53d1\u5e03&#xff0c;\u4e3b\u9898\u5207\u52ff\u5199\u53cd\u3002<\/li>\n<li class=\"task-list-item\"> \u7528 controller-event&#xff08;key&#061;1 \u901a\u7535 \/ 0 \u65ad\u7535&#xff09;\u5b8c\u6210\u4e00\u6b21\u8fdc\u7a0b\u901a\u65ad\u7535\u9a8c\u8bc1\u3002<\/li>\n<li class=\"task-list-item\"> \u7528 info-statistic \u67e5\u8be2\u4e00\u6b21\u5b9e\u65f6\u7528\u7535&#xff0c;\u786e\u8ba4 voltage \/ current \/ power \/ energy \u6b63\u5e38\u8fd4\u56de\u3002<\/li>\n<li class=\"task-list-item\"> \u7528 device-timer-interval&#xff08;timerEnable&#061;1&#xff0c;timerInterval&#061;5~86400 \u79d2&#xff09;\u8bbe\u7f6e\u81ea\u52a8\u4e0a\u62a5\u9891\u7387\u3002<\/li>\n<li class=\"task-list-item\"> \u6240\u6709\u4e0b\u884c\u6307\u4ee4\u643a\u5e26 messageId&#xff0c;\u5e76\u5728\u4ee3\u7801\u4e2d\u6309 messageId \u5339\u914d\u54cd\u5e94\u3002<\/li>\n<li class=\"task-list-item\"> \u82e5\u6539\u8fc7\u670d\u52a1\u5668\u914d\u7f6e&#xff0c;\u6267\u884c\u65ad\u7535\u91cd\u542f\u6216 controller-restart \u4f7f\u5176\u751f\u6548\u3002<\/li>\n<li class=\"task-list-item\"> \u611f\u6027\u8d1f\u8f7d\u5df2\u505a\u964d\u989d \/ \u52a0\u88c5\u63a5\u89e6\u5668&#xff1b;\u9ad8\u9891\u901a\u65ad\u573a\u666f\u5df2\u6838\u7b97\u7535\u6c14\u5bff\u547d&#xff08;5 \u4e07\u6b21&#xff09;\u3002<\/li>\n<\/ul>\n<h4>\u672c\u7ae0\u8981\u70b9<\/h4>\n<li>\u4e0a\u624b\u56db\u6b65&#xff1a;\u65ad\u7535\u63a5\u7ebf \u2192 \u4e0a\u7535 \u2192 2.4GHz \u914d\u7f51 \u2192 info-protocol \u786e\u8ba4\u4e3b\u9898\u3002<\/li>\n<li>\u4e09\u8bed\u8a00\u793a\u4f8b\u540c\u4e00\u6a21\u578b&#xff1a;\u8ba2\u9605 publish\u3001\u5411 subcribe \u53d1\u5e03\u3001\u6309 commandName \u5206\u53d1\u3002<\/li>\n<li>\u901a\u7535\u7528 controller-event \u7684 key&#061;1\/0&#xff1b;\u67e5\u8be2\u7528\u7535\u7528 info-statistic&#xff1b;\u81ea\u52a8\u4e0a\u62a5\u7531 device-timer-interval \u914d\u7f6e\u3001\u4ee5 device-timer-task \u9001\u8fbe\u3002<\/li>\n<li>\u5b8c\u6574\u811a\u672c\u6253\u901a&#034;\u63a7\u7535 &#043; \u8ba1\u91cf &#043; \u9891\u7387&#034;\u95ed\u73af&#xff0c;\u53ef\u76f4\u63a5\u4f5c\u4e3a\u9879\u76ee\u811a\u624b\u67b6\u3002<\/li>\n<li>\u5b89\u5168\u7b2c\u4e00&#xff1a;\u65ad\u7535\u3001\u7535\u5de5\u3001\u7a7a\u5f00\u6f0f\u4fdd\u3001\u611f\u6027\u964d\u989d&#xff0c;\u7f3a\u4e00\u4e0d\u53ef\u3002<\/li>\n<hr \/>\n<p>\u672c\u90e8\u5206\u7ed3\u675f\u3002 \u7b2c 1 \u90e8\u5206\u5e26\u4f60\u5efa\u7acb\u4e86\u5bf9 GSCW1M2P \u7684\u6574\u4f53\u8ba4\u77e5\u3001\u770b\u61c2\u4e86\u534f\u8bae\u4e0e\u6307\u4ee4\u5168\u666f&#xff0c;\u5e76\u8dd1\u901a\u4e86\u7b2c\u4e00\u4e2a\u53ef\u7528\u811a\u672c\u3002\u540e\u7eed\u90e8\u5206\u5c06\u6df1\u5165\u6307\u4ee4\u7ec6\u8282\u3001\u5f02\u5e38\u5904\u7406\u3001\u6279\u91cf\u7ba1\u7406\u4e0e\u5de5\u7a0b\u90e8\u7f72\u3002\u8bf7\u52a1\u5fc5\u7262\u8bb0&#xff1a;\u8fd9\u662f\u5f3a\u7535\u8bbe\u5907&#xff0c;\u4efb\u4f55\u63a5\u7ebf\u4e0e\u6539\u9020\u90fd\u5fc5\u987b\u65ad\u7535\u5e76\u7531\u4e13\u4e1a\u4eba\u5458\u64cd\u4f5c\u3002<\/p>\n<hr \/>\n<h2>\u7b2c 5 \u7ae0 \u5927\u529f\u7387\u7528\u7535\u91c7\u96c6\u4e0e\u8ba1\u91cf<\/h2>\n<p>\u4e00\u53e5\u8bdd\u70b9\u9898&#xff1a;GSCW1M2P \u4e0d\u53ea\u662f\u4e00\u4e2a&#034;\u80fd\u901a\u65ad\u7535\u7684\u5f00\u5173&#034;&#xff0c;\u5b83\u8fd8\u662f\u4e00\u4e2a\u88c5\u5728\u914d\u7535\u7bb1\u91cc\u3001\u53ef\u4ee5\u8fdc\u7a0b\u8bfb\u6570\u7684\u5355\u76f8\u7535\u80fd\u8ba1\u91cf\u70b9\u2014\u2014\u672c\u7ae0\u628a\u8fd9\u4e9b\u6570\u5b57\u4ece\u54ea\u6765\u3001\u51c6\u4e0d\u51c6\u3001\u600e\u4e48\u7b97\u6210\u7535\u8d39\u3001\u600e\u4e48\u5b58\u4e0b\u6765&#xff0c;\u4e00\u6b21\u8bb2\u6e05\u3002<\/p>\n<p>GSCW1M2P \u662f\u5355\u8def\u901a\u65ad\u5668&#xff08;\u4e0d\u662f\u4e09\u8def\u5f00\u5173&#xff09;&#xff0c;\u8f93\u5165 110~260Vac\u3001\u5de5\u4f5c\u7535\u6d41 25A\u3001\u6700\u5927 6000W&#xff08;\u963b\u6027&#xff09;&#xff0c;\u81ea\u5e26\u7528\u7535\u91c7\u96c6&#xff1a;\u7535\u538b(V)\u3001\u7535\u6d41(A)\u3001\u89c6\u5728\u529f\u7387(W)\u3001\u7d2f\u8ba1\u7528\u7535\u91cf(kWh)\u3002\u8fd9\u4e9b\u6570\u636e\u901a\u8fc7 MQTT\/TCP\/HTTP \u4e0a\u62a5&#xff0c;\u662f\u4f60\u505a\u80fd\u8017\u5206\u6790\u3001\u7535\u8d39\u7edf\u8ba1\u3001\u5f02\u5e38\u544a\u8b66\u7684\u539f\u6599\u3002<\/p>\n<hr \/>\n<h3>5.1 \u91c7\u96c6\u539f\u7406\u4e0e\u7cbe\u5ea6\u5f71\u54cd\u56e0\u7d20<\/h3>\n<h4>5.1.1 \u5b83\u662f\u600e\u4e48&#034;\u770b&#034;\u5230\u7535\u7684<\/h4>\n<p>\u8bbe\u5907\u5185\u90e8\u6709\u4e09\u6bb5\u91c7\u6837\u94fe\u8def&#xff0c;\u53ef\u4ee5\u7c7b\u6bd4\u6210\u4f53\u68c0&#xff1a;<\/p>\n<table>\n<tr>\u73af\u8282\u5668\u4ef6&#xff08;\u5178\u578b\u65b9\u6848&#xff09;\u4f5c\u7528\u7c7b\u6bd4<\/tr>\n<tbody>\n<tr>\n<td>\u7535\u538b\u91c7\u6837<\/td>\n<td>\u5206\u538b\u7535\u963b\u7f51\u7edc \/ \u5fae\u578b\u7535\u538b\u4e92\u611f\u5668<\/td>\n<td>\u628a 220V \u964d\u5230 ADC \u53ef\u6d4b\u7684\u5c0f\u4fe1\u53f7<\/td>\n<td>\u91cf\u8840\u538b\u7684\u8896\u5e26<\/td>\n<\/tr>\n<tr>\n<td>\u7535\u6d41\u91c7\u6837<\/td>\n<td>\u5206\u6d41\u7535\u963b \u6216 \u7535\u6d41\u4e92\u611f\u5668(CT)<\/td>\n<td>\u628a\u5927\u7535\u6d41\u8f6c\u6210\u5c0f\u7535\u538b<\/td>\n<td>\u79f0\u4f53\u91cd\u7684\u79e4<\/td>\n<\/tr>\n<tr>\n<td>\u8ba1\u91cf\u82af\u7247\/\u4e3b\u63a7<\/td>\n<td>ESP8266 &#043; \u8ba1\u91cf\u524d\u7aef<\/td>\n<td>\u6309\u516c\u5f0f\u7b97\u51fa V\u3001A\u3001W\u3001kWh<\/td>\n<td>\u533b\u751f\u5199\u4f53\u68c0\u62a5\u544a<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u4e3b\u63a7\u662f\u4e50\u946b ESP8266&#xff0c;\u5b83\u8d1f\u8d23\u628a\u91c7\u6837\u7ed3\u679c\u6362\u7b97\u6210\u5b57\u6bb5&#xff0c;\u5e76\u6309\u5468\u671f\u901a\u8fc7 MQTT \u53d1\u51fa\u53bb\u3002<\/p>\n<h4>5.1.2 \u4e0a\u62a5\u5b57\u6bb5&#xff08;\u6765\u81ea\u771f\u5b9e\u5951\u7ea6&#xff09;<\/h4>\n<p>\u65e0\u8bba\u662f\u8bbe\u5907\u4e3b\u52a8\u4e0a\u62a5\u8fd8\u662f\u5e73\u53f0\u67e5\u8be2&#xff0c;\u7528\u7535\u6570\u636e\u7684\u5b57\u6bb5\u540d\u662f\u56fa\u5b9a\u7684&#xff1a;<\/p>\n<table>\n<tr>\u5b57\u6bb5\u542b\u4e49\u5355\u4f4d\u51fa\u73b0\u4f4d\u7f6e<\/tr>\n<tbody>\n<tr>\n<td>voltage<\/td>\n<td>\u7535\u538b<\/td>\n<td>V<\/td>\n<td>device-timer-task \/ info-statistic<\/td>\n<\/tr>\n<tr>\n<td>current<\/td>\n<td>\u7535\u6d41<\/td>\n<td>A<\/td>\n<td>\u540c\u4e0a<\/td>\n<\/tr>\n<tr>\n<td>power<\/td>\n<td>\u89c6\u5728\u529f\u7387&#xff08;S&#061;U\u00d7I&#xff09;<\/td>\n<td>W<\/td>\n<td>\u540c\u4e0a<\/td>\n<\/tr>\n<tr>\n<td>energy<\/td>\n<td>\u7d2f\u8ba1\u7528\u7535\u91cf<\/td>\n<td>kWh<\/td>\n<td>\u540c\u4e0a<\/td>\n<\/tr>\n<tr>\n<td>key<\/td>\n<td>\u7ee7\u7535\u5668\u72b6\u6001&#xff1a;1&#061;\u901a\u7535&#xff0c;0&#061;\u65ad\u7535<\/td>\n<td>\u2014<\/td>\n<td>\u540c\u4e0a<\/td>\n<\/tr>\n<tr>\n<td>mac<\/td>\n<td>\u8bbe\u5907 MAC<\/td>\n<td>\u2014<\/td>\n<td>\u540c\u4e0a<\/td>\n<\/tr>\n<tr>\n<td>source<\/td>\n<td>\u6570\u636e\u6765\u6e90&#xff1a;&#034;auto&#034;&#061;\u5b9a\u65f6\u4e0a\u62a5&#xff1b;\u67e5\u8be2\u65f6\u6765\u6e90\u4e0d\u540c<\/td>\n<td>\u2014<\/td>\n<td>\u540c\u4e0a<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u26a0\ufe0f \u5212\u91cd\u70b9&#xff1a;power \u62a5\u7684\u662f\u89c6\u5728\u529f\u7387&#xff08;VA \u53e3\u5f84&#xff09;&#xff0c;\u4e0d\u662f\u6709\u529f\u529f\u7387\u30025.2 \u8282\u4e13\u95e8\u8bb2\u8fd9\u4e2a\u5751\u3002<\/p>\n<h4>5.1.3 \u4e00\u6761\u771f\u5b9e\u4e0a\u62a5\u957f\u4ec0\u4e48\u6837<\/h4>\n<p><span class=\"token keyword\">import<\/span> json<\/p>\n<p><span class=\"token keyword\">def<\/span> <span class=\"token function\">on_message<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> userdata<span class=\"token punctuation\">,<\/span> msg<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    payload <span class=\"token operator\">&#061;<\/span> json<span class=\"token punctuation\">.<\/span>loads<span class=\"token punctuation\">(<\/span>msg<span class=\"token punctuation\">.<\/span>payload<span class=\"token punctuation\">.<\/span>decode<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;utf-8&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    cmd <span class=\"token operator\">&#061;<\/span> payload<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;commandName&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token comment\"># \u4e24\u79cd\u4e0a\u884c\u90fd\u5e26\u7528\u7535\u5b57\u6bb5&#xff1a;\u5b9a\u65f6\u4e0a\u62a5 &amp; \u4e3b\u52a8\u67e5\u8be2\u54cd\u5e94<\/span><br \/>\n    <span class=\"token keyword\">if<\/span> cmd <span class=\"token keyword\">in<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;device-timer-task&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;info-statistic&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n        <span class=\"token keyword\">print<\/span><span class=\"token punctuation\">(<\/span><br \/>\n            <span class=\"token string-interpolation\"><span class=\"token string\">f&#034;[<\/span><span class=\"token interpolation\"><span class=\"token punctuation\">{<\/span>payload<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;mac&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">}<\/span><\/span><span class=\"token string\">] &#034;<\/span><\/span><br \/>\n            <span class=\"token string-interpolation\"><span class=\"token string\">f&#034;V&#061;<\/span><span class=\"token interpolation\"><span class=\"token punctuation\">{<\/span>payload<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;voltage&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">}<\/span><\/span><span class=\"token string\"> &#034;<\/span><\/span><br \/>\n            <span class=\"token string-interpolation\"><span class=\"token string\">f&#034;I&#061;<\/span><span class=\"token interpolation\"><span class=\"token punctuation\">{<\/span>payload<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;current&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">}<\/span><\/span><span class=\"token string\"> &#034;<\/span><\/span><br \/>\n            <span class=\"token string-interpolation\"><span class=\"token string\">f&#034;P&#061;<\/span><span class=\"token interpolation\"><span class=\"token punctuation\">{<\/span>payload<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;power&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">}<\/span><\/span><span class=\"token string\">W &#034;<\/span><\/span><br \/>\n            <span class=\"token string-interpolation\"><span class=\"token string\">f&#034;E&#061;<\/span><span class=\"token interpolation\"><span class=\"token punctuation\">{<\/span>payload<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;energy&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">}<\/span><\/span><span class=\"token string\">kWh &#034;<\/span><\/span><br \/>\n            <span class=\"token string-interpolation\"><span class=\"token string\">f&#034;key&#061;<\/span><span class=\"token interpolation\"><span class=\"token punctuation\">{<\/span>payload<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;key&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">}<\/span><\/span><span class=\"token string\"> &#034;<\/span><\/span><br \/>\n            <span class=\"token string-interpolation\"><span class=\"token string\">f&#034;source&#061;<\/span><span class=\"token interpolation\"><span class=\"token punctuation\">{<\/span>payload<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#039;source&#039;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">}<\/span><\/span><span class=\"token string\">&#034;<\/span><\/span><br \/>\n        <span class=\"token punctuation\">)<\/span><\/p>\n<h4>5.1.4 \u7cbe\u5ea6\u5f71\u54cd\u56e0\u7d20&#xff08;\u51b3\u5b9a&#034;\u51c6\u4e0d\u51c6&#034;&#xff09;<\/h4>\n<table>\n<tr>\u56e0\u7d20\u4e3a\u4ec0\u4e48\u5f71\u54cd\u5de5\u7a0b\u5efa\u8bae<\/tr>\n<tbody>\n<tr>\n<td>\u7535\u538b\u6ce2\u52a8<\/td>\n<td>\u7535\u7f51 220V \u5e38\u5e74\u5728 210~240V \u6d6e\u52a8<\/td>\n<td>\u5173\u6ce8\u8d8b\u52bf&#xff0c;\u522b\u62ff\u5355\u70b9\u5f53\u6807\u51c6\u503c<\/td>\n<\/tr>\n<tr>\n<td>\u5c0f\u7535\u6d41\u6d4b\u4e0d\u51c6<\/td>\n<td>\u5206\u6d41\/CT \u5728\u91cf\u7a0b\u4f4e\u7aef\u8bef\u5dee\u653e\u5927<\/td>\n<td>\u51e0\u5341\u74e6\u7684\u8d1f\u8f7d\u8bfb\u6570\u4ec5\u4f9b\u53c2\u8003<\/td>\n<\/tr>\n<tr>\n<td>\u529f\u7387\u56e0\u6570<\/td>\n<td>\u62a5\u7684\u662f S&#061;U\u00d7I&#xff0c;\u611f\u6027\u8d1f\u8f7d\u4f1a\u865a\u9ad8<\/td>\n<td>\u89c1 5.2 \u8282\u6362\u7b97\u6709\u529f<\/td>\n<\/tr>\n<tr>\n<td>\u91c7\u6837\u662f&#034;\u5feb\u7167&#034;<\/td>\n<td>\u53ea\u53cd\u6620\u4e0a\u62a5\u77ac\u95f4&#xff0c;\u4e0d\u7b49\u540c\u6574\u6bb5\u5e73\u5747<\/td>\n<td>\u5feb\u53d8\u8d1f\u8f7d&#xff08;\u7535\u673a\u542f\u505c&#xff09;\u4f1a\u6f0f\u91c7&#xff0c;\u9700\u914d\u5408\u7d2f\u79ef energy<\/td>\n<\/tr>\n<tr>\n<td>\u6e29\u5ea6\u6f02\u79fb<\/td>\n<td>\u91c7\u6837\u5668\u4ef6\u968f\u6e29\u53d8\u5316<\/td>\n<td>\u6237\u5916\/\u95f7\u70ed\u914d\u7535\u7bb1\u7559\u4f59\u91cf<\/td>\n<\/tr>\n<tr>\n<td>\u4e0a\u62a5\u4e22\u5305<\/td>\n<td>WiFi \u6296\u52a8\u6216 Broker \u91cd\u8fde\u671f\u95f4\u4e22\u5e27<\/td>\n<td>\u4ee5\u8bbe\u5907\u7aef\u7d2f\u8ba1 energy \u4e3a\u51c6&#xff0c;\u4e0d\u8981\u7528\u5e73\u53f0\u5bf9 power \u79ef\u5206\u6765&#034;\u81ea\u7b97\u7535\u91cf&#034;&#xff0c;\u5426\u5219\u4f1a\u6301\u7eed\u504f\u5c0f<\/td>\n<\/tr>\n<tr>\n<td>\u5206\u8fa8\u7387\u53d6\u6574<\/td>\n<td>\u5b57\u6bb5\u4f4d\u6570\u6709\u9650<\/td>\n<td>\u5c0f\u989d\u7535\u91cf&#xff08;&lt;0.01kWh&#xff09;\u53ef\u80fd\u6709\u53f0\u9636<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u7ed3\u8bba&#xff1a;energy \u662f\u8bbe\u5907\u7aef\u7d2f\u8ba1\u91cf&#xff0c;\u6bd4\u8f83\u53ef\u9760&#xff1b;power \u662f\u77ac\u65f6\u89c6\u5728\u529f\u7387&#xff0c;\u9002\u5408\u505a\u8d8b\u52bf\/\u544a\u8b66&#xff0c;\u4e0d\u9002\u5408\u62ff\u53bb\u7cbe\u786e\u8ba1\u8d39\u3002\u9700\u8981\u6cd5\u5b9a\u8ba1\u91cf\u7ea7\u7cbe\u5ea6&#xff0c;\u5e94\u53e6\u914d\u4e13\u4e1a\u7535\u80fd\u8868\u3002<\/p>\n<hr \/>\n<h3>5.2 \u89c6\u5728\u529f\u7387 vs \u6709\u529f\u529f\u7387 vs \u7535\u8d39<\/h3>\n<h4>5.2.1 \u4e00\u4e2a&#034;\u5564\u9152\u676f&#034;\u7c7b\u6bd4<\/h4>\n<p>\u628a\u7535\u60f3\u6210\u4e00\u676f\u5564\u9152&#xff1a;<\/p>\n<ul>\n<li>\u6ce1\u6cab &#043; \u9152 &#061; \u89c6\u5728\u529f\u7387 S&#xff08;VA&#xff09; \u2192 \u4e5f\u5c31\u662f\u8bbe\u5907\u4e0a\u62a5\u7684 power<\/li>\n<li>\u771f\u6b63\u559d\u4e0b\u53bb\u7684\u9152 &#061; \u6709\u529f\u529f\u7387 P&#xff08;W&#xff09; \u2192 \u771f\u6b63\u505a\u529f\u3001\u771f\u6b63\u7535\u8868\u8ba1\u4ef7\u7684\u90e8\u5206<\/li>\n<li>\u6ce1\u6cab &#061; \u65e0\u529f\u529f\u7387 Q&#xff08;var&#xff09; \u2192 \u7535\u611f\/\u7535\u5bb9\u6765\u56de&#034;\u6253\u6c14&#034;&#xff0c;\u4e0d\u5e72\u6d3b\u4f46\u4e5f\u5360\u7528\u5bb9\u91cf<\/li>\n<\/ul>\n<p>\u5173\u7cfb&#xff1a;S &#061; U \u00d7 I&#xff0c;P &#061; S \u00d7 cos\u03c6 &#061; S \u00d7 PF&#xff0c;\u5176\u4e2d PF&#xff08;\u529f\u7387\u56e0\u6570&#xff09;\u5728 0~1 \u4e4b\u95f4\u3002<\/p>\n<h4>5.2.2 \u7535\u8d39\u5230\u5e95\u6309\u54ea\u4e2a\u7b97<\/h4>\n<ul>\n<li>\u5c45\u6c11\/\u666e\u901a\u5546\u4e1a\u7535\u8868\u8ba1\u8d39\u7684\u662f\u6709\u529f\u7535\u91cf kWh&#xff1b;<\/li>\n<li>\u8bbe\u5907\u4e0a\u62a5\u7684 energy \u662f\u8bbe\u5907\u7684&#034;\u53e3\u5f84&#034;&#xff0c;\u5bf9\u7eaf\u963b\u6027\u8d1f\u8f7d\u51e0\u4e4e\u7b49\u4e8e\u6709\u529f\u7535\u91cf&#xff0c;\u5bf9\u611f\u6027\u8d1f\u8f7d\u4f1a\u6709\u504f\u5dee&#xff1b;<\/li>\n<li>\u5de5\u4e1a\u5927\u7528\u6237\u8fd8\u6709&#034;\u529b\u7387\u8c03\u6574\u7535\u8d39&#034;&#xff08;\u529f\u7387\u56e0\u6570\u4f4e\u4f1a\u88ab\u7f5a\u6b3e&#xff09;&#xff0c;\u8fd9\u65f6 PF \u5c31\u975e\u5e38\u5173\u952e\u3002<\/li>\n<\/ul>\n<h4>5.2.3 \u6362\u7b97\u793a\u4f8b\u6d4b\u7b97<\/h4>\n<table>\n<tr>\u8d1f\u8f7d\u7c7b\u578b\u5178\u578b PF\u8bbe\u5907\u8bfb\u6570 power\u771f\u5b9e\u6709\u529f P&#061;power\u00d7PF\u76f4\u63a5\u5f53\u6709\u529f\u7684\u504f\u5dee<\/tr>\n<tbody>\n<tr>\n<td>\u7535\u70ed\u6c34\u5668\/\u6696\u98ce\u673a&#xff08;\u963b\u6027&#xff09;<\/td>\n<td>\u22481.0<\/td>\n<td>2000 W<\/td>\n<td>2000 W<\/td>\n<td>0%<\/td>\n<\/tr>\n<tr>\n<td>\u5b9a\u9891\u7a7a\u8c03&#xff08;\u538b\u7f29\u673a&#xff09;<\/td>\n<td>\u22480.85<\/td>\n<td>2000 W<\/td>\n<td>1700 W<\/td>\n<td>\u504f\u9ad8 17.6%<\/td>\n<\/tr>\n<tr>\n<td>\u6c34\u6cf5\/\u98ce\u673a\u7535\u673a<\/td>\n<td>\u22480.75<\/td>\n<td>2000 W<\/td>\n<td>1500 W<\/td>\n<td>\u504f\u9ad8 33.3%<\/td>\n<\/tr>\n<tr>\n<td>\u542b\u9547\u6d41\u5668\u7684\u8001\u5f0f\u706f\u5177<\/td>\n<td>\u22480.5<\/td>\n<td>2000 W<\/td>\n<td>1000 W<\/td>\n<td>\u504f\u9ad8 100%<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&#xff08;\u4e0a\u8868\u4e3a\u793a\u4f8b\u6d4b\u7b97&#xff0c;\u5b9e\u9645 PF \u4ee5\u94ed\u724c\u4e3a\u51c6\u3002&#xff09;<\/p>\n<p>\u6362\u7b97\u4ee3\u7801&#xff1a;<\/p>\n<p><span class=\"token keyword\">def<\/span> <span class=\"token function\">active_power<\/span><span class=\"token punctuation\">(<\/span>power_va<span class=\"token punctuation\">:<\/span> <span class=\"token builtin\">float<\/span><span class=\"token punctuation\">,<\/span> pf<span class=\"token punctuation\">:<\/span> <span class=\"token builtin\">float<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">0.85<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#8211;<\/span><span class=\"token operator\">&gt;<\/span> <span class=\"token builtin\">float<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    <span class=\"token triple-quoted-string string\">&#034;&#034;&#034;\u628a\u8bbe\u5907\u4e0a\u62a5\u7684\u89c6\u5728\u529f\u7387\u6362\u7b97\u6210\u6709\u529f\u529f\u7387&#xff08;\u65e0 PF \u6570\u636e\u65f6\u7528\u7ecf\u9a8c\u503c&#xff09;\u3002&#034;&#034;&#034;<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token builtin\">round<\/span><span class=\"token punctuation\">(<\/span>power_va <span class=\"token operator\">*<\/span> pf<span class=\"token punctuation\">,<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><\/p>\n<p><span class=\"token comment\"># \u793a\u4f8b&#xff1a;\u8bbe\u5907\u62a5 2000W&#xff0c;\u6309 0.85 \u4f30<\/span><br \/>\n<span class=\"token keyword\">print<\/span><span class=\"token punctuation\">(<\/span>active_power<span class=\"token punctuation\">(<\/span><span class=\"token number\">2000<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">0.85<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span>   <span class=\"token comment\"># 1700.0 W<\/span><\/p>\n<h4>5.2.4 \u5de5\u7a0b\u5efa\u8bae\u6e05\u5355<\/h4>\n<li>\u7eaf\u963b\u6027\u8d1f\u8f7d&#xff08;\u7535\u70ed\u6c34\u5668\u3001\u6696\u98ce\u673a\u3001\u767d\u70bd\u706f\u3001\u7535\u963b\u7089&#xff09;&#xff1a;\u76f4\u63a5\u7528 power \u5f53\u6709\u529f&#xff0c;\u8bef\u5dee\u53ef\u5ffd\u7565&#xff1b;<\/li>\n<li>\u611f\u6027\u8d1f\u8f7d&#xff08;\u7a7a\u8c03\u3001\u6c34\u6cf5\u3001\u7535\u673a\u3001\u538b\u7f29\u673a&#xff09;&#xff1a;P &#061; power \u00d7 PF&#xff0c;PF \u53d6\u94ed\u724c\u503c&#xff0c;\u53d6\u4e0d\u5230\u6309 0.8 \u4f30&#xff1b;<\/li>\n<li>\u8ba1\u8d39\u7528 energy&#xff0c;\u5e76\u5728\u62a5\u8868\u91cc\u6807\u6ce8&#034;\u8bbe\u5907\u53e3\u5f84&#034;&#xff0c;\u9700\u8981\u6cd5\u5b9a\u8ba1\u91cf\u518d\u5e76\u8054\u4e13\u4e1a\u8868&#xff1b;<\/li>\n<li>\u544a\u8b66\u7528 power \u7684\u76f8\u5bf9\u53d8\u5316\u5373\u53ef&#xff0c;\u4e0d\u5fc5\u5148\u6362\u7b97\u6709\u529f&#xff08;\u9608\u503c\u4e5f\u6309 VA \u5b9a&#xff09;&#xff1b;<\/li>\n<li>\u6ce8\u610f&#xff1a;6000W \u4e0a\u9650\u662f\u963b\u6027\u53e3\u5f84&#xff0c;\u611f\u6027\u8d1f\u8f7d\u8981\u6309\u89c6\u5728\u529f\u7387&#043;\u542f\u52a8\u7535\u6d41\u53cc\u91cd\u6838\u7b97&#xff08;\u89c1\u7b2c 9 \u7ae0&#xff09;\u3002<\/li>\n<hr \/>\n<h3>5.3 \u5b9a\u65f6\u4e0a\u62a5 vs \u4e3b\u52a8\u67e5\u8be2&#xff0c;\u600e\u4e48\u9009<\/h3>\n<p>\u8bbe\u5907\u7ed9\u4e86\u4e24\u6761\u53d6\u6570\u8def\u5f84&#xff0c;\u5404\u6709\u9002\u7528\u573a\u666f\u3002<\/p>\n<table>\n<tr>\u5bf9\u6bd4\u7ef4\u5ea6\u5b9a\u65f6\u4e0a\u62a5&#xff08;\u8bbe\u5907\u4e3b\u52a8&#xff09;\u4e3b\u52a8\u67e5\u8be2&#xff08;\u5e73\u53f0\u53d1\u8d77&#xff09;<\/tr>\n<tbody>\n<tr>\n<td>\u89e6\u53d1\u65b9<\/td>\n<td>\u8bbe\u5907<\/td>\n<td>\u5e73\u53f0<\/td>\n<\/tr>\n<tr>\n<td>\u914d\u7f6e\u6307\u4ee4<\/td>\n<td>device-timer-interval<\/td>\n<td>\u65e0\u9700\u914d\u7f6e&#xff0c;\u968f\u65f6\u53d1<\/td>\n<\/tr>\n<tr>\n<td>\u8bf7\u6c42\u5b57\u6bb5<\/td>\n<td>timerEnable(0\/1)\u3001timerInterval(\u79d2, 5~86400)\u3001type:&#034;setting&#034;<\/td>\n<td>type:&#034;statistic&#034;<\/td>\n<\/tr>\n<tr>\n<td>\u4e0a\u884c\u7c7b\u578b<\/td>\n<td>device-timer-task&#xff08;source:&#034;auto&#034;&#xff09;<\/td>\n<td>info-statistic&#xff08;\u5e26 messageId&#xff09;<\/td>\n<\/tr>\n<tr>\n<td>\u9891\u7387<\/td>\n<td>\u56fa\u5b9a\u5468\u671f<\/td>\n<td>\u60f3\u67e5\u624d\u67e5<\/td>\n<\/tr>\n<tr>\n<td>\u5b9e\u65f6\u6027<\/td>\n<td>\u53d6\u51b3\u4e8e\u95f4\u9694<\/td>\n<td>\u8fd1\u5373\u65f6<\/td>\n<\/tr>\n<tr>\n<td>\u6d41\u91cf\/\u529f\u8017<\/td>\n<td>\u7a33\u5b9a\u3001\u53ef\u9884\u6d4b<\/td>\n<td>\u6309\u9700\u3001\u7a81\u53d1<\/td>\n<\/tr>\n<tr>\n<td>\u79bb\u7ebf\u8865\u62a5<\/td>\n<td>\u65e0&#xff08;\u65ad\u5f00\u671f\u95f4\u6570\u636e\u4e0d\u8865&#xff09;<\/td>\n<td>\u65e0<\/td>\n<\/tr>\n<tr>\n<td>\u9002\u5408<\/td>\n<td>\u5e38\u6001\u91c7\u96c6\u3001\u5386\u53f2\u66f2\u7ebf\u3001\u80fd\u8017\u7edf\u8ba1<\/td>\n<td>\u6253\u5f00\u9875\u9762\u5237\u65b0\u3001\u4e0b\u53d1\u524d\u786e\u8ba4\u72b6\u6001<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>5.3.1 \u5b9a\u65f6\u4e0a\u62a5&#xff1a;\u5148&#034;\u6253\u5f00\u5f00\u5173&#034;<\/h4>\n<p>\u51fa\u5382\u540e\u8bbe\u5907\u53ef\u80fd\u9ed8\u8ba4\u4e0d\u4e3b\u52a8\u4e0a\u62a5&#xff0c;\u5fc5\u987b\u5148\u7528 device-timer-interval \u6253\u5f00\u5e76\u8bbe\u7f6e\u5468\u671f&#xff1a;<\/p>\n<p><span class=\"token keyword\">def<\/span> <span class=\"token function\">new_message_id<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#8211;<\/span><span class=\"token operator\">&gt;<\/span> <span class=\"token builtin\">str<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    <span class=\"token keyword\">import<\/span> time<br \/>\n    <span class=\"token keyword\">return<\/span> time<span class=\"token punctuation\">.<\/span>strftime<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;%Y%m%d%H%M%S&#034;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#043;<\/span> <span class=\"token string\">&#034;000&#034;<\/span><\/p>\n<p><span class=\"token comment\"># \u5f00\u542f\u5b9a\u65f6\u4e0a\u62a5&#xff0c;\u5468\u671f 60 \u79d2&#xff08;\u793a\u4f8b&#xff09;<\/span><br \/>\ncmd <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n    <span class=\"token string\">&#034;messageId&#034;<\/span><span class=\"token punctuation\">:<\/span> new_message_id<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    <span class=\"token string\">&#034;timerEnable&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    <span class=\"token string\">&#034;timerInterval&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">60<\/span><span class=\"token punctuation\">,<\/span>          <span class=\"token comment\"># \u5355\u4f4d\u79d2&#xff0c;\u5141\u8bb8 5~86400<\/span><br \/>\n    <span class=\"token string\">&#034;type&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;setting&#034;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n<span class=\"token punctuation\">}<\/span><br \/>\nclient<span class=\"token punctuation\">.<\/span>publish<span class=\"token punctuation\">(<\/span>command_topic<span class=\"token punctuation\">,<\/span> json<span class=\"token punctuation\">.<\/span>dumps<span class=\"token punctuation\">(<\/span>cmd<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span>   <span class=\"token comment\"># command_topic &#061; info-protocol \u7684 subcribe<\/span><\/p>\n<p>\u8bbe\u5907\u4f1a\u56de\u4e00\u6761 device-timer-interval \u54cd\u5e94&#xff0c;\u542b timerEnable\u3001timerInterval\u3001success\u3002<\/p>\n<h4>5.3.2 \u4e3b\u52a8\u67e5\u8be2&#xff1a;\u62ff\u6765\u5373\u7528\u7684\u5373\u65f6\u503c<\/h4>\n<p><span class=\"token comment\"># \u4e3b\u52a8\u67e5\u8be2\u4e00\u6b21\u5b9e\u65f6\u7528\u7535&#xff08;\u7528\u4e8e\u7528\u6237\u70b9\u5f00\u9762\u677f\u5237\u65b0&#xff09;<\/span><br \/>\nquery <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">{<\/span><span class=\"token string\">&#034;messageId&#034;<\/span><span class=\"token punctuation\">:<\/span> new_message_id<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;type&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;statistic&#034;<\/span><span class=\"token punctuation\">}<\/span><br \/>\nclient<span class=\"token punctuation\">.<\/span>publish<span class=\"token punctuation\">(<\/span>command_topic<span class=\"token punctuation\">,<\/span> json<span class=\"token punctuation\">.<\/span>dumps<span class=\"token punctuation\">(<\/span>query<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\"># \u8bbe\u5907\u56de info-statistic&#xff1a;voltage \/ current \/ power \/ energy \/ key \/ mac \/ messageId \/ source<\/span><\/p>\n<h4>5.3.3 \u53d6\u820d\u5efa\u8bae&#xff08;\u4ec0\u4e48\u65f6\u5019\u7528\u54ea\u4e2a&#xff09;<\/h4>\n<li>\u5e38\u6001\u76d1\u63a7&#xff1a;\u5f00\u5b9a\u65f6\u4e0a\u62a5&#xff0c;\u95f4\u9694 30~60 \u79d2\u8d77\u6b65&#xff08;\u793a\u4f8b&#xff09;&#xff0c;\u957f\u671f\u66f2\u7ebf\u8db3\u591f&#xff1b;\u4e0d\u8981\u4e00\u4e0a\u6765\u5c31\u8bbe 5 \u79d2&#xff0c;\u5426\u5219\u6d41\u91cf\u3001\u5b58\u50a8\u3001Broker \u538b\u529b\u90fd\u4f1a\u653e\u5927&#xff1b;<\/li>\n<li>\u4ea4\u4e92\u5f0f\u9762\u677f&#xff1a;\u7528\u6237\u70b9\u5f00\u8be6\u60c5\u9875 \u2192 \u53d1\u4e00\u6b21 info-statistic \u62ff\u5373\u65f6\u503c&#xff0c;\u907f\u514d\u7b49\u4e0b\u4e00\u4e2a\u4e0a\u62a5\u5468\u671f&#xff1b;<\/li>\n<li>\u4e0b\u53d1\u63a7\u5236\u524d&#xff1a;\u53ef\u5148 info-statistic \u786e\u8ba4\u5f53\u524d key \u72b6\u6001&#xff0c;\u518d\u51b3\u5b9a\u662f\u5426\u9700\u8981 controller-event&#xff1b;<\/li>\n<li>\u7528 messageId \u5339\u914d\u8bf7\u6c42-\u54cd\u5e94&#xff1a;\u8bbe\u5907\u4f1a\u539f\u6837\u56de\u663e messageId&#xff0c;\u662f\u5e76\u53d1\u573a\u666f\u4e0b\u552f\u4e00\u7684&#034;\u5bf9\u53f7\u5165\u5ea7&#034;\u51ed\u636e&#xff1b;<\/li>\n<li>\u672c\u578b\u53f7\u8fd8\u652f\u6301\u5185\u7f51 HTTP \u63a7\u5236&#xff0c;\u5c40\u57df\u7f51\u70b9\u5f00\u9875\u9762\u5237\u65b0\u65f6\u4e5f\u53ef\u8d70 HTTP&#xff0c;\u51cf\u5c11\u5bf9 Broker \u7684\u4f9d\u8d56&#xff08;\u5b57\u6bb5\u7ec6\u8282\u4ee5 GemeOpen \u5b98\u65b9\u6587\u6863\u4e3a\u51c6&#xff09;\u3002<\/li>\n<hr \/>\n<h3>5.4 \u80fd\u8017\u5206\u6790\u65b9\u6cd5<\/h3>\n<h4>5.4.1 \u8d1f\u8f7d\u753b\u50cf&#xff1a;\u5148\u770b\u6e05&#034;\u8c01\u5728\u7528\u7535&#034;<\/h4>\n<p>\u628a\u4e00\u5929\u7684 power \u6309\u5c0f\u65f6\u753b\u51fa\u6765&#xff0c;\u5c31\u80fd\u770b\u51fa\u8bbe\u5907\u4f5c\u606f&#xff1a;<\/p>\n<p><span class=\"token keyword\">from<\/span> collections <span class=\"token keyword\">import<\/span> defaultdict<\/p>\n<p><span class=\"token keyword\">def<\/span> <span class=\"token function\">load_profile<\/span><span class=\"token punctuation\">(<\/span>samples<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    <span class=\"token triple-quoted-string string\">&#034;&#034;&#034;samples: [(ts_epoch, power_w), &#8230;] -&gt; {hour: \u5e73\u5747\u529f\u7387}&#034;&#034;&#034;<\/span><br \/>\n    buckets <span class=\"token operator\">&#061;<\/span> defaultdict<span class=\"token punctuation\">(<\/span><span class=\"token builtin\">list<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">import<\/span> time<br \/>\n    <span class=\"token keyword\">for<\/span> ts<span class=\"token punctuation\">,<\/span> p <span class=\"token keyword\">in<\/span> samples<span class=\"token punctuation\">:<\/span><br \/>\n        hour <span class=\"token operator\">&#061;<\/span> time<span class=\"token punctuation\">.<\/span>localtime<span class=\"token punctuation\">(<\/span>ts<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">.<\/span>tm_hour<br \/>\n        buckets<span class=\"token punctuation\">[<\/span>hour<span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">.<\/span>append<span class=\"token punctuation\">(<\/span>p<span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token punctuation\">{<\/span>h<span class=\"token punctuation\">:<\/span> <span class=\"token builtin\">round<\/span><span class=\"token punctuation\">(<\/span><span class=\"token builtin\">sum<\/span><span class=\"token punctuation\">(<\/span>v<span class=\"token punctuation\">)<\/span> <span class=\"token operator\">\/<\/span> <span class=\"token builtin\">len<\/span><span class=\"token punctuation\">(<\/span>v<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">for<\/span> h<span class=\"token punctuation\">,<\/span> v <span class=\"token keyword\">in<\/span> <span class=\"token builtin\">sorted<\/span><span class=\"token punctuation\">(<\/span>buckets<span class=\"token punctuation\">.<\/span>items<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">}<\/span><\/p>\n<h4>5.4.2 \u5f85\u673a\u529f\u8017&#xff1a;\u770b\u4e0d\u89c1\u7684&#034;\u7535\u8d39\u5c0f\u5077&#034;<\/h4>\n<ul>\n<li>\u8bbe\u5907\u81ea\u8eab\u5f85\u673a\u529f\u7387 &lt;4W&#xff1b;<\/li>\n<li>\u8d1f\u8f7d\u672c\u8eab\u7684\u5f85\u673a&#xff08;\u5982\u673a\u9876\u76d2\u3001\u5145\u7535\u5668\u3001\u996e\u6c34\u673a\u4fdd\u6e29&#xff09;\u624d\u662f\u5927\u5934\u3002<\/li>\n<\/ul>\n<p>\u5224\u5b9a\u4e0e\u6d4b\u7b97&#xff1a;<\/p>\n<p>STANDBY_THRESHOLD_W <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">10<\/span>   <span class=\"token comment\"># \u4f4e\u4e8e\u6b64\u529f\u7387\u4e14\u901a\u7535\u4e2d&#xff0c;\u5224\u4e3a\u5f85\u673a&#xff08;\u793a\u4f8b\u9608\u503c&#xff09;<\/span><\/p>\n<p><span class=\"token keyword\">def<\/span> <span class=\"token function\">standby_energy_kwh<\/span><span class=\"token punctuation\">(<\/span>power_w<span class=\"token punctuation\">,<\/span> hours<span class=\"token operator\">&#061;<\/span><span class=\"token number\">24<\/span> <span class=\"token operator\">*<\/span> <span class=\"token number\">365<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token builtin\">round<\/span><span class=\"token punctuation\">(<\/span>power_w <span class=\"token operator\">*<\/span> hours <span class=\"token operator\">\/<\/span> <span class=\"token number\">1000<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">2<\/span><span class=\"token punctuation\">)<\/span><\/p>\n<p><span class=\"token comment\"># \u793a\u4f8b\u6d4b\u7b97&#xff1a;\u8d1f\u8f7d\u5f85\u673a 3W<\/span><br \/>\n<span class=\"token keyword\">print<\/span><span class=\"token punctuation\">(<\/span>standby_energy_kwh<span class=\"token punctuation\">(<\/span><span class=\"token number\">3<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span>   <span class=\"token comment\"># 26.28 kWh\/\u5e74<\/span><\/p>\n<p>\u793a\u4f8b\u6d4b\u7b97&#xff1a;\u4e00\u53f0\u5f85\u673a 3W \u7684\u8bbe\u5907&#xff0c;\u4e00\u5e74\u7a7a\u8017\u7ea6 26.28 kWh&#xff1b;\u6309 0.6 \u5143\/\u5ea6\u4f30\u7b97\u7ea6 15.8 \u5143\u3002\u51e0\u5341\u53f0\u53e0\u52a0\u5c31\u5f88\u53ef\u89c2&#xff0c;&#034;\u591c\u95f4\u81ea\u52a8\u65ad\u5f85\u673a&#034;\u5f80\u5f80\u662f\u6700\u5feb\u7684\u8282\u80fd\u52a8\u4f5c\u3002<\/p>\n<h4>5.4.3 \u5f02\u5e38\u7528\u7535&#xff1a;\u7528&#034;\u57fa\u7ebf\u5bf9\u6bd4&#034;\u6293\u95ee\u9898<\/h4>\n<table>\n<tr>\u5f02\u5e38\u7c7b\u578b\u73b0\u8c61\u5224\u5b9a\u601d\u8def\u52a8\u4f5c<\/tr>\n<tbody>\n<tr>\n<td>\u7a81\u589e<\/td>\n<td>power \u8fdc\u8d85\u5386\u53f2\u57fa\u7ebf<\/td>\n<td>\u540c\u6bd4\/\u73af\u6bd4\u8d85\u9608\u503c<\/td>\n<td>\u63a8\u9001\u544a\u8b66\u3001\u8fdc\u7a0b\u65ad\u7535<\/td>\n<\/tr>\n<tr>\n<td>\u7a81\u964d<\/td>\n<td>power \u6389\u5230 0 \u4f46 key&#061;1<\/td>\n<td>\u8d1f\u8f7d\u6545\u969c\/\u7a7a\u5f00\u8df3\u95f8<\/td>\n<td>\u68c0\u67e5\u73b0\u573a<\/td>\n<\/tr>\n<tr>\n<td>\u957f\u65f6\u95f4\u6ee1\u8f7d<\/td>\n<td>\u957f\u65f6\u95f4\u8d34\u7740\u989d\u5b9a<\/td>\n<td>\u6301\u7eed\u65f6\u957f\u9608\u503c<\/td>\n<td>\u63d0\u9192\u964d\u8f7d\/\u8f6e\u6362<\/td>\n<\/tr>\n<tr>\n<td>\u6df1\u591c\u7528\u7535<\/td>\n<td>\u975e\u5de5\u4f5c\u65f6\u6bb5\u6709\u529f\u7387<\/td>\n<td>\u65f6\u6bb5\u767d\u540d\u5355<\/td>\n<td>\u6392\u67e5\u5077\u7535\/\u5fd8\u5173<\/td>\n<\/tr>\n<tr>\n<td>\u9891\u7e41\u542f\u505c<\/td>\n<td>key \u9ad8\u9891\u7387\u7ffb\u8f6c<\/td>\n<td>\u7edf\u8ba1\u7ffb\u8f6c\u6b21\u6570<\/td>\n<td>\u68c0\u67e5\u5bff\u547d\u9884\u7b97&#xff08;\u7535\u6c14\u5bff\u547d 5 \u4e07\u6b21&#xff09;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>5.4.4 \u5cf0\u8c37\u7528\u7535&#xff1a;\u914d\u5408\u5206\u65f6\u7535\u4ef7<\/h4>\n<p>\u6309\u7535\u7f51\u5206\u65f6\u7535\u4ef7&#xff08;\u5cf0\/\u5e73\/\u8c37&#xff09;\u5bf9 energy \u505a\u533a\u95f4\u5dee\u5206&#xff0c;\u5f97\u51fa\u5404\u65f6\u6bb5\u7535\u91cf&#xff1a;<\/p>\n<p><span class=\"token keyword\">def<\/span> <span class=\"token function\">delta_energy_kwh<\/span><span class=\"token punctuation\">(<\/span>prev_kwh<span class=\"token punctuation\">,<\/span> now_kwh<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    d <span class=\"token operator\">&#061;<\/span> now_kwh <span class=\"token operator\">&#8211;<\/span> prev_kwh<br \/>\n    <span class=\"token comment\"># energy \u88ab energy-clear \u6e05\u96f6\u6216\u8bbe\u5907\u91cd\u542f\u65f6\u53ef\u80fd\u8df3\u53d8&#xff0c;\u505a\u4fdd\u62a4<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> d <span class=\"token keyword\">if<\/span> d <span class=\"token operator\">&gt;&#061;<\/span> <span class=\"token number\">0<\/span> <span class=\"token keyword\">else<\/span> <span class=\"token number\">0.0<\/span><\/p>\n<p><span class=\"token comment\"># \u793a\u4f8b\u6d4b\u7b97&#xff1a;\u8c37\u6bb5 0.3 \u5143\/\u5ea6\u3001\u5cf0\u6bb5 1.0 \u5143\/\u5ea6<\/span><br \/>\n<span class=\"token keyword\">def<\/span> <span class=\"token function\">cost<\/span><span class=\"token punctuation\">(<\/span>delta_kwh<span class=\"token punctuation\">,<\/span> price<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token builtin\">round<\/span><span class=\"token punctuation\">(<\/span>delta_kwh <span class=\"token operator\">*<\/span> price<span class=\"token punctuation\">,<\/span> <span class=\"token number\">2<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token keyword\">print<\/span><span class=\"token punctuation\">(<\/span>cost<span class=\"token punctuation\">(<\/span><span class=\"token number\">10<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">1.0<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span>   <span class=\"token comment\"># \u5cf0\u6bb5 10 \u5ea6 -&gt; 10.0 \u5143<\/span><br \/>\n<span class=\"token keyword\">print<\/span><span class=\"token punctuation\">(<\/span>cost<span class=\"token punctuation\">(<\/span><span class=\"token number\">10<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">0.3<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span>   <span class=\"token comment\"># \u8c37\u6bb5 10 \u5ea6 -&gt; 3.0 \u5143<\/span><\/p>\n<p>\u7b56\u7565&#xff1a;\u628a\u5927\u529f\u7387\u8bbe\u5907&#xff08;\u70ed\u6c34\u5668\u3001\u5145\u7535\u3001\u6c34\u6cf5&#xff09;\u5c3d\u91cf\u632a\u5230\u8c37\u6bb5\u8fd0\u884c&#xff0c;\u53ef\u901a\u8fc7\u5e73\u53f0\u81ea\u52a8\u5316\u5b9a\u65f6\u89e6\u53d1 controller-event \u5b9e\u73b0\u3002<\/p>\n<hr \/>\n<h3>5.5 \u6570\u636e\u843d\u5e93\u4e0e\u53ef\u89c6\u5316<\/h3>\n<h4>5.5.1 \u65f6\u5e8f\u5e93\u9009\u578b<\/h4>\n<table>\n<tr>\u65b9\u6848\u4f18\u70b9\u7f3a\u70b9\u9002\u5408<\/tr>\n<tbody>\n<tr>\n<td>InfluxDB<\/td>\n<td>\u65f6\u5e8f\u539f\u751f\u3001\u538b\u7f29\u597d\u3001\u67e5\u8be2\u5feb<\/td>\n<td>\u7248\u672c\u5dee\u5f02\u5927<\/td>\n<td>\u4e2d\u5c0f\u89c4\u6a21 IoT \u4e3b\u529b<\/td>\n<\/tr>\n<tr>\n<td>TimescaleDB<\/td>\n<td>\u5c31\u662f PostgreSQL&#xff0c;SQL \u53cb\u597d<\/td>\n<td>\u9700 PG \u8fd0\u7ef4<\/td>\n<td>\u5df2\u6709 PG \u6280\u672f\u6808<\/td>\n<\/tr>\n<tr>\n<td>TDengine<\/td>\n<td>\u56fd\u4ea7\u3001\u8d85\u5f3a\u538b\u7f29\u3001\u5199\u5165\u5feb<\/td>\n<td>\u751f\u6001\u8f83\u65b0<\/td>\n<td>\u5927\u89c4\u6a21\u8bbe\u5907\u63a5\u5165<\/td>\n<\/tr>\n<tr>\n<td>Prometheus<\/td>\n<td>\u62c9\u6a21\u5f0f\u3001\u544a\u8b66\u6210\u719f<\/td>\n<td>\u957f\u671f\u5b58\u50a8\u5f31<\/td>\n<td>\u6307\u6807\u76d1\u63a7<\/td>\n<\/tr>\n<tr>\n<td>SQLite<\/td>\n<td>\u96f6\u8fd0\u7ef4\u3001\u5355\u6587\u4ef6<\/td>\n<td>\u5e76\u53d1\u5f31<\/td>\n<td>\u5355\u673a\/\u539f\u578b<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>5.5.2 \u5b58\u50a8\u91cf\u4f30\u7b97<\/h4>\n<p>\u5355\u6761\u8bb0\u5f55\u5b57\u6bb5\u7ea6&#xff1a;ts, mac, voltage, current, power, energy&#xff08;\u7ea6 60~80 \u5b57\u8282&#xff09;\u3002<\/p>\n<table>\n<tr>\u4e0a\u62a5\u95f4\u9694\u5355\u8bbe\u5907\u6bcf\u65e5\u6761\u6570\u5355\u8bbe\u5907\u6bcf\u5e74\u6761\u6570\u5355\u8bbe\u5907\u6bcf\u5e74\u539f\u59cb\u4f53\u79ef&#xff08;\u7ea6&#xff09;<\/tr>\n<tbody>\n<tr>\n<td>5 s<\/td>\n<td>17,280<\/td>\n<td>6,307,200<\/td>\n<td>\u2248 500 MB<\/td>\n<\/tr>\n<tr>\n<td>15 s<\/td>\n<td>5,760<\/td>\n<td>2,102,400<\/td>\n<td>\u2248 170 MB<\/td>\n<\/tr>\n<tr>\n<td>60 s<\/td>\n<td>1,440<\/td>\n<td>525,600<\/td>\n<td>\u2248 42 MB<\/td>\n<\/tr>\n<tr>\n<td>300 s<\/td>\n<td>288<\/td>\n<td>105,120<\/td>\n<td>\u2248 8.4 MB<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&#xff08;\u4e0a\u8868\u4e3a\u793a\u4f8b\u6d4b\u7b97&#xff0c;\u6309\u6bcf\u6761\u7ea6 80 \u5b57\u8282\u8ba1&#xff1b;100 \u53f0 60s \u4e0a\u62a5\u7ea6 4.2 GB\/\u5e74\u3002&#xff09;<\/p>\n<h4>5.5.3 \u843d\u5e93\u793a\u4f8b&#xff08;SQLite&#xff09;<\/h4>\n<p><span class=\"token keyword\">import<\/span> sqlite3<span class=\"token punctuation\">,<\/span> time<\/p>\n<p>conn <span class=\"token operator\">&#061;<\/span> sqlite3<span class=\"token punctuation\">.<\/span>connect<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;energy.db&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\nconn<span class=\"token punctuation\">.<\/span>execute<span class=\"token punctuation\">(<\/span><span class=\"token triple-quoted-string string\">&#034;&#034;&#034;<br \/>\nCREATE TABLE IF NOT EXISTS samples (<br \/>\n    ts      INTEGER NOT NULL,   &#8212; epoch \u79d2<br \/>\n    mac     TEXT    NOT NULL,<br \/>\n    voltage REAL,               &#8212; V<br \/>\n    current REAL,               &#8212; A<br \/>\n    power   REAL,               &#8212; W  (\u89c6\u5728\u529f\u7387)<br \/>\n    energy  REAL                &#8212; kWh \u7d2f\u8ba1<br \/>\n);<br \/>\n&#034;&#034;&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\nconn<span class=\"token punctuation\">.<\/span>execute<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;CREATE INDEX IF NOT EXISTS idx_mac_ts ON samples(mac, ts);&#034;<\/span><span class=\"token punctuation\">)<\/span><\/p>\n<p><span class=\"token keyword\">def<\/span> <span class=\"token function\">save<\/span><span class=\"token punctuation\">(<\/span>mac<span class=\"token punctuation\">,<\/span> payload<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    conn<span class=\"token punctuation\">.<\/span>execute<span class=\"token punctuation\">(<\/span><br \/>\n        <span class=\"token string\">&#034;INSERT INTO samples(ts, mac, voltage, current, power, energy)&#034;<\/span><br \/>\n        <span class=\"token string\">&#034; VALUES (?,?,?,?,?,?)&#034;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n        <span class=\"token punctuation\">(<\/span><span class=\"token builtin\">int<\/span><span class=\"token punctuation\">(<\/span>time<span class=\"token punctuation\">.<\/span>time<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> mac<span class=\"token punctuation\">,<\/span><br \/>\n         payload<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;voltage&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> payload<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;current&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n         payload<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;power&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> payload<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;energy&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    <span class=\"token punctuation\">)<\/span><br \/>\n    conn<span class=\"token punctuation\">.<\/span>commit<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><\/p>\n<h4>5.5.4 \u964d\u91c7\u6837\u4e0e\u4fdd\u7559\u7b56\u7565<\/h4>\n<ul>\n<li>\u51b7\u70ed\u5206\u5c42&#xff1a;\u539f\u59cb\u6570\u636e\u7559 30 \u5929&#xff0c;\u5206\u949f\u7ea7\u7559 1 \u5e74&#xff0c;\u5c0f\u65f6\u7ea7\u957f\u671f\u4fdd\u5b58&#xff1b;<\/li>\n<li>\u964d\u91c7\u6837&#xff1a;\u7528\u540e\u53f0\u4efb\u52a1\u628a\u539f\u59cb\u70b9\u805a\u5408\u6210 5 \u5206\u949f\/1 \u5c0f\u65f6\u5747\u503c&#xff0c;\u51cf\u5c0f\u4f53\u79ef&#xff1b;<\/li>\n<li>\u53ef\u89c6&#xff1a;Home Assistant \u80fd\u6e90\u9762\u677f\u3001Grafana\u3001\u6216\u81ea\u7814\u524d\u7aef&#xff08;\u53c2\u8003\u672c\u9879\u76ee frontend\/ \u7684\u5b9e\u65f6\u66f2\u7ebf\u7ec4\u4ef6&#xff09;\u3002<\/li>\n<\/ul>\n<h4>\u672c\u7ae0\u8981\u70b9 \/ \u843d\u5730\u6e05\u5355<\/h4>\n<ul>\n<li class=\"task-list-item\"> \u8ba4\u6e05\u5b57\u6bb5&#xff1a;voltage\/current\/power\/energy&#xff0c;\u5176\u4e2d power \u662f\u89c6\u5728\u529f\u7387\u3002<\/li>\n<li class=\"task-list-item\"> \u7535\u8d39\u7528\u6709\u529f\u7535\u91cf&#xff1a;\u963b\u6027\u76f4\u63a5\u7b97&#xff0c;\u611f\u6027\u4e58 PF&#xff08;\u9ed8\u8ba4 0.8 \u4f30&#xff09;\u3002<\/li>\n<li class=\"task-list-item\"> \u5e38\u6001\u7528 device-timer-interval \u5b9a\u65f6\u4e0a\u62a5&#xff08;30~60s \u8d77\u6b65&#xff09;&#xff0c;\u4ea4\u4e92\u7528 info-statistic\u3002<\/li>\n<li class=\"task-list-item\"> \u7528 energy \u5dee\u5206\u7b97\u533a\u95f4\u7535\u91cf&#xff0c;\u7528 power \u505a\u8d8b\u52bf\u4e0e\u5f02\u5e38\u544a\u8b66\u3002<\/li>\n<li class=\"task-list-item\"> \u6309\u4e0a\u62a5\u95f4\u9694\u4f30\u5b58\u50a8\u91cf&#xff0c;\u505a\u597d\u964d\u91c7\u6837\u4e0e\u4fdd\u7559\u7b56\u7565\u3002<\/li>\n<\/ul>\n<hr \/>\n<h2>\u7b2c 6 \u7ae0 \u8c03\u8bd5\u624b\u518c&#xff1a;\u4ece&#034;\u6ca1\u53cd\u5e94&#034;\u5230&#034;\u4e00\u773c\u5b9a\u4f4d&#034;<\/h2>\n<p>\u4e00\u53e5\u8bdd\u70b9\u9898&#xff1a;\u7edd\u5927\u591a\u6570&#034;\u8bbe\u5907\u6ca1\u53cd\u5e94&#034;\u7684\u95ee\u9898&#xff0c;\u90fd\u80fd\u7528\u4e00\u6761\u6570\u636e\u6d41\u94fe\u8def&#xff08;\u8bbe\u5907 \u2192 Broker \u2192 \u8ba2\u9605\u65b9&#xff09;\u548c\u4e24\u6761\u6293\u5305\u547d\u4ee4\u5728 5 \u5206\u949f\u5185\u5b9a\u4f4d\u2014\u2014\u672c\u7ae0\u7ed9\u4f60\u4e00\u5957\u53ef\u590d\u5236\u7684\u6392\u67e5 SOP\u3002<\/p>\n<hr \/>\n<h3>6.1 \u4e09\u5c42\u6392\u67e5\u6cd5&#xff08;Broker \u2192 \u4e3b\u9898 \u2192 \u8bbe\u5907&#xff09;<\/h3>\n<p>\u628a\u6570\u636e\u6d41\u753b\u6210\u4e00\u6761\u7ebf&#xff0c;\u4efb\u4f55\u6545\u969c\u5fc5\u7136\u5361\u5728\u67d0\u4e00\u6bb5&#xff1a;<\/p>\n<p>[GSCW1M2P \u8bbe\u5907] &#8211;(1)\u7f51\u7edc\/\u8fde\u63a5&#8211;&gt; [MQTT Broker] &#8211;(2)\u4e3b\u9898\u5339\u914d&#8211;&gt; [\u8ba2\u9605\u65b9: \u5e73\u53f0\/HA\/\u811a\u672c]<br \/>\n        \u25b2                              \u25b2                              \u25b2<br \/>\n     \u7b2c 3 \u5c42                         \u7b2c 1 \u5c42                        \u7b2c 1 \u5c42<br \/>\n   (\u8bbe\u5907\u4fa7)                        (Broker\u4fa7)                     (\u5e94\u7528\u4fa7)<\/p>\n<p>\u6392\u67e5\u987a\u5e8f&#xff1a;\u81ea\u4e0b\u800c\u4e0a\u3001\u4ece\u4e2d\u95f4\u6345\u2014\u2014\u5148\u786e\u8ba4 Broker \u6d3b\u7740&#xff0c;\u518d\u770b\u4e3b\u9898\u901a\u4e0d\u901a&#xff0c;\u6700\u540e\u843d\u5230\u8bbe\u5907\u3002<\/p>\n<li>\u7b2c 1 \u5c42 Broker \/ \u8ba2\u9605\u65b9&#xff1a;Broker \u5728\u8dd1\u5417&#xff1f;\u8ba4\u8bc1\u5bf9\u5417&#xff1f;\u7aef\u53e3\u901a\u5417&#xff1f;<\/li>\n<li>\u7b2c 2 \u5c42 \u4e3b\u9898&#xff1a;publish\/subcribe \u6709\u6ca1\u6709\u641e\u53cd&#xff1f;\u901a\u914d\u7b26\u5339\u914d\u5bf9\u5417&#xff1f;<\/li>\n<li>\u7b2c 3 \u5c42 \u8bbe\u5907&#xff1a;\u8bbe\u5907\u771f\u7684\u8fde\u4e0a\u8fd9\u4e2a Broker \u4e86\u5417&#xff1f;\u4e0a\u62a5\u5f00\u5173\u6253\u5f00\u4e86\u5417&#xff1f;<\/li>\n<p>\u4e00\u4e2a\u5feb\u901f\u5224\u5b9a\u77e9\u9635&#xff1a;<\/p>\n<table>\n<tr>Broker \u6536\u5230\u6570\u636e&#xff1f;\u8ba2\u9605\u65b9\u6536\u5230\u6570\u636e&#xff1f;\u7ed3\u8bba\u4e0b\u4e00\u6b65<\/tr>\n<tbody>\n<tr>\n<td>\u662f<\/td>\n<td>\u662f<\/td>\n<td>\u94fe\u8def\u6b63\u5e38<\/td>\n<td>\u6545\u969c\u5728\u66f4\u4e0a\u5c42\u903b\u8f91&#xff08;\u89e3\u6790\/\u5c55\u793a&#xff09;<\/td>\n<\/tr>\n<tr>\n<td>\u662f<\/td>\n<td>\u5426<\/td>\n<td>\u4e3b\u9898\/\u8ba2\u9605\u9519<\/td>\n<td>\u68c0\u67e5\u7b2c 2 \u5c42&#xff1a;\u4e3b\u9898\u62fc\u5199\u3001\u901a\u914d\u7b26\u3001QoS<\/td>\n<\/tr>\n<tr>\n<td>\u5426<\/td>\n<td>\u5426<\/td>\n<td>\u8bbe\u5907\u672a\u8fde\u6216\u672a\u4e0a\u62a5<\/td>\n<td>\u68c0\u67e5\u7b2c 3 \u5c42&#xff1a;\u8fde\u63a5\u3001timerEnable<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h3>6.2 mosquitto_sub \/ mosquitto_pub \u6293\u5305\u5b9a\u4f4d<\/h3>\n<h4>6.2.1 \u5148\u786e\u8ba4 Broker \u51ed\u636e\u4e0e\u4e3b\u9898<\/h4>\n<p>\u8bbe\u5907\u5f53\u524d\u7684\u8fde\u63a5\u4fe1\u606f\u6765\u81ea info-protocol&#xff1a;server\u3001port\u3001publish\u3001subcribe\u3001clientId\u3001username\u3002<\/p>\n<p>\u26a0\ufe0f \u6700\u5bb9\u6613\u641e\u53cd\u7684\u4e00\u70b9&#xff1a;<\/p>\n<ul>\n<li>publish &#061; \u8bbe\u5907\u53d1\u5e03\u6570\u636e\u7684\u4e3b\u9898 \u2192 \u4f60\u8981\u8ba2\u9605\u5b83&#xff08;\u6536\u6570\u636e&#xff09;&#xff1b;<\/li>\n<li>subcribe &#061; \u8bbe\u5907\u8ba2\u9605\u7684\u4e3b\u9898&#xff08;\u56fa\u4ef6\u539f\u6587\u62fc\u5199&#xff0c;\u522b&#034;\u6539\u5bf9&#034;&#xff09;\u2192 \u4f60\u8981\u53d1\u5e03\u5230\u5b83&#xff08;\u4e0b\u6307\u4ee4&#xff09;\u3002<\/li>\n<\/ul>\n<h4>6.2.2 \u4e24\u6761\u4fdd\u547d\u547d\u4ee4<\/h4>\n<p><span class=\"token comment\"># \u2460 \u770b&#034;\u8bbe\u5907\u662f\u5426\u5728\u53d1\u6570\u636e&#034;\u2014\u2014\u8ba2\u9605\u8bbe\u5907\u4e0a\u62a5\u4e3b\u9898&#xff08;&#061; info-protocol \u7684 publish&#xff09;<\/span><br \/>\nmosquitto_sub <span class=\"token parameter variable\">-h<\/span> <span class=\"token number\">192.168<\/span>.1.10 <span class=\"token parameter variable\">-p<\/span> <span class=\"token number\">1883<\/span> <span class=\"token parameter variable\">-u<\/span> device <span class=\"token parameter variable\">-P<\/span> device-pass <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token parameter variable\">-t<\/span> <span class=\"token string\">&#039;gemeopen\/gscw1m2p\/&#043;\/report&#039;<\/span> <span class=\"token parameter variable\">-v<\/span><\/p>\n<p><span class=\"token comment\"># \u2461 \u770b&#034;\u662f\u5426\u6709\u4eba\u7ed9\u8bbe\u5907\u53d1\u6307\u4ee4&#034;\u2014\u2014\u8ba2\u9605\u8bbe\u5907\u6307\u4ee4\u4e3b\u9898&#xff08;&#061; info-protocol \u7684 subcribe&#xff09;<\/span><br \/>\nmosquitto_sub <span class=\"token parameter variable\">-h<\/span> <span class=\"token number\">192.168<\/span>.1.10 <span class=\"token parameter variable\">-p<\/span> <span class=\"token number\">1883<\/span> <span class=\"token parameter variable\">-u<\/span> device <span class=\"token parameter variable\">-P<\/span> device-pass <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token parameter variable\">-t<\/span> <span class=\"token string\">&#039;gemeopen\/gscw1m2p\/&#043;\/command&#039;<\/span> <span class=\"token parameter variable\">-v<\/span><\/p>\n<p>\u7528 &#043; \u901a\u914d\u7b26\u53ef\u540c\u65f6\u89c2\u5bdf\u591a\u53f0\u8bbe\u5907\u3002\u82e5 \u2460 \u6709 JSON \u6301\u7eed\u6eda\u51fa \u2192 \u8bbe\u5907\u4fa7 OK&#xff0c;\u95ee\u9898\u5728\u5e94\u7528&#xff1b;\u82e5 \u2460 \u4e00\u7247\u5b89\u9759 \u2192 \u5f80\u8bbe\u5907\u4fa7\u67e5\u3002<\/p>\n<h4>6.2.3 \u624b\u52a8\u4e0b\u53d1\u4e00\u6761\u6307\u4ee4&#xff08;\u9a8c\u8bc1&#034;\u5e73\u53f0\u2192\u8bbe\u5907&#034;&#xff09;<\/h4>\n<p><span class=\"token comment\"># \u624b\u52a8\u5f00\u4e00\u6b21\u5b9a\u65f6\u4e0a\u62a5&#xff08;\u5468\u671f 60s&#xff09;<\/span><br \/>\nmosquitto_pub <span class=\"token parameter variable\">-h<\/span> <span class=\"token number\">192.168<\/span>.1.10 <span class=\"token parameter variable\">-p<\/span> <span class=\"token number\">1883<\/span> <span class=\"token parameter variable\">-u<\/span> device <span class=\"token parameter variable\">-P<\/span> device-pass <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token parameter variable\">-t<\/span> <span class=\"token string\">&#039;gemeopen\/gscw1m2p\/28372fcbbbb8\/command&#039;<\/span> <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token parameter variable\">-m<\/span> <span class=\"token string\">&#039;{&#034;messageId&#034;:&#034;1&#034;,&#034;timerEnable&#034;:1,&#034;timerInterval&#034;:60,&#034;type&#034;:&#034;setting&#034;}&#039;<\/span><\/p>\n<p><span class=\"token comment\"># \u624b\u52a8\u901a\u7535&#xff08;key&#061;1&#xff09;<\/span><br \/>\nmosquitto_pub <span class=\"token parameter variable\">-h<\/span> <span class=\"token number\">192.168<\/span>.1.10 <span class=\"token parameter variable\">-p<\/span> <span class=\"token number\">1883<\/span> <span class=\"token parameter variable\">-u<\/span> device <span class=\"token parameter variable\">-P<\/span> device-pass <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token parameter variable\">-t<\/span> <span class=\"token string\">&#039;gemeopen\/gscw1m2p\/28372fcbbbb8\/command&#039;<\/span> <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token parameter variable\">-m<\/span> <span class=\"token string\">&#039;{&#034;messageId&#034;:&#034;2&#034;,&#034;key&#034;:1,&#034;type&#034;:&#034;event&#034;}&#039;<\/span><\/p>\n<p>\u53d1\u5b8c\u7acb\u523b\u5728\u547d\u4ee4 \u2460 \u91cc\u770b\u662f\u5426\u56de\u663e commandName\u3001success \u6216\u5e26 key \u7684\u4e0a\u884c\u2014\u2014\u6709\u56de\u663e\u8bf4\u660e&#034;\u4e0b\u884c\u901a\u8def&#034;\u6253\u901a\u3002<\/p>\n<h4>6.2.4 \u4e3b\u9898\u547d\u540d\u7ea6\u5b9a&#xff08;\u672c\u9879\u76ee\u5efa\u8bae&#xff09;<\/h4>\n<table>\n<tr>\u7528\u9014\u4e3b\u9898\u6a21\u677f\u8c01\u53d1\u8c01\u8ba2\u9605<\/tr>\n<tbody>\n<tr>\n<td>\u8bbe\u5907\u4e0a\u62a5<\/td>\n<td>gemeopen\/gscw1m2p\/&lt;mac&gt;\/report<\/td>\n<td>\u8bbe\u5907<\/td>\n<td>\u5e73\u53f0<\/td>\n<\/tr>\n<tr>\n<td>\u8bbe\u5907\u6307\u4ee4<\/td>\n<td>gemeopen\/gscw1m2p\/&lt;mac&gt;\/command<\/td>\n<td>\u5e73\u53f0<\/td>\n<td>\u8bbe\u5907<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u51fa\u5382\u9ed8\u8ba4\u8fde GemeOpen \u5382\u5bb6 MQTT \u6d4b\u8bd5\u670d\u52a1\u5668&#xff1b;\u7528 setting-mqtt\/setting-tcp \u6539\u5230\u81ea\u5efa\u670d\u52a1\u5668&#xff0c;\u6539\u540e\u9700\u65ad\u7535\u91cd\u542f\u6216 controller-restart \u751f\u6548\u3002\u4fee\u6539\u524d\u8bf7\u5148\u8bb0\u5f55 info-protocol \u91cc\u7684\u539f\u59cb\u4e3b\u9898\u3002<\/p>\n<hr \/>\n<h3>6.3 \u5e38\u89c1\u6545\u969c\u901f\u67e5\u8868<\/h3>\n<h4>A. \u8fde\u63a5\u7c7b<\/h4>\n<table>\n<tr>#\u75c7\u72b6\u53ef\u80fd\u539f\u56e0\u89e3\u51b3<\/tr>\n<tbody>\n<tr>\n<td>1<\/td>\n<td>\u8bbe\u5907\u5b8c\u5168\u4e0d\u5728 Broker \u4e0a\u51fa\u73b0<\/td>\n<td>\u51fa\u5382\u4ecd\u8fde\u5382\u5bb6\u6d4b\u8bd5\u670d\u52a1\u5668<\/td>\n<td>\u7528 setting-mqtt \u5207\u5230\u81ea\u5efa Broker&#xff0c;\u518d\u65ad\u7535\u91cd\u542f<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>Connection Refused: not authorised<\/td>\n<td>Broker \u5f00\u4e86\u5bc6\u7801\u8ba4\u8bc1\u4f46\u51ed\u636e\u9519<\/td>\n<td>\u6838\u5bf9 passwd \u8d26\u53f7\u5bc6\u7801&#xff0c;\u6216\u4e34\u65f6 allow_anonymous true \u9a8c\u8bc1<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>\u5207\u6362\u540e\u5f7b\u5e95\u6ca1\u6570\u636e<\/td>\n<td>\u76ee\u6807 Broker \u5730\u5740\u8bbe\u5907\u4e0d\u53ef\u8fbe<\/td>\n<td>\u5730\u5740\u5fc5\u987b\u662f\u8bbe\u5907\u53ef\u8bbf\u95ee\u7684\u5c40\u57df\u7f51 IP\/\u516c\u7f51\u57df\u540d&#xff0c;\u9632\u706b\u5899\u653e\u884c 1883<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>\u7aef\u53e3\u8fde\u4e0d\u4e0a<\/td>\n<td>\u7aef\u53e3\u672a\u653e\u884c\/\u88ab\u5360\u7528<\/td>\n<td>docker compose ps\u3001mosquitto -v \u770b\u65e5\u5fd7&#xff0c;\u786e\u8ba4\u76d1\u542c\u7aef\u53e3<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>\u5ba2\u6237\u7aef\u53cd\u590d\u91cd\u8fde<\/td>\n<td>clientId \u51b2\u7a81\/\u7f51\u7edc\u6296\u52a8<\/td>\n<td>\u6bcf\u53f0\u8bbe\u5907\u7528\u552f\u4e00 clientId&#xff0c;\u68c0\u67e5 WiFi \u4fe1\u53f7<\/td>\n<\/tr>\n<tr>\n<td>6<\/td>\n<td>\u4e24\u53f0\u8bbe\u5907\u4e92\u76f8\u8e22\u4e0b\u7ebf<\/td>\n<td>\u591a\u8bbe\u5907\u5171\u7528\u540c\u4e00 clientId<\/td>\n<td>\u7528 MAC \u6d3e\u751f\u552f\u4e00 clientId<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>B. \u4e0a\u62a5\u7c7b<\/h4>\n<table>\n<tr>#\u75c7\u72b6\u53ef\u80fd\u539f\u56e0\u89e3\u51b3<\/tr>\n<tbody>\n<tr>\n<td>7<\/td>\n<td>\u8bbe\u5907\u5728\u7ebf\u4f46\u4e0d\u4e0a\u62a5<\/td>\n<td>\u672a\u5f00\u542f\u5b9a\u65f6\u4e0a\u62a5<\/td>\n<td>\u53d1 {&#034;timerEnable&#034;:1,&#034;timerInterval&#034;:60,&#034;type&#034;:&#034;setting&#034;}<\/td>\n<\/tr>\n<tr>\n<td>8<\/td>\n<td>\u4e0a\u62a5\u95f4\u9694\u5f88\u957f<\/td>\n<td>\u95f4\u9694\u8bbe\u7f6e\u8fc7\u5927<\/td>\n<td>\u7528 device-timer-interval \u8c03\u5c0f timerInterval<\/td>\n<\/tr>\n<tr>\n<td>9<\/td>\n<td>\u901a\u7535\u540e\u6570\u636e\u4e0d\u5237\u65b0<\/td>\n<td>\u4e0a\u62a5\u672a\u542f\u7528\u6216\u8d1f\u8f7d\u65e0\u53d8\u5316<\/td>\n<td>\u5f00 timerEnable&#061;1&#xff0c;\u5e76\u6293\u5305\u786e\u8ba4 device-timer-task \u5230\u8fbe<\/td>\n<\/tr>\n<tr>\n<td>10<\/td>\n<td>\u4e0a\u62a5\u91cc\u6ca1\u6709\u7535\u538b\u7535\u6d41\u5b57\u6bb5<\/td>\n<td>\u6536\u5230\u7684\u662f\u522b\u7684\u4e0a\u884c\u7c7b\u578b<\/td>\n<td>\u53ea\u89e3\u6790 device-timer-task\/info-statistic \u4e24\u7c7b<\/td>\n<\/tr>\n<tr>\n<td>11<\/td>\n<td>\u6570\u636e\u5076\u53d1\u4e2d\u65ad<\/td>\n<td>WiFi \u4fe1\u53f7\u5f31<\/td>\n<td>\u770b\u4e0a\u62a5\u91cc signal&#xff0c;\u52a0\u5f3a AP \u6216\u8c03\u6574\u4f4d\u7f6e<\/td>\n<\/tr>\n<tr>\n<td>12<\/td>\n<td>2.4G \u8bbe\u5907\u8fde\u4e0d\u4e0a<\/td>\n<td>\u8def\u7531\u5668\u53cc\u9891\u540c\u540d\/\u4ec5 5G<\/td>\n<td>\u786e\u8ba4\u8def\u7531\u5668\u5f00\u653e 2.4GHz&#xff0c;SSID \u4e0d\u8981\u4e0e 5G \u6df7\u7528\u540c\u540d<\/td>\n<\/tr>\n<tr>\n<td>13<\/td>\n<td>\u65f6\u95f4\/\u987a\u5e8f\u9519\u4e71<\/td>\n<td>\u5e73\u53f0\u7528\u672c\u5730\u65f6\u95f4\u6233<\/td>\n<td>\u7edf\u4e00\u7528\u6536\u5230\u65f6\u523b\u6216\u8bbe\u5907\u5b57\u6bb5&#xff0c;\u6ce8\u610f\u65f6\u533a<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>C. \u63a7\u5236\u7c7b<\/h4>\n<table>\n<tr>#\u75c7\u72b6\u53ef\u80fd\u539f\u56e0\u89e3\u51b3<\/tr>\n<tbody>\n<tr>\n<td>14<\/td>\n<td>\u4e0b\u53d1 controller-event \u6ca1\u53cd\u5e94<\/td>\n<td>\u53d1\u5230\u4e86 report \u4e3b\u9898<\/td>\n<td>\u6307\u4ee4\u5fc5\u987b\u53d1\u5230\u8bbe\u5907\u7684 subcribe&#xff08;&#8230;\/command&#xff09;<\/td>\n<\/tr>\n<tr>\n<td>15<\/td>\n<td>\u6307\u4ee4\u53d1\u51fa\u65e0\u56de\u663e<\/td>\n<td>\u4e3b\u9898\u62fc\u9519\/\u8bbe\u5907\u79bb\u7ebf<\/td>\n<td>\u7528 &#043; \u901a\u914d\u7b26\u8ba2\u9605\u786e\u8ba4&#xff0c;\u68c0\u67e5\u8bbe\u5907\u5728\u7ebf<\/td>\n<\/tr>\n<tr>\n<td>16<\/td>\n<td>\u672c\u5730\u6309\u952e\u65e0\u6548<\/td>\n<td>keyLock&#061;1 \u6309\u952e\u9501<\/td>\n<td>\u4e0b\u53d1\u89e3\u6309\u952e\u9501&#xff1a;{&#034;keyLock&#034;:0,&#034;type&#034;:&#034;setting&#034;}&#xff08;setting-key-lock&#xff09;<\/td>\n<\/tr>\n<tr>\n<td>17<\/td>\n<td>\u65e0\u6cd5\u91cd\u65b0\u914d\u7f51<\/td>\n<td>wifiLock&#061;1 \u914d\u7f51\u9501<\/td>\n<td>\u53d1 {&#034;wifiLock&#034;:0,&#034;type&#034;:&#034;setting&#034;}&#xff08;setting-wifi-lock&#xff09;<\/td>\n<\/tr>\n<tr>\n<td>18<\/td>\n<td>\u6539\u4e86\u8bbe\u7f6e\u4e0d\u751f\u6548<\/td>\n<td>\u90e8\u5206\u8bbe\u7f6e\u9700\u91cd\u542f<\/td>\n<td>\u65ad\u7535\u91cd\u542f\u6216\u53d1 {&#034;system&#034;:&#034;restart&#034;,&#034;type&#034;:&#034;setting&#034;}<\/td>\n<\/tr>\n<tr>\n<td>19<\/td>\n<td>\u4e0a\u7535\u540e\u72b6\u6001\u4e0d\u7b26\u5408\u9884\u671f<\/td>\n<td>onState \u8bb0\u5fc6\/\u5173\u95ed\/\u5f00\u542f\u8bbe\u7f6e<\/td>\n<td>\u7528 setting-on-state&#xff1a;0 \u8bb0\u5fc6 \/ 1 \u5173\u95ed \/ 2 \u5f00\u542f<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>D. \u7535\u91cf\/\u8ba1\u91cf\u7c7b<\/h4>\n<table>\n<tr>#\u75c7\u72b6\u53ef\u80fd\u539f\u56e0\u89e3\u51b3<\/tr>\n<tbody>\n<tr>\n<td>20<\/td>\n<td>energy \u7a81\u7136\u5f52\u96f6<\/td>\n<td>\u6267\u884c\u8fc7 energy-clear \u6216\u8bbe\u5907\u91cd\u5237<\/td>\n<td>\u5e73\u53f0\u4fa7\u5bf9\u6e05\u96f6\u505a\u8df3\u53d8\u4fdd\u62a4&#xff08;\u89c1 7.4&#xff09;<\/td>\n<\/tr>\n<tr>\n<td>21<\/td>\n<td>\u7535\u91cf\u53ea\u589e\u4e0d\u51cf\u88ab HA \u62a5\u9519<\/td>\n<td>total_increasing \u9047\u6e05\u96f6\u8df3\u53d8<\/td>\n<td>\u786e\u8ba4\u6e05\u96f6\u65f6\u673a&#xff0c;\u6216\u7528 total \u624b\u52a8\u5904\u7406<\/td>\n<\/tr>\n<tr>\n<td>22<\/td>\n<td>\u529f\u7387\u660e\u663e\u865a\u9ad8<\/td>\n<td>\u611f\u6027\u8d1f\u8f7d\u529f\u7387\u56e0\u6570&lt;1<\/td>\n<td>\u6362\u7b97\u6709\u529f P&#061;power\u00d7PF&#xff08;\u89c1 5.2&#xff09;<\/td>\n<\/tr>\n<tr>\n<td>23<\/td>\n<td>\u5c0f\u529f\u7387\u8bfb\u6570\u4e3a 0<\/td>\n<td>\u4f4e\u4e8e\u91c7\u6837\u4e0b\u9650<\/td>\n<td>\u5c5e\u6b63\u5e38&#xff0c;\u53c2\u8003\u8d8b\u52bf\u800c\u975e\u7edd\u5bf9\u503c<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>E. \u5e73\u53f0\/\u5e94\u7528\u7c7b<\/h4>\n<table>\n<tr>#\u75c7\u72b6\u53ef\u80fd\u539f\u56e0\u89e3\u51b3<\/tr>\n<tbody>\n<tr>\n<td>24<\/td>\n<td>HA switch \u663e\u793a&#034;\u4e0d\u53ef\u7528&#034;<\/td>\n<td>state_topic \u65e0\u6570\u636e\/&lt;MAC&gt; \u672a\u66ff\u6362<\/td>\n<td>\u5148\u4fdd\u8bc1\u8bbe\u5907\u5728\u62a5\u6570\u636e&#xff0c;\u66ff\u6362 MAC<\/td>\n<\/tr>\n<tr>\n<td>25<\/td>\n<td>HA \u70b9\u5f00\u5173\u5b9e\u7269\u65e0\u53cd\u5e94<\/td>\n<td>command_topic \u586b\u6210\u4e86 report<\/td>\n<td>\u5fc5\u987b\u662f\u8bbe\u5907\u7684 subcribe \u4e3b\u9898<\/td>\n<\/tr>\n<tr>\n<td>26<\/td>\n<td>\u4f20\u611f\u5668\u4e00\u76f4&#034;\u672a\u77e5&#034;<\/td>\n<td>\u672a\u5f00\u542f\u4e0a\u62a5\/\u5b57\u6bb5\u540d\u9519<\/td>\n<td>\u5f00\u4e0a\u62a5&#xff0c;\u6293\u5305\u786e\u8ba4 voltage\/current\/power\/energy<\/td>\n<\/tr>\n<tr>\n<td>27<\/td>\n<td>\u80fd\u6e90\u9762\u677f\u65e0\u6570\u636e<\/td>\n<td>\u7f3a state_class<\/td>\n<td>energy \u4f20\u611f\u5668\u8bbe state_class: total_increasing<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&#xff08;\u5171 27 \u6761&#xff0c;\u8986\u76d6\u8fde\u63a5\/\u4e0a\u62a5\/\u63a7\u5236\/\u8ba1\u91cf\/\u5e73\u53f0\u4e94\u7c7b\u3002&#xff09;<\/p>\n<hr \/>\n<h3>6.4 \u5f3a\u7535\u4fa7\u4e0e\u5f31\u7535\u4fa7\u8054\u5408\u6392\u67e5<\/h3>\n<p>GSCW1M2P \u662f\u63a5\u7ebf\u5f0f\u5b89\u88c5&#xff1a;\u8fdb\u7ebf\/\u51fa\u7ebf\u8981\u63a5&#xff0c;\u4e00\u8fb9\u662f 220V \u5f3a\u7535&#xff0c;\u4e00\u8fb9\u662f WiFi\/MQTT \u5f31\u7535\u901a\u4fe1\u3002\u6545\u969c\u53ef\u80fd\u6765\u81ea\u4efb\u4e00\u4fa7&#xff0c;\u5fc5\u987b\u5206\u5f00\u9a8c\u3002<\/p>\n<table>\n<tr>\u4fa7\u522b\u73b0\u8c61\u6392\u67e5\u52a8\u4f5c<\/tr>\n<tbody>\n<tr>\n<td>\u5f3a\u7535\u4fa7<\/td>\n<td>\u8bbe\u5907\u4e0d\u4e0a\u7535\u3001\u65e0\u706f\u3001\u7ee7\u7535\u5668\u4e0d\u52a8\u4f5c<\/td>\n<td>\u6d4b\u8fdb\u7ebf\u7535\u538b\u662f\u5426\u4e3a 110~260Vac&#xff1b;\u68c0\u67e5\u7a7a\u5f00\u662f\u5426\u5408\u95f8\u3001\u63a5\u7ebf\u662f\u5426\u677e\u52a8<\/td>\n<\/tr>\n<tr>\n<td>\u5f3a\u7535\u4fa7<\/td>\n<td>\u80fd\u63a7\u5236\u4f46\u8d1f\u8f7d\u4e0d\u5de5\u4f5c<\/td>\n<td>\u91cf\u51fa\u7ebf\u7aef\u662f\u5426\u6709\u7535&#xff1b;\u68c0\u67e5\u8d1f\u8f7d\u662f\u5426\u635f\u574f\u3001\u7a7a\u5f00\u662f\u5426\u8df3\u95f8<\/td>\n<\/tr>\n<tr>\n<td>\u5f3a\u7535\u4fa7<\/td>\n<td>\u4e00\u901a\u7535\u5c31\u8df3\u95f8<\/td>\n<td>\u8d1f\u8f7d\u77ed\u8def\/\u8fc7\u8f7d\u3001\u6f0f\u4fdd\u52a8\u4f5c&#xff0c;\u5148\u65ad\u5f00\u8d1f\u8f7d\u6d4b\u7edd\u7f18<\/td>\n<\/tr>\n<tr>\n<td>\u5f31\u7535\u4fa7<\/td>\n<td>\u8bbe\u5907\u5728\u7ebf\u4f46\u6307\u4ee4\u65e0\u6548<\/td>\n<td>\u68c0\u67e5\u662f\u5426\u53d1\u5230 subcribe \u4e3b\u9898&#xff1b;\u786e\u8ba4 keyLock \u672a\u5f00\u542f<\/td>\n<\/tr>\n<tr>\n<td>\u5f31\u7535\u4fa7<\/td>\n<td>\u9891\u7e41\u6389\u7ebf<\/td>\n<td>\u770b signal \u503c&#xff1b;\u8c03\u6574 AP \u4f4d\u7f6e&#xff0c;\u786e\u8ba4 2.4GHz<\/td>\n<\/tr>\n<tr>\n<td>\u5f31\u7535\u4fa7<\/td>\n<td>\u6570\u636e\u9519\u4e71<\/td>\n<td>\u6838\u5bf9 mac\u3001\u4e3b\u9898\u6620\u5c04&#xff0c;\u6392\u9664\u591a\u8bbe\u5907 clientId \u51b2\u7a81<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u56db\u6b65\u6cd5\u5b9a\u4f4d&#xff1a;<\/p>\n<li>\u9a8c\u5f3a\u7535&#xff1a;\u65ad\u7535\u2014\u2014\u63a5\u7ebf\u2014\u2014\u901a\u7535&#xff0c;\u91cf\u8fdb\u51fa\u7ebf\u7535\u538b&#xff1b;\u786e\u8ba4\u8d1f\u8f7d\u72ec\u7acb\u53ef\u63a7&#xff1b;<\/li>\n<li>\u9a8c\u5f31\u7535&#xff1a;mosquitto_sub \u770b\u8bbe\u5907\u662f\u5426\u5728\u53d1&#xff1b;<\/li>\n<li>\u9a8c\u4e0b\u884c&#xff1a;mosquitto_pub \u53d1\u4e00\u6b21 controller-event&#xff0c;\u770b\u7ee7\u7535\u5668\u662f\u5426\u52a8\u4f5c\u3001\u662f\u5426\u56de\u663e&#xff1b;<\/li>\n<li>\u5bf9\u7167&#xff1a;\u82e5&#034;\u80fd\u901a\u65ad\u4f46\u91c7\u4e0d\u5230\u6570&#034;&#xff0c;\u591a\u5728\u5f31\u7535\/\u4e0a\u62a5&#xff1b;\u82e5&#034;\u6709\u6570\u636e\u4f46\u4e0d\u901a\u65ad&#034;&#xff0c;\u591a\u5728\u5f3a\u7535\/\u7ee7\u7535\u5668\/\u8d1f\u8f7d\u3002<\/li>\n<p>\u26a0\ufe0f \u5b89\u5168\u7ea2\u7ebf&#xff1a;\u4efb\u4f55\u63a5\u7ebf\u3001\u62c6\u7ebf\u3001\u6362\u7a7a\u5f00&#xff0c;\u5fc5\u987b\u65ad\u7535\u4f5c\u4e1a\u3001\u7531\u4e13\u4e1a\u7535\u5de5\u64cd\u4f5c\u3002\u522b\u5e26\u7535\u6478\u7aef\u5b50\u3002<\/p>\n<h4>\u672c\u7ae0\u8981\u70b9 \/ \u843d\u5730\u6e05\u5355<\/h4>\n<ul>\n<li class=\"task-list-item\"> \u8bb0\u4f4f\u6570\u636e\u6d41&#xff1a;\u8bbe\u5907 \u2192 Broker \u2192 \u8ba2\u9605\u65b9&#xff0c;\u6309&#034;Broker\u2192\u4e3b\u9898\u2192\u8bbe\u5907&#034;\u4e09\u5c42\u6392\u67e5\u3002<\/li>\n<li class=\"task-list-item\"> \u5e38\u5907\u4e24\u6761\u547d\u4ee4&#xff1a;mosquitto_sub \u770b\u4e0a\u62a5\u3001mosquitto_pub \u9a8c\u4e0b\u884c\u3002<\/li>\n<li class=\"task-list-item\"> \u7262\u8bb0 publish&#xff08;\u4f60\u8981\u8ba2\u9605&#xff09;\/subcribe&#xff08;\u4f60\u8981\u53d1\u5e03&#xff09;\u522b\u641e\u53cd\u3002<\/li>\n<li class=\"task-list-item\"> \u5f3a\u7535\u3001\u5f31\u7535\u5206\u5f00\u9a8c&#xff0c;\u5148\u65ad\u7535\u518d\u52a8\u7ebf\u3002<\/li>\n<li class=\"task-list-item\"> \u628a 6.3 \u901f\u67e5\u8868\u5b58\u5230\u8fd0\u7ef4\u6587\u6863&#xff0c;\u6545\u969c\u65f6\u6309\u75c7\u72b6\u76f4\u67e5\u3002<\/li>\n<\/ul>\n<hr \/>\n<h2>\u7b2c 7 \u7ae0 \u4e8c\u6b21\u5f00\u53d1\u8fdb\u9636&#xff1a;\u628a\u5b83\u53d8\u6210\u4f60\u7684\u4ea7\u54c1<\/h2>\n<p>\u4e00\u53e5\u8bdd\u70b9\u9898&#xff1a;\u4ece&#034;\u80fd\u7528&#034;\u5230&#034;\u597d\u7528&#034;\u7684\u5dee\u8ddd&#xff0c;\u5168\u5728\u5c01\u88c5\u3001\u547d\u540d\u3001\u6279\u91cf\u914d\u7f6e\u548c\u53ef\u9760\u6027\u8fd9\u56db\u4ef6\u4e8b\u4e0a\u2014\u2014\u672c\u7ae0\u628a\u5b83\u4eec\u505a\u6210\u53ef\u590d\u7528\u7684\u5de5\u7a0b\u5957\u8def\u3002<\/p>\n<hr \/>\n<h3>7.1 SDK \u5c01\u88c5&#xff1a;\u8fde\u63a5 \/ \u91cd\u8fde \/ \u8bf7\u6c42-\u54cd\u5e94 \/ \u8bbe\u5907\u5f71\u5b50<\/h3>\n<p>\u4e00\u4e2a\u5408\u683c\u7684 SDK \u8981\u89e3\u51b3\u56db\u4ef6\u4e8b&#xff1a;\u7a33\u8fde\u3001\u81ea\u52a8\u91cd\u8fde\u3001\u8bf7\u6c42-\u54cd\u5e94\u914d\u5bf9\u3001\u72b6\u6001\u5f71\u5b50\u3002<\/p>\n<h4>7.1.1 \u7a33\u8fde\u4e0e\u81ea\u52a8\u91cd\u8fde<\/h4>\n<p><span class=\"token keyword\">import<\/span> json<span class=\"token punctuation\">,<\/span> threading<span class=\"token punctuation\">,<\/span> time<br \/>\n<span class=\"token keyword\">from<\/span> itertools <span class=\"token keyword\">import<\/span> count<br \/>\n<span class=\"token keyword\">import<\/span> paho<span class=\"token punctuation\">.<\/span>mqtt<span class=\"token punctuation\">.<\/span>client <span class=\"token keyword\">as<\/span> mqtt<br \/>\n<span class=\"token keyword\">from<\/span> paho<span class=\"token punctuation\">.<\/span>mqtt<span class=\"token punctuation\">.<\/span>enums <span class=\"token keyword\">import<\/span> CallbackAPIVersion<\/p>\n<p><span class=\"token keyword\">class<\/span> <span class=\"token class-name\">GscwClient<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    <span class=\"token keyword\">def<\/span> <span class=\"token function\">__init__<\/span><span class=\"token punctuation\">(<\/span>self<span class=\"token punctuation\">,<\/span> host<span class=\"token punctuation\">,<\/span> port<span class=\"token punctuation\">,<\/span> username<span class=\"token operator\">&#061;<\/span><span class=\"token boolean\">None<\/span><span class=\"token punctuation\">,<\/span> password<span class=\"token operator\">&#061;<\/span><span class=\"token boolean\">None<\/span><span class=\"token punctuation\">,<\/span><br \/>\n                 client_id<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;gscw-sdk&#034;<\/span><span class=\"token punctuation\">,<\/span> report_topic<span class=\"token operator\">&#061;<\/span><span class=\"token boolean\">None<\/span><span class=\"token punctuation\">,<\/span> command_topic<span class=\"token operator\">&#061;<\/span><span class=\"token boolean\">None<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n        self<span class=\"token punctuation\">.<\/span>report_topic <span class=\"token operator\">&#061;<\/span> report_topic      <span class=\"token comment\"># \u8bbe\u5907 publish&#xff0c;\u4f60\u8ba2\u9605<\/span><br \/>\n        self<span class=\"token punctuation\">.<\/span>command_topic <span class=\"token operator\">&#061;<\/span> command_topic    <span class=\"token comment\"># \u8bbe\u5907 subcribe&#xff0c;\u4f60\u53d1\u5e03<\/span><br \/>\n        self<span class=\"token punctuation\">.<\/span>_ids <span class=\"token operator\">&#061;<\/span> count<span class=\"token punctuation\">(<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><br \/>\n        self<span class=\"token punctuation\">.<\/span>_pending <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">{<\/span><span class=\"token punctuation\">}<\/span>                    <span class=\"token comment\"># messageId -&gt; \u54cd\u5e94<\/span><br \/>\n        self<span class=\"token punctuation\">.<\/span>_lock <span class=\"token operator\">&#061;<\/span> threading<span class=\"token punctuation\">.<\/span>Lock<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><\/p>\n<p>        self<span class=\"token punctuation\">.<\/span>client <span class=\"token operator\">&#061;<\/span> mqtt<span class=\"token punctuation\">.<\/span>Client<span class=\"token punctuation\">(<\/span>CallbackAPIVersion<span class=\"token punctuation\">.<\/span>VERSION2<span class=\"token punctuation\">,<\/span> client_id<span class=\"token operator\">&#061;<\/span>client_id<span class=\"token punctuation\">)<\/span><br \/>\n        <span class=\"token keyword\">if<\/span> username<span class=\"token punctuation\">:<\/span><br \/>\n            self<span class=\"token punctuation\">.<\/span>client<span class=\"token punctuation\">.<\/span>username_pw_set<span class=\"token punctuation\">(<\/span>username<span class=\"token punctuation\">,<\/span> password <span class=\"token keyword\">or<\/span> <span class=\"token string\">&#034;&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n        <span class=\"token comment\"># \u65ad\u7ebf\u81ea\u52a8\u91cd\u8fde&#xff1a;1s \u8d77&#xff0c;\u6307\u6570\u9000\u907f\u5230 30s<\/span><br \/>\n        self<span class=\"token punctuation\">.<\/span>client<span class=\"token punctuation\">.<\/span>reconnect_delay_set<span class=\"token punctuation\">(<\/span>min_delay<span class=\"token operator\">&#061;<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span> max_delay<span class=\"token operator\">&#061;<\/span><span class=\"token number\">30<\/span><span class=\"token punctuation\">)<\/span><br \/>\n        self<span class=\"token punctuation\">.<\/span>client<span class=\"token punctuation\">.<\/span>on_connect <span class=\"token operator\">&#061;<\/span> self<span class=\"token punctuation\">.<\/span>_on_connect<br \/>\n        self<span class=\"token punctuation\">.<\/span>client<span class=\"token punctuation\">.<\/span>on_message <span class=\"token operator\">&#061;<\/span> self<span class=\"token punctuation\">.<\/span>_on_message<br \/>\n        self<span class=\"token punctuation\">.<\/span>host<span class=\"token punctuation\">,<\/span> self<span class=\"token punctuation\">.<\/span>port <span class=\"token operator\">&#061;<\/span> host<span class=\"token punctuation\">,<\/span> port<\/p>\n<p>    <span class=\"token keyword\">def<\/span> <span class=\"token function\">connect<\/span><span class=\"token punctuation\">(<\/span>self<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n        self<span class=\"token punctuation\">.<\/span>client<span class=\"token punctuation\">.<\/span>connect_async<span class=\"token punctuation\">(<\/span>self<span class=\"token punctuation\">.<\/span>host<span class=\"token punctuation\">,<\/span> self<span class=\"token punctuation\">.<\/span>port<span class=\"token punctuation\">,<\/span> keepalive<span class=\"token operator\">&#061;<\/span><span class=\"token number\">60<\/span><span class=\"token punctuation\">)<\/span><br \/>\n        self<span class=\"token punctuation\">.<\/span>client<span class=\"token punctuation\">.<\/span>loop_start<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><\/p>\n<p>    <span class=\"token keyword\">def<\/span> <span class=\"token function\">_on_connect<\/span><span class=\"token punctuation\">(<\/span>self<span class=\"token punctuation\">,<\/span> client<span class=\"token punctuation\">,<\/span> userdata<span class=\"token punctuation\">,<\/span> flags<span class=\"token punctuation\">,<\/span> reason_code<span class=\"token punctuation\">,<\/span> properties<span class=\"token operator\">&#061;<\/span><span class=\"token boolean\">None<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n        <span class=\"token comment\"># \u5173\u952e&#xff1a;\u91cd\u8fde\u540e\u5fc5\u987b\u91cd\u65b0\u8ba2\u9605&#xff0c;\u5426\u5219\u6536\u4e0d\u5230\u4e0a\u62a5<\/span><br \/>\n        client<span class=\"token punctuation\">.<\/span>subscribe<span class=\"token punctuation\">(<\/span>self<span class=\"token punctuation\">.<\/span>report_topic<span class=\"token punctuation\">,<\/span> qos<span class=\"token operator\">&#061;<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">)<\/span><\/p>\n<p>    <span class=\"token keyword\">def<\/span> <span class=\"token function\">_on_message<\/span><span class=\"token punctuation\">(<\/span>self<span class=\"token punctuation\">,<\/span> client<span class=\"token punctuation\">,<\/span> userdata<span class=\"token punctuation\">,<\/span> msg<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n        <span class=\"token keyword\">try<\/span><span class=\"token punctuation\">:<\/span><br \/>\n            data <span class=\"token operator\">&#061;<\/span> json<span class=\"token punctuation\">.<\/span>loads<span class=\"token punctuation\">(<\/span>msg<span class=\"token punctuation\">.<\/span>payload<span class=\"token punctuation\">.<\/span>decode<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;utf-8&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n        <span class=\"token keyword\">except<\/span> Exception<span class=\"token punctuation\">:<\/span><br \/>\n            <span class=\"token keyword\">return<\/span><br \/>\n        mid <span class=\"token operator\">&#061;<\/span> data<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;messageId&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n        <span class=\"token keyword\">with<\/span> self<span class=\"token punctuation\">.<\/span>_lock<span class=\"token punctuation\">:<\/span><br \/>\n            <span class=\"token keyword\">if<\/span> mid <span class=\"token keyword\">in<\/span> self<span class=\"token punctuation\">.<\/span>_pending<span class=\"token punctuation\">:<\/span><br \/>\n                self<span class=\"token punctuation\">.<\/span>_pending<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">.<\/span>update<span class=\"token punctuation\">(<\/span>data<span class=\"token punctuation\">)<\/span><\/p>\n<h4>7.1.2 \u8bf7\u6c42-\u54cd\u5e94\u914d\u5bf9<\/h4>\n<p>    <span class=\"token keyword\">def<\/span> <span class=\"token function\">_next_id<\/span><span class=\"token punctuation\">(<\/span>self<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n        <span class=\"token keyword\">return<\/span> time<span class=\"token punctuation\">.<\/span>strftime<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;%Y%m%d%H%M%S&#034;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#043;<\/span> <span class=\"token string-interpolation\"><span class=\"token string\">f&#034;<\/span><span class=\"token interpolation\"><span class=\"token punctuation\">{<\/span><span class=\"token builtin\">next<\/span><span class=\"token punctuation\">(<\/span>self<span class=\"token punctuation\">.<\/span>_ids<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><span class=\"token format-spec\">03d<\/span><span class=\"token punctuation\">}<\/span><\/span><span class=\"token string\">&#034;<\/span><\/span><\/p>\n<p>    <span class=\"token keyword\">def<\/span> <span class=\"token function\">request<\/span><span class=\"token punctuation\">(<\/span>self<span class=\"token punctuation\">,<\/span> cmd<span class=\"token punctuation\">:<\/span> <span class=\"token builtin\">dict<\/span><span class=\"token punctuation\">,<\/span> timeout<span class=\"token operator\">&#061;<\/span><span class=\"token number\">5.0<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n        <span class=\"token triple-quoted-string string\">&#034;&#034;&#034;\u4e0b\u53d1\u6307\u4ee4\u5e76\u7b49\u5f85\u542b\u76f8\u540c messageId \u7684\u54cd\u5e94\u3002&#034;&#034;&#034;<\/span><br \/>\n        mid <span class=\"token operator\">&#061;<\/span> self<span class=\"token punctuation\">.<\/span>_next_id<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><br \/>\n        cmd <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">{<\/span><span class=\"token operator\">**<\/span>cmd<span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;messageId&#034;<\/span><span class=\"token punctuation\">:<\/span> mid<span class=\"token punctuation\">}<\/span><br \/>\n        slot <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">{<\/span><span class=\"token punctuation\">}<\/span><br \/>\n        <span class=\"token keyword\">with<\/span> self<span class=\"token punctuation\">.<\/span>_lock<span class=\"token punctuation\">:<\/span><br \/>\n            self<span class=\"token punctuation\">.<\/span>_pending<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span> <span class=\"token operator\">&#061;<\/span> slot<br \/>\n        self<span class=\"token punctuation\">.<\/span>client<span class=\"token punctuation\">.<\/span>publish<span class=\"token punctuation\">(<\/span>self<span class=\"token punctuation\">.<\/span>command_topic<span class=\"token punctuation\">,<\/span> json<span class=\"token punctuation\">.<\/span>dumps<span class=\"token punctuation\">(<\/span>cmd<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> qos<span class=\"token operator\">&#061;<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">)<\/span><br \/>\n        deadline <span class=\"token operator\">&#061;<\/span> time<span class=\"token punctuation\">.<\/span>time<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#043;<\/span> timeout<br \/>\n        <span class=\"token keyword\">while<\/span> time<span class=\"token punctuation\">.<\/span>time<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&lt;<\/span> deadline<span class=\"token punctuation\">:<\/span><br \/>\n            <span class=\"token keyword\">if<\/span> slot<span class=\"token punctuation\">:<\/span><br \/>\n                <span class=\"token keyword\">break<\/span><br \/>\n            time<span class=\"token punctuation\">.<\/span>sleep<span class=\"token punctuation\">(<\/span><span class=\"token number\">0.1<\/span><span class=\"token punctuation\">)<\/span><br \/>\n        <span class=\"token keyword\">with<\/span> self<span class=\"token punctuation\">.<\/span>_lock<span class=\"token punctuation\">:<\/span><br \/>\n            self<span class=\"token punctuation\">.<\/span>_pending<span class=\"token punctuation\">.<\/span>pop<span class=\"token punctuation\">(<\/span>mid<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">None<\/span><span class=\"token punctuation\">)<\/span><br \/>\n        <span class=\"token keyword\">return<\/span> slot <span class=\"token keyword\">or<\/span> <span class=\"token boolean\">None<\/span><\/p>\n<p>    <span class=\"token keyword\">def<\/span> <span class=\"token function\">switch<\/span><span class=\"token punctuation\">(<\/span>self<span class=\"token punctuation\">,<\/span> key<span class=\"token punctuation\">:<\/span> <span class=\"token builtin\">int<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n        <span class=\"token comment\"># key: 0&#061;\u65ad\u7535, 1&#061;\u901a\u7535<\/span><br \/>\n        <span class=\"token keyword\">return<\/span> self<span class=\"token punctuation\">.<\/span>request<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">{<\/span><span class=\"token string\">&#034;key&#034;<\/span><span class=\"token punctuation\">:<\/span> key<span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;type&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;event&#034;<\/span><span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><\/p>\n<p>    <span class=\"token keyword\">def<\/span> <span class=\"token function\">query_statistic<\/span><span class=\"token punctuation\">(<\/span>self<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n        <span class=\"token keyword\">return<\/span> self<span class=\"token punctuation\">.<\/span>request<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">{<\/span><span class=\"token string\">&#034;type&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;statistic&#034;<\/span><span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><\/p>\n<h4>7.1.3 \u8bbe\u5907\u5f71\u5b50&#xff08;\u672c\u5730\u72b6\u6001\u7f13\u5b58&#xff09;<\/h4>\n<p>\u8bbe\u5907\u53ef\u80fd\u79bb\u7ebf\u3001\u4e0a\u62a5\u53ef\u80fd\u4e22\u5e27&#xff0c;\u6240\u4ee5\u7ef4\u62a4\u4e00\u4efd&#034;\u6700\u540e\u5df2\u77e5\u72b6\u6001&#034;&#xff1a;<\/p>\n<p>    <span class=\"token keyword\">def<\/span> <span class=\"token function\">_on_message<\/span><span class=\"token punctuation\">(<\/span>self<span class=\"token punctuation\">,<\/span> client<span class=\"token punctuation\">,<\/span> userdata<span class=\"token punctuation\">,<\/span> msg<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n        <span class=\"token keyword\">try<\/span><span class=\"token punctuation\">:<\/span><br \/>\n            data <span class=\"token operator\">&#061;<\/span> json<span class=\"token punctuation\">.<\/span>loads<span class=\"token punctuation\">(<\/span>msg<span class=\"token punctuation\">.<\/span>payload<span class=\"token punctuation\">.<\/span>decode<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;utf-8&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n        <span class=\"token keyword\">except<\/span> Exception<span class=\"token punctuation\">:<\/span><br \/>\n            <span class=\"token keyword\">return<\/span><br \/>\n        <span class=\"token comment\"># \u66f4\u65b0\u5f71\u5b50&#xff1a;\u53ea\u8986\u76d6\u672c\u6b21\u51fa\u73b0\u7684\u5b57\u6bb5<\/span><br \/>\n        <span class=\"token keyword\">for<\/span> k <span class=\"token keyword\">in<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;voltage&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;current&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;power&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;energy&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;key&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;signal&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;onState&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n            <span class=\"token keyword\">if<\/span> k <span class=\"token keyword\">in<\/span> data<span class=\"token punctuation\">:<\/span><br \/>\n                self<span class=\"token punctuation\">.<\/span>shadow<span class=\"token punctuation\">[<\/span>k<span class=\"token punctuation\">]<\/span> <span class=\"token operator\">&#061;<\/span> data<span class=\"token punctuation\">[<\/span>k<span class=\"token punctuation\">]<\/span><br \/>\n        self<span class=\"token punctuation\">.<\/span>shadow<span class=\"token punctuation\">[<\/span><span class=\"token string\">&#034;last_seen&#034;<\/span><span class=\"token punctuation\">]<\/span> <span class=\"token operator\">&#061;<\/span> time<span class=\"token punctuation\">.<\/span>time<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><br \/>\n        <span class=\"token comment\"># \u8bf7\u6c42-\u54cd\u5e94\u914d\u5bf9<\/span><br \/>\n        mid <span class=\"token operator\">&#061;<\/span> data<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;messageId&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n        <span class=\"token keyword\">with<\/span> self<span class=\"token punctuation\">.<\/span>_lock<span class=\"token punctuation\">:<\/span><br \/>\n            <span class=\"token keyword\">if<\/span> mid <span class=\"token keyword\">in<\/span> self<span class=\"token punctuation\">.<\/span>_pending<span class=\"token punctuation\">:<\/span><br \/>\n                self<span class=\"token punctuation\">.<\/span>_pending<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">.<\/span>update<span class=\"token punctuation\">(<\/span>data<span class=\"token punctuation\">)<\/span><\/p>\n<p>shadow \u91cc\u4fdd\u7559 key&#xff08;\u7ee7\u7535\u5668\u72b6\u6001&#xff09;\u3001energy&#xff08;\u7d2f\u8ba1\u7535\u91cf&#xff09;\u3001last_seen&#xff08;\u5fc3\u8df3\u65f6\u95f4&#xff09;&#xff0c;\u524d\u7aef\u5c31\u80fd\u79bb\u7ebf\u5c55\u793a&#034;\u6700\u540e\u72b6\u6001&#034;\u3002<\/p>\n<hr \/>\n<h3>7.2 \u591a\u8bbe\u5907\u4e0e\u591a\u56de\u8def\u7ba1\u7406<\/h3>\n<p>GSCW1M2P \u662f\u5355\u8def\u8bbe\u5907&#xff0c;\u4e00\u8def\u4e00\u4e2a\u56de\u8def\u3002\u591a\u8bbe\u5907\u7ba1\u7406\u7684\u5173\u952e\u662f\u547d\u540d\u89c4\u8303 &#043; \u4e3b\u9898\u89c4\u5212\u3002<\/p>\n<h4>7.2.1 \u547d\u540d\u89c4\u8303&#xff08;\u793a\u4f8b&#xff09;<\/h4>\n<p>gemeopen\/gscw1m2p\/&lt;mac&gt;\/report      # \u8bbe\u5907\u4e0a\u62a5&#xff08;\u4f60\u8ba2\u9605&#xff09;<br \/>\ngemeopen\/gscw1m2p\/&lt;mac&gt;\/command     # \u8bbe\u5907\u6307\u4ee4&#xff08;\u4f60\u53d1\u5e03&#xff09;<br \/>\n&lt;mac&gt; &#061; \u5c0f\u5199\u5341\u516d\u8fdb\u5236&#xff0c;\u5982 28372fcbbbb8<\/p>\n<h4>7.2.2 \u4e1a\u52a1\u522b\u540d\u6620\u5c04&#xff08;\u63a8\u8350\u7ef4\u62a4\u4e00\u5f20\u8868&#xff09;<\/h4>\n<table>\n<tr>mac\u4f4d\u7f6e\u56de\u8def\u8d1f\u8f7d\u989d\u5b9aPF<\/tr>\n<tbody>\n<tr>\n<td>28372fcbbbb8<\/td>\n<td>1F \u914d\u7535\u7bb1 A2<\/td>\n<td>\u7a7a\u8c03&#xff08;3P&#xff09;<\/td>\n<td>2500W<\/td>\n<td>0.85<\/td>\n<\/tr>\n<tr>\n<td>28372fccccc1<\/td>\n<td>2F \u536b\u751f\u95f4<\/td>\n<td>\u7535\u70ed\u6c34\u5668<\/td>\n<td>2000W<\/td>\n<td>1.0<\/td>\n<\/tr>\n<tr>\n<td>28372fddddd2<\/td>\n<td>\u5ead\u9662<\/td>\n<td>\u6c34\u6cf5<\/td>\n<td>1100W<\/td>\n<td>0.75<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u4ee3\u7801\u91cc\u7528&#034;\u522b\u540d \u2192 mac \u2192 \u4e3b\u9898&#034;\u4e09\u7ea7\u6620\u5c04&#xff0c;\u524d\u7aef\u5c31\u4e0d\u5fc5\u5173\u5fc3 MAC\u3002<\/p>\n<p>TOPIC <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#034;gemeopen\/gscw1m2p\/{mac}\/{kind}&#034;<\/span><br \/>\n<span class=\"token keyword\">def<\/span> <span class=\"token function\">topics_for<\/span><span class=\"token punctuation\">(<\/span>mac<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n        <span class=\"token string\">&#034;report&#034;<\/span><span class=\"token punctuation\">:<\/span> TOPIC<span class=\"token punctuation\">.<\/span><span class=\"token builtin\">format<\/span><span class=\"token punctuation\">(<\/span>mac<span class=\"token operator\">&#061;<\/span>mac<span class=\"token punctuation\">,<\/span> kind<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;report&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n        <span class=\"token string\">&#034;command&#034;<\/span><span class=\"token punctuation\">:<\/span> TOPIC<span class=\"token punctuation\">.<\/span><span class=\"token builtin\">format<\/span><span class=\"token punctuation\">(<\/span>mac<span class=\"token operator\">&#061;<\/span>mac<span class=\"token punctuation\">,<\/span> kind<span class=\"token operator\">&#061;<\/span><span class=\"token string\">&#034;command&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><\/p>\n<h4>7.2.3 \u591a\u56de\u8def\u6ce8\u610f<\/h4>\n<ul>\n<li>\u6bcf\u53f0\u8bbe\u5907\u72ec\u7acb\u56de\u8def\u3001\u72ec\u7acb\u7a7a\u5f00&#xff0c;\u4e0d\u8981\u591a\u53f0\u5171\u7528\u4e00\u53f0\u7a7a\u5f00&#xff1b;<\/li>\n<li>\u6bcf\u6761\u4e0a\u884c\u90fd\u8981\u770b mac&#xff0c;\u9632\u6b62\u4e3b\u9898\u7528\u901a\u914d\u7b26\u540e\u5f20\u51a0\u674e\u6234&#xff1b;<\/li>\n<li>\u540e\u7aef\u8ba2\u9605\u7528 gemeopen\/gscw1m2p\/&#043;\/report \u4e00\u6b21\u63a5\u7ba1\u5168\u90e8\u8bbe\u5907\u3002<\/li>\n<\/ul>\n<hr \/>\n<h3>7.3 \u6279\u91cf\u914d\u7f6e<\/h3>\n<p>\u90e8\u7f72\u591a\u53f0\u65f6&#xff0c;\u51e0\u6761&#034;setting-*&#034;\u6307\u4ee4\u53ef\u663e\u8457\u964d\u4f4e\u73b0\u573a\u5de5\u4f5c\u91cf\u3002<\/p>\n<table>\n<tr>\u9700\u6c42\u6307\u4ee4\u8bf7\u6c42\u5173\u952e\u5b57\u6bb5\u8bf4\u660e<\/tr>\n<tbody>\n<tr>\n<td>\u4e0a\u7535\u9ed8\u8ba4\u72b6\u6001<\/td>\n<td>setting-on-state<\/td>\n<td>onState(0 \u8bb0\u5fc6 \/ 1 \u5173\u95ed \/ 2 \u5f00\u542f)<\/td>\n<td>\u65ad\u7535\u6062\u590d\u540e\u7ee7\u7535\u5668\u600e\u4e48\u52a8<\/td>\n<\/tr>\n<tr>\n<td>\u6309\u952e\u9501<\/td>\n<td>setting-key-lock<\/td>\n<td>keyLock(0\/1)<\/td>\n<td>\u9501\u4f4f\u673a\u8eab\u6309\u952e&#xff0c;\u9632\u8bef\u89e6<\/td>\n<\/tr>\n<tr>\n<td>\u914d\u7f51\u9501<\/td>\n<td>setting-wifi-lock<\/td>\n<td>wifiLock(0\/1)<\/td>\n<td>\u9501\u4f4f\u914d\u7f51&#xff0c;\u9632\u88ab\u6539\u7f51<\/td>\n<\/tr>\n<tr>\n<td>\u4e0a\u62a5\u9891\u7387<\/td>\n<td>device-timer-interval<\/td>\n<td>timerEnable, timerInterval<\/td>\n<td>\u7edf\u4e00\u91c7\u96c6\u8282\u594f<\/td>\n<\/tr>\n<tr>\n<td>\u6062\u590d\u51fa\u5382<\/td>\n<td>controller-reset<\/td>\n<td>system:&#034;reset&#034;<\/td>\n<td>\u6e05\u914d\u7f6e&#xff0c;\u8c28\u614e<\/td>\n<\/tr>\n<tr>\n<td>\u91cd\u542f<\/td>\n<td>controller-restart<\/td>\n<td>system:&#034;restart&#034;<\/td>\n<td>\u8ba9\u90e8\u5206\u8bbe\u7f6e\u751f\u6548<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>7.3.1 \u6279\u91cf\u811a\u672c\u9aa8\u67b6<\/h4>\n<p>CONFIGS <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">[<\/span><br \/>\n    <span class=\"token punctuation\">{<\/span><span class=\"token string\">&#034;messageId&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;1&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;onState&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;type&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;setting&#034;<\/span><span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span>   <span class=\"token comment\"># \u4e0a\u7535\u9ed8\u8ba4\u5173\u95ed<\/span><br \/>\n    <span class=\"token punctuation\">{<\/span><span class=\"token string\">&#034;messageId&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;2&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;keyLock&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;type&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;setting&#034;<\/span><span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span>   <span class=\"token comment\"># \u6253\u5f00\u6309\u952e\u9501<\/span><br \/>\n    <span class=\"token punctuation\">{<\/span><span class=\"token string\">&#034;messageId&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;3&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;wifiLock&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;type&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;setting&#034;<\/span><span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span>  <span class=\"token comment\"># \u6253\u5f00\u914d\u7f51\u9501<\/span><br \/>\n    <span class=\"token punctuation\">{<\/span><span class=\"token string\">&#034;messageId&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;4&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;timerEnable&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;timerInterval&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">60<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;type&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;setting&#034;<\/span><span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">,<\/span><br \/>\n<span class=\"token punctuation\">]<\/span><\/p>\n<p><span class=\"token keyword\">def<\/span> <span class=\"token function\">provision<\/span><span class=\"token punctuation\">(<\/span>cli<span class=\"token punctuation\">:<\/span> GscwClient<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    <span class=\"token keyword\">for<\/span> cmd <span class=\"token keyword\">in<\/span> CONFIGS<span class=\"token punctuation\">:<\/span><br \/>\n        resp <span class=\"token operator\">&#061;<\/span> cli<span class=\"token punctuation\">.<\/span>request<span class=\"token punctuation\">(<\/span>cmd<span class=\"token punctuation\">)<\/span><br \/>\n        <span class=\"token keyword\">print<\/span><span class=\"token punctuation\">(<\/span>cmd<span class=\"token punctuation\">[<\/span><span class=\"token string\">&#034;type&#034;<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;-&gt;&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;OK&#034;<\/span> <span class=\"token keyword\">if<\/span> resp <span class=\"token keyword\">and<\/span> resp<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;success&#034;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token keyword\">else<\/span> resp<span class=\"token punctuation\">)<\/span><\/p>\n<p>\u6ce8\u610f&#xff1a;onState \u53d6\u503c 0\/1\/2 \u4e0e keyLock\/wifiLock \u7684 0\/1 \u542b\u4e49\u4e0d\u540c&#xff0c;\u522b\u6df7\u7528\u3002\u8bbe\u5907\u56de success \u5b57\u6bb5\u8868\u793a\u662f\u5426\u751f\u6548\u3002<\/p>\n<h4>7.3.2 \u73b0\u573a\u5efa\u8bae<\/h4>\n<li>\u5148\u914d\u7f51\u7edc&#xff08;setting-mqtt\/setting-tcp&#xff09;&#xff0c;\u91cd\u542f\u751f\u6548&#xff1b;<\/li>\n<li>\u518d\u914d\u884c\u4e3a&#xff08;\u4e0a\u7535\u72b6\u6001\u3001\u9501\u3001\u4e0a\u62a5\u9891\u7387&#xff09;&#xff1b;<\/li>\n<li>\u6700\u540e\u9a8c\u8bc1&#xff1a;\u6293\u5305\u786e\u8ba4 device-timer-task \u6309\u5468\u671f\u5230\u8fbe&#xff1b;<\/li>\n<li>\u6279\u91cf\u64cd\u4f5c\u7559\u56de\u6267\u8bb0\u5f55&#xff0c;\u5931\u8d25\u8bbe\u5907\u5355\u72ec\u91cd\u8bd5\u3002<\/li>\n<hr \/>\n<h3>7.4 \u53ef\u9760\u6027&#xff1a;\u65ad\u7f51\u7f13\u5b58\u3001\u91cd\u8bd5\u3001\u5e42\u7b49\u3001\u7535\u91cf\u6e05\u96f6<\/h3>\n<h4>7.4.1 \u65ad\u7f51\u4e0e\u91cd\u8fde<\/h4>\n<ul>\n<li>\u8bbe\u5907\u4fa7\u65ad\u7f51\u540e\u4e0d\u8865\u62a5\u5386\u53f2\u6570\u636e&#xff0c;\u6240\u4ee5\u5e73\u53f0\u5e94\u628a&#034;\u6700\u65b0\u4e00\u6b21 energy&#034;\u5f53\u4f5c\u6743\u5a01\u7d2f\u8ba1\u503c&#xff1b;<\/li>\n<li>\u5e94\u7528\u4fa7\u7528 reconnect_delay_set &#043; on_connect \u91cd\u65b0\u8ba2\u9605&#xff08;\u89c1 7.1&#xff09;\u3002<\/li>\n<\/ul>\n<h4>7.4.2 \u91cd\u8bd5\u4e0e\u8d85\u65f6<\/h4>\n<p><span class=\"token keyword\">def<\/span> <span class=\"token function\">request_with_retry<\/span><span class=\"token punctuation\">(<\/span>cli<span class=\"token punctuation\">,<\/span> cmd<span class=\"token punctuation\">,<\/span> retries<span class=\"token operator\">&#061;<\/span><span class=\"token number\">3<\/span><span class=\"token punctuation\">,<\/span> timeout<span class=\"token operator\">&#061;<\/span><span class=\"token number\">5.0<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    <span class=\"token keyword\">for<\/span> i <span class=\"token keyword\">in<\/span> <span class=\"token builtin\">range<\/span><span class=\"token punctuation\">(<\/span>retries<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n        resp <span class=\"token operator\">&#061;<\/span> cli<span class=\"token punctuation\">.<\/span>request<span class=\"token punctuation\">(<\/span>cmd<span class=\"token punctuation\">,<\/span> timeout<span class=\"token operator\">&#061;<\/span>timeout<span class=\"token punctuation\">)<\/span><br \/>\n        <span class=\"token keyword\">if<\/span> resp<span class=\"token punctuation\">:<\/span><br \/>\n            <span class=\"token keyword\">return<\/span> resp<br \/>\n        time<span class=\"token punctuation\">.<\/span>sleep<span class=\"token punctuation\">(<\/span><span class=\"token number\">1.0<\/span> <span class=\"token operator\">*<\/span> <span class=\"token punctuation\">(<\/span>i <span class=\"token operator\">&#043;<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span>   <span class=\"token comment\"># \u9000\u907f<\/span><br \/>\n    <span class=\"token keyword\">return<\/span> <span class=\"token boolean\">None<\/span><\/p>\n<h4>7.4.3 \u5e42\u7b49&#xff1a;\u540c\u4e00\u4ef6\u4e8b\u505a\u591a\u6b21\u4e0d\u51fa\u9519<\/h4>\n<ul>\n<li>\u63a7\u5236\u6307\u4ee4\u5929\u7136\u5e42\u7b49&#xff1a;key&#061;1 \u8fde\u53d1\u591a\u6b21\u4ecd\u662f&#034;\u901a\u7535&#034;&#xff1b;<\/li>\n<li>\u914d\u7f6e\u6307\u4ee4\u4e5f\u5e42\u7b49&#xff1a;\u91cd\u590d\u8bbe timerInterval&#061;60 \u7ed3\u679c\u4e00\u81f4&#xff1b;<\/li>\n<li>\u7d2f\u8ba1\u7535\u91cf\u4e0d\u662f\u5e42\u7b49\u91cf&#xff1a;\u4e0d\u8981&#034;\u7d2f\u52a0&#034;\u4e0a\u62a5\u503c&#xff0c;\u800c\u8981\u53d6\u6700\u65b0\u503c\u3002<\/li>\n<\/ul>\n<h4>7.4.4 energy-clear \u7684\u6b63\u786e\u4f7f\u7528<\/h4>\n<p>energy-clear \u4f1a\u628a\u7d2f\u8ba1\u7535\u91cf\u6e05\u96f6&#xff0c;\u8fd4\u56de success\u3002\u5b83\u53ea\u9002\u7528\u4e8e&#034;\u6362\u65b0\u5468\u671f\/\u6362\u7528\u6237\/\u8ba1\u8d39\u7ed3\u7b97&#034;\u8fd9\u7c7b\u573a\u666f&#xff0c;\u7528\u9519\u4f1a\u5bfc\u81f4\u62a5\u8868\u8df3\u53d8\u3002<\/p>\n<p>\u6b63\u786e\u7528\u6cd5&#xff1a;<\/p>\n<li>\u7ed3\u7b97\u524d&#xff1a;\u5148\u8bb0\u5f55\u6e05\u96f6\u524d\u7684 energy&#xff08;\u672c\u6708\u7528\u7535&#xff09;&#xff1b;<\/li>\n<li>\u6e05\u96f6&#xff1a;\u53d1 energy-clear&#xff1b;<\/li>\n<li>\u6e05\u96f6\u540e&#xff1a;\u5e73\u53f0\u8bb0\u5f55\u4e00\u4e2a&#034;\u57fa\u51c6\u504f\u79fb&#034;&#xff0c;\u540e\u7eed\u7535\u91cf &#061; \u8bbe\u5907\u5f53\u524d\u503c &#043; \u5386\u53f2\u504f\u79fb&#xff1b;<\/li>\n<li>\u5c55\u793a&#xff1a;\u4e0d\u8981\u76f4\u63a5\u628a\u8bbe\u5907\u503c\u4e22\u8fdb total_increasing \u4f20\u611f\u5668&#xff0c;\u5426\u5219 HA \u4f1a\u56e0\u8df3\u53d8\u62a5\u9519\u3002<\/li>\n<p><span class=\"token keyword\">class<\/span> <span class=\"token class-name\">EnergyLedger<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    <span class=\"token triple-quoted-string string\">&#034;&#034;&#034;\u7ef4\u62a4&#034;\u5386\u53f2\u7d2f\u8ba1 &#043; \u5f53\u524d\u8bbe\u5907\u503c&#034;\u7684\u8d26\u672c&#xff0c;\u5bb9\u5fcd energy-clear\u3002&#034;&#034;&#034;<\/span><br \/>\n    <span class=\"token keyword\">def<\/span> <span class=\"token function\">__init__<\/span><span class=\"token punctuation\">(<\/span>self<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n        self<span class=\"token punctuation\">.<\/span>offset <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">0.0<\/span>      <span class=\"token comment\"># \u5386\u53f2\u6e05\u96f6\u524d\u7684\u7d2f\u8ba1<\/span><br \/>\n        self<span class=\"token punctuation\">.<\/span>last_dev <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">0.0<\/span>    <span class=\"token comment\"># \u4e0a\u4e00\u6b21\u8bbe\u5907\u8bfb\u6570<\/span><\/p>\n<p>    <span class=\"token keyword\">def<\/span> <span class=\"token function\">on_sample<\/span><span class=\"token punctuation\">(<\/span>self<span class=\"token punctuation\">,<\/span> dev_energy<span class=\"token punctuation\">:<\/span> <span class=\"token builtin\">float<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n        <span class=\"token keyword\">if<\/span> dev_energy <span class=\"token operator\">&lt;<\/span> self<span class=\"token punctuation\">.<\/span>last_dev<span class=\"token punctuation\">:<\/span>           <span class=\"token comment\"># \u68c0\u6d4b\u5230\u6e05\u96f6<\/span><br \/>\n            self<span class=\"token punctuation\">.<\/span>offset <span class=\"token operator\">&#043;&#061;<\/span> self<span class=\"token punctuation\">.<\/span>last_dev<br \/>\n        self<span class=\"token punctuation\">.<\/span>last_dev <span class=\"token operator\">&#061;<\/span> dev_energy<br \/>\n        <span class=\"token keyword\">return<\/span> <span class=\"token builtin\">round<\/span><span class=\"token punctuation\">(<\/span>self<span class=\"token punctuation\">.<\/span>offset <span class=\"token operator\">&#043;<\/span> dev_energy<span class=\"token punctuation\">,<\/span> <span class=\"token number\">3<\/span><span class=\"token punctuation\">)<\/span>   <span class=\"token comment\"># \u771f\u5b9e\u7d2f\u8ba1<\/span><\/p>\n<h4>\u672c\u7ae0\u8981\u70b9 \/ \u843d\u5730\u6e05\u5355<\/h4>\n<ul>\n<li class=\"task-list-item\"> \u5c01\u88c5 SDK&#xff1a;\u7a33\u8fde &#043; \u81ea\u52a8\u91cd\u8fde&#xff08;on_connect \u91cd\u8ba2\u9605&#xff09;&#043; \u8bf7\u6c42-\u54cd\u5e94\u914d\u5bf9 &#043; \u5f71\u5b50\u7f13\u5b58\u3002<\/li>\n<li class=\"task-list-item\"> \u4e3b\u9898\u6309 &lt;mac&gt; \u89c4\u5212&#xff0c;\u7ef4\u62a4&#034;\u522b\u540d\u2194mac&#034;\u6620\u5c04\u8868\u3002<\/li>\n<li class=\"task-list-item\"> \u7528 setting-on-state\/setting-key-lock\/setting-wifi-lock \u505a\u6279\u91cf\u914d\u7f6e\u4e0e\u73b0\u573a\u52a0\u56fa\u3002<\/li>\n<li class=\"task-list-item\"> \u63a7\u5236\/\u914d\u7f6e\u9760\u5e42\u7b49\u8bbe\u8ba1&#xff0c;\u7535\u91cf\u9760&#034;\u8d26\u672c\u504f\u79fb&#034;\u5bb9\u5fcd energy-clear\u3002<\/li>\n<li class=\"task-list-item\"> \u8bb0\u4f4f\u8bbe\u5907\u5bff\u547d&#xff1a;\u673a\u68b0 500 \u4e07\u6b21\u3001\u7535\u6c14 5 \u4e07\u6b21&#xff0c;\u9ad8\u9891\u901a\u65ad\u8981\u7b97\u5bff\u547d\u9884\u7b97\u3002<\/li>\n<\/ul>\n<hr \/>\n<h2>\u7b2c 8 \u7ae0 \u4e91\u5e73\u53f0\u5bf9\u63a5\u4e0e\u7cfb\u7edf\u96c6\u6210<\/h2>\n<p>\u4e00\u53e5\u8bdd\u70b9\u9898&#xff1a;GSCW1M2P \u4e0e\u5382\u5546\u4e91\u89e3\u8026\u3001\u65e0\u6346\u7ed1\u3001\u65e0\u9690\u6027\u6210\u672c&#xff0c;\u4f60\u53ef\u4ee5\u628a\u5b83\u63a5\u8fdb\u79c1\u6709 Broker\u3001Home Assistant&#xff0c;\u6216\u4f01\u4e1a\u7ea7 EMS\/SCADA\u2014\u2014\u672c\u7ae0\u7ed9\u51fa\u53ef\u76f4\u63a5\u6284\u7684\u914d\u7f6e\u3002<\/p>\n<hr \/>\n<h3>8.1 \u79c1\u6709\u5316\u90e8\u7f72&#xff08;\u81ea\u5efa Mosquitto \/ EMQX &#043; \u670d\u52a1&#xff09;<\/h3>\n<h4>8.1.1 \u4e3a\u4ec0\u4e48\u81ea\u5efa<\/h4>\n<ul>\n<li>\u6570\u636e\u7559\u5728\u81ea\u5df1\u624b\u91cc&#xff0c;\u5408\u89c4\u53ef\u63a7&#xff1b;<\/li>\n<li>\u65e0\u5382\u5546\u4e91\u4f9d\u8d56\u3001\u65e0\u6708\u8d39\/\u9690\u6027\u6210\u672c&#xff1b;<\/li>\n<li>\u53ef\u4e0e\u5185\u7f51\u7cfb\u7edf&#xff08;EMS\u3001\u5de5\u5355&#xff09;\u76f4\u8fde\u3002<\/li>\n<\/ul>\n<h4>8.1.2 \u6700\u5c0f\u90e8\u7f72&#xff08;Docker Compose&#xff09;<\/h4>\n<p><span class=\"token key atrule\">services<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token key atrule\">mosquitto<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    <span class=\"token key atrule\">image<\/span><span class=\"token punctuation\">:<\/span> eclipse<span class=\"token punctuation\">&#8211;<\/span>mosquitto<span class=\"token punctuation\">:<\/span><span class=\"token number\">2<\/span><br \/>\n    <span class=\"token key atrule\">ports<\/span><span class=\"token punctuation\">:<\/span><br \/>\n      <span class=\"token punctuation\">&#8211;<\/span> <span class=\"token string\">&#034;1883:1883&#034;<\/span><br \/>\n      <span class=\"token punctuation\">&#8211;<\/span> <span class=\"token string\">&#034;9001:9001&#034;<\/span>        <span class=\"token comment\"># WebSocket&#xff08;\u6d4f\u89c8\u5668\u76f4\u8fde&#xff09;<\/span><br \/>\n    <span class=\"token key atrule\">volumes<\/span><span class=\"token punctuation\">:<\/span><br \/>\n      <span class=\"token punctuation\">&#8211;<\/span> .\/mosquitto\/mosquitto.conf<span class=\"token punctuation\">:<\/span>\/mosquitto\/config\/mosquitto.conf<br \/>\n      <span class=\"token punctuation\">&#8211;<\/span> .\/mosquitto\/data<span class=\"token punctuation\">:<\/span>\/mosquitto\/data<br \/>\n    <span class=\"token key atrule\">restart<\/span><span class=\"token punctuation\">:<\/span> unless<span class=\"token punctuation\">&#8211;<\/span>stopped<\/p>\n<p>mosquitto.conf \u5173\u952e\u9879&#xff1a;<\/p>\n<p>listener 1883<br \/>\nallow_anonymous false<br \/>\npassword_file \/mosquitto\/config\/passwd<br \/>\npersistence true<br \/>\npersistence_location \/mosquitto\/data\/<br \/>\nlog_dest stdout<\/p>\n<p>\u751f\u6210\u8d26\u53f7&#xff1a;<\/p>\n<p><span class=\"token function\">docker<\/span> compose <span class=\"token builtin class-name\">exec<\/span> mosquitto mosquitto_passwd <span class=\"token parameter variable\">-c<\/span> <span class=\"token parameter variable\">-b<\/span> \/mosquitto\/config\/passwd device device-pass<br \/>\n<span class=\"token function\">docker<\/span> compose <span class=\"token builtin class-name\">exec<\/span> mosquitto mosquitto_passwd <span class=\"token parameter variable\">-b<\/span> \/mosquitto\/config\/passwd backend backend-pass<\/p>\n<p>\u89c4\u6a21\u5316\u53ef\u9009 EMQX&#xff08;\u96c6\u7fa4\u3001\u5171\u4eab\u8ba2\u9605\u3001\u89c4\u5219\u5f15\u64ce&#xff09;\u3002\u8bbe\u5907\u4fa7\u7528 setting-mqtt \u6307\u5411\u5b83&#xff0c;\u518d\u65ad\u7535\u91cd\u542f\u751f\u6548\u3002<\/p>\n<hr \/>\n<h3>8.2 \u63a5\u5165 Home Assistant&#xff08;\u53ef\u76f4\u63a5\u7528\u7684 YAML&#xff09;<\/h3>\n<p>\u524d\u63d0&#xff1a;HA \u5df2\u901a\u8fc7 UI \u6dfb\u52a0 MQTT \u96c6\u6210\u5e76\u8fde\u4e0a\u4f60\u7684 Mosquitto&#xff1b;\u8bbe\u5907\u5df2\u6309 8.1 \u5207\u5230\u8be5 Broker&#xff1b;\u628a\u6240\u6709 &lt;MAC&gt; \u6362\u6210\u4f60\u7684\u8bbe\u5907 MAC&#xff08;\u5c0f\u5199&#xff09;\u3002\u628a\u4e0b\u9762\u5185\u5bb9\u5b58\u4e3a mqtt-gscw1m2p.yaml&#xff0c;\u5728 configuration.yaml \u91cc\u52a0\u4e00\u884c&#xff1a;mqtt: !include mqtt-gscw1m2p.yaml\u3002<\/p>\n<p><span class=\"token comment\"># &#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;<\/span><br \/>\n<span class=\"token comment\"># GemeOpen GSCW1M2P \u667a\u80fd\u901a\u65ad\u5668 25A \u2014\u2014 Home Assistant \u5b9e\u4f53\u5b9a\u4e49<\/span><br \/>\n<span class=\"token comment\"># \u524d\u63d0&#xff1a;HA \u5df2\u8fde\u63a5 Mosquitto&#xff1b;\u8bbe\u5907\u4e3b\u9898\u5df2\u6307\u5411\u81ea\u5efa Broker<\/span><br \/>\n<span class=\"token comment\"># \u66ff\u6362&#xff1a;\u6240\u6709 &lt;MAC&gt; -&gt; \u4f60\u7684\u8bbe\u5907 MAC&#xff08;\u5c0f\u5199&#xff0c;\u5982 28372fcbbbb8&#xff09;<\/span><br \/>\n<span class=\"token comment\"># &#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;&#061;<\/span><\/p>\n<p><span class=\"token key atrule\">switch<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token punctuation\">&#8211;<\/span> <span class=\"token key atrule\">name<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;\u901a\u65ad\u5668 25A&#034;<\/span><br \/>\n    <span class=\"token key atrule\">object_id<\/span><span class=\"token punctuation\">:<\/span> gscw1m2p_switch<br \/>\n    <span class=\"token key atrule\">unique_id<\/span><span class=\"token punctuation\">:<\/span> gscw1m2p_&lt;MAC<span class=\"token punctuation\">&gt;<\/span>_switch<br \/>\n    <span class=\"token key atrule\">icon<\/span><span class=\"token punctuation\">:<\/span> mdi<span class=\"token punctuation\">:<\/span>power<br \/>\n    <span class=\"token key atrule\">state_topic<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;gemeopen\/gscw1m2p\/&lt;MAC&gt;\/report&#034;<\/span><br \/>\n    <span class=\"token key atrule\">command_topic<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;gemeopen\/gscw1m2p\/&lt;MAC&gt;\/command&#034;<\/span><br \/>\n    <span class=\"token comment\"># \u4e0a\u62a5 JSON \u4e2d&#xff1a;key&#061;1 \u901a\u7535&#xff0c;key&#061;0 \u65ad\u7535<\/span><br \/>\n    <span class=\"token key atrule\">value_template<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;{{ value_json.key }}&#034;<\/span><br \/>\n    <span class=\"token key atrule\">payload_on<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#039;{&#034;key&#034;:1,&#034;type&#034;:&#034;event&#034;}&#039;<\/span><br \/>\n    <span class=\"token key atrule\">payload_off<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#039;{&#034;key&#034;:0,&#034;type&#034;:&#034;event&#034;}&#039;<\/span><br \/>\n    <span class=\"token key atrule\">state_on<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">1<\/span><br \/>\n    <span class=\"token key atrule\">state_off<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">0<\/span><br \/>\n    <span class=\"token key atrule\">optimistic<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token boolean important\">false<\/span><br \/>\n    <span class=\"token key atrule\">retain<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token boolean important\">false<\/span><br \/>\n    <span class=\"token key atrule\">qos<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">0<\/span><br \/>\n    <span class=\"token key atrule\">device<\/span><span class=\"token punctuation\">:<\/span><br \/>\n      <span class=\"token key atrule\">identifiers<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#034;gscw1m2p_&lt;MAC&gt;&#034;<\/span><span class=\"token punctuation\">]<\/span><br \/>\n      <span class=\"token key atrule\">name<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;\u667a\u80fd\u901a\u65ad\u5668 25A-S2 Plus&#034;<\/span><br \/>\n      <span class=\"token key atrule\">manufacturer<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;GemeOpen&#034;<\/span><br \/>\n      <span class=\"token key atrule\">model<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;GSCW1M2P (\u667a\u80fd\u901a\u65ad\u5668 25A-S2 Plus-WiFi)&#034;<\/span><\/p>\n<p><span class=\"token key atrule\">sensor<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token punctuation\">&#8211;<\/span> <span class=\"token key atrule\">name<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;\u901a\u65ad\u5668 \u7535\u538b&#034;<\/span><br \/>\n    <span class=\"token key atrule\">object_id<\/span><span class=\"token punctuation\">:<\/span> gscw1m2p_voltage<br \/>\n    <span class=\"token key atrule\">unique_id<\/span><span class=\"token punctuation\">:<\/span> gscw1m2p_&lt;MAC<span class=\"token punctuation\">&gt;<\/span>_voltage<br \/>\n    <span class=\"token key atrule\">state_topic<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;gemeopen\/gscw1m2p\/&lt;MAC&gt;\/report&#034;<\/span><br \/>\n    <span class=\"token key atrule\">value_template<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;{{ value_json.voltage }}&#034;<\/span><br \/>\n    <span class=\"token key atrule\">unit_of_measurement<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;V&#034;<\/span><br \/>\n    <span class=\"token key atrule\">device_class<\/span><span class=\"token punctuation\">:<\/span> voltage<br \/>\n    <span class=\"token key atrule\">state_class<\/span><span class=\"token punctuation\">:<\/span> measurement<br \/>\n    <span class=\"token key atrule\">suggested_display_precision<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">1<\/span><br \/>\n    <span class=\"token key atrule\">device<\/span><span class=\"token punctuation\">:<\/span><br \/>\n      <span class=\"token key atrule\">identifiers<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#034;gscw1m2p_&lt;MAC&gt;&#034;<\/span><span class=\"token punctuation\">]<\/span><\/p>\n<p>  <span class=\"token punctuation\">&#8211;<\/span> <span class=\"token key atrule\">name<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;\u901a\u65ad\u5668 \u7535\u6d41&#034;<\/span><br \/>\n    <span class=\"token key atrule\">object_id<\/span><span class=\"token punctuation\">:<\/span> gscw1m2p_current<br \/>\n    <span class=\"token key atrule\">unique_id<\/span><span class=\"token punctuation\">:<\/span> gscw1m2p_&lt;MAC<span class=\"token punctuation\">&gt;<\/span>_current<br \/>\n    <span class=\"token key atrule\">state_topic<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;gemeopen\/gscw1m2p\/&lt;MAC&gt;\/report&#034;<\/span><br \/>\n    <span class=\"token key atrule\">value_template<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;{{ value_json.current }}&#034;<\/span><br \/>\n    <span class=\"token key atrule\">unit_of_measurement<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;A&#034;<\/span><br \/>\n    <span class=\"token key atrule\">device_class<\/span><span class=\"token punctuation\">:<\/span> current<br \/>\n    <span class=\"token key atrule\">state_class<\/span><span class=\"token punctuation\">:<\/span> measurement<br \/>\n    <span class=\"token key atrule\">suggested_display_precision<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">3<\/span><br \/>\n    <span class=\"token key atrule\">device<\/span><span class=\"token punctuation\">:<\/span><br \/>\n      <span class=\"token key atrule\">identifiers<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#034;gscw1m2p_&lt;MAC&gt;&#034;<\/span><span class=\"token punctuation\">]<\/span><\/p>\n<p>  <span class=\"token comment\"># \u6ce8\u610f&#xff1a;power \u662f\u201c\u89c6\u5728\u529f\u7387\u201d&#xff08;U\u00d7I&#xff09;&#xff0c;\u963b\u6027\u8d1f\u8f7d\u4e0b\u2248\u6709\u529f&#xff0c;\u611f\u6027\u8d1f\u8f7d\u4f1a\u504f\u9ad8<\/span><br \/>\n  <span class=\"token punctuation\">&#8211;<\/span> <span class=\"token key atrule\">name<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;\u901a\u65ad\u5668 \u89c6\u5728\u529f\u7387&#034;<\/span><br \/>\n    <span class=\"token key atrule\">object_id<\/span><span class=\"token punctuation\">:<\/span> gscw1m2p_power<br \/>\n    <span class=\"token key atrule\">unique_id<\/span><span class=\"token punctuation\">:<\/span> gscw1m2p_&lt;MAC<span class=\"token punctuation\">&gt;<\/span>_power<br \/>\n    <span class=\"token key atrule\">state_topic<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;gemeopen\/gscw1m2p\/&lt;MAC&gt;\/report&#034;<\/span><br \/>\n    <span class=\"token key atrule\">value_template<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;{{ value_json.power }}&#034;<\/span><br \/>\n    <span class=\"token key atrule\">unit_of_measurement<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;W&#034;<\/span><br \/>\n    <span class=\"token key atrule\">device_class<\/span><span class=\"token punctuation\">:<\/span> power<br \/>\n    <span class=\"token key atrule\">state_class<\/span><span class=\"token punctuation\">:<\/span> measurement<br \/>\n    <span class=\"token key atrule\">suggested_display_precision<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">1<\/span><br \/>\n    <span class=\"token key atrule\">device<\/span><span class=\"token punctuation\">:<\/span><br \/>\n      <span class=\"token key atrule\">identifiers<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#034;gscw1m2p_&lt;MAC&gt;&#034;<\/span><span class=\"token punctuation\">]<\/span><\/p>\n<p>  <span class=\"token punctuation\">&#8211;<\/span> <span class=\"token key atrule\">name<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;\u901a\u65ad\u5668 \u7d2f\u8ba1\u7528\u7535\u91cf&#034;<\/span><br \/>\n    <span class=\"token key atrule\">object_id<\/span><span class=\"token punctuation\">:<\/span> gscw1m2p_energy<br \/>\n    <span class=\"token key atrule\">unique_id<\/span><span class=\"token punctuation\">:<\/span> gscw1m2p_&lt;MAC<span class=\"token punctuation\">&gt;<\/span>_energy<br \/>\n    <span class=\"token key atrule\">state_topic<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;gemeopen\/gscw1m2p\/&lt;MAC&gt;\/report&#034;<\/span><br \/>\n    <span class=\"token key atrule\">value_template<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;{{ value_json.energy }}&#034;<\/span><br \/>\n    <span class=\"token key atrule\">unit_of_measurement<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;kWh&#034;<\/span><br \/>\n    <span class=\"token key atrule\">device_class<\/span><span class=\"token punctuation\">:<\/span> energy<br \/>\n    <span class=\"token key atrule\">state_class<\/span><span class=\"token punctuation\">:<\/span> total_increasing   <span class=\"token comment\"># \u5173\u952e&#xff1a;\u80fd\u6e90\u9762\u677f\u9760\u5b83<\/span><br \/>\n    <span class=\"token key atrule\">suggested_display_precision<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">3<\/span><br \/>\n    <span class=\"token key atrule\">device<\/span><span class=\"token punctuation\">:<\/span><br \/>\n      <span class=\"token key atrule\">identifiers<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#034;gscw1m2p_&lt;MAC&gt;&#034;<\/span><span class=\"token punctuation\">]<\/span><\/p>\n<p>  <span class=\"token punctuation\">&#8211;<\/span> <span class=\"token key atrule\">name<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;\u901a\u65ad\u5668 \u4fe1\u53f7\u5f3a\u5ea6&#034;<\/span><br \/>\n    <span class=\"token key atrule\">object_id<\/span><span class=\"token punctuation\">:<\/span> gscw1m2p_signal<br \/>\n    <span class=\"token key atrule\">unique_id<\/span><span class=\"token punctuation\">:<\/span> gscw1m2p_&lt;MAC<span class=\"token punctuation\">&gt;<\/span>_signal<br \/>\n    <span class=\"token key atrule\">state_topic<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;gemeopen\/gscw1m2p\/&lt;MAC&gt;\/report&#034;<\/span><br \/>\n    <span class=\"token key atrule\">value_template<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;{{ value_json.signal if value_json.signal is defined else this.state }}&#034;<\/span><br \/>\n    <span class=\"token key atrule\">unit_of_measurement<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;dBm&#034;<\/span><br \/>\n    <span class=\"token key atrule\">device_class<\/span><span class=\"token punctuation\">:<\/span> signal_strength<br \/>\n    <span class=\"token key atrule\">state_class<\/span><span class=\"token punctuation\">:<\/span> measurement<br \/>\n    <span class=\"token key atrule\">entity_category<\/span><span class=\"token punctuation\">:<\/span> diagnostic<br \/>\n    <span class=\"token key atrule\">device<\/span><span class=\"token punctuation\">:<\/span><br \/>\n      <span class=\"token key atrule\">identifiers<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token string\">&#034;gscw1m2p_&lt;MAC&gt;&#034;<\/span><span class=\"token punctuation\">]<\/span><\/p>\n<p>\u542f\u7528\u540e\u8bb0\u5f97\u5148\u5f00\u4e0a\u62a5&#xff0c;\u5426\u5219\u4f20\u611f\u5668\u4e3a&#034;\u672a\u77e5&#034;&#xff1a;<\/p>\n<p>mosquitto_pub <span class=\"token parameter variable\">-h<\/span> <span class=\"token number\">192.168<\/span>.1.10 <span class=\"token parameter variable\">-p<\/span> <span class=\"token number\">1883<\/span> <span class=\"token parameter variable\">-u<\/span> device <span class=\"token parameter variable\">-P<\/span> device-pass <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token parameter variable\">-t<\/span> <span class=\"token string\">&#039;gemeopen\/gscw1m2p\/&lt;MAC&gt;\/command&#039;<\/span> <span class=\"token punctuation\">\\\\<\/span><br \/>\n  <span class=\"token parameter variable\">-m<\/span> <span class=\"token string\">&#039;{&#034;messageId&#034;:&#034;1&#034;,&#034;timerEnable&#034;:1,&#034;timerInterval&#034;:60,&#034;type&#034;:&#034;setting&#034;}&#039;<\/span><\/p>\n<p>energy \u8bbe\u4e86 device_class: energy &#043; state_class: total_increasing&#xff0c;\u4f1a\u81ea\u52a8\u51fa\u73b0\u5728 \u8bbe\u7f6e \u2192 \u4eea\u8868\u76d8 \u2192 \u80fd\u6e90\u3002<\/p>\n<hr \/>\n<h3>8.3 \u4e0e\u7a7a\u8c03\/\u70ed\u6c34\u5668\/\u6c34\u6cf5\u7b49\u5927\u529f\u7387\u8bbe\u5907\u7684\u8054\u52a8<\/h3>\n<h4>8.3.1 \u8054\u52a8\u62d3\u6251<\/h4>\n<p>[\u4f20\u611f\u5668\/\u7535\u4ef7\/\u65f6\u95f4] &#8211;&gt; [\u81ea\u52a8\u5316\u89c4\u5219] &#8211;&gt; [controller-event] &#8211;&gt; [GSCW1M2P \u7ee7\u7535\u5668] &#8211;&gt; [\u5927\u529f\u7387\u8d1f\u8f7d]<br \/>\n                                        (MQTT command \u4e3b\u9898)<\/p>\n<h4>8.3.2 \u5178\u578b\u8054\u52a8\u573a\u666f<\/h4>\n<table>\n<tr>\u573a\u666f\u89e6\u53d1\u6761\u4ef6\u52a8\u4f5c\u4ef7\u503c<\/tr>\n<tbody>\n<tr>\n<td>\u7535\u4ef7\u5957\u5229<\/td>\n<td>\u8fdb\u5165\u8c37\u6bb5<\/td>\n<td>\u901a\u7535\u70ed\u6c34\u5668\/\u5145\u7535<\/td>\n<td>\u7701\u7535\u8d39<\/td>\n<\/tr>\n<tr>\n<td>\u9632\u5fd8\u5173<\/td>\n<td>\u6df1\u591c &#043; power&gt;0<\/td>\n<td>\u65ad\u7535<\/td>\n<td>\u9632\u6d6a\u8d39<\/td>\n<\/tr>\n<tr>\n<td>\u8fc7\u8f7d\u4fdd\u62a4<\/td>\n<td>power \u8d85\u9608\u503c<\/td>\n<td>\u65ad\u7535 &#043; \u544a\u8b66<\/td>\n<td>\u9632\u8df3\u95f8\/\u8d77\u706b<\/td>\n<\/tr>\n<tr>\n<td>\u9632\u51bb\u7ed3<\/td>\n<td>\u6e29\u5ea6\u8fc7\u4f4e<\/td>\n<td>\u901a\u7535\u52a0\u70ed<\/td>\n<td>\u4fdd\u62a4\u8bbe\u5907<\/td>\n<\/tr>\n<tr>\n<td>\u79bb\u5bb6\u6a21\u5f0f<\/td>\n<td>\u5168\u5c4b\u5916\u51fa<\/td>\n<td>\u6279\u91cf\u65ad\u7535\u975e\u5fc5\u8981\u56de\u8def<\/td>\n<td>\u5b89\u5168&#043;\u8282\u80fd<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>HA \u81ea\u52a8\u5316\u793a\u4f8b&#xff08;\u7535\u4ef7\u8c37\u6bb5\u5f00\u70ed\u6c34\u5668&#xff09;&#xff1a;<\/p>\n<p><span class=\"token key atrule\">automation<\/span><span class=\"token punctuation\">:<\/span><br \/>\n  <span class=\"token punctuation\">&#8211;<\/span> <span class=\"token key atrule\">alias<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;\u8c37\u6bb5\u5f00\u70ed\u6c34\u5668&#034;<\/span><br \/>\n    <span class=\"token key atrule\">trigger<\/span><span class=\"token punctuation\">:<\/span><br \/>\n      <span class=\"token punctuation\">&#8211;<\/span> <span class=\"token key atrule\">platform<\/span><span class=\"token punctuation\">:<\/span> time<br \/>\n        <span class=\"token key atrule\">at<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;23:00:00&#034;<\/span><br \/>\n    <span class=\"token key atrule\">action<\/span><span class=\"token punctuation\">:<\/span><br \/>\n      <span class=\"token punctuation\">&#8211;<\/span> <span class=\"token key atrule\">service<\/span><span class=\"token punctuation\">:<\/span> switch.turn_on<br \/>\n        <span class=\"token key atrule\">target<\/span><span class=\"token punctuation\">:<\/span><br \/>\n          <span class=\"token key atrule\">entity_id<\/span><span class=\"token punctuation\">:<\/span> switch.gscw1m2p_switch<\/p>\n<p>  <span class=\"token punctuation\">&#8211;<\/span> <span class=\"token key atrule\">alias<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;\u901a\u65ad\u5668\u8fc7\u8f7d\u4fdd\u62a4&#034;<\/span><br \/>\n    <span class=\"token key atrule\">trigger<\/span><span class=\"token punctuation\">:<\/span><br \/>\n      <span class=\"token punctuation\">&#8211;<\/span> <span class=\"token key atrule\">platform<\/span><span class=\"token punctuation\">:<\/span> numeric_state<br \/>\n        <span class=\"token key atrule\">entity_id<\/span><span class=\"token punctuation\">:<\/span> sensor.gscw1m2p_power<br \/>\n        <span class=\"token key atrule\">above<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">5500<\/span>          <span class=\"token comment\"># \u793a\u4f8b\u9608\u503c&#xff0c;\u7559\u51fa 6000W \u963b\u6027\u4e0a\u9650\u4f59\u91cf<\/span><br \/>\n        <span class=\"token key atrule\">for<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;00:00:30&#034;<\/span><br \/>\n    <span class=\"token key atrule\">action<\/span><span class=\"token punctuation\">:<\/span><br \/>\n      <span class=\"token punctuation\">&#8211;<\/span> <span class=\"token key atrule\">service<\/span><span class=\"token punctuation\">:<\/span> switch.turn_off<br \/>\n        <span class=\"token key atrule\">target<\/span><span class=\"token punctuation\">:<\/span><br \/>\n          <span class=\"token key atrule\">entity_id<\/span><span class=\"token punctuation\">:<\/span> switch.gscw1m2p_switch<br \/>\n      <span class=\"token punctuation\">&#8211;<\/span> <span class=\"token key atrule\">service<\/span><span class=\"token punctuation\">:<\/span> persistent_notification.create<br \/>\n        <span class=\"token key atrule\">data<\/span><span class=\"token punctuation\">:<\/span><br \/>\n          <span class=\"token key atrule\">title<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;\u901a\u65ad\u5668\u8fc7\u8f7d&#034;<\/span><br \/>\n          <span class=\"token key atrule\">message<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;\u5f53\u524d\u89c6\u5728\u529f\u7387 {{ states(&#039;sensor.gscw1m2p_power&#039;) }} W&#xff0c;\u5df2\u65ad\u7535\u4fdd\u62a4&#034;<\/span><\/p>\n<h4>8.3.3 \u5927\u529f\u7387\u8054\u52a8\u7684\u4e09\u6761\u94c1\u5f8b<\/h4>\n<li>\u7ee7\u7535\u5668\u53ea\u5207\u5c0f\u7535\u6d41\u63a7\u5236\u56de\u8def\u65f6&#xff0c;\u4f18\u5148\u7528\u63a5\u89e6\u5668\u6269\u529f\u7387&#xff08;\u89c1 9.2&#xff09;&#xff1b;<\/li>\n<li>\u7a7a\u8c03\/\u6c34\u6cf5\u7b49\u611f\u6027\u8d1f\u8f7d\u8981\u6309\u542f\u52a8\u7535\u6d41\u964d\u989d&#xff0c;\u4e0d\u8981\u8d34\u7740 6000W \u7528&#xff1b;<\/li>\n<li>\u907f\u514d\u9ad8\u9891\u901a\u65ad&#xff1a;\u7535\u6c14\u5bff\u547d\u4ec5 5 \u4e07\u6b21&#xff0c;\u538b\u7f29\u673a\/\u6c34\u6cf5\u4e0d\u8981\u7528\u5b83\u505a\u9891\u7e41\u542f\u505c\u8282\u6d41\u3002<\/li>\n<hr \/>\n<h3>8.4 \u5bf9\u63a5 EMS \/ SCADA \/ \u5927\u5c4f \/ \u5de5\u5355<\/h3>\n<table>\n<tr>\u7cfb\u7edf\u5bf9\u63a5\u65b9\u5f0f\u6570\u636e\u65b9\u5411<\/tr>\n<tbody>\n<tr>\n<td>EMS \u80fd\u8017\u7ba1\u7406<\/td>\n<td>\u8ba2\u9605 &#8230;\/report&#xff0c;\u5199\u65f6\u5e8f\u5e93&#xff0c;\u7b97 PUE\/\u5206\u9879\u80fd\u8017<\/td>\n<td>\u4e0a\u884c\u4e3a\u4e3b<\/td>\n<\/tr>\n<tr>\n<td>SCADA<\/td>\n<td>\u901a\u8fc7\u7f51\u5173\u8f6c Modbus\/OPC UA&#xff08;\u8bbe\u5907\u672c\u8eab\u65e0 RS-485&#xff0c;\u9700\u670d\u52a1\u7aef\u8f6c\u534f\u8bae&#xff09;<\/td>\n<td>\u53cc\u5411<\/td>\n<\/tr>\n<tr>\n<td>\u76d1\u63a7\u5927\u5c4f<\/td>\n<td>WebSocket \u63a8\u9001\u6700\u65b0\u5feb\u7167&#xff08;\u53c2\u8003\u672c\u9879\u76ee ws\/ \u7ec4\u4ef6&#xff09;<\/td>\n<td>\u4e0a\u884c<\/td>\n<\/tr>\n<tr>\n<td>\u5de5\u5355\u7cfb\u7edf<\/td>\n<td>\u544a\u8b66\u89e6\u53d1\u5efa\u5355&#xff0c;\u5904\u7406\u5b8c\u63a8 controller-event<\/td>\n<td>\u53cc\u5411<\/td>\n<\/tr>\n<tr>\n<td>BMS\/\u697c\u63a7<\/td>\n<td>MQTT \u2192 BACnet \u7f51\u5173<\/td>\n<td>\u53cc\u5411<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u5bf9\u63a5\u8981\u70b9&#xff1a;<\/p>\n<li>\u7edf\u4e00&#034;\u8bbe\u5907\u6570\u636e\u6a21\u578b&#034;&#xff1a;mac \u4e3a\u4e3b\u952e&#xff0c;\u5b57\u6bb5\u56fa\u5b9a\u4e3a voltage\/current\/power\/energy\/key&#xff1b;<\/li>\n<li>\u5927\u5c4f\u7528 WebSocket \u5e7f\u64ad\u6700\u65b0\u503c&#xff0c;\u907f\u514d\u8f6e\u8be2&#xff1b;<\/li>\n<li>\u672c\u578b\u53f7\u65e0 RS-485\u3001\u65e0\u7ea2\u5916&#xff0c;\u4f20\u7edf\u603b\u7ebf\u5bf9\u63a5\u9700\u5728\u670d\u52a1\u7aef\u505a\u534f\u8bae\u8f6c\u6362&#xff1b;<\/li>\n<li>\u5de5\u5355\u95ed\u73af&#xff1a;\u544a\u8b66 \u2192 \u5efa\u5355 \u2192 \u73b0\u573a\u5904\u7406 \u2192 \u8fdc\u7a0b\u590d\u4f4d&#xff0c;\u5168\u7a0b\u7559\u75d5\u3002<\/li>\n<h4>\u672c\u7ae0\u8981\u70b9 \/ \u843d\u5730\u6e05\u5355<\/h4>\n<ul>\n<li class=\"task-list-item\"> \u81ea\u5efa Mosquitto\/EMQX&#xff0c;setting-mqtt \u6307\u5411\u5b83\u5e76\u91cd\u542f\u751f\u6548\u3002<\/li>\n<li class=\"task-list-item\"> HA \u76f4\u63a5\u6284 8.2 YAML&#xff0c;\u66ff\u6362 &lt;MAC&gt;&#xff0c;\u5148\u5f00\u4e0a\u62a5\u518d\u9a8c\u8bc1\u5b9e\u4f53\u3002<\/li>\n<li class=\"task-list-item\"> \u8054\u52a8\u4f18\u5148&#034;\u7535\u4ef7\/\u65f6\u95f4\/\u529f\u7387&#034;\u4e09\u7c7b\u89e6\u53d1&#xff0c;\u5927\u529f\u7387\u8d70\u63a5\u89e6\u5668\u3002<\/li>\n<li class=\"task-list-item\"> EMS\/SCADA\/\u5927\u5c4f\/\u5de5\u5355\u6309&#034;\u7edf\u4e00\u6a21\u578b &#043; \u4e0a\u884c\u8ba2\u9605 &#043; \u53cc\u5411\u95ed\u73af&#034;\u63a5\u5165\u3002<\/li>\n<\/ul>\n<hr \/>\n<h2>\u7b2c 9 \u7ae0 \u4e0e\u4f20\u7edf\u7535\u6c14\u8bbe\u5907\u5bf9\u63a5<\/h2>\n<p>\u4e00\u53e5\u8bdd\u70b9\u9898&#xff1a;\u667a\u80fd\u901a\u65ad\u5668\u518d\u806a\u660e&#xff0c;\u4e5f\u8981\u843d\u5230\u914d\u7535\u7bb1\u3001\u5bfc\u7ebf\u3001\u7a7a\u5f00\u3001\u6f0f\u4fdd\u8fd9\u4e9b\u4f20\u7edf\u7535\u6c14\u89c4\u5219\u4e0a\u2014\u2014\u672c\u7ae0\u628a&#034;\u80fd\u88c5\u3001\u80fd\u5e26\u3001\u80fd\u625b&#034;\u8bb2\u6210\u4e00\u5f20\u65bd\u5de5\u6e05\u5355\u3002<\/p>\n<p>\u26a0\ufe0f \u603b\u5b89\u5168\u58f0\u660e&#xff1a;\u672c\u7ae0\u6240\u6709\u63a5\u7ebf\u3001\u62c6\u7ebf\u3001\u6362\u4ef6\u5fc5\u987b\u65ad\u7535\u4f5c\u4e1a\u3001\u7531\u6301\u8bc1\u4e13\u4e1a\u7535\u5de5\u64cd\u4f5c\u3002\u4ea7\u54c1MAX 6000W \u662f\u963b\u6027\u8d1f\u8f7d\u4e0a\u9650&#xff0c;\u611f\u6027\u8d1f\u8f7d\u5fc5\u987b\u964d\u989d\u3002<\/p>\n<hr \/>\n<h3>9.1 \u914d\u7535\u7bb1\u5185\u7684\u5b89\u88c5\u4f4d\u7f6e\u4e0e\u56de\u8def\u89c4\u5212<\/h3>\n<p>GSCW1M2P \u5c3a\u5bf8 50mm \u00d7 110mm \u00d7 32mm&#xff0c;\u5355\u8def\u3001\u63a5\u7ebf\u5f0f\u5b89\u88c5&#xff0c;\u4e00\u8def\u4e00\u4e2a\u56de\u8def\u3002<\/p>\n<h4>9.1.1 \u5b89\u88c5\u4f4d\u7f6e\u5efa\u8bae<\/h4>\n<li>\u88c5\u5728\u914d\u7535\u7bb1\u5185&#xff0c;\u9760\u8fd1\u5bf9\u5e94\u56de\u8def\u7a7a\u5f00\u4e0b\u65b9&#xff0c;\u4fbf\u4e8e\u8fdb\u7ebf\u53d6\u81ea\u8be5\u7a7a\u5f00&#xff1b;<\/li>\n<li>\u7559\u6563\u70ed\u7a7a\u95f4&#xff1a;\u5927\u7535\u6d41\u65f6\u6709\u53d1\u70ed&#xff0c;\u522b\u628a\u591a\u53f0\u6324\u5728\u4e00\u8d77&#xff1b;<\/li>\n<li>\u5916\u58f3\u963b\u71c3 PC\/ABS V0 \u7ea7&#xff0c;\u4f46\u4ecd\u5e94\u56fa\u5b9a\u7262\u9760\u3001\u907f\u514d\u62c9\u62fd\u5bfc\u7ebf&#xff1b;<\/li>\n<li>\u8fdc\u79bb\u6c34\u6e90\/\u6f6e\u6c14&#xff0c;WiFi \u5929\u7ebf\u4f4d\u7f6e\u5c3d\u91cf&#034;\u5916\u9732&#034;&#xff0c;\u522b\u88ab\u91d1\u5c5e\u7bb1\u4f53\u5b8c\u5168\u5c4f\u853d\u3002<\/li>\n<h4>9.1.2 \u56de\u8def\u89c4\u5212\u539f\u5219<\/h4>\n<table>\n<tr>\u539f\u5219\u8bf4\u660e<\/tr>\n<tbody>\n<tr>\n<td>\u4e00\u56de\u8def\u4e00\u8bbe\u5907<\/td>\n<td>\u662f\u5355\u8def\u901a\u65ad\u5668&#xff0c;\u4e0d\u8981\u7528\u5b83\u540c\u65f6\u7ba1\u591a\u4e2a\u4e0d\u76f8\u5173\u8d1f\u8f7d<\/td>\n<\/tr>\n<tr>\n<td>\u6309\u8d1f\u8f7d\u5206\u56de\u8def<\/td>\n<td>\u7167\u660e\u3001\u63d2\u5ea7\u3001\u7a7a\u8c03\u3001\u70ed\u6c34\u5668\u5404\u81ea\u72ec\u7acb<\/td>\n<\/tr>\n<tr>\n<td>\u5927\u529f\u7387\u5355\u72ec\u56de\u8def<\/td>\n<td>\u7a7a\u8c03\/\u70ed\u6c34\u5668\/\u6c34\u6cf5\u5355\u72ec\u8d70\u7ebf\u3001\u5355\u72ec\u7a7a\u5f00<\/td>\n<\/tr>\n<tr>\n<td>\u9884\u7559\u4f59\u91cf<\/td>\n<td>\u8d1f\u8f7d\u7535\u6d41\u4e0d\u8d85\u8fc7 25A&#xff0c;\u4e14\u7559 20% \u4ee5\u4e0a\u4f59\u91cf<\/td>\n<\/tr>\n<tr>\n<td>\u5f3a\u5f31\u5206\u79bb<\/td>\n<td>220V \u5f3a\u7535\u7ebf\u4e0e\u7f51\u7ebf\/\u4fe1\u53f7\u7ebf\u5206\u69fd\u8d70&#xff0c;\u9632\u5e72\u6270<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h3>9.2 \u5927\u529f\u7387\/\u591a\u8bbe\u5907&#xff1a;\u7528\u63a5\u89e6\u5668\u6269\u529f\u7387&#xff08;\u542b\u63a5\u7ebf\u793a\u610f&#xff09;<\/h3>\n<p>\u7ee7\u7535\u5668\u89e6\u70b9\u80fd\u529b\u6709\u9650\u4e14\u7535\u6c14\u5bff\u547d\u4ec5 5 \u4e07\u6b21\u3002\u5f53\u8d1f\u8f7d\u63a5\u8fd1\u6216\u8d85\u8fc7 25A\/6000W&#xff0c;\u6216\u8d1f\u8f7d\u662f\u611f\u6027\u4e14\u542f\u52a8\u7535\u6d41\u5927\u65f6&#xff0c;\u8ba9\u901a\u65ad\u5668\u53ea\u9a71\u52a8\u63a5\u89e6\u5668\u7ebf\u5708&#xff0c;\u7531\u63a5\u89e6\u5668\u4e3b\u89e6\u70b9\u5207\u8d1f\u8f7d\u3002<\/p>\n<h4>9.2.1 \u4e3a\u4ec0\u4e48\u8981&#034;\u5c0f\u63a7\u5236\u3001\u5927\u6267\u884c&#034;<\/h4>\n<ul>\n<li>\u901a\u65ad\u5668\u7ee7\u7535\u5668&#xff1a;\u5207\u5c0f\u7535\u6d41\u7684\u63a5\u89e6\u5668\u7ebf\u5708&#xff08;\u51e0\u5341\u5230\u51e0\u767e mA&#xff09;&#xff0c;\u5bff\u547d\u635f\u8017\u5c0f&#xff1b;<\/li>\n<li>\u63a5\u89e6\u5668\u4e3b\u89e6\u70b9&#xff1a;\u63a5\u5927\u8d1f\u8f7d&#xff0c;\u53ef\u627f\u53d7\u51e0\u5341\u5b89\u57f9\u3001\u9891\u7e41\u52a8\u4f5c&#xff1b;<\/li>\n<li>\u7c7b\u6bd4&#xff1a;\u901a\u65ad\u5668\u662f&#034;\u6307\u6325\u5b98&#034;&#xff0c;\u63a5\u89e6\u5668\u662f&#034;\u5927\u529b\u58eb&#034;\u3002<\/li>\n<\/ul>\n<h4>9.2.2 \u63a5\u7ebf\u793a\u610f&#xff08;\u6587\u5b57\u7248&#xff09;<\/h4>\n<p>        220V \u76f8\u7ebf L \u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500[ \u7a7a\u5f00 ]\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500 \u63a5\u89e6\u5668\u4e3b\u89e6\u70b9 1(L1)<br \/>\n                      \u2502                                    \u2502<br \/>\n                      \u2502                            [ GSCW1M2P \u8fdb\u7ebf L ]\u2500\u2500[ \u51fa\u7ebf L(\u8d1f\u8f7d\u4fa7) ]\u2500\u2500&gt; \u63a5\u89e6\u5668\u7ebf\u5708 A1<br \/>\n                      \u2502<br \/>\n        \u96f6\u7ebf   N \u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500&gt; \u63a5\u89e6\u5668\u7ebf\u5708 A2<\/p>\n<p>        \u4e3b\u7535\u6e90 L \u2500\u2500[\u63a5\u89e6\u5668\u4e3b\u89e6\u70b9 2(T1)]\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500&gt; \u8d1f\u8f7d \u706b\u7ebf<br \/>\n        \u96f6\u7ebf   N \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500&gt; \u8d1f\u8f7d \u96f6\u7ebf<\/p>\n<p>\u8981\u70b9&#xff1a;<\/p>\n<li>\u901a\u65ad\u5668\u7684\u8f93\u51fa\u53ea\u63a5\u63a5\u89e6\u5668\u7ebf\u5708&#xff08;A1\/A2&#xff09;&#xff0c;\u4e0d\u76f4\u63a5\u5e26\u5927\u8d1f\u8f7d&#xff1b;<\/li>\n<li>\u5927\u8d1f\u8f7d\u7531\u63a5\u89e6\u5668\u4e3b\u89e6\u70b9\u901a\u65ad&#xff0c;\u901a\u65ad\u5668\u4e0e\u4e3b\u56de\u8def\u7535\u6d41\u9694\u79bb&#xff1b;<\/li>\n<li>\u7ebf\u5708\u7535\u538b\u8981\u4e0e\u8bbe\u5907\u8f93\u51fa\u5339\u914d&#xff08;\u5e38\u89c1 AC220V \u7ebf\u5708&#xff09;&#xff1b;<\/li>\n<li>\u63a5\u89e6\u5668\u9009\u578b\u6309\u8d1f\u8f7d\u7535\u6d41 &#043; \u542f\u52a8\u6d6a\u6d8c\u7559\u4f59\u91cf\u3002<\/li>\n<p>\u793a\u4f8b\u6d4b\u7b97&#xff1a;\u4e00\u53f0 3kW \u963b\u6027\u52a0\u70ed\u5668&#xff0c;\u5355\u9760\u901a\u65ad\u5668\u4e5f\u80fd\u5e26&#xff08;\u8fdc\u4f4e\u4e8e 6000W&#xff09;&#xff1b;\u4f46\u4e00\u53f0 5.5kW \u4e09\u76f8\/\u5927\u529f\u7387\u6c34\u6cf5&#xff0c;\u542f\u52a8\u7535\u6d41\u53ef\u8fbe\u989d\u5b9a 5~7 \u500d&#xff0c;\u5fc5\u987b\u7528\u63a5\u89e6\u5668 &#043; \u8f6f\u542f\u52a8&#xff0c;\u5e76\u9009\u66f4\u5927\u7a7a\u5f00\u3002<\/p>\n<hr \/>\n<h3>9.3 \u4e0e\u7a7a\u5f00\u3001\u6f0f\u4fdd\u3001\u6d6a\u6d8c\u4fdd\u62a4\u7684\u914d\u5408<\/h3>\n<table>\n<tr>\u4fdd\u62a4\u5668\u4ef6\u4f5c\u7528\u914d\u5408\u8981\u70b9<\/tr>\n<tbody>\n<tr>\n<td>\u7a7a\u5f00(MCB)<\/td>\n<td>\u8fc7\u8f7d\/\u77ed\u8def\u4fdd\u62a4<\/td>\n<td>\u989d\u5b9a\u7535\u6d41\u2265\u8d1f\u8f7d\u7535\u6d41\u4e14\u4e0e\u7ebf\u5f84\u5339\u914d&#xff1b;25A \u56de\u8def\u914d \u226525A \u7a7a\u5f00&#xff0c;\u901a\u5e38\u9009 25A\/32A<\/td>\n<\/tr>\n<tr>\n<td>\u6f0f\u4fdd(RCD)<\/td>\n<td>\u6f0f\u7535\u4fdd\u62a4<\/td>\n<td>\u63d2\u5ea7\/\u6f6e\u6e7f\u573a\u6240\u5fc5\u987b\u88c5&#xff1b;30mA \u7528\u4e8e\u4eba\u8eab\u4fdd\u62a4<\/td>\n<\/tr>\n<tr>\n<td>\u6d6a\u6d8c\u4fdd\u62a4(SPD)<\/td>\n<td>\u9632\u96f7\u51fb\/\u6d6a\u6d8c<\/td>\n<td>\u8fdb\u7ebf\u4fa7\u52a0\u88c5&#xff0c;\u4fdd\u62a4\u667a\u80fd\u8bbe\u5907\u4e0e\u8d1f\u8f7d<\/td>\n<\/tr>\n<tr>\n<td>\u8fc7\u6b20\u538b\u4fdd\u62a4<\/td>\n<td>\u7535\u538b\u5f02\u5e38<\/td>\n<td>\u5e94\u5bf9 110~260Vac \u8fb9\u754c&#xff0c;\u907f\u514d\u8bbe\u5907\u53d7\u635f<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u914d\u5408\u539f\u5219&#xff1a;<\/p>\n<li>\n<p>\u5206\u7ea7\u4fdd\u62a4&#xff1a;\u603b\u5f00 \u2192 \u5206\u8def\u7a7a\u5f00 \u2192 \u8d1f\u8f7d&#xff0c;\u9010\u7ea7\u914d\u5408&#xff0c;\u907f\u514d\u8d8a\u7ea7\u8df3\u95f8&#xff1b;<\/p>\n<\/li>\n<li>\n<p>\u7ebf\u5f84\u5339\u914d&#xff08;\u53c2\u8003&#xff0c;\u5177\u4f53\u4ee5\u7535\u6c14\u89c4\u8303\u4e3a\u51c6&#xff09;&#xff1a;<\/p>\n<table>\n<tr>\u7535\u6d41\u94dc\u82af\u7ebf\u5f84&#xff08;\u53c2\u8003&#xff09;<\/tr>\n<tbody>\n<tr>\n<td>\u226416A<\/td>\n<td>\u22652.5 mm\u00b2<\/td>\n<\/tr>\n<tr>\n<td>\u226425A<\/td>\n<td>\u22654 mm\u00b2<\/td>\n<\/tr>\n<tr>\n<td>\u226432A<\/td>\n<td>\u22656 mm\u00b2<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<li>\n<p>\u6f0f\u4fdd\u4e0d\u80fd\u7701&#xff1a;\u6f6e\u6e7f\/\u63d2\u5ea7\u56de\u8def\u88c5 30mA \u6f0f\u4fdd&#xff1b;<\/p>\n<\/li>\n<li>\n<p>SPD \u88c5\u5728\u524d\u7ea7&#xff0c;\u628a\u6d6a\u6d8c\u6321\u5728\u667a\u80fd\u8bbe\u5907\u4e4b\u524d\u3002<\/p>\n<\/li>\n<hr \/>\n<h3>9.4 \u611f\u6027\u8d1f\u8f7d\u7684\u542f\u52a8\u7535\u6d41\u4e0e\u964d\u989d<\/h3>\n<h4>9.4.1 \u4e3a\u4ec0\u4e48\u611f\u6027\u8d1f\u8f7d\u8981\u7279\u522b\u5c0f\u5fc3<\/h4>\n<p>\u7535\u673a\u3001\u538b\u7f29\u673a\u3001\u6c34\u6cf5\u3001\u98ce\u673a\u7b49\u611f\u6027\u8d1f\u8f7d\u542f\u52a8\u77ac\u95f4\u7535\u6d41\u53ef\u8fbe\u989d\u5b9a\u7684 5~8 \u500d&#xff0c;\u4f1a\u4ea7\u751f&#xff1a;<\/p>\n<ul>\n<li>\u89e6\u70b9\u7535\u5f27\u4e0e\u7c98\u8fde&#xff1b;<\/li>\n<li>\u7535\u6d41\u6d6a\u6d8c\u89e6\u53d1\u7a7a\u5f00\u8df3\u95f8&#xff1b;<\/li>\n<li>\u7f29\u77ed\u7ee7\u7535\u5668\u5bff\u547d&#xff08;\u7535\u6c14\u5bff\u547d 5 \u4e07\u6b21&#xff09;\u3002<\/li>\n<\/ul>\n<h4>9.4.2 \u5178\u578b\u542f\u52a8\u500d\u6570\u4e0e\u964d\u989d\u5efa\u8bae<\/h4>\n<table>\n<tr>\u8d1f\u8f7d\u7c7b\u578b\u5178\u578b\u542f\u52a8\/\u989d\u5b9a\u500d\u6570\u662f\u5426\u53ef\u76f4\u63a5\u5e26\u5efa\u8bae<\/tr>\n<tbody>\n<tr>\n<td>\u7535\u963b\u7089\/\u7535\u70ed<\/td>\n<td>\u22481<\/td>\n<td>\u53ef\u76f4\u63a5&#xff08;\u22646000W&#xff09;<\/td>\n<td>\u6ce8\u610f\u963b\u6027\u4e0a\u9650<\/td>\n<\/tr>\n<tr>\n<td>\u767d\u70bd\u706f<\/td>\n<td>5~10&#xff08;\u51b7\u6001&#xff09;<\/td>\n<td>\u8c28\u614e<\/td>\n<td>\u5206\u6279\/\u9650\u6d41<\/td>\n<\/tr>\n<tr>\n<td>\u5355\u76f8\u6c34\u6cf5<\/td>\n<td>3~5<\/td>\n<td>\u4e0d\u5efa\u8bae<\/td>\n<td>\u63a5\u89e6\u5668 &#043; \u8f6f\u542f\u52a8<\/td>\n<\/tr>\n<tr>\n<td>\u7a7a\u8c03\u538b\u7f29\u673a<\/td>\n<td>3~6<\/td>\n<td>\u4e0d\u5efa\u8bae<\/td>\n<td>\u63a5\u89e6\u5668\/\u53d8\u9891<\/td>\n<\/tr>\n<tr>\n<td>\u5927\u98ce\u673a\u7535\u673a<\/td>\n<td>5~8<\/td>\n<td>\u4e0d\u5efa\u8bae<\/td>\n<td>\u63a5\u89e6\u5668 &#043; \u70ed\u4fdd\u62a4<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>9.4.3 \u964d\u989d\u5b9e\u64cd\u6e05\u5355<\/h4>\n<li>\u6309\u89c6\u5728\u529f\u7387\u7559\u4f59\u91cf&#xff1a;\u611f\u6027\u8d1f\u8f7d\u957f\u671f\u529f\u7387\u4e0d\u8981\u8d34\u7740 6000W&#xff0c;\u5efa\u8bae\u7559 30% \u4ee5\u4e0a&#xff1b;<\/li>\n<li>\u542f\u52a8\u6d6a\u6d8c\u4f18\u5148\u7528\u63a5\u89e6\u5668&#xff1a;\u901a\u65ad\u5668\u53ea\u5207\u7ebf\u5708&#xff0c;\u4e3b\u56de\u8def\u4ea4\u7ed9\u63a5\u89e6\u5668\/\u8f6f\u542f\u52a8\/\u53d8\u9891\u5668&#xff1b;<\/li>\n<li>\u914d\u70ed\u4fdd\u62a4&#xff1a;\u63a5\u89e6\u5668\u4e0b\u52a0\u70ed\u7ee7\u7535\u5668\u9632\u957f\u671f\u8fc7\u8f7d&#xff1b;<\/li>\n<li>\u907f\u514d\u9891\u7e41\u542f\u505c&#xff1a;\u7535\u6c14\u5bff\u547d 5 \u4e07\u6b21&#xff0c;\u538b\u7f29\u673a\u4e0d\u8981\u7528\u5b83\u505a\u8282\u6d41\u542f\u505c&#xff1b;<\/li>\n<li>\u9009\u66f4\u5927\u7a7a\u5f00\u66f2\u7ebf&#xff1a;\u7535\u673a\u56de\u8def\u5b9c\u7528 D \u66f2\u7ebf\u7a7a\u5f00&#xff0c;\u5bb9\u5fcd\u542f\u52a8\u6d6a\u6d8c\u3002<\/li>\n<p>\u793a\u4f8b\u6d4b\u7b97&#xff1a;\u4e00\u53f0\u542f\u52a8\u7535\u6d41 5 \u500d\u3001\u989d\u5b9a 4A \u7684\u6c34\u6cf5&#xff0c;\u542f\u52a8\u77ac\u95f4\u7ea6 20A&#xff0c;\u5df2\u63a5\u8fd1 25A \u4e0a\u9650&#xff1b;\u82e5\u7528\u901a\u65ad\u5668\u76f4\u5e26&#xff0c;\u957f\u671f\u53ef\u9760\u6027\u5dee&#xff0c;\u5e94\u6539\u7528\u63a5\u89e6\u5668\u65b9\u6848&#xff0c;\u901a\u65ad\u5668\u4ec5\u9a71\u52a8\u7ebf\u5708\u3002<\/p>\n<h4>\u672c\u7ae0\u8981\u70b9 \/ \u843d\u5730\u6e05\u5355<\/h4>\n<ul>\n<li class=\"task-list-item\"> \u88c5\u5728\u914d\u7535\u7bb1\u5185\u3001\u7559\u6563\u70ed\u3001\u4e00\u56de\u8def\u4e00\u8bbe\u5907\u3001\u5f3a\u5f31\u7535\u5206\u79bb\u3002<\/li>\n<li class=\"task-list-item\"> \u5927\u529f\u7387\/\u611f\u6027\u8d1f\u8f7d\u7528\u63a5\u89e6\u5668\u6269\u529f\u7387&#xff0c;\u901a\u65ad\u5668\u53ea\u5207\u7ebf\u5708\u3002<\/li>\n<li class=\"task-list-item\"> \u7a7a\u5f00\/\u6f0f\u4fdd\/SPD \u5206\u7ea7\u914d\u5408&#xff0c;25A \u56de\u8def\u914d \u22654mm\u00b2 \u94dc\u82af\u7ebf&#xff08;\u4ee5\u89c4\u8303\u4e3a\u51c6&#xff09;\u3002<\/li>\n<li class=\"task-list-item\"> \u611f\u6027\u8d1f\u8f7d\u5fc5\u987b\u964d\u989d\u3001\u9632\u542f\u52a8\u6d6a\u6d8c\u3001\u914d\u70ed\u4fdd\u62a4\u3001\u907f\u9ad8\u9891\u542f\u505c\u3002<\/li>\n<li class=\"task-list-item\"> \u65ad\u7535\u62a5\u64cd\u4f5c\u3001\u4e13\u4e1a\u7535\u5de5\u65bd\u5de5\u2014\u2014\u8fd9\u662f\u6240\u6709\u7535\u6c14\u5de5\u4f5c\u7684\u7b2c\u4e00\u6761\u3002<\/li>\n<\/ul>\n<hr \/>\n<p>\u672c\u90e8\u5206\u5b8c \u00b7 \u627f\u63a5\u7b2c 3~4 \u7ae0&#xff08;\u57fa\u7840\u534f\u8bae\/\u6307\u4ee4&#xff09;&#xff0c;\u5e76\u4e3a\u7b2c 10 \u7ae0\u8d77\u7684\u5e94\u7528\u6848\u4f8b\u4e0e\u9a8c\u6536\u7ae0\u8282\u63d0\u4f9b\u5de5\u7a0b\u57fa\u7840\u3002\u6240\u6709\u91d1\u989d\u4e0e\u6570\u503c\u5747\u4e3a\u793a\u4f8b\u6d4b\u7b97&#xff0c;\u5b9e\u9645\u4ee5\u73b0\u573a\u94ed\u724c\u3001\u7535\u6c14\u89c4\u8303\u4e0e GemeOpen \u5b98\u65b9\u6587\u6863\u4e3a\u51c6\u3002<\/p>\n<hr \/>\n<h2>\u7b2c\u4e09\u90e8\u5206&#xff1a;\u81ea\u52a8\u5316\u3001\u5b89\u88c5\u65bd\u5de5\u3001\u7cfb\u7edf\u5bf9\u63a5\u4e0e\u573a\u666f\u5b9e\u6218<\/h2>\n<p>\u672c\u7bc7\u627f\u63a5\u524d\u4e24\u90e8\u5206\u7684&#034;\u534f\u8bae\u4e0e\u5f00\u53d1&#034;&#xff0c;\u628a GSCW1M2P&#xff08;\u667a\u80fd\u901a\u65ad\u5668 25A-S2 Plus-WiFi&#xff09;\u4ece&#034;\u80fd\u8054\u7f51\u7684\u7ee7\u7535\u5668&#034;\u53d8\u6210&#034;\u80fd\u81ea\u52a8\u8fd0\u884c\u3001\u80fd\u5b89\u5168\u4fdd\u62a4\u3001\u80fd\u843d\u5730\u65bd\u5de5&#034;\u7684\u5de5\u7a0b\u4ea7\u54c1\u3002\u7b2c 10 \u7ae0\u8bb2\u81ea\u52a8\u5316\u4e0e\u5b89\u5168\u7528\u7535&#xff08;\u5168\u90e8\u57fa\u4e8e\u5e73\u53f0\u4fa7\u903b\u8f91 &#043; \u8bbe\u5907\u771f\u5b9e\u6307\u4ee4\u5b57\u6bb5\u5b9e\u73b0&#xff09;&#xff1b;\u7b2c 11 \u7ae0\u8bb2&#034;\u7535\u5de5\u6d3b&#034;\u2014\u2014\u63a5\u7ebf\u3001\u8d1f\u8f7d\u3001\u4fdd\u62a4\u3001\u9a8c\u6536&#xff0c;\u8fd9\u662f 25A \u5927\u529f\u7387\u573a\u666f\u4e0d\u53ef\u8de8\u8d8a\u7684\u95e8\u69db&#xff1b;\u7b2c 12 \u7ae0\u8bb2\u4e0e\u914d\u7535\u7cfb\u7edf\u3001\u5de5\u4e1a\u8bbe\u5907\u7684\u5bf9\u63a5\u8fb9\u754c&#xff1b;\u7b2c 13 \u7ae0\u7528 12 \u4e2a\u771f\u5b9e\u573a\u666f\u628a\u524d\u9762\u6240\u6709\u80fd\u529b\u4e32\u8d77\u6765\u3002<\/p>\n<p>\u5b89\u5168\u603b\u7eb2&#xff08;\u5168\u7bc7\u53cd\u590d\u5f3a\u8c03&#xff09;&#xff1a;\u2460 \u672c\u8bbe\u5907\u662f\u63a5\u7ebf\u5f0f\u5b89\u88c5&#xff0c;\u5fc5\u987b\u65ad\u7535\u4f5c\u4e1a\u3001\u7531\u6301\u8bc1\u7535\u5de5\u64cd\u4f5c&#xff1b;\u2461 25A\u3001MAX 6000W \u662f&#034;\u963b\u6027\u8d1f\u8f7d&#034;\u4e0a\u9650&#xff0c;\u611f\u6027\u8d1f\u8f7d&#xff08;\u7535\u673a\u3001\u538b\u7f29\u673a\u3001\u6c34\u6cf5&#xff09;\u542f\u52a8\u7535\u6d41\u53ef\u8fbe\u989d\u5b9a\u6570\u500d&#xff0c;\u5fc5\u987b\u964d\u989d\u5e76\u52a0\u63a5\u89e6\u5668\/\u8f6f\u542f\u52a8&#xff1b;\u2462 \u5bfc\u7ebf\u7ebf\u5f84\u987b\u4e0e 25A \u5339\u914d&#xff08;\u53c2\u8003 \u22654mm\u00b2 \u94dc\u82af&#xff0c;\u5177\u4f53\u4ee5\u73b0\u573a\u7535\u6c14\u89c4\u8303\u4e3a\u51c6&#xff09;&#xff0c;\u5e76\u914d\u5bb9\u91cf\u8db3\u591f\u7684\u7a7a\u5f00\/\u6f0f\u4fdd&#xff1b;\u2463 \u5b83\u662f\u5355\u8def\u901a\u65ad\u5668&#xff0c;\u4e00\u8def\u4e00\u4e2a\u56de\u8def&#xff1b;\u2464 \u7535\u6c14\u5bff\u547d\u4ec5 5 \u4e07\u6b21&#xff0c;\u9ad8\u9891\u901a\u65ad\u8981\u7b97\u5bff\u547d\u8d26\u3002<\/p>\n<hr \/>\n<h2>\u7b2c 10 \u7ae0 \u81ea\u52a8\u5316\u4e0e\u5b89\u5168\u7528\u7535&#xff1a;\u8ba9\u5927\u529f\u7387\u8bbe\u5907&#034;\u542c\u8bdd\u4e14\u5b89\u5168&#034;<\/h2>\n<p>\u4e00\u53e5\u8bdd\u70b9\u9898&#xff1a;\u672c\u7ae0\u6559\u4f60\u7528\u8bbe\u5907\u771f\u5b9e\u6307\u4ee4 &#043; \u5e73\u53f0\u4fa7\u89c4\u5219&#xff0c;\u628a&#034;\u8fdc\u7a0b\u6309\u4e00\u4e0b&#034;\u5347\u7ea7\u4e3a&#034;\u5230\u70b9\u81ea\u52a8\u5f00\u3001\u8d8a\u754c\u81ea\u52a8\u65ad\u3001\u6b7b\u673a\u81ea\u52a8\u91cd\u542f\u3001\u88ab\u4f20\u611f\u5668\u81ea\u52a8\u89e6\u53d1&#034;\u3002<\/p>\n<h3>10.1 \u5b9a\u65f6\u901a\u65ad&#xff08;\u70ed\u6c34\u5668\u5b9a\u65f6\u52a0\u70ed\u3001\u7a7a\u8c03\u5b9a\u65f6\u3001\u6c34\u6cf5\u5b9a\u65f6&#xff09;<\/h3>\n<p>GSCW1M2P \u81ea\u8eab\u63d0\u4f9b\u7684\u662f\u6570\u636e\u5b9a\u65f6\u4e0a\u62a5\u80fd\u529b&#xff0c;\u63a7\u5236\u4fa7\u7684&#034;\u5b9a\u65f6\u901a\u65ad&#034;\u6709\u4e24\u79cd\u5b9e\u73b0\u8def\u5f84&#xff0c;\u4e8c\u8005\u53ef\u4ee5\u53e0\u52a0&#xff1a;<\/p>\n<p>\u8def\u5f84 A&#xff1a;\u5e73\u53f0\u4fa7\u5b9a\u65f6&#xff08;\u63a8\u8350&#xff0c;\u6700\u7075\u6d3b&#xff09;\u3002 \u5e73\u53f0\u7528\u5b9a\u65f6\u4efb\u52a1&#xff08;cron \/ \u8c03\u5ea6\u5668&#xff09;\u5728\u7ea6\u5b9a\u65f6\u523b\u4e0b\u53d1 controller-event&#xff0c;\u8ba9\u8bbe\u5907\u901a\u65ad\u7535\u3002\u8fd9\u79cd\u505a\u6cd5\u53ef\u8de8\u5929\u3001\u8de8\u8282\u5047\u65e5\u3001\u53ef\u4e34\u65f6\u8986\u76d6&#xff0c;\u9002\u5408&#034;\u70ed\u6c34\u5668\u6bcf\u5929 6:30 \u52a0\u70ed\u3001\u7a7a\u8c03 22:00 \u5173\u673a&#034;\u8fd9\u7c7b\u4e1a\u52a1\u3002<\/p>\n<p>\u8def\u5f84 B&#xff1a;\u8bbe\u5907\u4fa7\u4e0a\u62a5\u9891\u7387 &#043; \u5e73\u53f0\u8054\u52a8\u3002 \u901a\u8fc7 device-timer-interval \u8bbe\u7f6e timerEnable:&#034;1&#034;\u3001timerInterval&#xff08;\u79d2&#xff0c;5~86400&#xff09;&#xff0c;\u8ba9\u8bbe\u5907\u5468\u671f\u6027\u4e0a\u62a5 device-timer-task&#xff08;\u542b voltage\/current\/power\/energy&#xff09;&#xff0c;\u5e73\u53f0\u636e\u6b64\u5224\u65ad&#034;\u662f\u5426\u5df2\u7ecf\u52a0\u70ed\u5230\u4f4d&#034;\u518d\u51b3\u5b9a\u5207\u65ad&#xff0c;\u5b9e\u73b0&#034;\u4fdd\u6e29\u5230\u6e29\u5373\u505c&#034;\u3002<\/p>\n<p>\u4e0b\u6307\u4ee4\u7684\u62a5\u6587\u5b57\u6bb5\u5fc5\u987b\u4e25\u683c\u6765\u81ea\u6307\u4ee4\u8868\u3002\u793a\u4f8b&#xff08;Python \/ paho-mqtt&#xff0c;\u4e0b\u540c&#xff09;&#xff1a;<\/p>\n<p><span class=\"token keyword\">import<\/span> json<span class=\"token punctuation\">,<\/span> time<br \/>\n<span class=\"token keyword\">import<\/span> paho<span class=\"token punctuation\">.<\/span>mqtt<span class=\"token punctuation\">.<\/span>client <span class=\"token keyword\">as<\/span> mqtt<\/p>\n<p><span class=\"token comment\"># \u5e73\u53f0\u53d1\u51fa\u7684 MQTT \u4e3b\u9898 &#061; \u8bbe\u5907 info-protocol \u8fd4\u56de\u7684 &#034;subcribe&#034; \u5b57\u6bb5<\/span><br \/>\n<span class=\"token comment\"># \u5e73\u53f0\u8ba2\u9605\u7684\u4e3b\u9898       &#061; \u8bbe\u5907 info-protocol \u8fd4\u56de\u7684 &#034;publish&#034; \u5b57\u6bb5<\/span><br \/>\nCMD_TOPIC <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#034;device\/subcribe\/topic&#034;<\/span>   <span class=\"token comment\"># \u793a\u4f8b\u5360\u4f4d&#xff0c;\u5b9e\u9645\u4ee5 info-protocol \u8fd4\u56de\u4e3a\u51c6<\/span><br \/>\nDATA_TOPIC <span class=\"token operator\">&#061;<\/span> <span class=\"token string\">&#034;device\/publish\/topic&#034;<\/span>   <span class=\"token comment\"># \u793a\u4f8b\u5360\u4f4d&#xff0c;\u5b9e\u9645\u4ee5 info-protocol \u8fd4\u56de\u4e3a\u51c6<\/span><\/p>\n<p><span class=\"token keyword\">def<\/span> <span class=\"token function\">set_power<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> on<span class=\"token punctuation\">:<\/span> <span class=\"token builtin\">bool<\/span><span class=\"token punctuation\">,<\/span> seq<span class=\"token punctuation\">:<\/span> <span class=\"token builtin\">int<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    <span class=\"token triple-quoted-string string\">&#034;&#034;&#034;\u4e0b\u53d1\u901a\u65ad\u7535\u6307\u4ee4\u3002key: 0&#061;\u65ad\u7535, 1&#061;\u901a\u7535&#034;&#034;&#034;<\/span><br \/>\n    payload <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n        <span class=\"token string\">&#034;commandName&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;controller-event&#034;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n        <span class=\"token string\">&#034;type&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;event&#034;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n        <span class=\"token string\">&#034;key&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">1<\/span> <span class=\"token keyword\">if<\/span> on <span class=\"token keyword\">else<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">,<\/span><br \/>\n        <span class=\"token string\">&#034;messageId&#034;<\/span><span class=\"token punctuation\">:<\/span> seq<span class=\"token punctuation\">,<\/span>          <span class=\"token comment\"># \u4e1a\u52a1\u6d41\u6c34\u53f7&#xff0c;\u8bbe\u5907\u4f1a\u539f\u6837\u56de\u663e<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><br \/>\n    client<span class=\"token punctuation\">.<\/span>publish<span class=\"token punctuation\">(<\/span>CMD_TOPIC<span class=\"token punctuation\">,<\/span> json<span class=\"token punctuation\">.<\/span>dumps<span class=\"token punctuation\">(<\/span>payload<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> qos<span class=\"token operator\">&#061;<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><\/p>\n<p><span class=\"token keyword\">def<\/span> <span class=\"token function\">set_report_interval<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> enable<span class=\"token punctuation\">:<\/span> <span class=\"token builtin\">bool<\/span><span class=\"token punctuation\">,<\/span> seconds<span class=\"token punctuation\">:<\/span> <span class=\"token builtin\">int<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    <span class=\"token triple-quoted-string string\">&#034;&#034;&#034;\u8bbe\u7f6e\u7528\u7535\u6570\u636e\u5b9a\u65f6\u4e0a\u62a5\u3002timerInterval \u53d6\u503c 5~86400 \u79d2&#034;&#034;&#034;<\/span><br \/>\n    payload <span class=\"token operator\">&#061;<\/span> <span class=\"token punctuation\">{<\/span><br \/>\n        <span class=\"token string\">&#034;commandName&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;device-timer-interval&#034;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n        <span class=\"token string\">&#034;type&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;setting&#034;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n        <span class=\"token string\">&#034;timerEnable&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token number\">1<\/span> <span class=\"token keyword\">if<\/span> enable <span class=\"token keyword\">else<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">,<\/span><br \/>\n        <span class=\"token string\">&#034;timerInterval&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token builtin\">max<\/span><span class=\"token punctuation\">(<\/span><span class=\"token number\">5<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">min<\/span><span class=\"token punctuation\">(<\/span>seconds<span class=\"token punctuation\">,<\/span> <span class=\"token number\">86400<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n        <span class=\"token string\">&#034;messageId&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token builtin\">int<\/span><span class=\"token punctuation\">(<\/span>time<span class=\"token punctuation\">.<\/span>time<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><br \/>\n    client<span class=\"token punctuation\">.<\/span>publish<span class=\"token punctuation\">(<\/span>CMD_TOPIC<span class=\"token punctuation\">,<\/span> json<span class=\"token punctuation\">.<\/span>dumps<span class=\"token punctuation\">(<\/span>payload<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> qos<span class=\"token operator\">&#061;<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><\/p>\n<p>\u5178\u578b\u914d\u7f6e\u6e05\u5355&#xff08;\u70ed\u6c34\u5668\u5b9a\u65f6\u52a0\u70ed&#xff09;&#xff1a;\u2460 \u5e73\u53f0\u5728 6:20 \u4e0b\u53d1 controller-event key&#061;1&#xff1b;\u2461 \u8bbe\u7f6e device-timer-interval \u6bcf 60 \u79d2\u4e0a\u62a5\u4e00\u6b21&#xff1b;\u2462 \u5e73\u53f0\u6536\u5230 device-timer-task \u540e&#xff0c;\u82e5 power \u8fde\u7eed\u4e24\u6b21\u4f4e\u4e8e\u5f85\u673a\u9608\u503c\u5373\u5224\u5b9a&#034;\u52a0\u70ed\u5b8c\u6210\/\u8bbe\u5907\u5df2\u505c&#034;&#xff0c;\u8bb0\u5f55\u80fd\u8017&#xff1b;\u2463 7:40 \u4e0b\u53d1 key&#061;0 \u515c\u5e95\u5207\u65ad\u3002\u6574\u4e2a\u8fc7\u7a0b\u7528\u6237\u4e0d\u7528\u7ba1&#xff0c;\u201c\u5230\u70b9\u6709\u70ed\u6c34\u3001\u51fa\u95e8\u81ea\u52a8\u65ad\u201d\u3002<\/p>\n<p>\u4e09\u4e2a\u5bb9\u6613\u8e29\u7684\u5751&#xff1a;\u2460 \u8282\u5047\u65e5\/\u4e34\u65f6\u8986\u76d6\u2014\u2014\u628a&#034;\u6bcf\u5929\u5b9a\u65f6&#034;\u505a\u6210\u53ef\u8986\u76d6\u7684\u89c4\u5219&#xff0c;\u7528\u6237\u4e34\u65f6\u5728\u5bb6\u65f6\u53ef\u624b\u52a8 key&#061;1 \u5e76\u81ea\u52a8\u987a\u5ef6&#xff0c;\u4e0d\u8981\u5199\u6b7b&#xff1b;\u2461 \u751f\u6548\u65f6\u673a\u2014\u2014setting-* \u7c7b\u914d\u7f6e&#xff08;\u5982\u81ea\u5b9a\u4e49 MQTT&#xff09;\u6539\u540e\u9700\u65ad\u7535\u91cd\u542f\u6216\u4e0b\u53d1 controller-restart \u624d\u751f\u6548&#xff0c;\u5b9a\u65f6\u7b56\u7565\u6539\u5b8c\u8bb0\u5f97\u9a8c\u8bc1&#xff1b;\u2462 \u65ad\u7535\u540e\u7684\u72b6\u6001\u2014\u2014\u8bbe\u5907\u65ad\u7535\u518d\u6765\u7535\u65f6\u7684\u9ed8\u8ba4\u52a8\u4f5c\u7531 setting-on-state \u51b3\u5b9a&#xff08;0 \u8bb0\u5fc6 \/ 1 \u5173\u95ed \/ 2 \u5f00\u542f&#xff09;&#xff0c;\u505a\u5b9a\u65f6\u573a\u666f\u4e00\u822c\u9009&#034;\u8bb0\u5fc6&#034;\u6700\u7b26\u5408\u76f4\u89c9\u3002<\/p>\n<h3>10.2 \u5b89\u5168\u7b56\u7565&#xff1a;\u8fc7\u8f7d\/\u5f02\u5e38\u7528\u7535\u7684\u8bc6\u522b\u4e0e\u81ea\u52a8\u65ad\u7535&#xff08;\u5e73\u53f0\u4fa7\u5b9e\u73b0&#xff09;<\/h3>\n<p>\u5fc5\u987b\u5f3a\u8c03&#xff1a;GSCW1M2P \u6ca1\u6709&#034;\u8fc7\u6d41\u9608\u503c\u81ea\u52a8\u8df3\u95f8&#034;\u8fd9\u7c7b\u539f\u751f\u9608\u503c\u6307\u4ee4&#xff0c;\u8bbe\u5907\u53ea\u5982\u5b9e\u4e0a\u62a5 voltage \/ current \/ power \/ energy&#xff08;info-statistic \u6216\u5b9a\u65f6\u4e0a\u62a5\u7684 device-timer-task&#xff09;\u3002\u56e0\u6b64\u6240\u6709&#034;\u8d8a\u754c\u4fdd\u62a4&#034;\u90fd\u8981\u5728\u5e73\u53f0\u4fa7\u5224\u65ad\u3001\u518d\u7531\u5e73\u53f0\u4e0b\u53d1 controller-event key&#061;0 \u5b8c\u6210\u65ad\u7535\u3002\u8fd9\u4e00\u70b9\u975e\u5e38\u91cd\u8981&#xff1a;\u5982\u679c\u5e73\u53f0\u5931\u8054&#xff0c;\u8fd9\u5c42\u8f6f\u4ef6\u4fdd\u62a4\u5c31\u5931\u6548&#xff0c;\u6240\u4ee5\u7535\u6c14\u786c\u4fdd\u62a4&#xff08;\u7a7a\u5f00\/\u6f0f\u4fdd\/\u70ed\u7ee7&#xff09;\u6c38\u8fdc\u662f\u7b2c\u4e00\u9053\u9632\u7ebf&#xff08;\u8be6\u89c1\u7b2c 11 \u7ae0\u4fdd\u62a4\u914d\u5408&#xff09;\u3002<\/p>\n<p>\u5e73\u53f0\u4fa7\u53ef\u5b9e\u73b0\u7684\u56db\u7c7b\u5b89\u5168\u7b56\u7565&#xff1a;<\/p>\n<table>\n<tr>\u7b56\u7565\u5224\u636e&#xff08;\u57fa\u4e8e\u4e0a\u62a5\u5b57\u6bb5&#xff09;\u52a8\u4f5c<\/tr>\n<tbody>\n<tr>\n<td>\u8fc7\u8f7d\u4fdd\u62a4<\/td>\n<td>current &gt; \u8bbe\u5b9a\u9608\u503c&#xff08;\u5982 22A&#xff09;\u6301\u7eed N \u79d2<\/td>\n<td>\u4e0b\u53d1 key&#061;0 \u65ad\u7535 &#043; \u544a\u8b66<\/td>\n<\/tr>\n<tr>\n<td>\u8fc7\u529f\u7387\u4fdd\u62a4<\/td>\n<td>power &gt; \u8bbe\u5b9a\u9608\u503c&#xff08;\u5982 5000W&#xff09;<\/td>\n<td>\u540c\u4e0a<\/td>\n<\/tr>\n<tr>\n<td>\u5f02\u5e38\u7528\u7535&#xff08;\u7591\u4f3c\u77ed\u8def\/\u6f0f\u7535&#xff09;<\/td>\n<td>\u6307\u4ee4\u5df2 key&#061;0&#xff0c;\u4f46 current \u4ecd &gt; 0<\/td>\n<td>\u65ad\u7535\u3001\u5f3a\u544a\u8b66&#xff0c;\u63d0\u793a\u68c0\u67e5\u7ee7\u7535\u5668\/\u8d1f\u8f7d<\/td>\n<\/tr>\n<tr>\n<td>\u6b20\u538b\/\u8fc7\u538b<\/td>\n<td>voltage \u8d8a\u51fa 198~242V \u533a\u95f4<\/td>\n<td>\u544a\u8b66&#xff1b;\u4e25\u91cd\u65f6\u65ad\u7535\u4fdd\u62a4\u8d1f\u8f7d<\/td>\n<\/tr>\n<tr>\n<td>\u957f\u671f\u5e26\u7535\u8d85\u65f6<\/td>\n<td>\u5355\u6b21 key&#061;1 \u6301\u7eed &gt; \u8bbe\u5b9a\u65f6\u957f<\/td>\n<td>\u5230\u70b9\u81ea\u52a8 key&#061;0&#xff0c;\u9632&#034;\u5fd8\u5173&#034;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span class=\"token keyword\">def<\/span> <span class=\"token function\">on_message<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> userdata<span class=\"token punctuation\">,<\/span> msg<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    data <span class=\"token operator\">&#061;<\/span> json<span class=\"token punctuation\">.<\/span>loads<span class=\"token punctuation\">(<\/span>msg<span class=\"token punctuation\">.<\/span>payload<span class=\"token punctuation\">.<\/span>decode<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    cmd <span class=\"token operator\">&#061;<\/span> data<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;commandName&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token comment\"># \u5b9a\u65f6\u4e0a\u62a5\u6216\u5b9e\u65f6\u67e5\u8be2\u90fd\u4f1a\u5e26\u56de\u8fd9\u51e0\u4e2a\u5173\u952e\u5b57\u6bb5<\/span><br \/>\n    <span class=\"token keyword\">if<\/span> cmd <span class=\"token keyword\">in<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;device-timer-task&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">&#034;info-statistic&#034;<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n        cur <span class=\"token operator\">&#061;<\/span> <span class=\"token builtin\">float<\/span><span class=\"token punctuation\">(<\/span>data<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;current&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n        power <span class=\"token operator\">&#061;<\/span> <span class=\"token builtin\">float<\/span><span class=\"token punctuation\">(<\/span>data<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;power&#034;<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">0<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n        on_state <span class=\"token operator\">&#061;<\/span> data<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;key&#034;<\/span><span class=\"token punctuation\">)<\/span>  <span class=\"token comment\"># \u8bbe\u5907\u56de\u663e\u7684\u5f53\u524d\u901a\u65ad\u72b6\u6001<\/span><\/p>\n<p>        <span class=\"token comment\"># \u8fc7\u8f7d&#xff1a;\u7535\u6d41\u8d8a\u754c\u6301\u7eed\u544a\u8b66<\/span><br \/>\n        <span class=\"token keyword\">if<\/span> cur <span class=\"token operator\">&gt;<\/span> <span class=\"token number\">22.0<\/span><span class=\"token punctuation\">:<\/span><br \/>\n            alert<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;\u8fc7\u8f7d\u544a\u8b66&#xff1a;\u5f53\u524d %.1fA&#034;<\/span> <span class=\"token operator\">%<\/span> cur<span class=\"token punctuation\">)<\/span><br \/>\n            <span class=\"token keyword\">if<\/span> cur <span class=\"token operator\">&gt;<\/span> <span class=\"token number\">24.0<\/span><span class=\"token punctuation\">:<\/span>                        <span class=\"token comment\"># \u903c\u8fd1 25A \u4e0a\u9650&#xff0c;\u7acb\u5373\u65ad\u7535<\/span><br \/>\n                set_power<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">False<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">int<\/span><span class=\"token punctuation\">(<\/span>time<span class=\"token punctuation\">.<\/span>time<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n                alert<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;\u5df2\u81ea\u52a8\u65ad\u7535&#xff1a;\u7535\u6d41 %.1fA \u903c\u8fd1 25A \u4e0a\u9650&#034;<\/span> <span class=\"token operator\">%<\/span> cur<span class=\"token punctuation\">)<\/span><\/p>\n<p>        <span class=\"token comment\"># \u5f02\u5e38\u7528\u7535&#xff1a;\u5df2\u65ad\u7535\u5374\u4ecd\u6709\u7535\u6d41 \u2192 \u7ee7\u7535\u5668\u7c98\u8fde\u6216\u7ebf\u8def\u5f02\u5e38<\/span><br \/>\n        <span class=\"token keyword\">if<\/span> on_state <span class=\"token operator\">&#061;&#061;<\/span> <span class=\"token number\">0<\/span> <span class=\"token keyword\">and<\/span> cur <span class=\"token operator\">&gt;<\/span> <span class=\"token number\">0.5<\/span><span class=\"token punctuation\">:<\/span><br \/>\n            alert<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;\u4e25\u91cd&#xff1a;\u5df2\u65ad\u7535\u4f46\u4ecd\u6709\u7535\u6d41 %.1fA&#xff0c;\u7591\u4f3c\u7ee7\u7535\u5668\u7c98\u8fde&#xff0c;\u8bf7\u4eba\u5de5\u65ad\u7535\u68c0\u4fee&#034;<\/span> <span class=\"token operator\">%<\/span> cur<span class=\"token punctuation\">)<\/span><\/p>\n<p>        <span class=\"token comment\"># \u8fc7\u529f\u7387&#xff1a;MAX 6000W \u4e3a\u963b\u6027\u4e0a\u9650&#xff0c;\u5de5\u7a0b\u5efa\u8bae\u7559\u4f59\u91cf<\/span><br \/>\n        <span class=\"token keyword\">if<\/span> power <span class=\"token operator\">&gt;<\/span> <span class=\"token number\">5000.0<\/span><span class=\"token punctuation\">:<\/span><br \/>\n            alert<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;\u529f\u7387\u504f\u9ad8&#xff1a;%.0fW&#xff0c;\u63a5\u8fd1 6000W \u963b\u6027\u4e0a\u9650&#xff0c;\u5efa\u8bae\u6838\u67e5\u7ebf\u5f84\u4e0e\u7a7a\u5f00&#034;<\/span> <span class=\"token operator\">%<\/span> power<span class=\"token punctuation\">)<\/span><\/p>\n<p>\u8bbe\u8ba1\u8981\u70b9&#xff1a;\u9608\u503c\u8981\u7559\u4f59\u91cf&#xff08;\u4e0d\u8981\u628a 25A \u5f53\u5e38\u6001&#xff09;&#xff0c;\u52a8\u4f5c\u8981\u6709&#034;\u6301\u7eed N \u79d2&#034;\u53bb\u6296&#xff0c;\u907f\u514d\u7535\u673a\u542f\u52a8\u77ac\u95f4\u7684\u51b2\u51fb\u7535\u6d41\u8bef\u5224&#xff1b;\u540c\u65f6\u6240\u6709\u52a8\u4f5c\u90fd\u8981\u843d\u5e93\u7559\u75d5&#xff0c;\u4fbf\u4e8e\u4e8b\u540e\u8ffd\u8d23\u3002\u5efa\u8bae\u628a\u9608\u503c\u505a\u6210\u5206\u7ea7&#xff1a;\u5982 80% \u63d0\u793a\u300195% \u544a\u8b66\u3001100% \u65ad\u7535&#xff0c;\u5f62\u6210&#034;\u9884\u8b66\u2014\u544a\u8b66\u2014\u5207\u9664&#034;\u4e09\u7ea7\u9636\u68af&#xff0c;\u65e2\u4e0d\u8bef\u4f24\u53c8\u5b88\u4f4f\u5e95\u7ebf\u3002<\/p>\n<h3>10.3 \u65e0\u4eba\u503c\u5b88\u4e0e\u8fdc\u7a0b\u91cd\u542f&#xff08;\u73b0\u573a\u8bbe\u5907\u6b7b\u673a\u8fdc\u7a0b\u65ad\u7535\u91cd\u542f&#xff09;<\/h3>\n<p>\u5f88\u591a\u73b0\u573a\u8bbe\u5907&#xff08;\u7f51\u5173\u3001\u8def\u7531\u5668\u3001\u6c34\u6cf5\u63a7\u5236\u7bb1\u3001\u5e7f\u544a\u673a\u3001\u5145\u7535\u6869\u4e3b\u63a7&#xff09;\u4f1a&#034;\u5076\u53d1\u6b7b\u673a&#034;\u3002\u4f20\u7edf\u505a\u6cd5\u662f\u6d3e\u4eba\u5230\u73b0\u573a\u62d4\u63d2\u5934\u3002\u7528 GSCW1M2P \u628a\u8fd9\u7c7b\u8bbe\u5907\u7684\u4f9b\u7535\u8fdb\u7ebf\u4e32\u8fdb\u53bb&#xff0c;\u5c31\u80fd\u5b9e\u73b0&#034;\u8fdc\u7a0b\u4e00\u952e\u786c\u91cd\u542f&#034;&#xff1a;<\/p>\n<ul>\n<li>\u5bf9\u4e0b\u6e38\u8bbe\u5907\u65ad\u7535\u91cd\u542f&#xff1a;\u4e0b\u53d1 controller-event key&#061;0&#xff0c;\u7b49\u5f85 10~30 \u79d2&#xff0c;\u518d\u4e0b\u53d1 key&#061;1&#xff0c;\u4e0b\u6e38\u8bbe\u5907\u5373\u5b8c\u6210\u4e00\u6b21\u51b7\u542f\u52a8\u3002\u8fd9\u662f\u6700\u5e38\u7528\u7684&#034;\u65e0\u4eba\u503c\u5b88\u91cd\u542f&#034;\u3002<\/li>\n<li>\u5bf9\u901a\u65ad\u5668\u81ea\u8eab\u91cd\u542f&#xff1a;\u4e0b\u53d1 controller-restart&#xff08;system:&#034;restart&#034;&#xff09;&#xff0c;\u8ba9\u8bbe\u5907\u81ea\u5df1\u91cd\u542f&#xff08;\u4e0d\u52a8\u7ee7\u7535\u5668&#xff09;&#xff0c;\u9002\u5408\u8bbe\u5907\u7f51\u7edc\u5047\u6b7b\u65f6\u3002<\/li>\n<li>\u6062\u590d\u51fa\u5382&#xff1a;controller-reset&#xff08;system:&#034;reset&#034;&#xff09;\u2014\u2014\u614e\u7528&#xff0c;\u4f1a\u4e22\u5931\u914d\u7f6e\u3002<\/li>\n<\/ul>\n<p><span class=\"token keyword\">def<\/span> <span class=\"token function\">remote_reboot_downstream<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> off_seconds<span class=\"token punctuation\">:<\/span> <span class=\"token builtin\">int<\/span> <span class=\"token operator\">&#061;<\/span> <span class=\"token number\">20<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    seq <span class=\"token operator\">&#061;<\/span> <span class=\"token builtin\">int<\/span><span class=\"token punctuation\">(<\/span>time<span class=\"token punctuation\">.<\/span>time<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    set_power<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">False<\/span><span class=\"token punctuation\">,<\/span> seq<span class=\"token punctuation\">)<\/span>          <span class=\"token comment\"># \u5148\u65ad\u7535<\/span><br \/>\n    time<span class=\"token punctuation\">.<\/span>sleep<span class=\"token punctuation\">(<\/span>off_seconds<span class=\"token punctuation\">)<\/span>                <span class=\"token comment\"># \u7b49\u7535\u5bb9\u653e\u51c0\u3001\u8bbe\u5907\u5f7b\u5e95\u505c\u673a<\/span><br \/>\n    set_power<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">True<\/span><span class=\"token punctuation\">,<\/span> seq <span class=\"token operator\">&#043;<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span>       <span class=\"token comment\"># \u518d\u4e0a\u7535&#xff0c;\u5b8c\u6210\u51b7\u542f\u52a8<\/span><\/p>\n<p><span class=\"token keyword\">def<\/span> <span class=\"token function\">reboot_self<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    <span class=\"token triple-quoted-string string\">&#034;&#034;&#034;\u91cd\u542f\u901a\u65ad\u5668\u81ea\u8eab&#xff08;\u4e0d\u52a8\u4f5c\u7ee7\u7535\u5668&#xff09;&#034;&#034;&#034;<\/span><br \/>\n    client<span class=\"token punctuation\">.<\/span>publish<span class=\"token punctuation\">(<\/span>CMD_TOPIC<span class=\"token punctuation\">,<\/span> json<span class=\"token punctuation\">.<\/span>dumps<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">{<\/span><br \/>\n        <span class=\"token string\">&#034;commandName&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;controller-restart&#034;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n        <span class=\"token string\">&#034;type&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;setting&#034;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n        <span class=\"token string\">&#034;system&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">&#034;restart&#034;<\/span><span class=\"token punctuation\">,<\/span><br \/>\n        <span class=\"token string\">&#034;messageId&#034;<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token builtin\">int<\/span><span class=\"token punctuation\">(<\/span>time<span class=\"token punctuation\">.<\/span>time<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span><br \/>\n    <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">,<\/span> qos<span class=\"token operator\">&#061;<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><\/p>\n<p>\u6ce8\u610f\u70b9&#xff1a;\u2460 \u65ad\u7535\u91cd\u542f\u524d\u8981\u786e\u8ba4\u4e0b\u6e38\u8bbe\u5907\u5141\u8bb8\u610f\u5916\u65ad\u7535&#xff08;NAS\u3001\u6b63\u5728\u5199\u76d8\u7684\u670d\u52a1\u5668\u4e0d\u80fd\u786c\u5207&#xff09;&#xff1b;\u2461 \u91cd\u542f\u7c7b\u64cd\u4f5c\u8981\u4e0e setting-on-state&#xff08;\u4e0a\u7535\u9ed8\u8ba4\u72b6\u6001&#xff09;\u914d\u5408\u2014\u2014\u8bbe\u4e3a onState:0&#xff08;\u8bb0\u5fc6&#xff09;\u53ef\u8ba9\u610f\u5916\u65ad\u7535\u540e\u6309\u539f\u72b6\u6001\u6062\u590d&#xff0c;\u8bbe\u4e3a onState:2&#xff08;\u5f00\u542f&#xff09;\u53ef\u4fdd\u8bc1&#034;\u6765\u7535\u5373\u5de5\u4f5c&#034;&#xff1b;\u2462 \u5efa\u8bae\u52a0&#034;\u91cd\u8bd5\u4e0a\u9650&#034;&#xff0c;\u907f\u514d\u65e0\u9650\u91cd\u542f\u653e\u5927\u6545\u969c\u3002<\/p>\n<h3>10.4 \u4e0e\u5176\u4ed6\u8bbe\u5907\u8054\u52a8&#xff08;\u6e29\u6e7f\u5ea6\/\u95e8\u78c1\/\u4eba\u4f53\u611f\u5e94 \u2192 \u63a7\u5236\u5927\u529f\u7387\u8bbe\u5907&#xff09;<\/h3>\n<p>GSCW1M2P \u672c\u8eab\u4e0d\u63a5\u4f20\u611f\u5668&#xff0c;\u4f46\u5b83\u662f\u5b8c\u7f8e\u7684\u6267\u884c\u672b\u7aef&#xff1a;\u4f20\u611f\u5668\u6570\u636e\u8fdb\u5e73\u53f0&#xff0c;\u5e73\u53f0\u505a\u5224\u65ad&#xff0c;\u518d\u7528 controller-event \u9a71\u52a8\u5b83\u3002\u8fd9\u5c31\u662f&#034;\u4f20\u611f\u5668 &#043; \u5e73\u53f0 &#043; \u901a\u65ad\u5668&#034;\u7684\u6807\u51c6\u8054\u52a8\u94fe\u8def\u3002<\/p>\n<table>\n<tr>\u89e6\u53d1\u6e90\u5224\u65ad\u903b\u8f91&#xff08;\u5e73\u53f0\u4fa7&#xff09;\u6267\u884c&#xff08;\u5bf9\u901a\u65ad\u5668\u4e0b\u53d1&#xff09;<\/tr>\n<tbody>\n<tr>\n<td>\u6e29\u6e7f\u5ea6\u4f20\u611f\u5668<\/td>\n<td>\u6e29\u5ea6 &gt; 30\u2103 \u4e14\u6e7f\u5ea6 &gt; 70%<\/td>\n<td>key&#061;1 \u5f00\u9664\u6e7f\u673a\/\u98ce\u673a<\/td>\n<\/tr>\n<tr>\n<td>\u95e8\u78c1<\/td>\n<td>\u95e8\u5f00 &gt; 5 \u5206\u949f\u4e14\u65e0\u4eba\u4f53\u4fe1\u53f7<\/td>\n<td>key&#061;0 \u5207\u65ad\u5b9e\u9a8c\u53f0\/\u5145\u7535\u4f4d<\/td>\n<\/tr>\n<tr>\n<td>\u4eba\u4f53\u611f\u5e94<\/td>\n<td>\u65e0\u4eba\u8d85 15 \u5206\u949f<\/td>\n<td>key&#061;0 \u5173\u706f\/\u5173\u7a7a\u8c03<\/td>\n<\/tr>\n<tr>\n<td>\u6c34\u6d78\u4f20\u611f\u5668<\/td>\n<td>\u68c0\u6d4b\u5230\u6f0f\u6c34<\/td>\n<td>\u7acb\u5373 key&#061;0 \u5207\u65ad\u52a0\u70ed\u7c7b\u8d1f\u8f7d<\/td>\n<\/tr>\n<tr>\n<td>\u70df\u96fe\/\u6e29\u5ea6\u5f02\u5e38<\/td>\n<td>\u6e29\u5ea6\u9aa4\u5347\u6216\u70df\u96fe\u89e6\u53d1<\/td>\n<td>key&#061;0 \u5207\u65ad\u5927\u529f\u7387\u8d1f\u8f7d\u5e76\u544a\u8b66<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span class=\"token keyword\">def<\/span> <span class=\"token function\">on_sensor_event<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> event<span class=\"token punctuation\">:<\/span> <span class=\"token builtin\">dict<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    <span class=\"token triple-quoted-string string\">&#034;&#034;&#034;\u4f20\u611f\u5668\u4e8b\u4ef6\u7edf\u4e00\u5165\u53e3&#xff1a;event \u91cc\u662f\u540c\u5e73\u53f0\u5185\u7684\u8bbe\u5907\u6570\u636e&#034;&#034;&#034;<\/span><br \/>\n    <span class=\"token keyword\">if<\/span> event<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;type&#034;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&#061;<\/span> <span class=\"token string\">&#034;water_leak&#034;<\/span> <span class=\"token keyword\">and<\/span> event<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;value&#034;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&#061;<\/span> <span class=\"token number\">1<\/span><span class=\"token punctuation\">:<\/span><br \/>\n        set_power<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">False<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">int<\/span><span class=\"token punctuation\">(<\/span>time<span class=\"token punctuation\">.<\/span>time<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span>   <span class=\"token comment\"># \u6f0f\u6c34\u2192\u7acb\u5373\u5207\u65ad\u52a0\u70ed\u8bbe\u5907<\/span><br \/>\n        alert<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;\u6c34\u6d78\u89e6\u53d1&#xff0c;\u5df2\u5207\u65ad\u70ed\u6c34\u5668\u4f9b\u7535&#034;<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token keyword\">if<\/span> event<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;type&#034;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&#061;&#061;<\/span> <span class=\"token string\">&#034;temperature&#034;<\/span> <span class=\"token keyword\">and<\/span> event<span class=\"token punctuation\">.<\/span>get<span class=\"token punctuation\">(<\/span><span class=\"token string\">&#034;value&#034;<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">&gt;<\/span> <span class=\"token number\">30<\/span><span class=\"token punctuation\">:<\/span><br \/>\n        set_power<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">True<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token builtin\">int<\/span><span class=\"token punctuation\">(<\/span>time<span class=\"token punctuation\">.<\/span>time<span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span>     <span class=\"token comment\"># \u8fc7\u70ed\u2192\u5f00\u901a\u98ce\/\u9664\u6e7f<\/span><\/p>\n<p>\u8054\u52a8\u8bbe\u8ba1\u4e09\u539f\u5219&#xff1a;\u2460 \u5b89\u5168\u7c7b\u8054\u52a8&#xff08;\u6c34\u6d78\u3001\u70df\u96fe&#xff09;\u53d6&#034;\u5931\u6548\u5b89\u5168&#034;\u2014\u2014\u5931\u8054\/\u5f02\u5e38\u5373\u65ad\u7535&#xff1b;\u2461 \u8212\u9002\u7c7b\u8054\u52a8&#xff08;\u6e29\u6e7f\u5ea6&#xff09;\u53d6&#034;\u6e29\u548c\u7b56\u7565&#034;\u2014\u2014\u52a0\u53bb\u6296\u3001\u52a0\u65f6\u95f4\u7a97&#xff0c;\u907f\u514d\u8bbe\u5907\u9891\u7e41\u542f\u505c&#xff08;\u540c\u65f6\u7167\u987e 5 \u4e07\u6b21\u7535\u6c14\u5bff\u547d&#xff09;&#xff1b;\u2462 \u4eba\u673a\u51b2\u7a81\u5904\u7406\u2014\u2014\u624b\u52a8\u64cd\u4f5c\u4f18\u5148\u7ea7\u9ad8\u4e8e\u81ea\u52a8&#xff0c;\u81ea\u52a8\u89c4\u5219\u8981\u6709&#034;\u624b\u52a8\u8986\u76d6&#034;\u5165\u53e3\u3002<\/p>\n<p>\u26a0\ufe0f \u5168\u7ae0\u5b89\u5168\u518d\u5f3a\u8c03&#xff1a;\u672c\u7ae0\u6240\u6709&#034;\u81ea\u52a8\u65ad\u7535&#034;\u90fd\u662f\u8f6f\u4ef6\u5c42\u4fdd\u62a4&#xff0c;\u5b83\u5efa\u7acb\u5728&#034;\u5e73\u53f0\u5728\u7ebf &#043; \u7f51\u7edc\u901a\u7545&#034;\u7684\u524d\u63d0\u4e0b\u3002\u771f\u6b63\u7684\u7535\u6c14\u5b89\u5168\u4ecd\u7531\u7a7a\u5f00\u3001\u6f0f\u4fdd\u3001\u70ed\u7ee7\u7535\u5668\u7b49\u786c\u4ef6\u4fdd\u969c\u3002\u8f6f\u4ef6\u4fdd\u62a4\u662f&#034;\u9526\u4e0a\u6dfb\u82b1&#034;&#xff0c;\u786c\u4ef6\u4fdd\u62a4\u662f&#034;\u4fdd\u547d\u5e95\u7ebf&#034;\u3002<\/p>\n<p>\u672c\u7ae0\u8981\u70b9 \/ \u843d\u5730\u6e05\u5355<\/p>\n<ul>\n<li>\u5b9a\u65f6 &#061; \u5e73\u53f0\u8c03\u5ea6\u4e0b\u53d1 controller-event &#043; \u8bbe\u5907 device-timer-interval \u4e0a\u62a5\u505a\u95ed\u73af&#xff1b;<\/li>\n<li>\u8fc7\u8f7d\/\u5f02\u5e38\u4fdd\u62a4\u53ea\u80fd\u5728\u5e73\u53f0\u4fa7\u5b9e\u73b0&#xff08;\u8bbe\u5907\u65e0\u539f\u751f\u9608\u503c\u6307\u4ee4&#xff09;&#xff0c;\u9608\u503c\u7559\u4f59\u91cf\u3001\u52a8\u4f5c\u53bb\u6296\u3001\u7ed3\u679c\u7559\u75d5&#xff1b;<\/li>\n<li>\u65e0\u4eba\u503c\u5b88\u91cd\u542f\u9996\u9009&#034;\u65ad\u7535 N \u79d2\u518d\u4e0a\u7535&#034;&#xff0c;\u614e\u7528 controller-reset&#xff1b;<\/li>\n<li>\u4f20\u611f\u5668\u8054\u52a8\u4e2d\u5b89\u5168\u7c7b\u53d6&#034;\u5931\u6548\u5b89\u5168&#034;&#xff0c;\u8212\u9002\u7c7b\u53d6&#034;\u6e29\u548c\u7b56\u7565&#034;&#xff1b;<\/li>\n<li>\u8f6f\u4ef6\u4fdd\u62a4 \u2260 \u7535\u6c14\u4fdd\u62a4&#xff0c;\u786c\u4ef6\u4fdd\u62a4\u6c38\u8fdc\u662f\u7b2c\u4e00\u9053\u9632\u7ebf\u3002<\/li>\n<\/ul>\n<hr \/>\n<h2>\u7b2c 11 \u7ae0 \u5b89\u88c5\u4e0e\u65bd\u5de5&#xff1a;25A \u662f&#034;\u7535\u5de5\u6d3b&#034;<\/h2>\n<p>\u4e00\u53e5\u8bdd\u70b9\u9898&#xff1a;25A\/6000W \u5df2\u7ecf\u8fdb\u5165&#034;\u5fc5\u987b\u6301\u8bc1\u7535\u5de5\u3001\u5fc5\u987b\u6309\u89c4\u8303\u63a5\u7ebf&#034;\u7684\u5de5\u7a0b\u8303\u7574&#xff0c;\u672c\u7ae0\u7ed9\u51fa\u4ece\u9009\u4f4d\u3001\u63a5\u7ebf\u3001\u8d1f\u8f7d\u5339\u914d\u5230\u4fdd\u62a4\u914d\u5408\u3001\u6279\u91cf\u9a8c\u6536\u7684\u5b8c\u6574\u65bd\u5de5\u53e3\u5f84\u3002<\/p>\n<h3>11.1 \u5b89\u88c5\u5f62\u6001\u4e0e\u4f4d\u7f6e&#xff08;\u63a5\u7ebf\u5f0f\u3001\u914d\u7535\u7bb1\u5185\/\u8bbe\u5907\u65c1\u3001\u6563\u70ed\u4e0e\u7a7a\u95f4&#xff09;<\/h3>\n<p>GSCW1M2P \u662f\u63a5\u7ebf\u5f0f\u8bbe\u5907&#xff08;\u4e0d\u662f\u63d2\u5934\u5f0f&#xff09;&#xff0c;\u8fdb\u51fa\u7ebf\u90fd\u8981\u7528\u5bfc\u7ebf\u538b\u63a5\u7aef\u5b50\u3002\u7269\u7406\u5c3a\u5bf8 50mm \u00d7 110mm \u00d7 32mm&#xff0c;\u5916\u58f3\u963b\u71c3 V0 \u7ea7&#xff0c;\u9002\u5408\u4e24\u79cd\u5b89\u88c5\u4f4d\u7f6e&#xff1a;<\/p>\n<ul>\n<li>\u914d\u7535\u7bb1\u5185&#xff08;DIN \u5bfc\u8f68\u533a\u6216\u7bb1\u5185\u7a7a\u4f4d&#xff09;&#xff1a;\u7f8e\u89c2\u3001\u96c6\u4e2d\u3001\u4fbf\u4e8e\u7edf\u4e00\u4fdd\u62a4&#xff0c;\u9002\u5408\u6279\u91cf\u3001\u591a\u56de\u8def\u573a\u666f\u3002\u6ce8\u610f\u7bb1\u5185\u9884\u7559\u8d70\u7ebf\u7a7a\u95f4&#xff0c;\u8bbe\u5907\u4e24\u4fa7\u5404\u7559 \u226530mm \u4fbf\u4e8e\u63a5\u7ebf\u4e0e\u6563\u70ed\u3002<\/li>\n<li>\u8bbe\u5907\u65c1&#xff08;\u5c31\u8fd1\u5b89\u88c5&#xff09;&#xff1a;\u9002\u5408&#034;\u53ea\u6539\u4e00\u53f0\u8bbe\u5907&#034;\u7684\u573a\u666f&#xff0c;\u51cf\u5c11\u957f\u8ddd\u79bb\u5927\u7535\u6d41\u8d70\u7ebf\u635f\u8017\u3002<\/li>\n<\/ul>\n<p>\u6563\u70ed\u4e0e\u7a7a\u95f4\u8981\u70b9&#xff1a;\u8bbe\u5907\u5f85\u673a\u529f\u7387 &lt; 4W&#xff0c;\u81ea\u8eab\u53d1\u70ed\u5f88\u5c0f&#xff0c;\u4f46\u7aef\u5b50\u4e0e\u5bfc\u7ebf\u5728\u5927\u7535\u6d41\u4e0b\u4f1a\u53d1\u70ed\u3002\u56e0\u6b64&#xff1a;\u2460 \u4e0d\u8981\u628a\u5b83\u5bc6\u8d34\u5728\u5176\u4ed6\u53d1\u70ed\u5143\u4ef6\u65c1&#xff1b;\u2461 \u7bb1\u5185\u4fdd\u6301\u901a\u98ce&#xff0c;\u73af\u5883\u6e29\u5ea6\u4e0d\u5b9c\u957f\u671f\u9ad8\u4e8e 40\u2103&#xff1b;\u2462 \u5bfc\u7ebf\u5f2f\u6298\u534a\u5f84\u8981\u8db3&#xff0c;\u907f\u514d\u7aef\u5b50\u53d7\u529b\u3002\u7edd\u5bf9\u7981\u6b62&#xff1a;\u88c5\u5728\u6f6e\u6e7f\u3001\u6dcb\u6c34\u3001\u6613\u71c3\u3001\u6709\u8150\u8680\u6027\u6c14\u4f53\u6216\u513f\u7ae5\u53ef\u89e6\u53ca\u7684\u4f4d\u7f6e\u3002<\/p>\n<h3>11.2 \u63a5\u7ebf\u89c4\u8303&#xff1a;\u8fdb\u7ebf\/\u51fa\u7ebf\u3001\u5bfc\u7ebf\u7ebf\u5f84\u4e0e 25A \u5339\u914d\u3001\u7aef\u5b50\u538b\u63a5\u3001\u7edd\u7f18\u4e0e\u56fa\u5b9a<\/h3>\n<p>\u8fd9\u662f\u5168\u7ae0\u6700\u9700\u8981&#034;\u7167\u505a&#034;\u7684\u90e8\u5206\u3002<\/p>\n<p>\u2460 \u62d3\u6251&#xff1a;\u5e02\u7535\u8fdb\u7ebf&#xff08;L\u3001N&#xff09;\u2192 \u7a7a\u5f00\/\u6f0f\u4fdd \u2192 \u901a\u65ad\u5668\u8fdb\u7ebf\u7aef \u2192 \u901a\u65ad\u5668\u51fa\u7ebf\u7aef \u2192 \u8d1f\u8f7d\u3002\u8bbe\u5907\u4e3a\u5355\u8def&#xff0c;\u53ea\u63a7\u4e00\u6839\u7ebf&#xff08;L \u6216 N&#xff09;&#xff0c;\u4e00\u8def\u4e00\u4e2a\u56de\u8def&#xff0c;\u4e0d\u8981\u8bd5\u56fe\u63a5\u6210\u591a\u8def\u3002<\/p>\n<p>\u2461 \u7ebf\u5f84&#xff1a;\u5de5\u4f5c\u7535\u6d41 25A&#xff0c;\u5bfc\u7ebf\u7ebf\u5f84\u5fc5\u987b\u4e0e\u4e4b\u5339\u914d\u3002\u53c2\u8003&#xff1a;\u22654mm\u00b2 \u94dc\u82af&#xff08;\u957f\u8ddd\u79bb\u3001\u9ad8\u6e29\u3001\u957f\u65f6\u95f4\u6ee1\u8f7d\u5efa\u8bae\u4e0a\u5230 6mm\u00b2&#xff09;\u3002\u7ebf\u5f84\u504f\u5c0f \u2192 \u538b\u964d\u5927\u3001\u53d1\u70ed\u3001\u7edd\u7f18\u8001\u5316&#xff0c;\u662f\u706b\u707e\u9690\u60a3\u3002<\/p>\n<p>\u2462 \u7aef\u5b50\u538b\u63a5&#xff1a;\u591a\u80a1\u8f6f\u7ebf\u5fc5\u987b\u7528\u51b7\u538b\u7aef\u5b50&#xff08;\u7ebf\u9f3b&#xff09;\u538b\u63a5\u540e\u518d\u63d2\u5165\u7aef\u5b50&#xff0c;\u7981\u6b62&#034;\u88f8\u94dc\u4e1d\u76f4\u63a5\u62e7&#034;\u3002\u538b\u63a5\u8981\u7262&#xff0c;\u63d2\u5165\u540e\u9010\u4e00\u62e7\u7d27\u529b\u77e9\u5230\u4f4d&#xff0c;\u8f7b\u62c9\u4e0d\u8131\u3002<\/p>\n<p>\u2463 \u7edd\u7f18\u4e0e\u56fa\u5b9a&#xff1a;\u63a5\u7ebf\u5b8c\u6210\u540e\u6062\u590d\u7edd\u7f18\u62a4\u5957&#xff0c;\u88f8\u9732\u5bfc\u4f53\u4e0d\u5f97\u5916\u9732&#xff1b;\u8bbe\u5907\u7528\u5bfc\u8f68\u6216\u87ba\u9489\u56fa\u5b9a\u7262\u56fa&#xff0c;\u5bfc\u7ebf\u7528\u624e\u5e26\u6574\u7406&#xff0c;\u907f\u514d\u7aef\u5b50\u957f\u671f\u53d7\u62c9\u626f\u3002<\/p>\n<p>\u2464 \u76f8\/\u96f6\u4e0e\u63a5\u5730&#xff1a;\u8fdb\u7ebf\u5206\u6e05\u706b\u7ebf&#xff08;L&#xff09;\u4e0e\u96f6\u7ebf&#xff08;N&#xff09;&#xff0c;\u4e0d\u8981\u628a\u76f8\u96f6\u63a5\u53cd&#xff1b;\u8d1f\u8f7d\u91d1\u5c5e\u5916\u58f3\u5fc5\u987b\u53ef\u9760\u63a5\u5730&#xff08;PE&#xff09;\u3002\u8bbe\u5907\u5916\u58f3\u867d\u4e3a V0 \u7ea7\u963b\u71c3&#xff0c;\u4f46\u63a5\u5730\u662f\u4eba\u8eab\u5b89\u5168\u7684\u6700\u540e\u4e00\u9053\u4fdd\u969c\u3002<\/p>\n<p>        \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 L(\u706b) \u2500\u2500\u2500\u2500\u2510<br \/>\n\u5e02\u7535 \u2500\u2500\u2500\u2524                        \u251c\u2500 \u7a7a\u5f00 \u2500[\u8fdb\u7ebf] \u901a\u65ad\u5668 [\u51fa\u7ebf]\u2500 \u8d1f\u8f7d<br \/>\n        \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 N(\u96f6) \u2500\u2500\u2500\u2500\u2500\u2518                    \u2502<br \/>\n                                              PE(\u5730)\u2014\u2534\u2014 \u8d1f\u8f7d\u5916\u58f3\u63a5\u5730<\/p>\n<p>\u26a0\ufe0f \u65bd\u5de5\u94c1\u5f8b&#xff1a;\u65ad\u7535\u2192\u9a8c\u7535\u2192\u6302\u724c\u2192\u63a5\u7ebf\u2192\u590d\u68c0\u2192\u9001\u7535\u3002\u65ad\u7535\u540e\u7528\u9a8c\u7535\u7b14\u786e\u8ba4\u65e0\u7535&#xff1b;\u63a5\u7ebf\u5168\u7a0b\u4e00\u4eba\u64cd\u4f5c\u4e00\u4eba\u76d1\u62a4&#xff1b;\u4e25\u7981\u5e26\u7535\u63a5\u7ebf\u3002\u591a\u56de\u8def\u4f5c\u4e1a\u65f6&#xff0c;\u6bcf\u4e2a\u56de\u8def\u5355\u72ec\u6302\u724c\u3001\u5355\u72ec\u9a8c\u7535&#xff0c;\u907f\u514d&#034;\u4ee5\u4e3a\u65ad\u4e86\u5176\u5b9e\u6ca1\u65ad&#034;\u7684\u81f4\u547d\u758f\u5ffd\u3002<\/p>\n<h3>11.3 \u8d1f\u8f7d\u5339\u914d&#xff1a;\u963b\u6027 6000W \u4e0a\u9650&#xff1b;\u611f\u6027\u8d1f\u8f7d\u964d\u989d\u4e0e\u63a5\u89e6\u5668\u65b9\u6848<\/h3>\n<p>\u8bbe\u5907\u6807\u6ce8 MAX 6000W&#xff08;\u963b\u6027\u8d1f\u8f7d&#xff09;\u3001\u5de5\u4f5c\u7535\u6d41 25A\u3002\u9009\u578b\u52a1\u5fc5\u5206\u6e05\u8d1f\u8f7d\u6027\u8d28&#xff1a;<\/p>\n<ul>\n<li>\u963b\u6027\u8d1f\u8f7d&#xff08;\u70ed\u6c34\u5668\u3001\u7535\u6696\u3001\u767d\u70bd\/\u5364\u7d20\u706f\u3001\u52a0\u70ed\u7ba1&#xff09;&#xff1a;\u529f\u7387\u56e0\u6570\u4e3a 1&#xff0c;\u53ef\u76f4\u63a5\u63a5\u5165\u3002\u4f46\u4ecd\u5efa\u8bae\u7559 20%~30% \u4f59\u91cf\u2014\u2014\u6309\u73b0\u573a\u7535\u538b\u6838\u7b97&#xff08;220V \u4e0b 25A \u2248 5500W&#xff09;&#xff0c;\u5de5\u7a0b\u4e0a\u5355\u8def\u963b\u6027\u8d1f\u8f7d\u5efa\u8bae \u2264 5000W \u66f4\u7a33\u59a5&#xff0c;\u628a 6000W \u5f53\u4f5c&#034;\u4e0a\u9650&#034;\u800c\u975e&#034;\u5e38\u6001&#034;\u3002<\/li>\n<li>\u611f\u6027\u8d1f\u8f7d&#xff08;\u7535\u673a\u3001\u538b\u7f29\u673a\u3001\u6c34\u6cf5\u3001\u98ce\u6247&#xff09;&#xff1a;\u542f\u52a8\u7535\u6d41\u53ef\u8fbe\u989d\u5b9a 3~8 \u500d&#xff0c;25A \u89e6\u70b9\u4f1a\u88ab\u542f\u52a8\u6d6a\u6d8c\u53cd\u590d\u51b2\u51fb&#xff0c;\u5fc5\u987b\u964d\u989d&#xff1a;\u7535\u673a\u7c7b\u8d1f\u8f7d\u529f\u7387\u5efa\u8bae\u63a7\u5236\u5728\u989d\u5b9a 25A \u7684 1\/3~1\/2&#xff0c;\u4e14\u4f18\u5148\u7528\u63a5\u89e6\u5668\u6269\u6d41\u2014\u2014\u8ba9 GSCW1M2P \u53bb\u9a71\u52a8\u63a5\u89e6\u5668\u7ebf\u5708&#xff0c;\u7531\u63a5\u89e6\u5668\u5927\u89e6\u70b9\u53bb\u5207\u7535\u673a\u4e3b\u56de\u8def\u3002<\/li>\n<li>\u5bb9\u6027\/\u975e\u7ebf\u6027\u8d1f\u8f7d&#xff08;\u6709\u6574\u6d41\u3001\u53d8\u9891\u3001LED \u9a71\u52a8&#xff09;&#xff1a;\u529f\u7387\u56e0\u6570\u4f4e&#xff0c;power&#xff08;\u89c6\u5728&#xff09;\u4f1a\u660e\u663e\u5927\u4e8e\u6709\u529f&#xff0c;\u4e14\u6d6a\u6d8c\u5927&#xff0c;\u540c\u6837\u5efa\u8bae\u964d\u989d\u6216\u52a0\u63a5\u89e6\u5668\u3002<\/li>\n<\/ul>\n<p>\u63a5\u89e6\u5668\u65b9\u6848&#xff08;\u611f\u6027\u8d1f\u8f7d\u6807\u51c6\u505a\u6cd5&#xff09;&#xff1a;<\/p>\n<p>\u5e02\u7535 \u2500 \u7a7a\u5f00 \u2500\u252c\u2500 \u901a\u65ad\u5668 \u2500 \u63a5\u89e6\u5668\u7ebf\u5708(A1\/A2)<br \/>\n             \u2514\u2500 \u63a5\u89e6\u5668\u4e3b\u89e6\u70b9 \u2500 \u7535\u673a\/\u6c34\u6cf5\u7b49\u611f\u6027\u8d1f\u8f7d<\/p>\n<p>\u8fd9\u6837\u901a\u65ad\u5668\u53ea\u627f\u62c5\u5f88\u5c0f\u7684\u7ebf\u5708\u7535\u6d41&#xff0c;\u611f\u6027\u5927\u7535\u6d41\u7531\u63a5\u89e6\u5668\u627f\u62c5&#xff0c;\u65e2\u4fdd\u62a4\u8bbe\u5907\u89e6\u70b9\u5bff\u547d&#xff0c;\u53c8\u4fdd\u8bc1\u542f\u52a8\u53ef\u9760\u3002<\/p>\n<h3>11.4 \u4fdd\u62a4\u914d\u5408&#xff1a;\u7a7a\u5f00\u3001\u6f0f\u4fdd\u3001\u6d6a\u6d8c<\/h3>\n<p>\u8fd9\u662f 25A \u573a\u666f\u7684\u751f\u547d\u7ebf&#xff0c;\u8f6f\u4ef6\u4fdd\u62a4\u65e0\u6cd5\u66ff\u4ee3\u3002 \u5efa\u8bae\u4e09\u9053\u786c\u4ef6\u4fdd\u62a4\u5c42\u5c42\u914d\u5408&#xff1a;<\/p>\n<table>\n<tr>\u4fdd\u62a4\u5668\u4ef6\u4f5c\u7528\u914d\u7f6e\u5efa\u8bae<\/tr>\n<tbody>\n<tr>\n<td>\u7a7a\u5f00&#xff08;\u65ad\u8def\u5668&#xff09;<\/td>\n<td>\u8fc7\u8f7d\/\u77ed\u8def\u4fdd\u62a4<\/td>\n<td>\u6309 25A \u8bbe\u5907\u9009 C25\/C32&#xff08;C \u578b\u6297\u7535\u673a\u542f\u52a8\u51b2\u51fb&#xff09;&#xff1b;\u7a7a\u5f00\u989d\u5b9a\u4e0d\u5f97\u5927\u4e8e\u5bfc\u7ebf\u8f7d\u6d41\u91cf<\/td>\n<\/tr>\n<tr>\n<td>\u6f0f\u7535\u4fdd\u62a4\u5668&#xff08;RCD&#xff09;<\/td>\n<td>\u4eba\u8eab\u89e6\u7535\/\u6f0f\u7535\u4fdd\u62a4<\/td>\n<td>\u5bf9\u70ed\u6c34\u5668\u3001\u7535\u52a8\u8f66\u68da\u3001\u6237\u5916\u6c34\u6cf5\u7b49\u5fc5\u987b\u52a0&#xff0c;\u52a8\u4f5c\u7535\u6d41 30mA&#xff08;\u4eba\u8eab&#xff09;\u3001100~300mA&#xff08;\u9632\u706b\u53ef\u9009&#xff09;<\/td>\n<\/tr>\n<tr>\n<td>\u6d6a\u6d8c\u4fdd\u62a4\u5668&#xff08;SPD&#xff09;<\/td>\n<td>\u96f7\u51fb\/\u6d6a\u6d8c\u9632\u62a4<\/td>\n<td>\u6237\u5916\u3001\u519c\u4e1a\u3001\u96f7\u533a\u3001\u6709\u53d8\u9891\u8bbe\u5907\u7684\u56de\u8def\u5efa\u8bae\u52a0\u88c5<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u914d\u5408\u539f\u5219&#xff1a;\u2460 \u4fdd\u62a4\u5668\u7684\u989d\u5b9a\u7535\u6d41 \u2264 \u5bfc\u7ebf\u8f7d\u6d41\u91cf&#xff0c;\u4e14 \u2264 \u901a\u65ad\u5668\u8010\u53d7\u80fd\u529b&#xff1b;\u2461 \u7a7a\u5f00\u8df3\u95f8\u7535\u6d41\u8981\u5927\u4e8e\u8bbe\u5907\u6b63\u5e38\u542f\u52a8\u7535\u6d41\u3001\u5c0f\u4e8e\u77ed\u8def\u7535\u6d41&#xff1b;\u2462 \u6f0f\u4fdd\u4e0e\u7a7a\u5f00\u53ef\u7ec4\u5408\u6210&#034;\u6f0f\u7535\u65ad\u8def\u5668&#034;\u3002\u5148\u786c\u4ef6\u4fdd\u62a4\u3001\u540e\u8f6f\u4ef6\u4fdd\u62a4&#xff0c;\u987a\u5e8f\u4e0d\u80fd\u98a0\u5012\u3002<\/p>\n<h3>11.5 \u6279\u91cf\u65bd\u5de5\u6d41\u7a0b&#xff08;\u542b\u53ef\u6253\u5370\u5de5\u5e8f\u5361&#xff09;\u4e0e\u9a8c\u6536\u8981\u70b9<\/h3>\n<p>\u6279\u91cf\u65bd\u5de5\u516d\u6b65&#xff1a;\u2460 \u73b0\u573a\u52d8\u67e5&#xff08;\u56de\u8def\u3001\u529f\u7387\u3001\u7ebf\u5f84\u3001\u4f4d\u7f6e&#xff09;&#xff1b;\u2461 \u51fa\u63a5\u7ebf\u56fe\u4e0e\u6750\u6599\u6e05\u5355&#xff1b;\u2462 \u505c\u7535\u3001\u9a8c\u7535\u3001\u6302\u724c&#xff1b;\u2463 \u6309\u5de5\u5e8f\u5361\u9010\u53f0\u63a5\u7ebf\u3001\u56fa\u5b9a&#xff1b;\u2464 \u5355\u53f0\u901a\u7535\u81ea\u68c0&#xff08;\u914d\u7f51\u3001MQTT \u8fde\u63a5\u3001\u4e0a\u62a5\u6b63\u5e38&#xff09;&#xff1b;\u2465 \u6574\u6279\u8054\u8c03\u4e0e\u9a8c\u6536\u3002<\/p>\n<p>\u53ef\u6253\u5370\u5de5\u5e8f\u5361&#xff08;\u6bcf\u56de\u8def\u4e00\u5f20&#xff09;&#xff1a;<\/p>\n<p>\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n\u2502 GSCW1M2P \u65bd\u5de5\u5de5\u5e8f\u5361            \u56de\u8def\u7f16\u53f7&#xff1a;______ \u2502<br \/>\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524<br \/>\n\u2502 1. \u8d1f\u8f7d\u540d\u79f0\/\u529f\u7387\/\u6027\u8d28(\u963b\u6027\/\u611f\u6027)&#xff1a;____________ \u2502<br \/>\n\u2502 2. \u5bfc\u7ebf\u7ebf\u5f84&#xff1a;____mm\u00b2   \u7a7a\u5f00&#xff1a;____A  \u6f0f\u4fdd&#xff1a;\u6709\/\u65e0 \u2502<br \/>\n\u2502 3. [ ] \u5df2\u65ad\u7535  [ ] \u5df2\u9a8c\u7535  [ ] \u5df2\u6302\u724c           \u2502<br \/>\n\u2502 4. \u8fdb\u7ebf\u7aef L\/N \u63a5\u7ebf\u7262\u56fa  [ ]                      \u2502<br \/>\n\u2502 5. \u51fa\u7ebf\u7aef\u81f3\u8d1f\u8f7d\u63a5\u7ebf\u7262\u56fa [ ]                      \u2502<br \/>\n\u2502 6. \u7aef\u5b50\u538b\u63a5(\u51b7\u538b\u7aef\u5b50)\u5230\u4f4d&#xff0c;\u529b\u77e9\u5230\u4f4d  [ ]         \u2502<br \/>\n\u2502 7. \u63a5\u5730\/\u7edd\u7f18\u6062\u590d  [ ]    \u8bbe\u5907\u56fa\u5b9a\u7262\u56fa  [ ]       \u2502<br \/>\n\u2502 8. \u901a\u7535\u81ea\u68c0&#xff1a;\u914d\u7f51[ ] MQTT\u8fde\u63a5[ ] \u4e0a\u62a5[ ] \u901a\u65ad[ ] \u2502<br \/>\n\u2502 9. \u7528\u7535\u91c7\u96c6\u8bfb\u6570&#xff1a;V___ A___ W___ kWh___          \u2502<br \/>\n\u2502 10. \u65bd\u5de5\u4eba&#xff1a;____  \u76d1\u62a4&#xff1a;____  \u65e5\u671f&#xff1a;____         \u2502<br \/>\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/p>\n<p>\u9a8c\u6536\u8981\u70b9&#xff1a;\u2460 \u9010\u53f0\u6838\u5bf9\u7ebf\u5f84\u3001\u7a7a\u5f00\u3001\u6f0f\u4fdd\u4e0e\u8d1f\u8f7d\u5339\u914d&#xff1b;\u2461 \u73b0\u573a\u89e6\u53d1\u4e00\u6b21\u901a\u65ad&#xff0c;\u786e\u8ba4\u7ee7\u7535\u52a8\u4f5c\u4e0e onState \u56de\u663e\u4e00\u81f4&#xff1b;\u2462 \u67e5\u770b info-statistic \u8bfb\u6570\u662f\u5426\u5408\u7406&#xff08;\u7535\u538b\u63a5\u8fd1\u5e02\u7535\u3001\u7535\u6d41\u4e0e\u8d1f\u8f7d\u76f8\u7b26&#xff09;&#xff1b;\u2463 \u786e\u8ba4 info-protocol \u7684 publish\/subcribe \u4e0e\u5e73\u53f0\u914d\u7f6e\u4e00\u81f4&#xff08;\u8fd9\u4e24\u4e2a\u5b57\u6bb5\u6781\u6613\u641e\u53cd&#xff1a;publish \u662f\u8bbe\u5907&#034;\u53d1\u5e03&#034;&#xff0c;\u5e73\u53f0\u8981\u8ba2\u9605&#xff1b;subcribe \u662f\u8bbe\u5907&#034;\u8ba2\u9605&#034;&#xff0c;\u5e73\u53f0\u8981\u53d1\u5e03\u6307\u4ee4&#xff09;&#xff1b;\u2464 \u62cd\u7167\u7559\u6863&#xff0c;\u51fa\u5177\u9a8c\u6536\u5355\u3002<\/p>\n<p>\u672c\u7ae0\u8981\u70b9 \/ \u843d\u5730\u6e05\u5355<\/p>\n<ul>\n<li>\u63a5\u7ebf\u5f0f\u5b89\u88c5&#xff0c;\u5fc5\u987b\u65ad\u7535\u9a8c\u7535\u6302\u724c\u3001\u6301\u8bc1\u7535\u5de5\u64cd\u4f5c&#xff1b;<\/li>\n<li>\u7ebf\u5f84 \u22654mm\u00b2 \u94dc\u82af&#xff08;\u957f\u8ddd\u79bb\/\u6ee1\u8f7d\u8003\u8651 6mm\u00b2&#xff09;&#xff0c;\u7aef\u5b50\u5fc5\u987b\u51b7\u538b\u538b\u63a5&#xff1b;<\/li>\n<li>\u963b\u6027\u6309 \u22645000W \u8bbe\u8ba1&#xff08;6000W \u662f\u4e0a\u9650&#xff09;&#xff0c;\u611f\u6027\u5fc5\u987b\u964d\u989d &#043; \u63a5\u89e6\u5668&#xff1b;<\/li>\n<li>\u7a7a\u5f00&#xff08;C25\/C32&#xff09;&#043; \u6f0f\u4fdd&#xff08;30mA&#xff09;&#043; SPD \u4e09\u9053\u786c\u4ef6\u4fdd\u62a4\u7f3a\u4e00\u4e0d\u53ef&#xff1b;<\/li>\n<li>\u6279\u91cf\u65bd\u5de5\u7528\u5de5\u5e8f\u5361\u9010\u53f0\u7b7e\u8ba4&#xff0c;\u9a8c\u6536\u6838\u5bf9 publish\/subcribe \u5b57\u6bb5\u65b9\u5411\u3002<\/li>\n<\/ul>\n<hr \/>\n<h2>\u7b2c 12 \u7ae0 \u4e0e\u914d\u7535\u7cfb\u7edf\/\u5de5\u4e1a\u8bbe\u5907\u5bf9\u63a5<\/h2>\n<p>\u4e00\u53e5\u8bdd\u70b9\u9898&#xff1a;GSCW1M2P \u662f&#034;\u5355\u76f8\u3001\u5355\u8def\u3001\u667a\u80fd&#034;\u7684\u4e00\u9897\u6267\u884c\u9489\u5b50&#xff0c;\u672c\u7ae0\u8bb2\u6e05\u5b83\u5982\u4f55\u5d4c\u5165\u914d\u7535\u7bb1\u56de\u8def\u3001\u5982\u4f55\u501f\u63a5\u89e6\u5668\u653e\u5927\u3001\u4ee5\u53ca\u548c\u5de5\u4e1a\u63a7\u5236\u7cfb\u7edf\u5bf9\u63a5\u65f6\u7684\u8fb9\u754c\u3002<\/p>\n<h3>12.1 \u5728\u914d\u7535\u7bb1\u4e2d\u7684\u4f4d\u7f6e\u4e0e\u56de\u8def\u5212\u5206<\/h3>\n<p>\u914d\u7535\u7bb1\u91cc&#xff0c;GSCW1M2P \u4e00\u822c\u653e\u5728&#034;\u652f\u8def&#034;\u5c42\u7ea7&#xff1a;\u603b\u5f00\u5173 \u2192 \u5206\u652f\u8def\u7a7a\u5f00\/\u6f0f\u4fdd \u2192 \u901a\u65ad\u5668 \u2192 \u5355\u4e2a\u8d1f\u8f7d\u3002\u5b83\u4e0d\u627f\u62c5\u603b\u5f00\u5173\u804c\u8d23&#xff0c;\u4e00\u4e2a\u56de\u8def\u914d\u4e00\u4e2a\u901a\u65ad\u5668&#xff0c;\u628a\u9700\u8981&#034;\u72ec\u7acb\u63a7\u5236 &#043; \u7528\u7535\u8ba1\u91cf&#034;\u7684\u8d1f\u8f7d\u5355\u72ec\u6210\u8def\u3002<\/p>\n<p>\u56de\u8def\u5212\u5206\u539f\u5219&#xff1a;\u2460 \u5927\u529f\u7387\u3001\u9700\u5b9a\u65f6\/\u8fdc\u7a0b\u63a7\u5236\u7684\u8bbe\u5907&#xff08;\u70ed\u6c34\u5668\u3001\u6c34\u6cf5\u3001\u7a7a\u8c03&#xff09;\u5355\u72ec\u6210\u8def&#xff1b;\u2461 \u5b89\u5168\u76f8\u5173\u8bbe\u5907&#xff08;\u6f0f\u6c34\u4fdd\u62a4\u3001\u6d88\u9632\u8054\u52a8\u7684\u975e\u5173\u952e\u8d1f\u8f7d&#xff09;\u53ef\u5355\u72ec\u6210\u8def&#xff1b;\u2462 \u4e0d\u8981\u628a\u4e00\u4e2a\u901a\u65ad\u5668\u4e32\u5728\u591a\u4e2a\u8d1f\u8f7d\u524d\u9762&#xff08;\u4f1a\u540c\u65f6\u901a\u65ad\u3001\u4e5f\u65e0\u6cd5\u5206\u8fa8\u5404\u81ea\u7528\u7535\u91cf&#xff09;&#xff1b;\u2463 \u56de\u8def\u547d\u540d\u8981\u6e05\u6670&#xff0c;\u4e0e\u5e73\u53f0\u7684\u8bbe\u5907\u53f0\u8d26\u4e00\u4e00\u5bf9\u5e94\u3002<\/p>\n<p>\u4e00\u4e2a\u4f8b\u5b50&#xff1a;\u4e00\u95f4\u5c0f\u5546\u94fa\u7684\u914d\u7535\u7bb1&#xff0c;\u603b\u5f00 \u2192 \u7167\u660e\u652f\u8def\u3001\u63d2\u5ea7\u652f\u8def\u3001\u7a7a\u8c03\u652f\u8def&#xff08;\u4e32 GSCW1M2P &#043; \u63a5\u89e6\u5668&#xff09;\u3001\u70ed\u6c34\u5668\u652f\u8def&#xff08;\u4e32 GSCW1M2P&#xff09;\u3002\u8fd9\u6837\u7167\u660e\u63d2\u5ea7\u7167\u65e7&#xff0c;\u7a7a\u8c03\u4e0e\u70ed\u6c34\u5668\u5404\u81ea\u53ef\u8fdc\u7a0b\u63a7\u5236\u3001\u5404\u81ea\u53ef\u67e5\u7535\u91cf&#xff0c;\u4e92\u4e0d\u5e72\u6270\u3002<\/p>\n<h3>12.2 \u7528\u63a5\u89e6\u5668\/\u4e2d\u95f4\u7ee7\u7535\u5668\u6269\u5c55\u5230\u5927\u7535\u6d41\u6216\u591a\u8bbe\u5907<\/h3>\n<p>\u5355\u8def 25A \u4e0d\u591f\u7528\u600e\u4e48\u529e&#xff1f;\u7528\u63a5\u89e6\u5668\/\u4e2d\u95f4\u7ee7\u7535\u5668&#034;\u6269\u6d41&#034;\u6216&#034;\u6269\u8def&#034;&#xff0c;\u901a\u65ad\u5668\u9000\u5c45&#034;\u63a7\u5236\u4fe1\u53f7\u6e90&#034;&#xff1a;<\/p>\n<ul>\n<li>\u6269\u6d41&#xff08;\u5927\u7535\u6d41\u8d1f\u8f7d&#xff09;&#xff1a;\u901a\u65ad\u5668\u9a71\u52a8\u63a5\u89e6\u5668\u7ebf\u5708&#xff0c;\u63a5\u89e6\u5668\u4e3b\u89e6\u70b9\u627f\u8f7d\u5927\u7535\u6d41 \u2192 \u7b49\u6548\u652f\u6301\u8fdc\u8d85 25A \u7684\u8d1f\u8f7d\u3002<\/li>\n<li>\u6269\u8def&#xff08;\u591a\u4e2a\u5c0f\u8d1f\u8f7d\u540c\u5f00\u540c\u5173&#xff09;&#xff1a;\u901a\u65ad\u5668\u9a71\u52a8\u4e2d\u95f4\u7ee7\u7535\u5668&#xff0c;\u7531\u7ee7\u7535\u5668\u89e6\u70b9\u53bb\u63a7\u5236\u591a\u4e2a\u63a5\u89e6\u5668\/\u8d1f\u8f7d&#xff0c;\u5b9e\u73b0&#034;\u4e00\u63a7\u591a&#034;\u3002<\/li>\n<li>\u4fe1\u53f7\u9694\u79bb&#xff1a;\u63a5\u89e6\u5668\/\u4e2d\u95f4\u7ee7\u7535\u5668\u5929\u7136\u5b9e\u73b0&#034;\u5f31\u63a7\u5f3a\u3001\u5c0f\u63a7\u5927&#034;\u7684\u9694\u79bb&#xff0c;\u63d0\u5347\u7cfb\u7edf\u5b89\u5168\u6027\u3002<\/li>\n<\/ul>\n<p>\u5e73\u53f0 \u2500\u2500MQTT\u2500\u2500 GSCW1M2P(\u901a\u65ad\u5668) \u2500\u2500 \u63a5\u89e6\u5668\/\u4e2d\u95f4\u7ee7\u7535\u5668 \u2500\u2500 \u5927\u7535\u6d41\u6216\u591a\u8def\u8d1f\u8f7d<\/p>\n<p>\u6ce8\u610f&#xff1a;\u63a5\u89e6\u5668\u7ebf\u5708\u662f\u611f\u6027\u8d1f\u8f7d&#xff0c;\u901a\u65ad\u5668\u9a71\u52a8\u7ebf\u5708\u65f6\u540c\u6837\u8981\u5173\u6ce8\u7ebf\u5708\u529f\u7387\u4e0e\u6d6a\u6d8c&#xff08;\u53ef\u9009\u5e26\u7eed\u6d41\/RC \u5438\u6536\u7684\u7ebf\u5708\u56de\u8def&#xff09;\u3002\u589e\u52a0\u63a5\u89e6\u5668\u540e&#xff0c;&#034;\u7528\u7535\u91c7\u96c6&#034;\u6d4b\u5230\u7684\u662f\u901a\u65ad\u5668\u6240\u5728\u56de\u8def\u7684\u7535\u53c2\u91cf&#xff0c;\u82e5\u5927\u8d1f\u8f7d\u6302\u5728\u63a5\u89e6\u5668\u4e3b\u56de\u8def\u4e0a&#xff0c;\u91c7\u96c6\u8bfb\u6570\u672a\u5fc5\u7b49\u4e8e\u8d1f\u8f7d\u771f\u5b9e\u529f\u7387&#xff0c;\u9700\u6309\u63a5\u7ebf\u62d3\u6251\u533a\u5206\u3002<\/p>\n<h3>12.3 \u4e0e\u5de5\u4e1a\u63a7\u5236&#xff08;PLC\/RS-485\/\u5e72\u63a5\u70b9&#xff09;\u534f\u540c<\/h3>\n<p>\u8fb9\u754c\u5fc5\u987b\u8bf4\u6e05&#xff1a;GSCW1M2P \u6ca1\u6709 RS-485\u3001\u6ca1\u6709\u7ea2\u5916\u9065\u63a7&#xff0c;\u5b83\u53ea\u6709 2.4GHz WiFi&#xff08;\u652f\u6301 MQTT \/ TCP \/ HTTP&#xff09;\u3002\u56e0\u6b64\u5b83\u4e0d\u662f\u5de5\u4e1a\u73b0\u573a\u603b\u7ebf\u8bbe\u5907&#xff0c;\u5bf9\u63a5\u5de5\u4e1a\u63a7\u5236\u8981\u8d70&#034;\u7f51\u5173\/\u5e73\u53f0&#034;\u8fd9\u6761\u8def&#xff1a;<\/p>\n<table>\n<tr>\u5bf9\u63a5\u9700\u6c42\u53ef\u884c\u65b9\u6848\u8bf4\u660e<\/tr>\n<tbody>\n<tr>\n<td>PLC \u60f3\u63a7\u5b83<\/td>\n<td>PLC \u2192 \u5e73\u53f0\/MQTT \u7f51\u5173 \u2192 controller-event<\/td>\n<td>\u901a\u8fc7\u4e0a\u4f4d\u673a\u6216\u7f51\u5173\u4e2d\u8f6c<\/td>\n<\/tr>\n<tr>\n<td>\u901a\u65ad\u5668\u72b6\u6001\u7ed9 PLC<\/td>\n<td>\u5e73\u53f0\u8ba2\u9605 publish \u2192 \u8f6c\u53d1\u7ed9 PLC<\/td>\n<td>\u7528 onState\u3001info-statistic \u7b49\u5b57\u6bb5<\/td>\n<\/tr>\n<tr>\n<td>\u5e72\u63a5\u70b9\u8054\u52a8<\/td>\n<td>\u5e72\u63a5\u70b9\u2192(\u91c7\u96c6\u6a21\u5757)\u2192\u5e73\u53f0\u2192\u901a\u65ad\u5668<\/td>\n<td>\u5e72\u63a5\u70b9\u4fe1\u53f7\u8fdb\u7f51\u5173\u518d\u8f6c MQTT<\/td>\n<\/tr>\n<tr>\n<td>\u73b0\u573a 485 \u7ec4\u7f51<\/td>\n<td>485 \u8f6c WiFi\/MQTT \u7f51\u5173<\/td>\n<td>\u901a\u65ad\u5668\u4e0d\u76f4\u63a5\u4e0a 485 \u603b\u7ebf<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u7ed3\u8bba&#xff1a;\u628a GSCW1M2P \u5f53\u4f5c&#034;\u5de5\u4e1a\u7cfb\u7edf\u7684\u667a\u80fd\u6267\u884c\u672b\u7aef&#034;&#xff0c;\u4e0a\u5c42\u7528\u7f51\u5173\/\u5e73\u53f0\u505a\u534f\u8bae\u8f6c\u6362&#xff0c;\u800c\u4e0d\u662f\u6307\u671b\u5b83\u76f4\u63a5\u8bf4 RS-485\u3002<\/p>\n<p>\u534f\u540c\u7684\u4e00\u4e2a\u5178\u578b\u95ed\u73af&#xff1a;PLC \u63a7\u5236\u4ea7\u7ebf\u9700\u8981&#034;\u67d0\u5de5\u4f4d\u8bbe\u5907\u4e0b\u73ed\u540e\u65ad\u7535\u7701\u7535&#034;&#xff0c;\u53ef\u8ba9 PLC \u901a\u8fc7\u7f51\u5173\u5411\u5e73\u53f0\u53d1\u4e00\u6761&#034;\u5de5\u4f4d\u5f85\u673a&#034;\u4fe1\u53f7&#xff0c;\u5e73\u53f0\u518d\u5411\u5bf9\u5e94\u901a\u65ad\u5668\u4e0b\u53d1 controller-event key&#061;0&#xff1b;\u8bbe\u5907\u5b9e\u9645 onState \u4e0e\u7528\u7535\u8bfb\u6570\u53c8\u7ecf publish \u4e3b\u9898\u56de\u6d41\u5230\u5e73\u53f0\u3001\u518d\u8f6c\u53d1\u7ed9 PLC \u505a\u72b6\u6001\u786e\u8ba4\u3002\u4fe1\u53f7\u8d70&#034;\u5e73\u53f0&#034;\u8fd9\u6761\u8f6f\u603b\u7ebf&#xff0c;\u800c\u975e\u8bbe\u5907\u76f4\u8fde\u5de5\u4e1a\u603b\u7ebf&#xff0c;\u8fd9\u624d\u662f\u672c\u578b\u53f7\u5728\u5de5\u4e1a\u573a\u666f\u4e0b\u7684\u6b63\u786e\u7528\u6cd5\u3002<\/p>\n<h3>12.4 \u4e0e\u65e2\u6709 200V\/380V \u7cfb\u7edf\u7684\u8fb9\u754c\u4e0e\u6ce8\u610f&#xff08;\u672c\u8bbe\u5907\u4e3a\u5355\u76f8 110~260Vac&#xff09;<\/h3>\n<p>\u8fd9\u662f\u81f4\u547d\u7684\u8fb9\u754c\u95ee\u9898&#xff0c;\u52a1\u5fc5\u7262\u8bb0&#xff1a; \u672c\u8bbe\u5907\u8f93\u5165\u662f 110Vac ~ 260Vac \u5355\u76f8&#xff0c;\u56e0\u6b64&#xff1a;<\/p>\n<ul>\n<li>\u2705 \u53ef\u7528\u4e8e \u5355\u76f8 220V \u7cfb\u7edf&#xff08;\u542b 220V \u5355\u76f8\u8d1f\u8f7d&#xff09;&#xff1b;<\/li>\n<li>\u274c \u4e0d\u80fd\u76f4\u63a5\u7528\u4e8e 380V \u4e09\u76f8 \u6216\u4efb\u4f55\u76f8\u7535\u538b\u8d85\u8fc7 260V \u7684\u56de\u8def&#xff1b;<\/li>\n<li>\u274c \u4e0d\u80fd\u7528\u5b83\u53bb\u5207\u4e09\u76f8\u8d1f\u8f7d\u7684\u4efb\u4f55\u4e00\u76f8&#034;\u5f53\u603b\u63a7&#034;&#xff08;\u4e09\u76f8\u8bbe\u5907\u7684\u901a\u65ad\u5fc5\u987b\u7528\u4e09\u76f8\u63a5\u89e6\u5668\/\u4e09\u76f8\u65ad\u8def\u5668&#xff0c;\u4e14\u8981\u4fdd\u8bc1\u7f3a\u76f8\u5b89\u5168&#xff09;&#xff1b;<\/li>\n<li>\u26a0\ufe0f \u82e5\u73b0\u573a\u662f\u4e09\u76f8\u56db\u7ebf\u7cfb\u7edf&#xff0c;\u53ea\u53d6&#034;\u4e00\u76f8\u7ebf &#043; \u96f6\u7ebf&#034;&#xff08;\u76f8\u7535\u538b 220V&#xff09;\u63a7\u5236\u5355\u76f8\u8d1f\u8f7d&#xff0c;\u4e14\u8981\u4fdd\u8bc1\u76f8\u5e8f\u3001\u4e2d\u6027\u7ebf\u53ef\u9760&#xff0c;\u907f\u514d&#034;\u7528\u4e00\u76f8\u63a7\u4e09\u76f8&#034;\u7684\u9519\u8bef\u63a5\u7ebf\u3002<\/li>\n<\/ul>\n<p>\u8fb9\u754c\u843d\u5730\u65b9\u6848&#xff1a;\u9700\u8981\u63a7\u5236\u4e09\u76f8\/\u5927\u529f\u7387\u8d1f\u8f7d\u65f6&#xff0c;\u7528\u4e09\u76f8\u63a5\u89e6\u5668\u505a\u6267\u884c&#xff0c;GSCW1M2P \u53ea\u8d1f\u8d23\u9a71\u52a8\u5176\u5355\u76f8\u63a7\u5236\u7ebf\u5708&#xff08;\u7ebf\u5708\u4f9b\u7535\u53d6\u81ea\u5355\u76f8 220V&#xff09;&#xff0c;\u8fd9\u6837\u65e2\u9075\u5b88\u4e86\u8bbe\u5907\u7684 110~260Vac \u8f93\u5165\u8fb9\u754c&#xff0c;\u53c8\u5b9e\u73b0\u4e86\u4e09\u76f8\u56de\u8def\u7684\u667a\u80fd\u63a7\u5236\u3002<\/p>\n<p>\u672c\u7ae0\u8981\u70b9 \/ \u843d\u5730\u6e05\u5355<\/p>\n<ul>\n<li>\u5b9a\u4f4d\u5728\u914d\u7535\u7bb1\u652f\u8def\u7ea7&#xff0c;\u4e00\u4e2a\u56de\u8def\u4e00\u4e2a\u901a\u65ad\u5668&#xff0c;\u4e0d\u8981\u4e00\u63a7\u591a\u8def\u6df7\u63a5&#xff1b;<\/li>\n<li>\u6269\u6d41\/\u6269\u8def\u9760\u63a5\u89e6\u5668\/\u4e2d\u95f4\u7ee7\u7535\u5668&#xff0c;\u901a\u65ad\u5668\u9000\u5c45\u63a7\u5236\u4fe1\u53f7\u6e90&#xff1b;<\/li>\n<li>\u6ca1\u6709 RS-485\/\u7ea2\u5916&#xff0c;\u5de5\u4e1a\u5bf9\u63a5\u5fc5\u987b\u7ecf\u7f51\u5173\/\u5e73\u53f0\u8f6c\u534f\u8bae&#xff1b;<\/li>\n<li>\u53ea\u652f\u6301 \u5355\u76f8 110~260Vac&#xff0c;\u4e25\u7981\u63a5 380V \u6216\u63a7\u5236\u4e09\u76f8\u8d1f\u8f7d\u7684\u4e00\u76f8&#xff1b;<\/li>\n<li>\u4e09\u76f8\/\u5927\u7535\u6d41\u573a\u666f&#xff1a;\u4e09\u76f8\u63a5\u89e6\u5668\u6267\u884c &#043; \u901a\u65ad\u5668\u9a71\u52a8\u5176\u5355\u76f8\u7ebf\u5708\u3002<\/li>\n<\/ul>\n<hr \/>\n<h2>\u7b2c 13 \u7ae0 \u5e94\u7528\u573a\u666f 12 \u4f8b<\/h2>\n<p>\u4e00\u53e5\u8bdd\u70b9\u9898&#xff1a;\u4e0b\u9762 12 \u4e2a\u573a\u666f\u8986\u76d6\u5bb6\u7528\u3001\u5546\u7528\u3001\u5de5\u4e1a\u3001\u519c\u4e1a\u56db\u5927\u7c7b&#xff0c;\u7edf\u4e00\u6309\u300c\u573a\u666f\u4e0e\u75db\u70b9 \u2192 \u65b9\u6848\u8bbe\u8ba1 \u2192 \u8bbe\u5907\u4e0e\u56de\u8def\u89c4\u5212 \u2192 \u5173\u952e\u4ee3\u7801\/\u914d\u7f6e\u8981\u70b9 \u2192 \u4ef7\u503c\u4e0e\u6536\u76ca\u300d\u5c55\u5f00&#xff1b;\u6240\u6709\u91d1\u989d\u5747\u4e3a\u793a\u4f8b\u6d4b\u7b97&#xff0c;\u7528\u4e8e\u8bf4\u660e\u91cf\u7ea7\u800c\u975e\u627f\u8bfa\u3002<\/p>\n<p>\u7edf\u4e00\u4ee3\u7801\u57fa\u7840&#xff08;\u540e\u6587\u6309\u9700\u5f15\u7528&#xff09;&#xff1a;set_power(client, on, seq) \u4e0b\u53d1 controller-event&#xff1b;set_report_interval(client, enable, sec) \u4e0b\u53d1 device-timer-interval&#xff1b;\u5e73\u53f0\u8ba2\u9605\u8bbe\u5907 publish \u4e3b\u9898\u6536\u6570\u636e\u3001\u5411\u8bbe\u5907 subcribe \u4e3b\u9898\u53d1\u6307\u4ee4\u3002\u5b57\u6bb5\u4e25\u683c\u53d6\u81ea\u6307\u4ee4\u8868\u3002<\/p>\n<h3>\u573a\u666f 1&#xff1a;\u5bb6\u7528\u4e2d\u592e\u7a7a\u8c03 \/ \u591a\u8054\u673a<\/h3>\n<p>\u573a\u666f\u4e0e\u75db\u70b9&#xff1a;\u522b\u5885\/\u5927\u5e73\u5c42\u5e38\u7528\u4e00\u53f0\u5916\u673a&#xff08;\u591a\u8054\u673a&#xff09;\u62d6\u591a\u53f0\u5185\u673a&#xff0c;\u5916\u673a\u5e38\u5e74\u5f85\u673a\u6709\u7535&#xff0c;\u56de\u5bb6\u524d\u60f3\u63d0\u524d\u5236\u51b7\/\u5236\u70ed&#xff0c;\u53c8\u6015\u957f\u671f\u5e26\u7535\u767d\u8017\u7535\u3001\u96f7\u96e8\u5929\u60f3\u5f7b\u5e95\u65ad\u7535\u3002<\/p>\n<p>\u65b9\u6848\u8bbe\u8ba1&#xff1a;GSCW1M2P \u4e32\u5165\u5916\u673a\u4f9b\u7535\u56de\u8def&#xff08;\u5355\u76f8 220V&#xff09;&#xff0c;\u5b9e\u73b0&#034;\u5230\u5bb6\u524d 20 \u5206\u949f\u8fdc\u7a0b\u5f00\u673a\u3001\u79bb\u5bb6\u81ea\u52a8\u65ad\u5916\u673a\u3001\u96f7\u96e8\u5929\u4e00\u952e\u65ad\u7535&#034;\u3002<\/p>\n<p>\u8bbe\u5907\u4e0e\u56de\u8def\u89c4\u5212&#xff1a;\u5916\u673a\u529f\u7387\u901a\u5e38\u8f83\u5927\u4e14\u542b\u538b\u7f29\u673a&#xff08;\u611f\u6027&#xff09;&#xff0c;25A \u88d5\u91cf\u6709\u9650&#xff0c;\u5f3a\u70c8\u5efa\u8bae\u7528\u63a5\u89e6\u5668\u6269\u6d41\u2014\u2014\u901a\u65ad\u5668\u9a71\u52a8\u63a5\u89e6\u5668\u7ebf\u5708&#xff0c;\u63a5\u89e6\u5668\u4e3b\u89e6\u70b9\u5e26\u5916\u673a\u3002\u56de\u8def\u5355\u72ec\u6210\u8def&#xff0c;\u914d C32 \u7a7a\u5f00 &#043; \u6f0f\u4fdd\u3002<\/p>\n<p>\u5173\u952e\u4ee3\u7801\/\u914d\u7f6e\u8981\u70b9&#xff1a;\u5b9a\u65f6\u7b56\u7565 &#043; \u7528\u7535\u91c7\u96c6\u3002<\/p>\n<p><span class=\"token comment\"># \u63d0\u524d 20 \u5206\u949f\u5f00\u673a&#xff0c;\u665a\u4e0a 22:30 \u65ad\u7535<\/span><br \/>\n<span class=\"token keyword\">def<\/span> <span class=\"token function\">ac_schedule<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    set_report_interval<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">True<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">120<\/span><span class=\"token punctuation\">)<\/span>   <span class=\"token comment\"># \u6bcf 2 \u5206\u949f\u4e0a\u62a5\u4e00\u6b21\u7528\u7535<\/span><br \/>\n    set_power<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">True<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">1001<\/span><span class=\"token punctuation\">)<\/span>            <span class=\"token comment\"># \u5230\u70b9\u5f00\u673a<\/span><br \/>\n<span class=\"token comment\"># \u6536\u5230 device-timer-task \u540e\u5224\u65ad\u529f\u7387\u662f\u5426\u6b63\u5e38&#xff08;\u538b\u7f29\u673a\u662f\u5426\u542f\u52a8&#xff09;<\/span><\/p>\n<p>power \u660e\u663e\u504f\u4f4e\u53ef\u80fd\u662f\u538b\u7f29\u673a\u672a\u542f\u52a8\u6216\u6545\u969c&#xff0c;\u53ef\u4f5c\u4e3a\u8fd0\u7ef4\u544a\u8b66\u4f9d\u636e\u3002<\/p>\n<p>\u4ef7\u503c\u4e0e\u6536\u76ca&#xff1a;\u79bb\u5bb6\u5f7b\u5e95\u65ad\u5916\u673a&#xff0c;\u6d88\u9664\u5f85\u673a\u8017\u7535\u4e0e\u96f7\u51fb\u98ce\u9669&#xff1b;\u5230\u5bb6\u5373\u4eab\u8212\u9002\u6e29\u5ea6\u3002&#xff08;\u793a\u4f8b\u6d4b\u7b97&#xff1a;\u5916\u673a\u5f85\u673a\u82e5\u6309 20W\u3001\u6bcf\u5929 20 \u5c0f\u65f6\u65e0\u4eba\u65f6\u6bb5\u8ba1&#xff0c;\u4e00\u5e74\u7701\u7535\u8fd1 150kWh\u3002&#xff09;<\/p>\n<h3>\u573a\u666f 2&#xff1a;\u5546\u7528\u4e2d\u592e\u7a7a\u8c03&#xff08;\u5199\u5b57\u697c\/\u5546\u94fa&#xff09;<\/h3>\n<p>\u573a\u666f\u4e0e\u75db\u70b9&#xff1a;\u5546\u94fa\u7a7a\u8c03&#034;\u4e0b\u73ed\u5fd8\u5173&#034;\u6d6a\u8d39\u5927&#xff0c;\u8425\u4e1a\u524d\u9700\u63d0\u524d\u9884\u51b7\/\u9884\u70ed&#xff0c;\u591a\u53f0\u7a7a\u8c03\u9700\u7edf\u4e00\u7ba1\u63a7\u3002<\/p>\n<p>\u65b9\u6848\u8bbe\u8ba1&#xff1a;\u7a7a\u8c03\u4e3b\u673a\u4f9b\u7535\u56de\u8def\u63a5\u4e00\u53f0&#xff08;\u6216\u6bcf\u53f0\u4e00\u53f0&#xff09;GSCW1M2P&#xff0c;\u5e73\u53f0\u6309\u8425\u4e1a\u65f6\u95f4\u8868\u81ea\u52a8\u901a\u65ad&#xff0c;\u5e76\u7edf\u8ba1\u5404\u533a\u7528\u7535\u3002<\/p>\n<p>\u8bbe\u5907\u4e0e\u56de\u8def\u89c4\u5212&#xff1a;\u4e2d\u592e\u7a7a\u8c03\u542b\u538b\u7f29\u673a&#xff0c;\u5c5e\u611f\u6027\u8d1f\u8f7d&#xff0c;\u4f7f\u7528\u63a5\u89e6\u5668\u6269\u6d41\u3002\u4e00\u4e2a\u56de\u8def\u4e00\u4e2a\u901a\u65ad\u5668&#xff0c;\u6309&#034;\u4e3b\u673a \/ \u5206\u533a&#034;\u5212\u5206&#xff0c;\u907f\u514d\u4e00\u63a7\u591a\u673a\u3002<\/p>\n<p>\u5173\u952e\u4ee3\u7801\/\u914d\u7f6e\u8981\u70b9&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u8425\u4e1a\u524d 30 \u5206\u949f\u5f00\u3001\u6253\u70ca\u540e 30 \u5206\u949f\u5173<\/span><br \/>\n<span class=\"token keyword\">def<\/span> <span class=\"token function\">shop_schedule<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> open_h<span class=\"token punctuation\">,<\/span> close_h<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    set_report_interval<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">True<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">300<\/span><span class=\"token punctuation\">)<\/span>   <span class=\"token comment\"># 5 \u5206\u949f\u4e0a\u62a5<\/span><br \/>\n    <span class=\"token comment\"># \u5e73\u53f0\u8c03\u5ea6\u5668\u5728 open_h \u4e0b\u53d1 key&#061;1&#xff0c;close_h \u4e0b\u53d1 key&#061;0<\/span><\/p>\n<p>\u914d\u5408 setting-on-state onState:0&#xff08;\u8bb0\u5fc6&#xff09;&#xff0c;\u4fdd\u8bc1\u610f\u5916\u65ad\u7535\u6062\u590d\u540e\u6309\u539f\u72b6\u6001\u7ee7\u7eed\u3002<\/p>\n<p>\u4ef7\u503c\u4e0e\u6536\u76ca&#xff1a;\u675c\u7edd&#034;\u5fd8\u5173\u7a7a\u8c03&#034;&#xff0c;\u6309\u8425\u4e1a\u65f6\u6bb5\u7cbe\u51c6\u4f9b\u80fd&#xff1b;\u7528\u7535\u6570\u636e\u652f\u6491\u5206\u5e97\u94fa\u80fd\u6548\u8003\u6838\u3002&#xff08;\u793a\u4f8b\u6d4b\u7b97&#xff1a;\u5355\u5e97\u6bcf\u6708\u51cf\u5c11\u65e0\u6548\u8fd0\u884c 40 \u5c0f\u65f6\u3001\u6309 3kW \u8ba1\u53ef\u7701\u7ea6 120kWh\u3002&#xff09;<\/p>\n<h3>\u573a\u666f 3&#xff1a;\u50a8\u6c34\u5f0f\u70ed\u6c34\u5668<\/h3>\n<p>\u573a\u666f\u4e0e\u75db\u70b9&#xff1a;\u50a8\u6c34\u70ed\u6c34\u5668 24 \u5c0f\u65f6\u4fdd\u6e29\u6301\u7eed\u8017\u7535&#xff0c;\u957f\u65f6\u95f4\u4e0d\u5728\u5bb6\u8fd8\u5e26\u7535\u6709\u5b89\u5168\u9690\u60a3\u3002<\/p>\n<p>\u65b9\u6848\u8bbe\u8ba1&#xff1a;\u5178\u578b\u963b\u6027\u8d1f\u8f7d&#xff0c;\u76f4\u63a5\u63a5\u5165\u901a\u65ad\u5668&#xff0c;\u505a&#034;\u5b9a\u65f6\u52a0\u70ed &#043; \u4fdd\u6e29\u5230\u4f4d\u5373\u505c &#043; \u51fa\u95e8\u65ad\u7535&#034;\u3002<\/p>\n<p>\u8bbe\u5907\u4e0e\u56de\u8def\u89c4\u5212&#xff1a;\u5e38\u89c1 1500~3000W&#xff08;\u963b\u6027&#xff09;&#xff0c;\u5728 25A\/6000W \u4e0a\u9650\u5185\u53ef\u76f4\u63a5\u63a5\u5165&#xff1b;\u914d C16~C20 \u7a7a\u5f00&#xff0c;\u5fc5\u987b\u52a0 30mA \u6f0f\u4fdd&#xff08;\u4eba\u8eab\u5b89\u5168\u5173\u952e&#xff09;\u3002<\/p>\n<p>\u5173\u952e\u4ee3\u7801\/\u914d\u7f6e\u8981\u70b9&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u65e9 6:30 \u52a0\u70ed&#xff0c;8:00 \u515c\u5e95\u65ad&#xff1b;\u665a 18:00 \u52a0\u70ed&#xff0c;21:00 \u515c\u5e95\u65ad<\/span><br \/>\n<span class=\"token keyword\">def<\/span> <span class=\"token function\">heater_schedule<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    set_report_interval<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">True<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">60<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token comment\"># \u5e73\u53f0\u5728\u52a0\u70ed\u7a97\u53e3\u4e0b\u53d1 key&#061;1&#xff0c;\u7a97\u53e3\u7ed3\u675f\u4e0b\u53d1 key&#061;0<\/span><br \/>\n<span class=\"token comment\"># \u4f9d\u636e device-timer-task \u7684 power \u5224\u65ad\u662f\u5426\u5df2\u5230\u4fdd\u6e29<\/span><\/p>\n<p>energy \u7d2f\u8ba1\u503c\u53ef\u505a&#034;\u6bcf\u65e5\u8017\u7535&#034;\u770b\u677f\u3002<\/p>\n<p>\u4ef7\u503c\u4e0e\u6536\u76ca&#xff1a;\u628a&#034;\u5168\u5929\u4fdd\u6e29&#034;\u6539\u6210&#034;\u6309\u9700\u52a0\u70ed&#034;&#xff0c;\u907f\u514d\u53cd\u590d\u4fdd\u6e29\u8017\u7535&#xff1b;\u51fa\u95e8\u65ad\u7535\u6d88\u9664\u5e26\u7535\u9690\u60a3\u3002&#xff08;\u793a\u4f8b\u6d4b\u7b97&#xff1a;2kW \u70ed\u6c34\u5668\u6bcf\u5929\u5c11\u4fdd\u6e29 8 \u5c0f\u65f6&#xff0c;\u4e00\u5929\u7701\u7ea6 16kWh\u3002&#xff09;<\/p>\n<h3>\u573a\u666f 4&#xff1a;\u5373\u70ed\u5f0f\u70ed\u6c34\u5668<\/h3>\n<p>\u573a\u666f\u4e0e\u75db\u70b9&#xff1a;\u5373\u70ed\u5f0f\u529f\u7387\u5927&#xff08;\u5e38 6~8kW&#xff09;&#xff0c;\u60f3\u505a\u5230&#034;\u7528\u65f6\u624d\u901a\u7535\u3001\u9632\u5e72\u70e7\/\u9632\u5fd8\u5173&#034;&#xff0c;\u540c\u65f6\u5173\u6ce8\u7ebf\u8def\u627f\u8f7d\u3002<\/p>\n<p>\u65b9\u6848\u8bbe\u8ba1&#xff1a;\u63a5\u5165\u901a\u65ad\u5668\u505a&#034;\u7528\u6c34\u524d\u901a\u7535\u3001\u7528\u5b8c\u65ad\u7535&#034;&#xff0c;\u5e76\u4e0e\u7528\u6c34\u4f20\u611f\u5668\u8054\u52a8\u3002<\/p>\n<p>\u8bbe\u5907\u4e0e\u56de\u8def\u89c4\u5212&#xff1a;\u26a0\ufe0f \u5373\u70ed\u5f0f\u5e38\u8fbe 6~8kW&#xff0c;\u5df2\u89e6\u53ca\u751a\u81f3\u8d85\u8fc7 6000W \u963b\u6027\u4e0a\u9650\u3002\u5355\u53f0\u5373\u70ed\u5f0f\u4e0d\u5efa\u8bae\u76f4\u63a5\u63a5\u5165 25A \u901a\u65ad\u5668&#xff1b;\u5e94\u7528\u63a5\u89e6\u5668\u6269\u6d41&#xff0c;\u901a\u65ad\u5668\u53ea\u63a7\u63a5\u89e6\u5668\u7ebf\u5708&#xff1b;\u56de\u8def\u7528 \u22656mm\u00b2 \u94dc\u82af &#043; C32\/C40 \u7a7a\u5f00 &#043; \u6f0f\u4fdd\u3002<\/p>\n<p>\u5173\u952e\u4ee3\u7801\/\u914d\u7f6e\u8981\u70b9&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u4e0e\u4eba\u4f53\/\u7528\u6c34\u4fe1\u53f7\u8054\u52a8&#xff1a;\u6709\u4eba\u7528\u2192key&#061;1&#xff0c;\u65e0\u4eba 15 \u5206\u949f\u2192key&#061;0<\/span><br \/>\n<span class=\"token keyword\">def<\/span> <span class=\"token function\">instant_heater<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    set_report_interval<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">True<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">30<\/span><span class=\"token punctuation\">)<\/span>   <span class=\"token comment\"># \u9ad8\u9891\u4e0a\u62a5\u4ee5\u9632\u5f02\u5e38<\/span><br \/>\n<span class=\"token comment\"># \u5e73\u53f0\u4fa7&#xff1a;power &gt; 5000W \u6301\u7eed\u544a\u8b66&#xff0c;\u63a5\u8fd1\u4e0a\u9650\u7acb\u5373\u65ad\u7535\u5e76\u63d0\u793a\u6838\u67e5<\/span><\/p>\n<p>\u4ef7\u503c\u4e0e\u6536\u76ca&#xff1a;\u675c\u7edd&#034;\u5fd8\u4e86\u5173&#034;\u7684\u6301\u7eed\u6ee1\u529f\u7387\u8fd0\u884c&#xff08;8kW \u5fd8\u5173 1 \u5c0f\u65f6 &#061; 8kWh&#xff09;&#xff1b;\u8f6f\u786c\u4fdd\u62a4\u914d\u5408\u964d\u4f4e\u5927\u529f\u7387\u98ce\u9669\u3002<\/p>\n<h3>\u573a\u666f 5&#xff1a;\u5730\u6696 \/ \u7535\u6696<\/h3>\n<p>\u573a\u666f\u4e0e\u75db\u70b9&#xff1a;\u7535\u5730\u6696\/\u7535\u6696\u5668\u6309\u5b63\u4f7f\u7528&#xff0c;\u9700\u8981\u5206\u65f6\u5206\u533a\u63a7\u6e29&#xff1b;\u957f\u671f\u7a7a\u7f6e\u623f\u4e0d\u60f3\u6301\u7eed\u91c7\u6696\u3002<\/p>\n<p>\u65b9\u6848\u8bbe\u8ba1&#xff1a;\u6309\u533a\u57df\u56de\u8def\u63a5\u901a\u65ad\u5668&#xff0c;\u5e73\u53f0\u6309\u4f5c\u606f\/\u6c14\u6e29\u81ea\u52a8\u901a\u65ad&#xff0c;\u7a7a\u7f6e\u623f\u53ef\u6574\u4f53\u65ad\u7535\u3002<\/p>\n<p>\u8bbe\u5907\u4e0e\u56de\u8def\u89c4\u5212&#xff1a;\u963b\u6027\u8d1f\u8f7d&#xff0c;\u5355\u8def\u6309 \u22645000W \u8bbe\u8ba1&#xff08;\u8d85\u9650\u5219\u5206\u533a\u6216\u52a0\u63a5\u89e6\u5668&#xff09;\u3002\u56de\u8def\u591a\u65f6&#034;\u4e00\u533a\u4e00\u53f0&#034;&#xff0c;\u914d C20~C25 \u7a7a\u5f00\u3002<\/p>\n<p>\u5173\u952e\u4ee3\u7801\/\u914d\u7f6e\u8981\u70b9&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u5206\u65f6\u6bb5&#xff1a;\u591c\u95f4\u4f4e\u8c37\u7535\u4ef7\u65f6\u6bb5\u591a\u5f00&#xff0c;\u767d\u5929\u5c11\u5f00<\/span><br \/>\n<span class=\"token keyword\">def<\/span> <span class=\"token function\">floor_heating<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    set_report_interval<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">True<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">300<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token comment\"># \u5e73\u53f0\u7ed3\u5408\u6c14\u6e29\u4f20\u611f\u5668&#xff1a;\u4f4e\u4e8e\u9608\u503c key&#061;1&#xff1b;\u7a7a\u7f6e\u6a21\u5f0f key&#061;0<\/span><br \/>\n<span class=\"token comment\"># energy \u7edf\u8ba1\u7528\u4e8e\u6309\u623f\u95f4\u5206\u644a\u7535\u8d39<\/span><\/p>\n<p>\u4ef7\u503c\u4e0e\u6536\u76ca&#xff1a;\u9519\u5cf0\u7528\u7535 &#043; \u5206\u533a\u63a7\u5236&#xff0c;\u964d\u4f4e\u53d6\u6696\u7535\u8d39&#xff1b;\u7a7a\u7f6e\u623f\u4e00\u952e\u65ad\u7535\u3002&#xff08;\u793a\u4f8b\u6d4b\u7b97&#xff1a;\u9519\u5cf0\u5229\u7528\u8c37\u7535&#xff0c;\u53d6\u6696\u5b63\u7535\u8d39\u53ef\u964d 15%~20%\u3002&#xff09;<\/p>\n<h3>\u573a\u666f 6&#xff1a;\u5b9e\u9a8c\u5ba4\u5927\u578b\u4eea\u5668<\/h3>\n<p>\u573a\u666f\u4e0e\u75db\u70b9&#xff1a;\u5b9e\u9a8c\u5ba4\u4eea\u5668\u9700&#034;\u9884\u7ea6\u4f7f\u7528\u65f6\u95f4\u4f9b\u7535\u3001\u7528\u5b8c\u65ad\u7535&#034;&#xff0c;\u9632\u6b62\u4e0b\u73ed\u540e\u5fd8\u8bb0\u5173\u673a\u957f\u65f6\u95f4\u7a7a\u8f6c&#xff0c;\u4e5f\u60f3\u7edf\u8ba1\u5404\u53f0\u4eea\u5668\u7528\u7535\u3002<\/p>\n<p>\u65b9\u6848\u8bbe\u8ba1&#xff1a;\u6bcf\u53f0\u5927\u529f\u7387\u4eea\u5668\u4f9b\u7535\u56de\u8def\u63a5\u901a\u65ad\u5668&#xff0c;\u5e73\u53f0\u6309\u9884\u7ea6\u65f6\u6bb5\u901a\u65ad\u5e76\u8bb0\u5f55\u7528\u7535\u3002<\/p>\n<p>\u8bbe\u5907\u4e0e\u56de\u8def\u89c4\u5212&#xff1a;\u89c6\u4eea\u5668\u800c\u5b9a\u2014\u2014\u7eaf\u52a0\u70ed\/\u6052\u6e29\u7bb1\u7c7b\u4e3a\u963b\u6027&#xff0c;\u53ef\u76f4\u63a5\u63a5\u5165&#xff1b;\u542b\u538b\u7f29\u673a\/\u7535\u673a\u7684\u4eea\u5668\u6309\u611f\u6027\u5904\u7406\u5e76\u8bc4\u4f30\u6d6a\u6d8c&#xff0c;\u5fc5\u8981\u65f6\u52a0\u63a5\u89e6\u5668\u3002\u5f3a\u70c8\u5efa\u8bae\u52a0\u6f0f\u4fdd\u3002<\/p>\n<p>\u5173\u952e\u4ee3\u7801\/\u914d\u7f6e\u8981\u70b9&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u9884\u7ea6\u65f6\u6bb5\u4f9b\u7535&#xff1a;\u5f00\u59cb key&#061;1&#xff0c;\u7ed3\u675f key&#061;0&#xff1b;\u65e0\u4eba 30 \u5206\u949f\u5f3a\u5236\u65ad<\/span><br \/>\n<span class=\"token keyword\">def<\/span> <span class=\"token function\">lab_instrument<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> start_ts<span class=\"token punctuation\">,<\/span> end_ts<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    set_report_interval<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">True<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">60<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\"># \u91c7\u96c6 energy \u7528\u4e8e\u4eea\u5668\u7528\u7535\u53f0\u8d26\u4e0e\u6210\u672c\u5206\u644a<\/span><\/p>\n<p>\u4ef7\u503c\u4e0e\u6536\u76ca&#xff1a;\u675c\u7edd\u4eea\u5668\u7a7a\u8f6c&#xff0c;\u5ef6\u957f\u8bbe\u5907\u5bff\u547d&#xff1b;\u7528\u7535\u53ef\u8ba1\u91cf\u3001\u53ef\u5206\u644a&#xff1b;\u4e0b\u73ed\u5f3a\u5236\u65ad\u7535\u63d0\u5347\u5b9e\u9a8c\u5ba4\u5b89\u5168\u3002<\/p>\n<h3>\u573a\u666f 7&#xff1a;\u673a\u623f \/ \u5f31\u7535\u95f4\u8bbe\u5907<\/h3>\n<p>\u573a\u666f\u4e0e\u75db\u70b9&#xff1a;\u673a\u623f\u5185\u90e8\u5206\u8bbe\u5907&#xff08;\u5982\u5907\u7528\u7a7a\u8c03\u3001\u6d4b\u8bd5\u673a\u3001\u9664\u6e7f\u673a\u3001\u975e\u5173\u952e\u7f51\u7edc\u8bbe\u5907&#xff09;\u5076\u53d1\u6b7b\u673a\u9700\u73b0\u573a\u91cd\u542f&#xff1b;\u4e5f\u5e0c\u671b\u5bf9\u975e\u5173\u952e\u8d1f\u8f7d\u8fdc\u7a0b\u65ad\u7535\u3002<\/p>\n<p>\u65b9\u6848\u8bbe\u8ba1&#xff1a;\u628a\u5141\u8bb8\u65ad\u7535\u7684\u975e\u5173\u952e\u8bbe\u5907\u4f9b\u7535\u8bdd\u63a5\u901a\u65ad\u5668&#xff0c;\u5b9e\u73b0\u8fdc\u7a0b\u65ad\u7535\u91cd\u542f\u4e0e\u7528\u7535\u76d1\u6d4b\u3002<\/p>\n<p>\u8bbe\u5907\u4e0e\u56de\u8def\u89c4\u5212&#xff1a;\u26a0\ufe0f \u5173\u952e\u8bbe\u5907&#xff08;\u6838\u5fc3\u4ea4\u6362\u673a\u3001\u4e3b\u670d\u52a1\u5668\u3001\u5b58\u50a8&#xff09;\u7edd\u4e0d\u80fd\u4e32\u5728\u901a\u65ad\u5668\u540e\u786c\u5207&#xff1b;\u53ea\u63a5&#034;\u53ef\u610f\u5916\u65ad\u7535&#034;\u7684\u8d1f\u8f7d\u3002\u56de\u8def\u5355\u72ec\u6210\u8def&#xff0c;\u914d\u7a7a\u5f00&#043;\u6f0f\u4fdd\u3002<\/p>\n<p>\u5173\u952e\u4ee3\u7801\/\u914d\u7f6e\u8981\u70b9&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u6b7b\u673a\u8fdc\u7a0b\u91cd\u542f&#xff1a;\u65ad\u7535 20 \u79d2\u518d\u4e0a\u7535<\/span><br \/>\n<span class=\"token keyword\">def<\/span> <span class=\"token function\">reboot_box<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    remote_reboot_downstream<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> off_seconds<span class=\"token operator\">&#061;<\/span><span class=\"token number\">20<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\"># \u91c7\u96c6 power \u5224\u65ad\u8bbe\u5907\u662f\u5426\u5728\u7ebf&#xff08;\u529f\u7387\u9aa4\u964d\u53ef\u80fd\u662f\u5b95\u673a&#xff09;<\/span><\/p>\n<p>\u4ef7\u503c\u4e0e\u6536\u76ca&#xff1a;\u975e\u5173\u952e\u8bbe\u5907\u514d\u8dd1\u73b0\u573a\u91cd\u542f&#xff0c;\u964d\u4f4e\u8fd0\u7ef4\u54cd\u5e94\u65f6\u95f4&#xff1b;\u673a\u623f\u7528\u7535\u53ef\u89c6\u5316\u3002&#xff08;\u793a\u4f8b\u6d4b\u7b97&#xff1a;\u4e00\u6b21\u4e0a\u95e8\u91cd\u542f\u6210\u672c\u6309 200 \u5143\u8ba1&#xff0c;\u4e00\u6708\u7701\u4e24\u6b21\u5373\u56de\u672c\u3002&#xff09;<\/p>\n<h3>\u573a\u666f 8&#xff1a;\u5145\u7535\u6869<\/h3>\n<p>\u573a\u666f\u4e0e\u75db\u70b9&#xff1a;\u79c1\u5bb6\/\u56ed\u533a\u5145\u7535\u6869\u9700&#034;\u9884\u7ea6\u5145\u7535\u3001\u4f4e\u8c37\u7535\u4ef7\u5145\u7535\u3001\u7a7a\u95f2\u65ad\u7535\u3001\u5f02\u5e38\u65ad\u7535&#034;\u3002<\/p>\n<p>\u65b9\u6848\u8bbe\u8ba1&#xff1a;\u5145\u7535\u6869\u4f9b\u7535\u56de\u8def\u4e32\u5165\u901a\u65ad\u5668&#xff0c;\u5e73\u53f0\u6309\u9884\u7ea6\u4e0e\u7535\u4ef7\u65f6\u6bb5\u901a\u65ad&#xff0c;\u5e76\u7ed3\u5408\u7528\u7535\u91c7\u96c6\u505a&#034;\u5145\u6ee1\u5373\u505c&#034;\u3002<\/p>\n<p>\u8bbe\u5907\u4e0e\u56de\u8def\u89c4\u5212&#xff1a;\u26a0\ufe0f \u5355\u76f8 7kW \u6869\u8d85\u8fc7 6000W \u4e0a\u9650&#xff0c;\u5fc5\u987b\u63a5\u89e6\u5668\u6269\u6d41\u6216\u4ec5\u63a7\u5236\u6869\u7684&#034;\u63a7\u5236\u56de\u8def&#034;&#xff1b;\u56de\u8def\u7528 \u22656mm\u00b2 &#043; C32\/C40 \u7a7a\u5f00 &#043; \u6f0f\u4fdd\u3002\u5145\u7535\u6869\u6d89\u53ca\u4eba\u8eab\u4e0e\u9ad8\u538b\u5b89\u5168&#xff0c;\u52a1\u5fc5\u4e13\u4e1a\u65bd\u5de5\u5e76\u9075\u5faa\u6869\u5382\u89c4\u8303\u3002<\/p>\n<p>\u5173\u952e\u4ee3\u7801\/\u914d\u7f6e\u8981\u70b9&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u591c\u95f4\u4f4e\u8c37\u65f6\u6bb5\u4f9b\u7535\u5145\u7535&#xff0c;\u767d\u5929\u65ad\u7535<\/span><br \/>\n<span class=\"token keyword\">def<\/span> <span class=\"token function\">ev_charger<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> cheap_start<span class=\"token punctuation\">,<\/span> cheap_end<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    set_report_interval<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">True<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">60<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token comment\"># power \u6301\u7eed\u4f4e\u4f4d&#061;\u53ef\u80fd\u5df2\u5145\u6ee1&#xff0c;\u5e73\u53f0\u53ef key&#061;0 \u505c\u6b62<\/span><\/p>\n<p>\u4ef7\u503c\u4e0e\u6536\u76ca&#xff1a;\u4f4e\u8c37\u7535\u4ef7\u5145\u7535\u7701\u7535\u8d39\u3001\u5145\u6ee1\u81ea\u52a8\u505c\u907f\u514d\u8fc7\u5145\u98ce\u9669&#xff1b;\u7528\u7535\u91cf\u53ef\u8ba1\u91cf\u7ed3\u7b97\u3002<\/p>\n<h3>\u573a\u666f 9&#xff1a;\u7535\u52a8\u8f66\u68da&#xff08;\u96c6\u4e2d\u5145\u7535&#xff09;<\/h3>\n<p>\u573a\u666f\u4e0e\u75db\u70b9&#xff1a;\u8f66\u68da\u591a\u63d2\u5ea7\u3001\u5145\u7535\u5668\u6df7\u6742&#xff0c;\u5b58\u5728\u8fc7\u8f7d\u3001\u957f\u65f6\u95f4\u5145\u7535\u3001\u706b\u707e\u9690\u60a3&#xff1b;\u9700\u8981\u7edf\u4e00\u65f6\u6bb5\u4f9b\u7535\u3002<\/p>\n<p>\u65b9\u6848\u8bbe\u8ba1&#xff1a;\u7528\u4e00\u53f0\u901a\u65ad\u5668\u63a7\u5236&#034;\u8f66\u68da\u5145\u7535\u56de\u8def\u603b\u95f8&#034;&#xff08;\u914d\u5408\u63a5\u89e6\u5668\u6269\u6d41&#xff09;&#xff0c;\u5e73\u53f0\u5b9a\u65f6&#034;\u5f00\u653e\u5145\u7535\u65f6\u6bb5&#034;&#xff0c;\u5176\u4f59\u65f6\u95f4\u65ad\u7535&#xff1b;\u7ed3\u5408\u7528\u7535\u544a\u8b66\u9632\u8fc7\u8f7d\u3002<\/p>\n<p>\u8bbe\u5907\u4e0e\u56de\u8def\u89c4\u5212&#xff1a;\u8f66\u68da\u63d2\u5ea7\u4f17\u591a\u3001\u529f\u7387\u53e0\u52a0&#xff0c;\u5fc5\u987b\u7ecf\u63a5\u89e6\u5668&#xff08;\u603b\u7535\u6d41\u8fdc\u8d85 25A&#xff09;&#xff1b;\u56de\u8def\u914d\u8db3\u591f\u5bb9\u91cf\u7a7a\u5f00 &#043; 30mA \u6f0f\u4fdd &#043; SPD&#xff08;\u6237\u5916\u96f7\u51fb\u9632\u62a4&#xff09;&#xff0c;\u5bfc\u7ebf \u22654mm\u00b2&#xff08;\u6309\u603b\u7535\u6d41\u52a0\u5927&#xff09;\u3002<\/p>\n<p>\u5173\u952e\u4ee3\u7801\/\u914d\u7f6e\u8981\u70b9&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u767d\u5929 8:00-22:00 \u5f00\u653e\u5145\u7535&#xff0c;\u591c\u95f4\u65ad\u7535&#xff08;\u9632\u591c\u95f4\u65e0\u4eba\u503c\u5b88\u5145\u7535\u706b\u707e&#xff09;<\/span><br \/>\n<span class=\"token keyword\">def<\/span> <span class=\"token function\">bike_shed<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    set_report_interval<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">True<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">60<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token comment\"># power\/current \u8d8a\u754c \u2192 key&#061;0 \u5e76\u544a\u8b66<\/span><\/p>\n<p>\u4ef7\u503c\u4e0e\u6536\u76ca&#xff1a;\u591c\u95f4\u65e0\u4eba\u65f6\u5207\u65ad\u5145\u7535\u56de\u8def&#xff0c;\u5927\u5e45\u964d\u4f4e\u706b\u707e\u98ce\u9669&#xff1b;\u96c6\u4e2d\u65f6\u6bb5\u7ba1\u7406\u3001\u7528\u7535\u53ef\u7edf\u8ba1\u3002&#xff08;\u5b89\u5168\u6536\u76ca &gt; \u7535\u8d39\u6536\u76ca\u3002&#xff09;<\/p>\n<h3>\u573a\u666f 10&#xff1a;\u519c\u4e1a\u704c\u6e89\u6c34\u6cf5<\/h3>\n<p>\u573a\u666f\u4e0e\u75db\u70b9&#xff1a;\u519c\u7530\u6c34\u6cf5\u5e38\u9700&#034;\u5b9a\u65f6\/\u6309\u9700\u62bd\u6c34&#034;&#xff0c;\u4eba\u5de5\u8dd1\u53bb\u5408\u95f8\u8d39\u65f6\u8d39\u529b&#xff1b;\u6c34\u6cf5\u662f\u611f\u6027\u8d1f\u8f7d&#xff0c;\u542f\u52a8\u51b2\u51fb\u5927\u3002<\/p>\n<p>\u65b9\u6848\u8bbe\u8ba1&#xff1a;\u6c34\u6cf5\u4f9b\u7535\u56de\u8def\u63a5\u901a\u65ad\u5668&#xff0c;\u5e73\u53f0\u5b9a\u65f6\u6216\u6309\u571f\u58e4\u6e7f\u5ea6\/\u6c34\u4f4d\u8054\u52a8\u542f\u505c\u3002<\/p>\n<p>\u8bbe\u5907\u4e0e\u56de\u8def\u89c4\u5212&#xff1a;\u26a0\ufe0f \u6c34\u6cf5\u611f\u6027\u3001\u542f\u52a8\u7535\u6d41\u5927&#xff0c;\u5fc5\u987b\u964d\u989d &#043; \u63a5\u89e6\u5668\u6269\u6d41&#xff08;\u901a\u65ad\u5668\u53ea\u63a7\u63a5\u89e6\u5668\u7ebf\u5708&#xff09;&#xff1b;\u6237\u5916\u914d SPD \u6d6a\u6d8c\u4fdd\u62a4 &#043; \u6f0f\u4fdd&#xff0c;\u5bfc\u7ebf\u6309\u6c34\u6cf5\u7535\u6d41\u9009\u578b\u3002<\/p>\n<p>\u5173\u952e\u4ee3\u7801\/\u914d\u7f6e\u8981\u70b9&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u5b9a\u65f6\u704c\u6e89&#xff1a;\u5230\u70b9 key&#061;1&#xff0c;\u62bd\u591f\u65f6\u957f key&#061;0<\/span><br \/>\n<span class=\"token keyword\">def<\/span> <span class=\"token function\">pump_schedule<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> run_minutes<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    set_report_interval<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">True<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">120<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token comment\"># \u7ed3\u5408\u6c34\u4f4d\/\u6e7f\u5ea6\u4f20\u611f\u5668&#xff1a;\u7f3a\u6c34 key&#061;1&#xff0c;\u5230\u4f4d key&#061;0<\/span><\/p>\n<p>\u4ef7\u503c\u4e0e\u6536\u76ca&#xff1a;\u514d\u53bb\u4eba\u5de5\u5954\u6ce2\u5408\u95f8&#xff0c;\u6309\u9700\u704c\u6e89\u8282\u6c34\u8282\u7535&#xff1b;\u63a5\u89e6\u5668\u65b9\u6848\u4fdd\u969c\u542f\u52a8\u53ef\u9760\u3001\u4fdd\u62a4\u89e6\u70b9\u3002<\/p>\n<h3>\u573a\u666f 11&#xff1a;\u6e29\u5ba4\u5927\u68da\u8bbe\u5907<\/h3>\n<p>\u573a\u666f\u4e0e\u75db\u70b9&#xff1a;\u5927\u68da\u7684\u52a0\u70ed\u3001\u8865\u5149\u3001\u98ce\u673a\u3001\u5377\u5e18\u7b49\u8bbe\u5907\u9700\u6309\u6e29\u6e7f\u5ea6\u81ea\u52a8\u8fd0\u884c&#xff0c;\u51ac\u5b63\u591c\u95f4\u4e5f\u8981\u8fd0\u884c&#xff0c;\u4eba\u5de5\u503c\u5b88\u6210\u672c\u9ad8\u3002<\/p>\n<p>\u65b9\u6848\u8bbe\u8ba1&#xff1a;\u6309\u8bbe\u5907\u5206\u56de\u8def\u63a5\u901a\u65ad\u5668&#xff0c;\u5e73\u53f0\u4f9d\u636e\u6e29\u6e7f\u5ea6\u4f20\u611f\u5668\u81ea\u52a8\u901a\u65ad&#xff0c;\u5e76\u505a\u591c\u95f4\/\u767d\u5929\u4e0d\u540c\u7b56\u7565\u3002<\/p>\n<p>\u8bbe\u5907\u4e0e\u56de\u8def\u89c4\u5212&#xff1a;\u52a0\u70ed\/\u8865\u5149\u4e3a\u963b\u6027\u53ef\u76f4\u63a5\u63a5\u5165&#xff08;\u22645000W\/\u8def&#xff09;&#xff1b;\u98ce\u673a\u4e3a\u611f\u6027\u9700\u964d\u989d&#043;\u63a5\u89e6\u5668\u3002\u6237\u5916\u5927\u68da\u914d SPD &#043; \u6f0f\u4fdd&#xff0c;\u5bfc\u7ebf\u9632\u6f6e\u5904\u7406\u3002<\/p>\n<p>\u5173\u952e\u4ee3\u7801\/\u914d\u7f6e\u8981\u70b9&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u6e29\u5ea6\u4f4e\u4e8e\u9608\u503c\u5f00\u52a0\u70ed\u3001\u9ad8\u4e8e\u9608\u503c\u505c&#xff1b;\u5149\u7167\u4e0d\u8db3\u5f00\u8865\u5149<\/span><br \/>\n<span class=\"token keyword\">def<\/span> <span class=\"token function\">greenhouse<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> temp_threshold<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    set_report_interval<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">True<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">300<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token comment\"># on_sensor_event() \u91cc\u4f9d\u636e temperature \u89e6\u53d1 set_power<\/span><\/p>\n<p>\u4ef7\u503c\u4e0e\u6536\u76ca&#xff1a;\u6e29\u5ea6\u5149\u7167\u81ea\u52a8\u8c03\u8282&#xff0c;\u4f5c\u7269\u66f4\u7a33\u4ea7&#xff1b;\u51cf\u5c11\u4eba\u5de5\u503c\u5b88&#xff1b;\u6237\u5916\u9632\u96f7\u964d\u4f4e\u8bbe\u5907\u635f\u574f\u7387\u3002<\/p>\n<h3>\u573a\u666f 12&#xff1a;\u517b\u6b96\u573a\u8bbe\u5907<\/h3>\n<p>\u573a\u666f\u4e0e\u75db\u70b9&#xff1a;\u517b\u6b96\u573a\u7684\u901a\u98ce\u98ce\u673a\u3001\u52a0\u70ed\u4fdd\u6e29\u3001\u7167\u660e\u3001\u6295\u5582\u8bbe\u5907\u9700\u8981\u7a33\u5b9a\u6309\u65f6\u8fd0\u884c&#xff0c;\u4e14\u73b0\u573a\u73af\u5883\u6076\u52a3&#xff08;\u6f6e\u6e7f\u3001\u6c28\u6c14\u3001\u7c89\u5c18&#xff09;&#xff0c;\u5bf9\u53ef\u9760\u6027\u4e0e\u5b89\u5168\u8981\u6c42\u9ad8\u3002<\/p>\n<p>\u65b9\u6848\u8bbe\u8ba1&#xff1a;\u5206\u8bbe\u5907\u56de\u8def\u63a5\u901a\u65ad\u5668&#xff0c;\u5e73\u53f0\u6309&#034;\u517b\u6b96\u4f5c\u606f &#043; \u73af\u5883\u53c2\u6570&#034;\u81ea\u52a8\u901a\u65ad&#xff0c;\u5f02\u5e38\u7acb\u5373\u65ad\u7535\u544a\u8b66\u3002<\/p>\n<p>\u8bbe\u5907\u4e0e\u56de\u8def\u89c4\u5212&#xff1a;\u98ce\u673a\u4e3a\u611f\u6027\u5fc5\u987b\u964d\u989d&#043;\u63a5\u89e6\u5668&#xff1b;\u52a0\u70ed\u706f\u4e3a\u963b\u6027\u53ef\u76f4\u63a5\u63a5&#xff1b;\u56de\u8def\u7edf\u4e00\u52a0\u6f0f\u4fdd &#043; SPD&#xff1b;\u8bbe\u5907\u9632\u62a4\u4e0e\u8d70\u7ebf\u8981\u9632\u6f6e\u9632\u8150\u3002<\/p>\n<p>\u5173\u952e\u4ee3\u7801\/\u914d\u7f6e\u8981\u70b9&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u9ad8\u6e29\u65f6\u6bb5\u5f3a\u5236\u901a\u98ce\u3001\u4f4e\u6e29\u65f6\u6bb5\u4fdd\u6e29&#xff0c;\u5f02\u5e38\u65ad\u7535\u544a\u8b66<\/span><br \/>\n<span class=\"token keyword\">def<\/span> <span class=\"token function\">farm_control<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> temp_high<span class=\"token punctuation\">,<\/span> temp_low<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    set_report_interval<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">True<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">120<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token comment\"># power \u8d8a\u754c \/ \u65ad\u7535\u540e\u4ecd\u6709\u7535\u6d41 \u2192 \u7acb\u5373\u544a\u8b66&#xff08;\u73b0\u573a\u73af\u5883\u6613\u81f4\u7ee7\u7535\u5668\u5f02\u5e38&#xff09;<\/span><\/p>\n<p>\u4ef7\u503c\u4e0e\u6536\u76ca&#xff1a;\u901a\u98ce\u4fdd\u6e29\u81ea\u52a8\u8fd0\u884c&#xff0c;\u964d\u4f4e\u755c\u79bd\u5e94\u6fc0\u4e0e\u6b7b\u4ea1\u98ce\u9669&#xff1b;\u5f02\u5e38\u81ea\u52a8\u65ad\u7535\u51cf\u5c11\u4e8b\u6545&#xff1b;\u7528\u7535\u53ef\u91cf\u5316\u7ba1\u7406\u3002&#xff08;\u5bf9\u517b\u6b96\u4e1a\u800c\u8a00&#xff0c;\u7a33\u5b9a\u8fd0\u884c\u7684\u4ef7\u503c\u8fdc\u9ad8\u4e8e\u8bbe\u5907\u672c\u8eab\u6210\u672c\u3002&#xff09;<\/p>\n<p>\u672c\u7ae0\u8981\u70b9 \/ \u843d\u5730\u6e05\u5355<\/p>\n<ul>\n<li>12 \u4e2a\u573a\u666f\u7edf\u4e00\u9075\u5faa&#034;\u75db\u70b9\u2192\u65b9\u6848\u2192\u56de\u8def\u2192\u4ee3\u7801\u2192\u6536\u76ca&#034;\u4e94\u6bb5\u5f0f&#xff1b;<\/li>\n<li>\u963b\u6027\u53ef\u76f4\u8fde\u3001\u611f\u6027\u5fc5\u964d\u989d &#043; \u63a5\u89e6\u5668\u662f\u8d2f\u7a7f 12 \u4f8b\u7684\u7ea2\u7ebf&#xff1b;<\/li>\n<li>\u5927\u529f\u7387\u573a\u666f&#xff08;\u5373\u70ed\u5f0f\u3001\u5145\u7535\u6869\u3001\u8f66\u68da\u3001\u6c34\u6cf5&#xff09;\u4f18\u5148\u63a5\u89e6\u5668\u6269\u6d41&#xff1b;<\/li>\n<li>\u6240\u6709\u573a\u666f\u90fd\u8981\u65ad\u7535\u4f5c\u4e1a\u3001\u914d\u7a7a\u5f00\/\u6f0f\u4fdd&#xff0c;\u6237\u5916\u52a0 SPD&#xff1b;<\/li>\n<li>\u4ee3\u7801\u5b57\u6bb5\u53ea\u7528\u771f\u5b9e\u6307\u4ee4&#xff08;controller-event \/ device-timer-interval \/ controller-restart \u7b49&#xff09;&#xff0c;\u4e0d\u81c6\u9020\u3002<\/li>\n<\/ul>\n<hr \/>\n<h3>\u7b2c\u4e09\u90e8\u5206\u603b\u7eb2&#xff1a;\u4e09\u6761\u8d2f\u7a7f\u5168\u7bc7\u7684\u7ea2\u7ebf<\/h3>\n<li>\u5b89\u5168\u7ea2\u7ebf&#xff1a;\u65ad\u7535\u4f5c\u4e1a\u3001\u6301\u8bc1\u7535\u5de5\u3001\u7ebf\u5f84\u5339\u914d 25A&#xff08;\u22654mm\u00b2&#xff09;\u3001\u7a7a\u5f00\/\u6f0f\u4fdd\/SPD \u5230\u4f4d&#xff0c;\u8f6f\u4ef6\u4fdd\u62a4\u6c38\u8fdc\u4e0d\u80fd\u66ff\u4ee3\u786c\u4ef6\u4fdd\u62a4\u3002<\/li>\n<li>\u8d1f\u8f7d\u7ea2\u7ebf&#xff1a;25A \/ 6000W \u662f\u963b\u6027\u4e0a\u9650&#xff1b;\u611f\u6027\u8d1f\u8f7d&#xff08;\u7535\u673a\/\u538b\u7f29\u673a\/\u6c34\u6cf5&#xff09;\u5fc5\u987b\u964d\u989d\u5e76\u52a0\u63a5\u89e6\u5668&#xff1b;\u4e09\u76f8\u4e0e 380V \u8d85\u51fa\u672c\u8bbe\u5907 110~260Vac \u5355\u76f8\u8fb9\u754c&#xff0c;\u7981\u6b62\u76f4\u63a5\u63a5\u5165\u3002<\/li>\n<li>\u534f\u8bae\u7ea2\u7ebf&#xff1a;\u5b57\u6bb5\u4e25\u683c\u6765\u81ea\u57fa\u51c6\u4e8b\u5b9e\u8868&#xff1b;publish&#xff08;\u8bbe\u5907\u53d1\u2192\u5e73\u53f0\u8ba2\u9605&#xff09;\u4e0e subcribe&#xff08;\u8bbe\u5907\u8ba2\u9605\u2192\u5e73\u53f0\u53d1\u5e03&#xff09;\u65b9\u5411\u4e0d\u53ef\u641e\u53cd&#xff1b;\u672c\u578b\u53f7\u65e0 RS-485\u3001\u65e0\u7ea2\u5916&#xff0c;\u5de5\u4e1a\u5bf9\u63a5\u987b\u7ecf\u7f51\u5173\u3002<\/li>\n<hr \/>\n<h2>\u7b2c\u56db\u90e8\u5206&#xff1a;\u573a\u666f\u4e0b\u7bc7\u3001\u7701\u94b1\u8d26\u4e0e\u5546\u7528\u8fd0\u7ef4<\/h2>\n<p>\u672c\u7bc7\u662f\u300aGSCW1M2P \u667a\u80fd\u901a\u65ad\u5668 25A-S2 Plus-WiFi \u5f00\u53d1\u4e0e\u843d\u5730\u6307\u5357\u300b\u7684\u6536\u5b98\u90e8\u5206\u3002\u7b2c 14 \u7ae0\u627f\u63a5\u7b2c 13 \u7ae0&#xff0c;\u518d\u7ed9\u51fa 12 \u4e2a\u5546\u7528\/\u5de5\u4e1a\u573a\u666f&#xff08;\u7f16\u53f7 13~24&#xff09;&#xff1b;\u7b2c 15~17 \u7ae0\u5206\u522b\u4ece\u7701\u94b1&#xff08;\u6210\u672c&#xff09;\u3001\u589e\u6548&#xff08;\u81ea\u52a8\u5316\u6536\u76ca&#xff09;\u3001\u589e\u6536&#xff08;\u5546\u4e1a\u6a21\u5f0f&#xff09; \u4e09\u4e2a\u89d2\u5ea6&#xff0c;\u628a\u4e00\u53f0\u901a\u65ad\u5668\u7684\u4ef7\u503c\u7b97\u6e05\u695a&#xff1b;\u7b2c 18~19 \u7ae0\u662f\u96c6\u6210\u5546\u89c6\u89d2\u7684\u843d\u5730\u65b9\u6cd5\u8bba\u4e0e\u8fd0\u7ef4\u4f53\u7cfb&#xff1b;\u7b2c 20 \u7ae0\u662f\u53ef\u76f4\u63a5\u6253\u5370\u4f7f\u7528\u7684\u9644\u5f55\u3002<\/p>\n<p>\u8d2f\u7a7f\u7ea2\u7ebf&#xff08;\u4e0e\u524d\u6587\u4e00\u81f4&#xff0c;\u52a1\u5fc5\u7262\u8bb0&#xff09;&#xff1a;\u2460 \u672c\u8bbe\u5907\u662f\u63a5\u7ebf\u5f0f\u5b89\u88c5&#xff0c;\u5fc5\u987b\u65ad\u7535\u4f5c\u4e1a\u3001\u6301\u8bc1\u7535\u5de5\u64cd\u4f5c&#xff1b;\u2461 25A \/ MAX 6000W \u662f&#034;\u963b\u6027\u8d1f\u8f7d&#034;\u4e0a\u9650&#xff0c;\u611f\u6027\u8d1f\u8f7d&#xff08;\u7535\u673a\u3001\u538b\u7f29\u673a\u3001\u6c34\u6cf5\u3001\u7a7a\u538b\u673a&#xff09;\u542f\u52a8\u7535\u6d41\u53ef\u8fbe\u989d\u5b9a\u6570\u500d&#xff0c;\u5fc5\u987b\u964d\u989d\u5e76\u52a0\u63a5\u89e6\u5668\/\u8f6f\u542f\u52a8&#xff1b;\u2462 \u5bfc\u7ebf\u7ebf\u5f84\u987b\u4e0e 25A \u5339\u914d&#xff08;\u53c2\u8003 \u22654mm\u00b2 \u94dc\u82af&#xff0c;\u5177\u4f53\u4ee5\u73b0\u573a\u7535\u6c14\u89c4\u8303\u4e3a\u51c6&#xff09;&#xff0c;\u5e76\u914d\u5bb9\u91cf\u8db3\u591f\u7684\u7a7a\u5f00\/\u6f0f\u4fdd&#xff08;\u6237\u5916\u52a0 SPD&#xff09;&#xff1b;\u2463 \u5b83\u662f\u5355\u8def\u901a\u65ad\u5668&#xff0c;\u4e00\u8def\u4e00\u4e2a\u56de\u8def&#xff1b;\u2464 \u7535\u6c14\u5bff\u547d\u4ec5 5 \u4e07\u6b21&#xff0c;\u9ad8\u9891\u901a\u65ad\u573a\u666f\u52a1\u5fc5\u7b97\u5bff\u547d\u8d26\u3002\u6587\u4e2d\u6240\u6709\u91d1\u989d\u3001\u8282\u80fd\u91cf\u5747\u4e3a&#034;\u793a\u4f8b\u6d4b\u7b97&#034;&#xff0c;\u7528\u4e8e\u8bf4\u660e\u91cf\u7ea7\u800c\u975e\u627f\u8bfa&#xff0c;\u8bfb\u8005\u53ef\u6309\u81ea\u5df1\u7684\u5b9e\u6d4b\u53c2\u6570\u66ff\u6362\u5047\u8bbe\u4e0e\u7b97\u5f0f\u3002<\/p>\n<hr \/>\n<h2>\u7b2c 14 \u7ae0 \u5e94\u7528\u573a\u666f 12 \u4f8b&#xff08;\u7f16\u53f7 13~24&#xff09;<\/h2>\n<p>\u4e00\u53e5\u8bdd\u70b9\u9898&#xff1a;\u4e0a\u4e00\u7ae0\u7684 12 \u4e2a\u573a\u666f\u504f&#034;\u5bb6\u5ead\/\u519c\u4e1a&#034;&#xff0c;\u672c\u7ae0\u7684 12 \u4e2a\u573a\u666f\u5168\u90e8\u843d\u5728\u5546\u94fa\u3001\u5de5\u4e1a\u3001\u5e02\u653f\u4e0e\u65e0\u4eba\u503c\u5b88\u8bbe\u5907\u4e0a\u2014\u2014\u5b83\u4eec\u5bf9&#034;\u5927\u529f\u7387\u3001\u957f\u65f6\u95f4\u8fd0\u884c\u3001\u8fdc\u7a0b\u8fd0\u7ef4\u3001\u7535\u8d39\u654f\u611f&#034;\u7684\u9700\u6c42\u66f4\u5f3a\u70c8&#xff0c;\u4e5f\u66f4\u80fd\u4f53\u73b0 25A \u901a\u65ad\u5668\u7684\u4ef7\u503c\u3002\u6bcf\u4e2a\u573a\u666f\u4ecd\u6309\u300c\u573a\u666f\u4e0e\u75db\u70b9 \u2192 \u65b9\u6848\u8bbe\u8ba1 \u2192 \u8bbe\u5907\u4e0e\u56de\u8def\u89c4\u5212 \u2192 \u5173\u952e\u4ee3\u7801\/\u914d\u7f6e\u8981\u70b9 \u2192 \u4ef7\u503c\u4e0e\u6536\u76ca\u300d\u4e94\u6bb5\u5f0f\u5c55\u5f00\u3002<\/p>\n<p>\u7edf\u4e00\u4ee3\u7801\u57fa\u7840&#xff08;\u540e\u6587\u6309\u9700\u5f15\u7528&#xff0c;\u5b57\u6bb5\u4e25\u683c\u53d6\u81ea\u6307\u4ee4\u8868&#xff09;&#xff1a;set_power(client, on, seq) \u4e0b\u53d1 controller-event&#xff08;key:0 \u65ad\u7535 \/ key:1 \u901a\u7535&#xff09;&#xff1b;set_report_interval(client, enable, sec) \u4e0b\u53d1 device-timer-interval&#xff08;timerInterval 5~86400 \u79d2&#xff09;&#xff1b;remote_reboot_downstream(client, off_seconds) \u65ad\u7535 N \u79d2\u518d\u4e0a\u7535\u5b9e\u73b0\u4e0b\u6e38\u51b7\u542f\u52a8&#xff1b;\u5e73\u53f0\u8ba2\u9605\u8bbe\u5907 info-protocol \u8fd4\u56de\u7684 publish \u4e3b\u9898\u6536\u6570\u636e\u3001\u5411 subcribe \u4e3b\u9898\u53d1\u5e03\u6307\u4ee4&#xff08;\u4e24\u4e2a\u5b57\u6bb5\u65b9\u5411\u6781\u6613\u641e\u53cd&#xff09;\u3002\u6570\u636e\u4fa7\u4f9d\u8d56 info-statistic \/ device-timer-task \u4e0a\u62a5\u7684 voltage \/ current \/ power \/ energy\u3002<\/p>\n<h3>\u573a\u666f 13&#xff1a;\u5546\u94fa\u7167\u660e\u603b\u63a7<\/h3>\n<p>\u573a\u666f\u4e0e\u75db\u70b9&#xff1a;\u5546\u94fa\u3001\u8fde\u9501\u95e8\u5e97\u7167\u660e\u56de\u8def\u591a&#xff08;\u4e3b\u706f\u3001\u6a71\u7a97\u3001\u540e\u4ed3\u3001\u95e8\u5934&#xff09;&#xff0c;\u8425\u4e1a\/\u6253\u70ca\u5168\u9760\u4eba\u5de5\u62c9\u95f8&#xff0c;\u201c\u5fd8\u5173\u706f\u957f\u660e\u201d \u4e0e \u201c\u5f00\u95e8\u4e86\u706f\u8fd8\u6ca1\u5f00\u201d \u540c\u65f6\u5b58\u5728&#xff1b;\u8fde\u9501\u54c1\u724c\u8fd8\u60f3\u7edf\u4e00\u7ba1\u51e0\u5341\u4e0a\u767e\u5bb6\u5e97\u3002<\/p>\n<p>\u65b9\u6848\u8bbe\u8ba1&#xff1a;\u628a\u95e8\u5e97\u7167\u660e\u603b\u56de\u8def&#xff08;\u6216\u5206\u533a\u56de\u8def&#xff09;\u4e32\u5165 GSCW1M2P&#xff0c;\u5e73\u53f0\u6309\u8425\u4e1a\u65f6\u95f4\u8868\u81ea\u52a8\u901a\u65ad&#xff0c;\u914d\u5149\u611f\/\u4eba\u4f53\u611f\u5e94\u505a\u767d\u5929\u8865\u5149\u3001\u65e0\u4eba\u706d\u706f&#xff1b;\u603b\u90e8\u540e\u53f0\u4e00\u952e\u6279\u91cf\u4e0b\u53d1\u3002<\/p>\n<p>\u8bbe\u5907\u4e0e\u56de\u8def\u89c4\u5212&#xff1a;\u95e8\u5e97\u7167\u660e\u591a\u4e3a LED&#xff08;\u975e\u7ebf\u6027\u8d1f\u8f7d&#xff09;&#xff0c;\u529f\u7387\u56e0\u6570\u4f4e\u3001power&#xff08;\u89c6\u5728&#xff09;\u660e\u663e\u5927\u4e8e\u6709\u529f&#xff0c;\u6309\u89c6\u5728\u529f\u7387\u9009\u578b\u5e76\u7559 20%~30% \u4f59\u91cf&#xff0c;\u5355\u8def\u7167\u660e\u5efa\u8bae \u22645000W\u3002\u603b\u56de\u8def\u7535\u6d41\u8d85 25A \u65f6\u7528\u63a5\u89e6\u5668\u6269\u6d41&#xff1b;\u5206\u533a\u5219&#034;\u4e00\u533a\u4e00\u53f0\u901a\u65ad\u5668&#034;&#xff0c;\u914d C25 \u7a7a\u5f00 &#043; 30mA \u6f0f\u4fdd\u3002\u56de\u8def\u547d\u540d\u4e0e\u95e8\u5e97\u53f0\u8d26\u4e00\u4e00\u5bf9\u5e94\u3002<\/p>\n<p>\u5173\u952e\u4ee3\u7801\/\u914d\u7f6e\u8981\u70b9&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u8425\u4e1a 9:00 \u5f00\u706f\u300122:00 \u5173\u706f&#xff1b;\u6bcf 5 \u5206\u949f\u4e0a\u62a5\u4e00\u6b21\u7528\u7535<\/span><br \/>\n<span class=\"token keyword\">def<\/span> <span class=\"token function\">shop_lighting<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    set_report_interval<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">True<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">300<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token comment\"># \u5e73\u53f0\u8c03\u5ea6\u5668&#xff1a;open \u65f6\u4e0b\u53d1 key&#061;1&#xff0c;close \u65f6\u4e0b\u53d1 key&#061;0<\/span><br \/>\n    <span class=\"token comment\"># \u6536\u5230 device-timer-task \u540e&#xff0c;energy \u7d2f\u8ba1\u503c\u5199\u5165&#034;\u95e8\u5e97\u7167\u660e\u7528\u7535\u65e5\u770b\u677f&#034;<\/span><br \/>\n<span class=\"token comment\"># \u603b\u90e8\u6279\u91cf&#xff1a;\u904d\u5386\u95e8\u5e97\u5217\u8868\u7edf\u4e00 set_power&#xff0c;\u5355\u5e97\u5f02\u5e38&#xff08;power \u957f\u65f6\u95f4\u4e3a 0 \u4f46\u5e94\u4eae&#xff09;\u544a\u8b66<\/span><\/p>\n<p>\u4ef7\u503c\u4e0e\u6536\u76ca&#xff1a;\u675c\u7edd\u957f\u660e\u3001\u6309\u9700\u7167\u660e&#xff0c;\u76f4\u63a5\u964d\u4f4e\u7167\u660e\u7535\u8d39&#xff1b;\u8fde\u9501\u95e8\u5e97&#034;\u4e00\u6b21\u914d\u7f6e\u3001\u5168\u7f51\u751f\u6548&#034;&#xff0c;\u7ba1\u7406\u6210\u672c\u9aa4\u964d\u3002&#xff08;\u793a\u4f8b\u6d4b\u7b97&#xff1a;\u5355\u5e97\u7167\u660e 1.5kW\u3001\u6bcf\u5929\u5c11\u4eae 4 \u5c0f\u65f6&#xff0c;\u4e00\u5e74\u7701\u7ea6 2190kWh&#xff0c;\u6309 0.8 \u5143\/kWh \u7ea6 1750 \u5143\u3002&#xff09;<\/p>\n<h3>\u573a\u666f 14&#xff1a;\u5e7f\u544a\u706f\u7bb1<\/h3>\n<p>\u573a\u666f\u4e0e\u75db\u70b9&#xff1a;\u6cbf\u8857\u95e8\u5934\u706f\u7bb1\u3001\u5019\u8f66\u4ead\u5e7f\u544a\u706f\u7bb1\u591a\u4e3a\u591c\u95f4\u70b9\u4eae&#xff0c;\u9760\u65f6\u63a7\u5668\u6216\u4eba\u5de5&#xff0c;\u767d\u5929\u957f\u660e\u3001\u534a\u591c\u4e0d\u5173\u3001\u96f7\u96e8\u5929\u4e0d\u6562\u65ad\u7535&#xff1b;\u6237\u5916\u706f\u7bb1\u53d7\u96f7\u51fb\u6d6a\u6d8c\u5a01\u80c1\u3002<\/p>\n<p>\u65b9\u6848\u8bbe\u8ba1&#xff1a;\u706f\u7bb1\u4f9b\u7535\u56de\u8def\u4e32\u5165 GSCW1M2P&#xff0c;\u505a \u201c\u65e5\u843d\u5f00\u3001\u6df1\u591c\u5173\u201d&#xff08;\u5982 18:00 \u5f00\u300123:30 \u5173&#xff09;&#xff0c;\u5e76\u91c7\u96c6\u8017\u7535&#xff1b;\u6237\u5916\u56de\u8def\u52a0 SPD\u3002<\/p>\n<p>\u8bbe\u5907\u4e0e\u56de\u8def\u89c4\u5212&#xff1a;LED \u706f\u7bb1\u901a\u5e38\u51e0\u767e W&#xff0c;\u53ef\u76f4\u63a5\u63a5\u5165&#xff1b;\u82e5\u5355\u56de\u8def\u6c47\u63a5\u591a\u7ec4\u706f\u7bb1\u3001\u7535\u6d41\u63a5\u8fd1 25A&#xff0c;\u7528\u63a5\u89e6\u5668\u6269\u6d41\u3002\u6237\u5916\u5fc5\u987b\u914d SPD \u6d6a\u6d8c\u4fdd\u62a4 &#043; 30mA \u6f0f\u4fdd&#xff0c;\u5bfc\u7ebf\u505a\u9632\u6c34\u5904\u7406\u3002<\/p>\n<p>\u5173\u952e\u4ee3\u7801\/\u914d\u7f6e\u8981\u70b9&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u65e5\u843d\u5f00\u3001\u6df1\u591c\u5173&#xff1b;\u6545\u969c&#xff08;\u5e94\u4eae\u5374 power\u22480&#xff09;\u544a\u8b66<\/span><br \/>\n<span class=\"token keyword\">def<\/span> <span class=\"token function\">lightbox<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> on_h<span class=\"token operator\">&#061;<\/span><span class=\"token number\">18<\/span><span class=\"token punctuation\">,<\/span> off_h<span class=\"token operator\">&#061;<\/span><span class=\"token number\">23.5<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    set_report_interval<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">True<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">600<\/span><span class=\"token punctuation\">)<\/span>   <span class=\"token comment\"># \u706f\u7bb1\u53d8\u5316\u6162&#xff0c;10 \u5206\u949f\u4e00\u6b21\u5373\u53ef<\/span><br \/>\n    <span class=\"token comment\"># \u5e73\u53f0\u6309\u7ecf\u7eac\u5ea6\/\u5b63\u8282\u5fae\u8c03 on_h\/off_h<\/span><br \/>\n<span class=\"token comment\"># energy \u7d2f\u52a0\u7528\u4e8e\u5e7f\u544a\u4f4d\u7535\u8d39\u6838\u7b97\u6216\u5bf9\u5916\u7ed3\u7b97<\/span><\/p>\n<p>\u4ef7\u503c\u4e0e\u6536\u76ca&#xff1a;\u6309\u9700\u70b9\u4eae\u6d88\u9664\u767d\u5929\/\u540e\u534a\u591c\u957f\u660e&#xff1b;\u5546\u7528\u706f\u7bb1\u53ef\u6309\u7528\u7535\u91cf\u5411\u5e7f\u544a\u4e3b\u7ed3\u7b97\u3002&#xff08;\u793a\u4f8b\u6d4b\u7b97&#xff1a;0.4kW \u706f\u7bb1\u6bcf\u5929\u5c11\u4eae 6 \u5c0f\u65f6&#xff0c;\u4e00\u5e74\u7701\u7ea6 876kWh\u3002&#xff09;<\/p>\n<h3>\u573a\u666f 15&#xff1a;\u6237\u5916\u5927\u5c4f \/ \u4f1a\u8bae\u5927\u5c4f<\/h3>\n<p>\u573a\u666f\u4e0e\u75db\u70b9&#xff1a;\u5546\u573a\u6237\u5916 LED \u5927\u5c4f\u3001\u4f1a\u8bae\u5ba4\u62fc\u63a5\u5927\u5c4f\u5f85\u673a\u4e5f\u8017\u7535&#xff0c;\u4f1a\u8bae\u524d\u8981\u63d0\u524d\u9884\u70ed\u3001\u6563\u4f1a\u540e\u5e38\u5fd8\u5173&#xff1b;\u6237\u5916\u5927\u5c4f\u96f7\u96e8\u5b63\u9700\u5f7b\u5e95\u65ad\u7535\u3002<\/p>\n<p>\u65b9\u6848\u8bbe\u8ba1&#xff1a;\u628a\u5927\u5c4f\u4e3b\u4f9b\u7535\u56de\u8def\u4e32\u5165\u901a\u65ad\u5668&#xff0c;\u6309\u6392\u671f\/\u9884\u7ea6\u4f9b\u7535&#xff1b;\u65e0\u6392\u671f\u65f6\u6bb5\u5f7b\u5e95\u65ad\u7535&#xff1b;\u4e0e\u4e2d\u63a7\u8054\u52a8&#034;\u5f00\u4f1a\u5373\u901a\u7535&#034;\u3002<\/p>\n<p>\u8bbe\u5907\u4e0e\u56de\u8def\u89c4\u5212&#xff1a;\u5927\u5c4f\u529f\u7387\u5e38\u8fbe\u6570 kW&#xff0c;\u4e14\u662f\u975e\u7ebf\u6027\u8d1f\u8f7d\u3001\u6d6a\u6d8c\u5927&#xff0c;\u5efa\u8bae\u7528\u63a5\u89e6\u5668\u6269\u6d41\u2014\u2014\u901a\u65ad\u5668\u53ea\u63a7\u63a5\u89e6\u5668\u7ebf\u5708&#xff1b;\u56de\u8def\u7528 \u22656mm\u00b2 \u94dc\u82af &#043; C32 \u7a7a\u5f00 &#043; \u6f0f\u4fdd&#xff0c;\u6237\u5916\u52a0 SPD\u3002<\/p>\n<p>\u5173\u952e\u4ee3\u7801\/\u914d\u7f6e\u8981\u70b9&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u9884\u7ea6\u4f9b\u7535&#xff1a;\u4f1a\u8bae\u5f00\u59cb\u524d 15 \u5206\u949f key&#061;1&#xff0c;\u7ed3\u675f key&#061;0<\/span><br \/>\n<span class=\"token keyword\">def<\/span> <span class=\"token function\">screen_schedule<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> start_ts<span class=\"token punctuation\">,<\/span> end_ts<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    set_report_interval<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">True<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">120<\/span><span class=\"token punctuation\">)<\/span><br \/>\n<span class=\"token comment\"># \u4f9d\u636e power&#xff1a;\u65ad\u7535\u540e\u82e5 power \u4ecd &gt; \u9608\u503c \u2192 \u544a\u8b66&#xff08;\u5927\u5c4f\u672a\u771f\u6b63\u4e0b\u7535&#xff09;<\/span><\/p>\n<p>\u4ef7\u503c\u4e0e\u6536\u76ca&#xff1a;\u6d88\u9664\u5927\u5c4f\u957f\u65f6\u95f4\u5f85\u673a\u8017\u7535&#xff0c;\u5ef6\u957f\u5c4f\u4f53\u5bff\u547d&#xff1b;\u6237\u5916\u5c4f\u53ef\u8fdc\u7a0b\u4e00\u952e\u65ad\u7535\u907f\u96f7\u3002&#xff08;\u793a\u4f8b\u6d4b\u7b97&#xff1a;\u5927\u5c4f\u5f85\u673a 150W\u3001\u6bcf\u5929 16 \u5c0f\u65f6\u65e0\u4eba\u65f6\u6bb5&#xff0c;\u4e00\u5e74\u7701\u7ea6 876kWh\u3002&#xff09;<\/p>\n<h3>\u573a\u666f 16&#xff1a;\u5de5\u5382\u4ea7\u7ebf\u8bbe\u5907<\/h3>\n<p>\u573a\u666f\u4e0e\u75db\u70b9&#xff1a;\u4ea7\u7ebf\u6d4b\u8bd5\u53f0\u3001\u5305\u88c5\u673a\u3001\u8f85\u52a9\u8bbe\u5907\u4e0b\u73ed\u540e\u5e38&#034;\u5fd8\u8bb0\u5173\u673a&#034;\u7a7a\u8f6c&#xff1b;\u591c\u73ed\/\u767d\u73ed\u5207\u6362\u9760\u4eba\u5de5\u5408\u95f8&#xff1b;\u8bbe\u5907\u5076\u53d1\u6b7b\u673a\u8981\u6d3e\u4eba\u91cd\u542f\u3002<\/p>\n<p>\u65b9\u6848\u8bbe\u8ba1&#xff1a;\u6309&#034;\u8bbe\u5907\/\u5de5\u4f4d&#034;\u5206\u56de\u8def\u63a5\u901a\u65ad\u5668&#xff0c;\u5e73\u53f0\u6309\u73ed\u6b21\u8868\u4f9b\u7535&#xff0c;\u5b9e\u73b0&#034;\u4e0a\u73ed\u81ea\u52a8\u4e0a\u7535\u3001\u4e0b\u73ed\u81ea\u52a8\u65ad\u7535&#034;&#xff1b;\u914d\u5408 remote_reboot_downstream \u505a\u8fdc\u7a0b\u91cd\u542f\u3002<\/p>\n<p>\u8bbe\u5907\u4e0e\u56de\u8def\u89c4\u5212&#xff1a;\u4ea7\u7ebf\u8bbe\u5907\u591a\u542b\u7535\u673a&#xff08;\u611f\u6027&#xff09;&#xff0c;\u5fc5\u987b\u964d\u989d &#043; \u63a5\u89e6\u5668\u6269\u6d41&#xff0c;\u901a\u65ad\u5668\u53ea\u63a7\u63a5\u89e6\u5668\u7ebf\u5708\u6216\u8bbe\u5907\u63a7\u5236\u56de\u8def\u3002\u26a0\ufe0f \u4e0d\u8981\u7528\u5b83\u76f4\u63a5\u5207\u4ea7\u7ebf\u4e3b\u7535\u6e90&#xff1b;\u5355\u72ec\u6210\u8def\u3001\u914d C32 \u7a7a\u5f00 &#043; \u6f0f\u4fdd\u3002<\/p>\n<p>\u5173\u952e\u4ee3\u7801\/\u914d\u7f6e\u8981\u70b9&#xff1a;<\/p>\n<p><span class=\"token keyword\">def<\/span> <span class=\"token function\">line_shift<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> shift_on<span class=\"token punctuation\">,<\/span> shift_off<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    set_report_interval<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">True<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">60<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token comment\"># \u73ed\u6b21\u8c03\u5ea6&#xff1a;shift_on \u65f6 key&#061;1&#xff0c;shift_off \u65f6 key&#061;0<\/span><br \/>\n<span class=\"token keyword\">def<\/span> <span class=\"token function\">line_reboot<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    remote_reboot_downstream<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> off_seconds<span class=\"token operator\">&#061;<\/span><span class=\"token number\">20<\/span><span class=\"token punctuation\">)<\/span>   <span class=\"token comment\"># \u6b7b\u673a\u8fdc\u7a0b\u91cd\u542f<\/span><\/p>\n<p>\u4ef7\u503c\u4e0e\u6536\u76ca&#xff1a;\u6d88\u9664\u73ed\u540e\u7a7a\u8f6c\u8017\u7535&#xff1b;\u8fdc\u7a0b\u91cd\u542f\u7f29\u77ed\u505c\u673a\u65f6\u95f4\u3002&#xff08;\u793a\u4f8b\u6d4b\u7b97&#xff1a;\u4e00\u6b21\u73b0\u573a\u91cd\u542f\u7efc\u5408\u6210\u672c\u7ea6 200 \u5143&#xff0c;\u6bcf\u6708\u51cf\u5c11 3 \u6b21\u5373\u5e74\u7701\u7ea6 7200 \u5143\u3002&#xff09;<\/p>\n<h3>\u573a\u666f 17&#xff1a;\u7a7a\u538b\u673a<\/h3>\n<p>\u573a\u666f\u4e0e\u75db\u70b9&#xff1a;\u7a7a\u538b\u673a\u662f\u5de5\u5382&#034;\u7535\u8001\u864e&#034;&#xff0c;\u975e\u751f\u4ea7\u65f6\u6bb5\u4ecd\u4fdd\u538b\u5f85\u673a\u3001\u7ba1\u7f51\u6cc4\u6f0f\u6301\u7eed\u8017\u7535&#xff1b;\u4eba\u5de5\u5728\u4e0b\u73ed\u540e\u5173\u7a7a\u538b\u673a\u4e0d\u73b0\u5b9e\u3002<\/p>\n<p>\u65b9\u6848\u8bbe\u8ba1&#xff1a;\u7a7a\u538b\u673a\u63a7\u5236\u56de\u8def&#xff08;\u6216\u7ecf\u63a5\u89e6\u5668\u7684\u4e3b\u56de\u8def&#xff09;\u63a5\u901a\u65ad\u5668&#xff0c;\u5e73\u53f0\u5728\u975e\u751f\u4ea7\u65f6\u6bb5\/\u591c\u95f4\u81ea\u52a8\u505c\u7a7a\u538b\u673a&#xff0c;\u751f\u4ea7\u524d\u63d0\u524d\u5f00\u673a\u4fdd\u538b\u3002<\/p>\n<p>\u8bbe\u5907\u4e0e\u56de\u8def\u89c4\u5212&#xff1a;\u26a0\ufe0f \u7a7a\u538b\u673a\u5c5e\u5927\u529f\u7387\u611f\u6027\u8d1f\u8f7d\u3001\u542f\u52a8\u7535\u6d41\u6781\u5927&#xff0c;\u4e25\u7981\u7528 25A \u89e6\u70b9\u76f4\u5207\u4e3b\u56de\u8def&#xff1b;\u6807\u51c6\u505a\u6cd5\u662f\u901a\u65ad\u5668\u9a71\u52a8\u63a5\u89e6\u5668\u7ebf\u5708&#xff0c;\u7531\u63a5\u89e6\u5668\u5207\u7a7a\u538b\u673a\u4e3b\u56de\u8def&#xff1b;\u6216\u7528\u901a\u65ad\u5668\u63a7\u7a7a\u538b\u673a\u5c31\u5730\u63a7\u5236\u56de\u8def\u3002\u56de\u8def\u5355\u72ec\u6210\u8def\u3001\u914d\u4e13\u7528\u7a7a\u5f00\u3002<\/p>\n<p>\u5173\u952e\u4ee3\u7801\/\u914d\u7f6e\u8981\u70b9&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u751f\u4ea7\u65f6\u6bb5 8:00-20:00 \u5141\u8bb8\u8fd0\u884c&#xff0c;\u5176\u4f59\u65f6\u95f4\u505c\u673a&#xff1b;\u63d0\u524d 30 \u5206\u949f\u5f00\u673a\u4fdd\u538b<\/span><br \/>\n<span class=\"token keyword\">def<\/span> <span class=\"token function\">air_compressor<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    set_report_interval<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">True<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">300<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token comment\"># \u5e73\u53f0&#xff1a;\u975e\u751f\u4ea7\u65f6\u6bb5 key&#061;0&#xff1b;\u751f\u4ea7\u524d key&#061;1<\/span><br \/>\n<span class=\"token comment\"># energy \u7edf\u8ba1\u7a7a\u538b\u673a\u65e5\u7535\u8017&#xff0c;\u7528\u4e8e\u80fd\u6548\u8003\u6838&#xff08;kWh\/\u6807\u65b9\u6c14&#xff09;<\/span><\/p>\n<p>\u4ef7\u503c\u4e0e\u6536\u76ca&#xff1a;\u5207\u65ad\u975e\u751f\u4ea7\u65f6\u6bb5\u4fdd\u538b\u4e0e\u6cc4\u6f0f\u8017\u7535&#xff0c;\u8282\u80fd\u663e\u8457&#xff1b;\u7528\u7535\u53ef\u91cf\u5316\u652f\u6491\u80fd\u6548\u7ba1\u7406\u3002&#xff08;\u793a\u4f8b\u6d4b\u7b97&#xff1a;\u7a7a\u538b\u673a 7.5kW&#xff0c;\u6bcf\u5929\u5c11\u7a7a\u8f6c 4 \u5c0f\u65f6&#xff0c;\u4e00\u5e74\u7701\u7ea6 10950kWh\u3002&#xff09;<\/p>\n<h3>\u573a\u666f 18&#xff1a;\u5de5\u4e1a\u98ce\u673a<\/h3>\n<p>\u573a\u666f\u4e0e\u75db\u70b9&#xff1a;\u8f66\u95f4\u6392\u98ce\u3001\u9664\u5c18\u98ce\u673a\u5e38\u5e74\u8fd0\u884c&#xff0c;\u975e\u751f\u4ea7\u65f6\u6bb5\u65e0\u4eba\u4ecd\u7a7a\u8f6c&#xff1b;\u7c89\u5c18\/\u9ad8\u6e29\u8f66\u95f4\u8fd8\u9700\u6309\u73af\u5883\u52a8\u6001\u901a\u98ce\u3002<\/p>\n<p>\u65b9\u6848\u8bbe\u8ba1&#xff1a;\u98ce\u673a\u56de\u8def\u63a5\u901a\u65ad\u5668&#xff0c;\u6309\u73ed\u6b21 &#043; \u73af\u5883\u4f20\u611f\u5668&#xff08;\u6e29\u5ea6\/\u7c89\u5c18&#xff09; \u901a\u65ad&#xff0c;\u5b9e\u73b0&#034;\u6309\u9700\u901a\u98ce&#034;\u3002<\/p>\n<p>\u8bbe\u5907\u4e0e\u56de\u8def\u89c4\u5212&#xff1a;\u98ce\u673a\u4e3a\u611f\u6027\u8d1f\u8f7d&#xff0c;\u964d\u989d &#043; \u63a5\u89e6\u5668\u6269\u6d41&#xff1b;\u5355\u72ec\u6210\u8def&#xff0c;\u914d C32 \u7a7a\u5f00 &#043; \u6f0f\u4fdd\u3002<\/p>\n<p>\u5173\u952e\u4ee3\u7801\/\u914d\u7f6e\u8981\u70b9&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u73ed\u6b21\u8fd0\u884c &#043; \u6e29\u5ea6\u8d8a\u9650\u5f3a\u901a\u98ce<\/span><br \/>\n<span class=\"token keyword\">def<\/span> <span class=\"token function\">fan_control<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> temp_high<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    set_report_interval<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">True<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">120<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token comment\"># on_sensor_event&#xff1a;temperature &gt; temp_high \u2192 key&#061;1&#xff1b;\u6062\u590d\u6b63\u5e38\u4e14\u975e\u751f\u4ea7 \u2192 key&#061;0<\/span><\/p>\n<p>\u4ef7\u503c\u4e0e\u6536\u76ca&#xff1a;\u975e\u751f\u4ea7\u65f6\u6bb5\u505c\u98ce\u673a\u7701\u7535&#xff1b;\u7c89\u5c18\/\u9ad8\u6e29\u73af\u5883\u81ea\u52a8\u5f3a\u5316\u901a\u98ce\u66f4\u5b89\u5168\u3001\u66f4\u5408\u89c4\u3002&#xff08;\u793a\u4f8b\u6d4b\u7b97&#xff1a;\u98ce\u673a 3kW\u3001\u6bcf\u5929\u5c11\u8f6c 5 \u5c0f\u65f6&#xff0c;\u4e00\u5e74\u7701\u7ea6 5475kWh\u3002&#xff09;<\/p>\n<h3>\u573a\u666f 19&#xff1a;\u5730\u4e0b\u8f66\u5e93\u8bbe\u5907<\/h3>\n<p>\u573a\u666f\u4e0e\u75db\u70b9&#xff1a;\u5730\u4e0b\u8f66\u5e93\u6392\u98ce\u673a\u3001\u7167\u660e\u957f\u671f\u8fd0\u884c&#xff0c;\u80fd\u8017\u5927&#xff1b;CO \u8d85\u6807\u624d\u9700\u8981\u5f3a\u6392&#xff0c;\u5e73\u65f6\u53ef\u964d\u9891\/\u505c\u673a&#xff1b;\u4eba\u5de5\u7ba1\u7406\u96be\u5ea6\u5927\u3002<\/p>\n<p>\u65b9\u6848\u8bbe\u8ba1&#xff1a;\u6309&#034;\u6392\u98ce\u673a \/ \u7167\u660e&#034;\u5206\u56de\u8def\u63a5\u901a\u65ad\u5668&#xff0c;\u5e73\u53f0\u6309\u65f6\u6bb5 &#043; CO\/\u4eba\u4f53\u611f\u5e94\u63a7\u5236\u2014\u2014\u5e73\u65f6\u4f4e\u901f\u6216\u505c\u3001CO \u8d85\u6807\u6216\u6709\u4eba\u65f6\u542f\u52a8\u3002<\/p>\n<p>\u8bbe\u5907\u4e0e\u56de\u8def\u89c4\u5212&#xff1a;\u6392\u98ce\u673a\u4e3a\u611f\u6027&#xff0c;\u7528\u63a5\u89e6\u5668\u6269\u6d41&#xff1b;\u7167\u660e\u4e3a LED&#xff08;\u975e\u7ebf\u6027&#xff09;&#xff0c;\u53ef\u5206\u533a\u6216\u603b\u63a7&#xff1b;\u8f66\u5e93\u6f6e\u6e7f&#xff0c;\u56de\u8def\u52a0\u6f0f\u4fdd&#xff0c;\u5bfc\u7ebf\u505a\u9632\u6f6e\u5904\u7406\u3002<\/p>\n<p>\u5173\u952e\u4ee3\u7801\/\u914d\u7f6e\u8981\u70b9&#xff1a;<\/p>\n<p><span class=\"token comment\"># CO \u8d85\u6807\u5f3a\u6392\u3001\u5e73\u65f6\u4f4e\u8017\u8fd0\u884c<\/span><br \/>\n<span class=\"token keyword\">def<\/span> <span class=\"token function\">garage_control<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> co_limit<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    set_report_interval<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">True<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">180<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token comment\"># on_sensor_event&#xff1a;CO &gt; co_limit \u2192 key&#061;1&#xff08;\u5f3a\u6392&#xff09;&#xff1b;\u6301\u7eed\u4f4e\u4f4d \u2192 key&#061;0<\/span><\/p>\n<p>\u4ef7\u503c\u4e0e\u6536\u76ca&#xff1a;\u8f66\u5e93\u5927\u529f\u7387\u6392\u98ce&#034;\u6309\u9700\u8fd0\u884c&#034;&#xff0c;\u8282\u7535\u53ef\u89c2&#xff1b;\u7167\u660e\u6309\u65f6\u6bb5\u5206\u7ec4&#xff0c;\u675c\u7edd\u957f\u660e\u3002&#xff08;\u793a\u4f8b\u6d4b\u7b97&#xff1a;\u6392\u98ce\u673a 5.5kW\u3001\u6bcf\u5929\u5c11\u8fd0\u884c 4 \u5c0f\u65f6&#xff0c;\u4e00\u5e74\u7701\u7ea6 8030kWh\u3002&#xff09;<\/p>\n<h3>\u573a\u666f 20&#xff1a;\u8def\u706f \/ \u56ed\u533a\u7167\u660e<\/h3>\n<p>\u573a\u666f\u4e0e\u75db\u70b9&#xff1a;\u56ed\u533a\u8def\u706f\u9760\u65f6\u63a7\u5668\/\u4eba\u5de5&#xff0c;\u70b9\u706d\u65f6\u95f4\u968f\u5b63\u8282\u53d8\u5316\u96be\u8c03\u6574&#xff0c;\u5206\u533a\u63a7\u5236\u7c97\u653e&#xff1b;\u6545\u969c\u6392\u67e5\u9760\u5de1\u67e5\u3002<\/p>\n<p>\u65b9\u6848\u8bbe\u8ba1&#xff1a;\u56ed\u533a\u8def\u706f\u6309\u7247\u533a\u56de\u8def\u63a5\u901a\u65ad\u5668&#xff0c;\u5e73\u53f0\u6309\u7ecf\u7eac\u5ea6\/\u5b63\u8282\u81ea\u52a8\u8c03\u6574\u5f00\u5173\u706f\u65f6\u523b&#xff0c;\u5e76\u76d1\u6d4b\u5404\u7247\u533a\u7528\u7535\u5224\u65ad&#034;\u662f\u5426\u771f\u4eae&#034;\u3002<\/p>\n<p>\u8bbe\u5907\u4e0e\u56de\u8def\u89c4\u5212&#xff1a;\u8def\u706f\u4e3a LED\/\u94a0\u706f&#xff08;\u975e\u7ebf\u6027&#xff09;&#xff0c;\u4e00\u4e2a\u7247\u533a\u56de\u8def\u529f\u7387\u53ef\u80fd\u8f83\u5927&#xff0c;\u6309\u603b\u529f\u7387\u9009\u578b&#xff0c;\u8d85\u524d\u7528\u63a5\u89e6\u5668\u6269\u6d41&#xff1b;\u6237\u5916\u56de\u8def\u5fc5\u987b SPD &#043; \u6f0f\u4fdd&#xff0c;\u5bfc\u7ebf\u5bb9\u91cf\u6309\u7247\u533a\u603b\u7535\u6d41\u653e\u5927\u3002<\/p>\n<p>\u5173\u952e\u4ee3\u7801\/\u914d\u7f6e\u8981\u70b9&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u65e5\u843d\u5f00\u3001\u65e5\u51fa\u5173&#xff08;\u6309\u65e5\u6708\u81ea\u52a8\u8c03\u6574&#xff09;<\/span><br \/>\n<span class=\"token keyword\">def<\/span> <span class=\"token function\">street_light<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    set_report_interval<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">True<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">600<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token comment\"># \u5e73\u53f0\u6839\u636e\u7ecf\u7eac\u5ea6\u8ba1\u7b97\u65e5\u843d\/\u65e5\u51fa\u65f6\u523b&#xff0c;\u5b9a\u65f6 key&#061;1 \/ key&#061;0<\/span><br \/>\n<span class=\"token comment\"># \u5404\u7247\u533a energy \u5bf9\u6bd4&#xff1a;\u67d0\u7247\u533a\u8017\u7535\u9aa4\u964d \u2192 \u53ef\u80fd\u7ebf\u8def\/\u706f\u5177\u6545\u969c&#xff0c;\u544a\u8b66<\/span><\/p>\n<p>\u4ef7\u503c\u4e0e\u6536\u76ca&#xff1a;\u6309\u9700\u7167\u660e &#043; \u7cbe\u786e\u70b9\u706d\u65f6\u523b&#xff0c;\u8282\u7701\u7535\u8d39&#xff1b;\u5206\u533a\u7528\u7535\u76d1\u6d4b\u53d8&#034;\u88ab\u52a8\u5de1\u67e5&#034;\u4e3a&#034;\u4e3b\u52a8\u544a\u8b66&#034;\u3002&#xff08;\u793a\u4f8b\u6d4b\u7b97&#xff1a;\u67d0\u7247\u533a 8kW\u3001\u6bcf\u5929\u5c11\u4eae 1 \u5c0f\u65f6&#xff0c;\u4e00\u5e74\u7701\u7ea6 2920kWh\u3002&#xff09;<\/p>\n<h3>\u573a\u666f 21&#xff1a;\u666f\u89c2\u4eae\u5316<\/h3>\n<p>\u573a\u666f\u4e0e\u75db\u70b9&#xff1a;\u697c\u4f53\u4eae\u5316\u3001\u55b7\u6cc9\u6c34\u666f\u3001\u8282\u65e5\u706f\u5149\u591c\u95f4\u8fd0\u884c\u4e14\u6a21\u5f0f\u591a\u53d8&#xff08;\u5e73\u65e5\/\u5468\u672b\/\u8282\u5047\u65e5\u4e0d\u540c&#xff09;&#xff0c;\u4eba\u5de5\u5230\u573a\u5207\u6362\u6210\u672c\u9ad8\u3002<\/p>\n<p>\u65b9\u6848\u8bbe\u8ba1&#xff1a;\u4eae\u5316\u5206\u56de\u8def\u63a5\u901a\u65ad\u5668&#xff0c;\u5e73\u53f0\u6309**&#034;\u5e73\u65e5\/\u5468\u672b\/\u8282\u5047\u65e5&#034;\u6a21\u5f0f**\u4e0b\u53d1\u4e0d\u540c\u901a\u65ad\u65f6\u6bb5&#xff0c;\u8282\u5047\u65e5\u52a0\u65f6\u3001\u5e73\u65e5\u7cbe\u7b80\u3002<\/p>\n<p>\u8bbe\u5907\u4e0e\u56de\u8def\u89c4\u5212&#xff1a;LED \u4eae\u5316&#xff08;\u975e\u7ebf\u6027&#xff09;\u53ef\u76f4\u8fde&#xff1b;\u603b\u56de\u8def\u7535\u6d41\u5927\u65f6\u7528\u63a5\u89e6\u5668\u6269\u6d41\u3002\u6237\u5916\/\u6c34\u666f\u56de\u8def\u9632\u6c34\u3001\u9632\u96f7&#xff08;SPD&#xff09;\u3001\u6f0f\u4fdd\u4e00\u4e2a\u90fd\u4e0d\u80fd\u5c11\u3002<\/p>\n<p>\u5173\u952e\u4ee3\u7801\/\u914d\u7f6e\u8981\u70b9&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u6a21\u5f0f\u5316\u8c03\u5ea6&#xff1a;\u8282\u5047\u65e5\u5ef6\u957f\u3001\u5e73\u65e5\u7f29\u77ed<\/span><br \/>\n<span class=\"token keyword\">def<\/span> <span class=\"token function\">nightscape<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> mode<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    set_report_interval<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">True<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">600<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token comment\"># mode&#061;holiday \u2192 18:00-24:00&#xff1b;mode&#061;weekday \u2192 18:30-22:30<\/span><\/p>\n<p>\u4ef7\u503c\u4e0e\u6536\u76ca&#xff1a;\u6309\u9700\u4eae\u5316\u3001\u6a21\u5f0f\u5316\u8fd0\u884c\u7701\u7535&#xff1b;\u8fdc\u7a0b\u4e00\u952e\u5207\u6362&#xff0c;\u7701\u53bb\u4eba\u5de5\u5230\u573a\u3002&#xff08;\u793a\u4f8b\u6d4b\u7b97&#xff1a;\u4eae\u5316 4kW&#xff0c;\u8282\u5047\u65e5\u5916\u6bcf\u5929\u5c11\u4eae 1.5 \u5c0f\u65f6&#xff0c;\u4e00\u5e74\u7701\u7ea6 2190kWh\u3002&#xff09;<\/p>\n<h3>\u573a\u666f 22&#xff1a;\u901a\u4fe1\u57fa\u7ad9\u7a7a\u8c03<\/h3>\n<p>\u573a\u666f\u4e0e\u75db\u70b9&#xff1a;\u57fa\u7ad9\/\u673a\u623f\u7a7a\u8c03\u5e38\u5e74\u5236\u51b7\u3001\u8017\u7535\u6781\u5927&#xff0c;\u57fa\u7ad9\u65e0\u4eba\u503c\u5b88&#xff0c;\u7a7a\u8c03\u6b7b\u673a\u9700\u6d3e\u4eba\u4e0a\u7ad9\u91cd\u542f&#xff0c;\u6210\u672c\u9ad8\u3001\u54cd\u5e94\u6162\u3002<\/p>\n<p>\u65b9\u6848\u8bbe\u8ba1&#xff1a;\u57fa\u7ad9\u7a7a\u8c03\u4f9b\u7535\u8bdd\u63a5\u901a\u65ad\u5668&#xff0c;\u5e73\u53f0\u6309\u6e29\u5ea6\u63a7\u6e29\u3001\u5e76\u652f\u6301\u8fdc\u7a0b\u91cd\u542f&#xff1b;\u914d\u5408\u7528\u7535\u91c7\u96c6\u505a\u57fa\u7ad9\u80fd\u8017\u76d1\u6d4b\u3002<\/p>\n<p>\u8bbe\u5907\u4e0e\u56de\u8def\u89c4\u5212&#xff1a;\u7a7a\u8c03\u542b\u538b\u7f29\u673a&#xff08;\u611f\u6027&#xff09;&#xff0c;\u63a5\u89e6\u5668\u6269\u6d41&#xff1b;\u56de\u8def\u5355\u72ec\u6210\u8def&#xff0c;\u914d C32 \u7a7a\u5f00 &#043; \u6f0f\u4fdd\u3002<\/p>\n<p>\u5173\u952e\u4ee3\u7801\/\u914d\u7f6e\u8981\u70b9&#xff1a;<\/p>\n<p><span class=\"token keyword\">def<\/span> <span class=\"token function\">bts_ac<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> temp_high<span class=\"token punctuation\">,<\/span> temp_low<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    set_report_interval<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">True<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">300<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token comment\"># \u6e29\u5ea6 &gt; temp_high \u2192 key&#061;1 \u5236\u51b7&#xff1b;&lt; temp_low \u2192 key&#061;0&#xff1b;\u5f02\u5e38 \u2192 \u8fdc\u7a0b\u91cd\u542f<\/span><br \/>\n<span class=\"token keyword\">def<\/span> <span class=\"token function\">bts_ac_reboot<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    remote_reboot_downstream<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> off_seconds<span class=\"token operator\">&#061;<\/span><span class=\"token number\">30<\/span><span class=\"token punctuation\">)<\/span>   <span class=\"token comment\"># \u7a7a\u8c03&#034;\u5361\u6b7b&#034;\u8fdc\u7a0b\u91cd\u542f<\/span><\/p>\n<p>\u4ef7\u503c\u4e0e\u6536\u76ca&#xff1a;\u6309\u6e29\u5ea6\u7cbe\u51c6\u5236\u51b7\u7701\u7535&#xff1b;\u8fdc\u7a0b\u91cd\u542f\u66ff\u4ee3\u4e0a\u7ad9&#xff0c;\u7701\u65f6\u7701\u94b1\u3002&#xff08;\u793a\u4f8b\u6d4b\u7b97&#xff1a;\u4e00\u6b21\u4e0a\u7ad9\u7efc\u5408\u6210\u672c\u7ea6 300 \u5143&#xff0c;\u6bcf\u7ad9\u6bcf\u5e74\u5c11\u8dd1 6 \u6b21\u5373\u5e74\u7701\u7ea6 1800 \u5143\/\u7ad9\u3002&#xff09;<\/p>\n<h3>\u573a\u666f 23&#xff1a;\u81ea\u52a9\u552e\u8d27\u673a<\/h3>\n<p>\u573a\u666f\u4e0e\u75db\u70b9&#xff1a;\u81ea\u52a9\u552e\u8d27\u673a\u5236\u51b7 24 \u5c0f\u65f6\u8fd0\u884c&#xff0c;\u591c\u95f4\/\u6de1\u5b63\u4eba\u6d41\u5c11\u4ecd\u6ee1\u8d1f\u8377&#xff1b;\u8bbe\u5907\u6545\u969c\u9700\u4e0a\u95e8&#xff0c;\u8fd0\u8425\u6210\u672c\u9ad8\u3002<\/p>\n<p>\u65b9\u6848\u8bbe\u8ba1&#xff1a;\u552e\u8d27\u673a\u4f9b\u7535\u56de\u8def\u63a5\u901a\u65ad\u5668&#xff0c;\u6309\u5ba2\u6d41\u65f6\u6bb5\u5206\u65f6\u4f9b\u7535&#xff08;\u767d\u5929\u5168\u529f\u7387\u5236\u51b7\u3001\u6df1\u591c\u8282\u80fd\/\u505c\u673a&#xff09;&#xff0c;\u5e76\u652f\u6301\u8fdc\u7a0b\u91cd\u542f\u4e0e\u7528\u7535\u7edf\u8ba1\u3002<\/p>\n<p>\u8bbe\u5907\u4e0e\u56de\u8def\u89c4\u5212&#xff1a;\u552e\u8d27\u673a\u542b\u5c0f\u538b\u7f29\u673a&#xff08;\u611f\u6027&#xff09;&#xff0c;\u529f\u7387\u901a\u5e38\u51e0\u767e W&#xff0c;\u8bc4\u4f30\u542f\u52a8\u6d6a\u6d8c\u540e\u53ef\u76f4\u8fde\u6216\u52a0\u5c0f\u578b\u63a5\u89e6\u5668&#xff1b;\u5355\u72ec\u6210\u8def&#xff0c;\u914d C16 \u7a7a\u5f00 &#043; 30mA \u6f0f\u4fdd\u3002<\/p>\n<p>\u5173\u952e\u4ee3\u7801\/\u914d\u7f6e\u8981\u70b9&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u5206\u65f6\u5236\u51b7 &#043; \u8fdc\u7a0b\u91cd\u542f &#043; \u7528\u7535\u7edf\u8ba1<\/span><br \/>\n<span class=\"token keyword\">def<\/span> <span class=\"token function\">vending<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> day_start<span class=\"token operator\">&#061;<\/span><span class=\"token number\">9<\/span><span class=\"token punctuation\">,<\/span> night_start<span class=\"token operator\">&#061;<\/span><span class=\"token number\">23<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    set_report_interval<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">True<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">180<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token comment\"># \u6df1\u591c\u4f4e\u5ba2\u6d41\u65f6\u6bb5 key&#061;0&#xff08;\u6216\u964d\u4e3a\u95f4\u9694\u5236\u51b7&#xff09;&#xff0c;\u767d\u5929 key&#061;1<\/span><br \/>\n<span class=\"token comment\"># \u6bcf\u53f0 energy \u6c47\u603b&#xff0c;\u8bc4\u4f30\u5355\u673a\u4ea7\u51fa\/\u80fd\u8017\u6bd4<\/span><\/p>\n<p>\u4ef7\u503c\u4e0e\u6536\u76ca&#xff1a;\u6df1\u591c\u8282\u80fd\u4f9b\u7535\u964d\u4f4e\u7535\u8d39&#xff1b;\u8fdc\u7a0b\u91cd\u542f\u51cf\u5c11\u4e0a\u95e8\u7ef4\u62a4\u3002&#xff08;\u793a\u4f8b\u6d4b\u7b97&#xff1a;\u552e\u8d27\u673a 300W\u3001\u6bcf\u5929\u5c11\u8fd0\u884c 6 \u5c0f\u65f6&#xff0c;\u4e00\u5e74\u7701\u7ea6 657kWh\u3002&#xff09;<\/p>\n<h3>\u573a\u666f 24&#xff1a;\u70ed\u6c34\u5de5\u7a0b \/ \u7535\u9505\u7089<\/h3>\n<p>\u573a\u666f\u4e0e\u75db\u70b9&#xff1a;\u9152\u5e97\u3001\u5bbf\u820d\u3001\u5de5\u5382\u7684\u70ed\u6c34\u5de5\u7a0b \/ \u7535\u9505\u7089\u529f\u7387\u5927&#xff0c;24 \u5c0f\u65f6\u52a0\u70ed\u4fdd\u6e29\u8017\u7535\u60ca\u4eba&#xff1b;\u80fd\u5426\u8d81\u8c37\u7535\u52a0\u70ed\u3001\u767d\u5929\u4fdd\u6e29\u76f4\u63a5\u51b3\u5b9a\u6210\u672c\u3002<\/p>\n<p>\u65b9\u6848\u8bbe\u8ba1&#xff1a;\u7535\u9505\u7089\/\u70ed\u6c34\u5de5\u7a0b\u52a0\u70ed\u56de\u8def&#xff08;\u7ecf\u63a5\u89e6\u5668&#xff09;\u63a5\u901a\u65ad\u5668&#xff0c;\u5e73\u53f0\u505a \u201c\u8c37\u7535\u65f6\u6bb5\u96c6\u4e2d\u52a0\u70ed &#043; \u6e29\u5ea6\u5230\u4f4d\u5373\u505c &#043; \u767d\u5929\u4fdd\u6e29\u201d&#xff1b;\u914d\u5408\u6e29\u5ea6\u4f20\u611f\u5668\u95ed\u73af\u3002<\/p>\n<p>\u8bbe\u5907\u4e0e\u56de\u8def\u89c4\u5212&#xff1a;\u26a0\ufe0f \u7535\u9505\u7089\u4e3a\u963b\u6027\u4f46\u8d85\u5927\u529f\u7387&#xff08;\u5e38\u8fbe\u6570\u5341 kW&#xff09;&#xff0c;\u8fdc\u8d85 25A\/6000W&#xff0c;\u5fc5\u987b\u7528\u63a5\u89e6\u5668\/\u4ea4\u6d41\u63a5\u89e6\u5668\u6269\u6d41&#xff0c;\u901a\u65ad\u5668\u53ea\u63a7\u63a5\u89e6\u5668\u7ebf\u5708&#xff1b;\u56de\u8def\u7528\u5927\u622a\u9762\u94dc\u82af &#043; \u4e13\u7528\u7a7a\u5f00&#xff08;\u6309\u9505\u7089\u7535\u6d41&#xff09;&#043; \u6f0f\u4fdd\u3002\u5927\u529f\u7387\u7535\u9505\u7089\u5f3a\u70c8\u5efa\u8bae\u4e0e\u9505\u7089\u5382\u5bb6\/\u4e13\u4e1a\u7535\u6c14\u65b9\u5171\u540c\u8bbe\u8ba1\u3002<\/p>\n<p>\u5173\u952e\u4ee3\u7801\/\u914d\u7f6e\u8981\u70b9&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u8c37\u7535\u65f6\u6bb5&#xff08;\u5982 23:00-7:00&#xff09;\u96c6\u4e2d\u52a0\u70ed&#xff0c;\u767d\u5929\u4fdd\u6e29<\/span><br \/>\n<span class=\"token keyword\">def<\/span> <span class=\"token function\">water_boiler<\/span><span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> valley_start<span class=\"token punctuation\">,<\/span> valley_end<span class=\"token punctuation\">,<\/span> temp_target<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">:<\/span><br \/>\n    set_report_interval<span class=\"token punctuation\">(<\/span>client<span class=\"token punctuation\">,<\/span> <span class=\"token boolean\">True<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">120<\/span><span class=\"token punctuation\">)<\/span><br \/>\n    <span class=\"token comment\"># \u8c37\u7535\u65f6\u6bb5 key&#061;1 \u52a0\u70ed&#xff1b;\u6e29\u5ea6\u8fbe temp_target \u2192 key&#061;0&#xff1b;\u767d\u5929\u4ec5\u4fdd\u6e29<\/span><br \/>\n<span class=\"token comment\"># energy \u7edf\u8ba1\u9a8c\u8bc1&#034;\u8c37\u7535\u52a0\u70ed\u5360\u6bd4&#034;&#xff0c;\u76f4\u63a5\u5bf9\u5e94\u7535\u8d39\u4e0b\u964d<\/span><\/p>\n<p>\u4ef7\u503c\u4e0e\u6536\u76ca&#xff1a;\u8c37\u7535\u52a0\u70ed &#043; \u6309\u9700\u4f9b\u70ed&#xff0c;\u7535\u8d39\u663e\u8457\u4e0b\u964d&#xff1b;\u7528\u7535\u6570\u636e\u53ef\u6838\u7b97\u5230&#034;\u6bcf\u5428\u70ed\u6c34\u7535\u8d39&#034;\u3002&#xff08;\u793a\u4f8b\u6d4b\u7b97&#xff1a;\u70ed\u6c34\u5de5\u7a0b\u65e5\u5747 300kWh&#xff0c;\u8c37\u7535\u5360\u6bd4\u63d0\u9ad8\u5230 60%\u3001\u5cf0\u8c37\u4ef7\u5dee 0.5 \u5143&#xff0c;\u65e5\u7701\u7ea6 90 \u5143\u3001\u5e74\u7701\u7ea6 3.3 \u4e07\u5143\u3002&#xff09;<\/p>\n<p>\u672c\u7ae0\u8981\u70b9 \/ \u843d\u5730\u6e05\u5355<\/p>\n<ul>\n<li>12 \u4e2a\u573a\u666f\u5168\u90e8\u843d\u5728\u5546\u7528\/\u5de5\u4e1a\/\u5e02\u653f&#xff0c;\u7edf\u4e00\u4e94\u6bb5\u5f0f&#xff1b;\u963b\u6027\u53ef\u76f4\u8fde\u3001\u611f\u6027\u5fc5\u964d\u989d &#043; \u63a5\u89e6\u5668\u4ecd\u662f\u7ea2\u7ebf&#xff1b;<\/li>\n<li>\u7a7a\u538b\u673a\u3001\u7535\u9505\u7089\u3001\u4ea7\u7ebf\u3001\u5927\u5c4f\u7b49\u5927\u529f\u7387\/\u5927\u611f\u6027\u573a\u666f\u5fc5\u987b\u63a5\u89e6\u5668\u6269\u6d41&#xff0c;\u4e25\u7981 25A \u89e6\u70b9\u76f4\u5207\u4e3b\u56de\u8def&#xff1b;<\/li>\n<li>\u6237\u5916&#xff08;\u706f\u7bb1\u3001\u8def\u706f\u3001\u4eae\u5316\u3001\u57fa\u7ad9&#xff09;\u5fc5\u987b SPD &#043; \u6f0f\u4fdd&#xff0c;\u5bfc\u7ebf\u5bb9\u91cf\u6309\u603b\u7535\u6d41\u653e\u5927&#xff1b;<\/li>\n<li>\u5546\u7528\u573a\u666f\u7684\u4ef7\u503c &#061; \u7701\u7535\u8d39 &#043; \u8fdc\u7a0b\u8fd0\u7ef4 &#043; \u7528\u7535\u53ef\u8ba1\u91cf\u7ed3\u7b97&#xff1b;<\/li>\n<li>\u4ee3\u7801\u5b57\u6bb5\u53ea\u7528\u771f\u5b9e\u6307\u4ee4&#xff08;controller-event \/ device-timer-interval \/ controller-restart \/ info-statistic&#xff09;&#xff0c;\u4e0d\u81c6\u9020\u3002<\/li>\n<\/ul>\n<hr \/>\n<h2>\u7b2c 15 \u7ae0 \u7701\u94b1\u8d26&#xff1a;\u4e00\u4e2a\u901a\u65ad\u5668\u5e2e\u4f60\u7701\u4e86\u4ec0\u4e48<\/h2>\n<p>\u4e00\u53e5\u8bdd\u70b9\u9898&#xff1a;\u8fd9\u4e00\u7ae0\u628a&#034;\u503c\u591a\u5c11\u94b1&#034;\u7b97\u7ed9\u4f60\u770b\u2014\u2014\u4ece\u786c\u4ef6\u6210\u672c\u3001\u7535\u8d39\u3001\u4eba\u5de5\u4e09\u6761\u7ebf&#xff0c;\u6700\u540e\u6c47\u603b\u6210\u4e00\u5f20\u53ef\u4ee5\u7167\u7740\u586b\u7684 ROI \u6d4b\u7b97\u8868\u3002\u6240\u6709\u6570\u5b57\u5747\u4e3a\u793a\u4f8b\u6d4b\u7b97&#xff0c;\u8bf7\u7528\u4f60\u7684\u5b9e\u6d4b\u503c\u66ff\u6362\u3002<\/p>\n<h3>15.1 \u786c\u4ef6\u6210\u672c\u5bf9\u6bd4&#xff08;\u81ea\u7814 vs \u91c7\u8d2d\u6210\u54c1&#xff1b;10A \u63d2\u5ea7 vs 25A \u901a\u65ad\u5668&#xff09;<\/h3>\n<p>\u2460 \u81ea\u7814 vs \u91c7\u8d2d\u6210\u54c1\u3002 \u5f88\u591a\u4eba\u7b2c\u4e00\u53cd\u5e94\u662f&#034;\u6211\u81ea\u5df1\u7528 ESP8266 &#043; \u7ee7\u7535\u5668\u6a21\u5757 &#043; \u4e92\u611f\u5668\u642d\u4e00\u4e2a\u4e0d\u5c31\u5b8c\u4e86&#xff1f;&#034;\u8868\u9762 BOM \u4fbf\u5b9c&#xff0c;\u4f46\u5bb9\u6613\u6f0f\u7b97\u9690\u6027\u6210\u672c&#xff1a;<\/p>\n<table>\n<tr>\u7ef4\u5ea6\u81ea\u7814&#xff08;ESP8266 &#043; \u7ee7\u7535\u5668 &#043; \u8ba1\u91cf &#043; \u5916\u58f3 &#043; \u7535\u6e90&#xff09;\u91c7\u8d2d GSCW1M2P \u6210\u54c1<\/tr>\n<tbody>\n<tr>\n<td>\u786c\u4ef6\u7269\u6599<\/td>\n<td>\u7ee7\u7535\u5668\u6a21\u5757\u3001\u8ba1\u91cf\u82af\u7247\/\u4e92\u611f\u5668\u3001\u9694\u79bb\u7535\u6e90\u3001\u5916\u58f3\u3001\u7aef\u5b50<\/td>\n<td>\u4e00\u4f53\u5316\u96c6\u6210<\/td>\n<\/tr>\n<tr>\n<td>\u5927\u7535\u6d41\u80fd\u529b<\/td>\n<td>25A \u89e6\u70b9&#043;\u22654mm\u00b2 \u8d70\u7ebf\u9700\u81ea\u884c\u89e3\u51b3&#xff0c;\u6563\u4ef6\u96be\u8fbe\u6807<\/td>\n<td>25A \/ MAX 6000W&#xff08;\u963b\u6027&#xff09; \u51fa\u5382\u8fbe\u6807<\/td>\n<\/tr>\n<tr>\n<td>\u7528\u7535\u91c7\u96c6<\/td>\n<td>\u9700\u81ea\u5199\u91c7\u6837\/\u6821\u51c6\/\u89c6\u5728\u529f\u7387\u7b97\u6cd5<\/td>\n<td>\u539f\u751f voltage\/current\/power\/energy<\/td>\n<\/tr>\n<tr>\n<td>\u56fa\u4ef6\u4e0e\u534f\u8bae<\/td>\n<td>\u9700\u81ea\u7814 MQTT\/TCP\/HTTP \u4e0e\u914d\u7f51\u3001OTA&#xff08;\u672c\u4f8b\u65e0 OTA&#xff0c;\u89c1\u9644\u5f55&#xff09;<\/td>\n<td>\u6210\u719f\u56fa\u4ef6&#xff0c;info-protocol \u76f4\u8fde\u81ea\u5efa\u670d\u52a1\u5668<\/td>\n<\/tr>\n<tr>\n<td>\u5b89\u5168\/\u8ba4\u8bc1<\/td>\n<td>\u963b\u71c3\u3001\u7edd\u7f18\u3001\u722c\u7535\u8ddd\u79bb\u5168\u9760\u81ea\u5df1&#xff0c;\u6709\u5b89\u5168\u4e0e\u5408\u89c4\u98ce\u9669<\/td>\n<td>\u5916\u58f3\u963b\u71c3 V0 \u7ea7\u3001\u63a5\u7ebf\u5f0f\u8bbe\u8ba1<\/td>\n<\/tr>\n<tr>\n<td>\u4eba\u529b\u4e0e\u65f6\u95f4<\/td>\n<td>\u6253\u6837\u3001\u8c03\u8bd5\u3001\u91cf\u4ea7\u3001\u8fd4\u4fee&#xff0c;\u9690\u6027\u5de5\u65f6\u5de8\u5927<\/td>\n<td>\u5373\u4e70\u5373\u7528<\/td>\n<\/tr>\n<tr>\n<td>\u957f\u671f\u7ef4\u62a4<\/td>\n<td>\u81ea\u5df1\u515c\u5e95<\/td>\n<td>\u6709\u7edf\u4e00\u578b\u53f7\u4e0e\u6587\u6863<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u7ed3\u8bba&#xff1a;\u5c0f\u6279\u91cf\u3001\u975e\u6838\u5fc3\u573a\u666f&#xff0c;\u91c7\u8d2d\u6210\u54c1\u66f4\u5212\u7b97\u2014\u2014\u7701\u7684\u662f&#034;\u65f6\u95f4 &#043; \u5b89\u5168 &#043; \u53ef\u9760\u6027&#034;\u3002\u81ea\u7814\u53ea\u5728\u6781\u5927\u89c4\u6a21\u3001\u6709\u5f3a\u5b9a\u5236\u9700\u6c42\u65f6\u624d\u503c\u5f97\u3002<\/p>\n<p>\u2461 10A \u63d2\u5ea7 vs 25A \u901a\u65ad\u5668\u3002 \u5e38\u89c1\u7684&#034;10A \u667a\u80fd\u63d2\u5ea7&#034;\u5728\u672c\u573a\u666f\u76f4\u63a5\u4e0d\u591f\u7528&#xff1a;<\/p>\n<table>\n<tr>\u5bf9\u6bd4\u987910A \u667a\u80fd\u63d2\u5ea7&#xff08;\u5e02\u9762\u5e38\u89c1&#xff09;GSCW1M2P&#xff08;25A \u901a\u65ad\u5668&#xff09;<\/tr>\n<tbody>\n<tr>\n<td>\u5de5\u4f5c\u7535\u6d41<\/td>\n<td>10A&#xff08;\u7ea6 2200W&#xff09;<\/td>\n<td>25A<\/td>\n<\/tr>\n<tr>\n<td>\u6700\u5927\u8d1f\u8f7d<\/td>\n<td>\u7ea6 2200W&#xff08;\u963b\u6027&#xff09;<\/td>\n<td>6000W&#xff08;\u963b\u6027&#xff09;<\/td>\n<\/tr>\n<tr>\n<td>\u5b89\u88c5\u5f62\u6001<\/td>\n<td>\u63d2\u5934\u5f0f&#xff0c;\u9700\u63d2\u5ea7<\/td>\n<td>\u63a5\u7ebf\u5f0f&#xff0c;\u53ef\u8fdb\u914d\u7535\u7bb1<\/td>\n<\/tr>\n<tr>\n<td>\u9002\u7528\u8d1f\u8f7d<\/td>\n<td>\u5c0f\u5bb6\u7535<\/td>\n<td>\u7a7a\u8c03\u3001\u70ed\u6c34\u5668\u3001\u9505\u7089\u3001\u6c34\u6cf5\u7b49\u5927\u529f\u7387\u8bbe\u5907<\/td>\n<\/tr>\n<tr>\n<td>\u8ba1\u91cf<\/td>\n<td>\u591a\u6570\u6709<\/td>\n<td>\u6709&#xff08;\u89c6\u5728\u529f\u7387\/\u7d2f\u8ba1\u7535\u91cf&#xff09;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u7ed3\u8bba&#xff1a;\u53ea\u8981\u5355\u8def\u8d1f\u8f7d\u53ef\u80fd\u8d85\u8fc7 ~2kW&#xff0c;\u5c31\u5e94\u76f4\u63a5\u9009 25A \u901a\u65ad\u5668&#xff1b;\u7528 10A \u63d2\u5ea7\u786c\u63a5\u5927\u529f\u7387 &#061; \u8fc7\u8f7d\u8d77\u706b\u9690\u60a3\u3002&#xff08;\u793a\u4f8b\u6d4b\u7b97&#xff1a;\u4e00\u53f0 3kW \u8bbe\u5907\u63a5 10A \u63d2\u5ea7\u5fc5\u7136\u8df3\u95f8\/\u53d1\u70ed&#xff0c;\u5c5e\u4e8e\u5b89\u5168\u4e8b\u6545\u800c\u975e\u7701\u94b1\u3002&#xff09;<\/p>\n<h3>15.2 \u7535\u8d39\u8282\u7701&#xff08;\u6309\u9700\u4f9b\u7535\u3001\u6d88\u9664\u5f85\u673a\u4e0e\u957f\u660e\u3001\u5cf0\u8c37\u9519\u5cf0&#xff09;<\/h3>\n<p>\u7535\u8d39\u8282\u7701\u6765\u81ea\u4e09\u7c7b\u52a8\u4f5c&#xff1a;<\/p>\n<li>\u6309\u9700\u4f9b\u7535&#xff1a;\u53ea\u5728\u9700\u8981\u65f6\u901a\u7535\u3002\u5178\u578b\u662f\u70ed\u6c34\u5668\/\u70ed\u6c34\u5de5\u7a0b&#034;\u7528\u65f6\u624d\u52a0\u70ed&#034;\u3001\u98ce\u673a&#034;\u751f\u4ea7\u65f6\u624d\u8f6c&#034;\u3001\u552e\u8d27\u673a&#034;\u767d\u5929\u5236\u51b7\u6df1\u591c\u505c&#034;\u3002<\/li>\n<li>\u6d88\u9664\u5f85\u673a\u4e0e\u957f\u660e&#xff1a;\u7a7a\u8c03\/\u5927\u5c4f\/\u5e7f\u544a\u673a\u7b49\u5f85\u673a\u8017\u7535\u3001\u7167\u660e\/\u706f\u7bb1\u957f\u660e&#xff0c;\u957f\u65f6\u95f4\u7d2f\u79ef\u975e\u5e38\u53ef\u89c2\u3002<\/li>\n<li>\u5cf0\u8c37\u9519\u5cf0&#xff1a;\u628a\u53ef\u5ef6\u65f6\u7684\u7528\u80fd&#xff08;\u70ed\u6c34\u3001\u5145\u7535\u3001\u50a8\u70ed&#xff09;\u632a\u5230\u8c37\u7535\u65f6\u6bb5&#xff0c;\u76f4\u63a5\u5403\u7535\u4ef7\u5dee\u4ef7\u3002<\/li>\n<p>\u7edf\u4e00\u7b97\u5f0f&#xff08;\u793a\u4f8b\u6d4b\u7b97&#xff09;&#xff1a;<\/p>\n<p>\u5e74\u7701\u7535\u91cf(kWh) &#061; \u7701\u4e0b\u7684\u529f\u7387(kW) \u00d7 \u6bcf\u5929\u7701\u4e0b\u7684\u5c0f\u65f6\u6570 \u00d7 365<br \/>\n\u5e74\u7701\u7535\u8d39(\u5143)  &#061; \u5e74\u7701\u7535\u91cf \u00d7 \u7535\u4ef7(\u5143\/kWh)<br \/>\n\u9519\u5cf0\u6536\u76ca(\u5143)  &#061; \u8f6c\u79fb\u7535\u91cf(kWh) \u00d7 (\u5cf0\u4ef7 &#8211; \u8c37\u4ef7)<\/p>\n<p>\u4e09\u7c7b\u5178\u578b\u6536\u76ca\u793a\u4f8b&#xff08;\u793a\u4f8b\u6d4b\u7b97&#xff0c;\u5047\u8bbe\u7535\u4ef7 0.8 \u5143\/kWh&#xff09;&#xff1a;<\/p>\n<table>\n<tr>\u573a\u666f\u7701\u4e0b\u529f\u7387\u6bcf\u5929\u7701\u5e74\u7701\u7535\u91cf\u5e74\u7701\u7535\u8d39<\/tr>\n<tbody>\n<tr>\n<td>\u5f85\u673a\u6d88\u9664&#xff08;\u7a7a\u8c03\/\u5927\u5c4f&#xff09;<\/td>\n<td>0.15kW<\/td>\n<td>16h<\/td>\n<td>876kWh<\/td>\n<td>\u2248701 \u5143<\/td>\n<\/tr>\n<tr>\n<td>\u7167\u660e\u957f\u660e\u6d88\u9664<\/td>\n<td>1.5kW<\/td>\n<td>4h<\/td>\n<td>2190kWh<\/td>\n<td>\u22481752 \u5143<\/td>\n<\/tr>\n<tr>\n<td>\u7a7a\u538b\u673a\u975e\u751f\u4ea7\u505c\u673a<\/td>\n<td>7.5kW<\/td>\n<td>4h<\/td>\n<td>10950kWh<\/td>\n<td>\u22488760 \u5143<\/td>\n<\/tr>\n<tr>\n<td>\u5cf0\u8c37\u9519\u5cf0&#xff08;\u70ed\u6c34 300kWh\/\u65e5&#xff0c;60% \u632a\u8c37\u7535&#xff0c;\u4ef7\u5dee 0.5 \u5143&#xff09;<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u2014<\/td>\n<td>\u224832850 \u5143\/\u5e74<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u8bf4\u660e&#xff1a;\u4e0a\u8868\u4e3a\u793a\u4f8b\u6d4b\u7b97&#xff0c;\u5b9e\u9645\u4ee5\u73b0\u573a\u5b9e\u6d4b\u529f\u7387\u4e0e\u5f53\u5730\u7535\u4ef7\u4e3a\u51c6&#xff1b;\u9519\u5cf0\u6536\u76ca\u53d7\u5f53\u5730\u5cf0\u8c37\u65f6\u6bb5\u4e0e\u4ef7\u5dee\u5f71\u54cd\u5f88\u5927\u3002<\/p>\n<h3>15.3 \u4eba\u5de5\u4e0e\u8fd0\u7ef4\u8282\u7701&#xff08;\u8fdc\u7a0b\u91cd\u542f\u3001\u514d\u73b0\u573a&#xff09;<\/h3>\n<p>\u4eba\u5de5\u8282\u7701\u5f80\u5f80\u6bd4\u7535\u8d39\u66f4&#034;\u7acb\u7aff\u89c1\u5f71&#034;&#xff0c;\u5c24\u5176\u662f\u65e0\u4eba\u503c\u5b88\u8bbe\u5907&#xff1a;<\/p>\n<table>\n<tr>\u8fd0\u7ef4\u52a8\u4f5c\u4f20\u7edf\u505a\u6cd5\u7528\u901a\u65ad\u5668\u4e4b\u540e\u5355\u6b21\u8282\u7701&#xff08;\u793a\u4f8b&#xff09;<\/tr>\n<tbody>\n<tr>\n<td>\u8bbe\u5907\u6b7b\u673a\u91cd\u542f<\/td>\n<td>\u6d3e\u4eba\u5230\u73b0\u573a\u62d4\u63d2\u5934<\/td>\n<td>\u5e73\u53f0\u8fdc\u7a0b&#034;\u65ad\u7535 20 \u79d2\u518d\u4e0a\u7535&#034;<\/td>\n<td>\u4e0a\u95e8\u6210\u672c 200 \u5143 &#043; \u65f6\u95f4\u6210\u672c<\/td>\n<\/tr>\n<tr>\n<td>\u5fd8\u5173\u8bbe\u5907<\/td>\n<td>\u53d1\u73b0\u540e\u4e13\u95e8\u8dd1\u4e00\u8d9f<\/td>\n<td>\u5b9a\u65f6\/\u8d85\u65f6\u81ea\u52a8\u65ad\u7535<\/td>\n<td>\u4e00\u6b21 100~300 \u5143<\/td>\n<\/tr>\n<tr>\n<td>\u5206\u533a\u70b9\u706d\u8c03\u6574<\/td>\n<td>\u4eba\u5de5\u6539\u65f6\u63a7\u5668<\/td>\n<td>\u5e73\u53f0\u8fdc\u7a0b\u6279\u91cf\u4e0b\u53d1<\/td>\n<td>\u6bcf\u6b21\u6570\u767e\u5143<\/td>\n<\/tr>\n<tr>\n<td>\u7528\u7535\u6284\u8868<\/td>\n<td>\u4eba\u5de5\u6284\u8868<\/td>\n<td>energy \u81ea\u52a8\u4e0a\u62a5<\/td>\n<td>\u6bcf\u6708\u8282\u7701\u4eba\u5de5<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u7b97\u5f0f&#xff1a;\u5e74\u7701\u4eba\u5de5(\u5143) &#061; \u5355\u6b21\u4e0a\u95e8\u6210\u672c \u00d7 \u5e74\u5747\u51cf\u5c11\u6b21\u6570\u3002&#xff08;\u793a\u4f8b\u6d4b\u7b97&#xff1a;\u5355\u6b21 200 \u5143\u3001\u6bcf\u6708\u51cf\u5c11 3 \u6b21 &#061; \u5e74\u7701 7200 \u5143\u3002&#xff09;<\/p>\n<h3>15.4 \u4e00\u5f20 ROI \u6d4b\u7b97\u8868&#xff08;\u7ed9\u51fa\u5047\u8bbe\u4e0e\u7b97\u5f0f&#xff09;<\/h3>\n<p>\u5047\u8bbe&#xff08;\u8bf7\u6309\u9700\u66ff\u6362&#xff09;&#xff1a;\u90e8\u7f72 10 \u53f0 GSCW1M2P&#xff0c;\u5355\u53f0\u7efc\u5408\u843d\u5730\u6210\u672c&#xff08;\u8bbe\u5907 &#043; \u7535\u5de5 &#043; \u8f85\u6750&#xff09;480 \u5143&#xff1b;\u4e00\u6b21\u6027\u5e73\u53f0\/\u65bd\u5de5\u5206\u644a 3000 \u5143&#xff1b;\u5e74\u7535\u8d39\u8282\u7701 12000 \u5143&#xff1b;\u5e74\u4eba\u5de5\u8282\u7701 6000 \u5143\u3002<\/p>\n<table>\n<tr>\u9879\u76ee\u7b26\u53f7\u793a\u4f8b\u503c\u8bf4\u660e<\/tr>\n<tbody>\n<tr>\n<td>\u8bbe\u5907\u4e0e\u65bd\u5de5\u6295\u5165<\/td>\n<td>C0<\/td>\n<td>10\u00d7480 &#043; 3000 &#061; 7800 \u5143<\/td>\n<td>\u4e00\u6b21\u6027<\/td>\n<\/tr>\n<tr>\n<td>\u5e74\u8fd0\u884c\/\u7ef4\u62a4\u6210\u672c<\/td>\n<td>Cm<\/td>\n<td>800 \u5143\/\u5e74<\/td>\n<td>\u5e73\u53f0\/\u6d41\u91cf\/\u96f6\u661f\u7ef4\u62a4<\/td>\n<\/tr>\n<tr>\n<td>\u5e74\u7535\u8d39\u8282\u7701<\/td>\n<td>S1<\/td>\n<td>12000 \u5143<\/td>\n<td>\u89c1 15.2<\/td>\n<\/tr>\n<tr>\n<td>\u5e74\u4eba\u5de5\u8282\u7701<\/td>\n<td>S2<\/td>\n<td>6000 \u5143<\/td>\n<td>\u89c1 15.3<\/td>\n<\/tr>\n<tr>\n<td>\u5e74\u51c0\u6536\u76ca<\/td>\n<td>S<\/td>\n<td>S1&#043;S2-Cm &#061; 17200 \u5143<\/td>\n<td>\u793a\u4f8b<\/td>\n<\/tr>\n<tr>\n<td>\u9759\u6001\u56de\u6536\u671f<\/td>\n<td>T<\/td>\n<td>C0 \/ S &#061; 7800 \/ 17200 \u2248 0.45 \u5e74&#xff08;\u7ea6 5.5 \u4e2a\u6708&#xff09;<\/td>\n<td>\u793a\u4f8b<\/td>\n<\/tr>\n<tr>\n<td>\u4e09\u5e74\u51c0\u6536\u76ca<\/td>\n<td>\u2014<\/td>\n<td>17200\u00d73 &#8211; 7800 &#061; 43800 \u5143<\/td>\n<td>\u793a\u4f8b<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u7b97\u5f0f\u6c47\u603b&#xff1a;<\/p>\n<p>\u5e74\u51c0\u6536\u76ca S &#061; (\u7535\u8d39\u8282\u7701 &#043; \u4eba\u5de5\u8282\u7701) &#8211; \u5e74\u8fd0\u884c\u6210\u672c<br \/>\n\u9759\u6001\u56de\u6536\u671f T &#061; \u4e00\u6b21\u6027\u6295\u5165 C0 \/ \u5e74\u51c0\u6536\u76ca S<br \/>\n\u4e09\u5e74\u51c0\u6536\u76ca &#061; S \u00d7 3 &#8211; C0<\/p>\n<p>\u518d\u6b21\u5f3a\u8c03&#xff1a;\u4ee5\u4e0a\u5168\u90e8\u4e3a\u793a\u4f8b\u6d4b\u7b97&#xff0c;\u66ff\u6362\u6210\u4f60\u7684\u771f\u5b9e\u8bbe\u5907\u6570\u3001\u7535\u4ef7\u3001\u6708\u8282\u7701\u6b21\u6570\u5373\u53ef\u5f97\u5230\u81ea\u5df1\u7684\u7ed3\u8bba\u3002\u7ecf\u9a8c\u4e0a&#xff0c;\u5927\u529f\u7387 &#043; \u65e0\u4eba\u503c\u5b88 &#043; \u7535\u8d39\u654f\u611f\u7684\u573a\u666f\u56de\u6536\u671f\u666e\u904d\u5728\u534a\u5e74\u4ee5\u5185\u3002<\/p>\n<p>\u672c\u7ae0\u8981\u70b9 \/ \u843d\u5730\u6e05\u5355<\/p>\n<ul>\n<li>\u91c7\u8d2d\u6210\u54c1\u901a\u5e38\u6bd4\u81ea\u7814\u66f4\u5212\u7b97\u2014\u2014\u7701&#034;\u65f6\u95f4 &#043; \u5b89\u5168 &#043; \u53ef\u9760\u6027&#034;&#xff1b;<\/li>\n<li>\u5355\u8def &gt;2kW \u5c31\u522b\u7528 10A \u63d2\u5ea7&#xff0c;\u76f4\u63a5\u4e0a 25A \u901a\u65ad\u5668&#xff1b;<\/li>\n<li>\u7701\u7535\u4e09\u6761\u7ebf&#xff1a;\u6309\u9700\u4f9b\u7535\u3001\u6d88\u9664\u5f85\u673a\/\u957f\u660e\u3001\u5cf0\u8c37\u9519\u5cf0&#xff1b;<\/li>\n<li>\u4eba\u5de5\u8282\u7701\u5e38\u6bd4\u7535\u8d39\u66f4\u5feb\u56de\u672c&#xff08;\u8fdc\u7a0b\u91cd\u542f &#061; \u7701\u4e00\u6b21\u4e0a\u95e8&#xff09;&#xff1b;<\/li>\n<li>\u6240\u6709\u91d1\u989d\u6807\u6ce8&#034;\u793a\u4f8b\u6d4b\u7b97&#034;&#xff0c;\u7528 S &#061; \u7535\u8d39\u7701 &#043; \u4eba\u5de5\u7701 &#8211; \u8fd0\u7ef4\u6210\u672c\u3001T &#061; C0 \/ S \u81ea\u884c\u6d4b\u7b97\u3002<\/li>\n<\/ul>\n<hr \/>\n<h2>\u7b2c 16 \u7ae0 \u589e\u6548&#xff1a;\u81ea\u52a8\u5316\u5e26\u6765\u7684\u6536\u76ca<\/h2>\n<p>\u4e00\u53e5\u8bdd\u70b9\u9898&#xff1a;\u7701\u7684\u662f&#034;\u6210\u672c&#034;&#xff0c;\u589e\u7684\u662f&#034;\u6548\u7387\u4e0e\u4f53\u9a8c&#034;\u2014\u2014\u672c\u7ae0\u8bb2\u901a\u65ad\u5668\u5e26\u6765\u7684\u56db\u7c7b\u6548\u7387\u6536\u76ca&#xff1a;\u96c6\u4e2d\u7ba1\u63a7\u3001\u7528\u7535\u53ef\u89c6\u3001\u8fdc\u7a0b\u91cd\u542f\u3001\u6570\u636e\u9a71\u52a8\u3002<\/p>\n<h3>16.1 \u5927\u529f\u7387\u8bbe\u5907\u7684\u96c6\u4e2d\u7ba1\u63a7<\/h3>\n<p>\u6563\u843d\u5404\u5904\u7684\u7a7a\u8c03\u3001\u9505\u7089\u3001\u6c34\u6cf5\u3001\u98ce\u673a&#xff0c;\u8fc7\u53bb\u662f&#034;\u4e00\u4eba\u4e00\u644a\u3001\u5404\u7ba1\u5404\u7684&#034;\u3002\u63a5\u5165\u5e73\u53f0\u540e&#xff0c;\u4e00\u4e2a\u540e\u53f0\u7ba1\u5168\u90e8&#xff1a;\u6279\u91cf\u4e0b\u53d1 controller-event\u3001\u7edf\u4e00\u65f6\u95f4\u8868\u3001\u7edf\u4e00\u544a\u8b66\u7b56\u7565\u3002\u5bf9\u8fde\u9501\u95e8\u5e97\/\u591a\u56ed\u533a\/\u591a\u673a\u623f\u5c24\u5176\u5173\u952e\u2014\u2014\u4ece&#034;\u4eba\u7ba1\u8bbe\u5907&#034;\u53d8\u6210&#034;\u7cfb\u7edf\u7ba1\u8bbe\u5907&#034;\u3002<\/p>\n<h3>16.2 \u7528\u7535\u53ef\u89c6\u4e0e\u8282\u80fd<\/h3>\n<p>\u8bbe\u5907\u539f\u751f\u4e0a\u62a5 voltage \/ current \/ power \/ energy&#xff1a;\u7535\u538b\u53cd\u6620\u4f9b\u7535\u8d28\u91cf&#xff0c;\u7535\u6d41\/\u529f\u7387\u53cd\u6620\u8d1f\u8f7d\u72b6\u6001&#xff0c;\u7d2f\u8ba1\u7535\u91cf\u652f\u6491\u5206\u9879\u8ba1\u91cf\u4e0e\u8d39\u7528\u5206\u644a\u3002\u6709\u4e86\u6570\u636e&#xff0c;\u624d\u80fd\u53d1\u73b0&#034;\u54ea\u53f0\u8bbe\u5907\u5728\u6084\u6084\u8017\u7535&#034;\u2014\u2014\u6ca1\u6709\u8ba1\u91cf\u5c31\u6ca1\u6709\u8282\u80fd\u3002\u6570\u636e\u53ef\u76f4\u63a5\u505a\u6210\u770b\u677f&#xff0c;\u8ba9\u8282\u80fd\u4ece\u53e3\u53f7\u53d8\u6210\u6307\u6807\u3002<\/p>\n<h3>16.3 \u8fdc\u7a0b\u91cd\u542f\u51cf\u5c11\u505c\u673a<\/h3>\n<p>\u73b0\u573a\u8bbe\u5907\u6b7b\u673a&#xff0c;\u6700\u8d35\u7684\u662f&#034;\u7b49\u4eba\u5de5\u5230\u73b0\u573a&#034;\u3002\u7528 remote_reboot_downstream&#xff08;\u65ad\u7535 N \u79d2\u518d\u4e0a\u7535&#xff09;\u628a&#034;\u5e73\u5747\u4fee\u590d\u65f6\u95f4&#034;\u4ece\u6570\u5c0f\u65f6\u538b\u5230\u6570\u5206\u949f\u3002\u5bf9\u57fa\u7ad9\u3001\u673a\u623f\u3001\u552e\u8d27\u673a\u3001\u4ea7\u7ebf\u8f85\u52a9\u8bbe\u5907&#xff0c;&#034;\u79d2\u7ea7\u54cd\u5e94&#034;\u76f4\u63a5\u6362\u7b97\u6210\u51cf\u5c11\u7684\u4e1a\u52a1\u635f\u5931\u3002<\/p>\n<h3>16.4 \u6570\u636e\u9a71\u52a8<\/h3>\n<p>\u5f53\u6bcf\u53f0\u8bbe\u5907\u90fd\u6301\u7eed\u4e0a\u62a5\u7528\u7535\u4e0e\u72b6\u6001&#xff0c;\u5c31\u80fd\u505a&#xff1a;\u2460 \u7528\u7535\u57fa\u7ebf&#xff0c;\u8bc6\u522b\u5f02\u5e38\u7528\u7535&#xff1b;\u2461 \u8bbe\u5907\u5065\u5eb7\u753b\u50cf&#xff08;\u5982 power \u957f\u671f\u504f\u4f4e&#061;\u6548\u7387\u4e0b\u964d&#xff09;&#xff1b;\u2462 \u5206\u65f6\u7535\u4ef7\u4e0b\u7684\u7528\u80fd\u4f18\u5316&#xff1b;\u2463 \u7ed3\u5408\u5386\u53f2\u6570\u636e\u505a\u9884\u6d4b\u6027\u7ef4\u62a4\u3002\u6570\u636e\u662f\u81ea\u52a8\u5316\u7684\u526f\u4ea7\u54c1&#xff0c;\u5374\u662f\u589e\u6548\u7684\u6700\u5927\u8d44\u4ea7\u3002<\/p>\n<p>\u672c\u7ae0\u8981\u70b9 \/ \u843d\u5730\u6e05\u5355<\/p>\n<ul>\n<li>\u96c6\u4e2d\u7ba1\u63a7 &#061; \u4e00\u4e2a\u540e\u53f0\u7ba1\u5168\u90e8&#xff0c;\u4ece&#034;\u4eba\u7ba1\u8bbe\u5907&#034;\u5230&#034;\u7cfb\u7edf\u7ba1\u8bbe\u5907&#034;&#xff1b;<\/li>\n<li>\u7528\u7535\u53ef\u89c6 &#061; \u5206\u9879\u8ba1\u91cf &#043; \u5206\u644a&#xff0c;\u6ca1\u6709\u8ba1\u91cf\u5c31\u6ca1\u6709\u8282\u80fd&#xff1b;<\/li>\n<li>\u8fdc\u7a0b\u91cd\u542f &#061; \u628a\u4fee\u590d\u65f6\u95f4\u4ece\u5c0f\u65f6\u7ea7\u538b\u5230\u5206\u949f\u7ea7&#xff1b;<\/li>\n<li>\u6570\u636e\u9a71\u52a8 &#061; \u57fa\u7ebf\u3001\u5f02\u5e38\u8bc6\u522b\u3001\u9884\u6d4b\u6027\u7ef4\u62a4\u3002<\/li>\n<\/ul>\n<hr \/>\n<h2>\u7b2c 17 \u7ae0 \u589e\u6536&#xff1a;\u628a\u901a\u65ad\u5668\u53d8\u6210\u5546\u4e1a\u6a21\u5f0f<\/h2>\n<p>\u4e00\u53e5\u8bdd\u70b9\u9898&#xff1a;\u5bf9\u96c6\u6210\u5546\u4e0e\u670d\u52a1\u5546\u800c\u8a00&#xff0c;\u901a\u65ad\u5668\u4e0d\u53ea\u662f&#034;\u7701\u7535\u5de5\u5177&#034;&#xff0c;\u66f4\u662f\u53ef\u590d\u5236\u3001\u53ef\u8ba2\u9605\u3001\u53ef\u6301\u7eed\u6536\u8d39\u7684\u5546\u4e1a\u8f7d\u4f53\u2014\u2014\u672c\u7ae0\u7ed9\u51fa 5 \u79cd\u53d8\u73b0\u8def\u5f84\u3002<\/p>\n<h3>17.1 \u7cfb\u7edf\u96c6\u6210\u9879\u76ee<\/h3>\n<p>\u4ee5&#034;\u5927\u529f\u7387\u8bbe\u5907\u667a\u80fd\u7ba1\u63a7&#034;\u4e3a\u5356\u70b9\u627f\u63a5\u9879\u76ee&#xff1a;\u56ed\u533a\u7167\u660e\u6539\u9020\u3001\u5de5\u5382\u80fd\u6548\u7ba1\u7406\u3001\u57fa\u7ad9\/\u673a\u623f\u8fd0\u7ef4\u3001\u8fde\u9501\u95e8\u5e97\u7167\u660e\u603b\u63a7\u2026\u2026\u8bbe\u5907\u662f\u5165\u53e3&#xff0c;\u65b9\u6848\u4e0e\u670d\u52a1\u624d\u662f\u4e3b\u4f53\u3002\u5355\u9879\u76ee\u6536\u5165 &#061; \u8bbe\u5907 &#043; \u65bd\u5de5 &#043; \u5e73\u53f0 &#043; \u9996\u5e74\u670d\u52a1\u3002<\/p>\n<h3>17.2 SaaS \u8ba2\u9605<\/h3>\n<p>\u81ea\u5efa\u670d\u52a1\u5668&#xff08;setting-mqtt \/ setting-tcp \u6307\u5411\u81ea\u5df1\u7684\u4e91&#xff0c;\u4e0e\u5382\u5546\u4e91\u89e3\u8026&#xff09;&#xff0c;\u628a&#034;\u8bbe\u5907\u7ba1\u7406 &#043; \u6570\u636e\u770b\u677f &#043; \u544a\u8b66 &#043; \u62a5\u8868&#034;\u6253\u5305\u6210 SaaS \u6309\u6708\/\u6309\u5e74\u8ba2\u9605\u3002\u8bbe\u5907\u8d8a\u591a\u3001\u7c98\u6027\u8d8a\u5f3a&#xff0c;\u5f62\u6210\u7ecf\u5e38\u6027\u6536\u5165&#xff08;MRR&#xff09;\u3002<\/p>\n<h3>17.3 \u80fd\u8017\u6258\u7ba1 \/ \u8282\u80fd\u5206\u6210<\/h3>\n<p>&#034;\u96f6\u6295\u5165\u3001\u7701\u4e0b\u7684\u7535\u8d39\u5206\u6210&#034;\u6a21\u5f0f&#xff1a;\u670d\u52a1\u5546\u51fa\u8d44\u90e8\u7f72\u901a\u65ad\u5668\u4e0e\u5e73\u53f0&#xff0c;\u7528\u5b9e\u9645\u8ba1\u91cf&#xff08;energy&#xff09;\u6838\u7b97\u8282\u80fd\u91cf&#xff0c;\u4e0e\u5ba2\u6237\u6309\u6bd4\u4f8b\u5206\u6210\u3002\u7701\u5f97\u8d8a\u591a\u3001\u8d5a\u5f97\u8d8a\u591a&#xff0c;\u5ba2\u6237\u51e0\u4e4e\u65e0\u98ce\u9669&#xff0c;\u6613\u6210\u4ea4\u3002<\/p>\n<h3>17.4 \u4ee3\u8fd0\u7ef4<\/h3>\n<p>\u628a&#034;\u7ebf\u4e0a\u76d1\u63a7 &#043; \u8fdc\u7a0b\u91cd\u542f &#043; \u544a\u8b66\u54cd\u5e94 &#043; \u5b9a\u671f\u5de1\u68c0&#034;\u6253\u5305\u6210\u8fd0\u7ef4\u670d\u52a1\u8d39\u3002\u5bf9\u65e0\u4eba\u503c\u5b88\u8bbe\u5907&#xff08;\u57fa\u7ad9\u3001\u552e\u8d27\u673a\u3001\u8def\u706f&#xff09;&#xff0c;\u5ba2\u6237\u613f\u610f\u4e3a&#034;\u6709\u4eba\u515c\u5e95\u3001\u968f\u65f6\u54cd\u5e94&#034;\u4ed8\u8d39\u3002<\/p>\n<h3>17.5 \u884c\u4e1a\u5b9a\u5236<\/h3>\n<p>\u9488\u5bf9\u5782\u76f4\u884c\u4e1a\u505a\u5b9a\u5236\u65b9\u6848\u4e0e\u54c1\u724c&#xff1a;\u519c\u6c61\u6cf5\u7ad9\u3001\u517b\u6b96\u73af\u63a7\u3001\u5149\u4f0f\u914d\u5957\u3001\u5145\u7535\u8fd0\u8425\u3001\u5e02\u653f\u4eae\u5316\u2026\u2026\u628a\u901a\u7528\u80fd\u529b\u5305\u88c5\u6210&#034;\u884c\u4e1a\u89e3\u51b3\u65b9\u6848&#034;&#xff0c;\u6ea2\u4ef7\u7a7a\u95f4\u5927\u3001\u7ade\u4e89\u5c11\u3002<\/p>\n<p>\u53d8\u73b0\u8def\u5f84\u901f\u89c8&#xff08;\u793a\u4f8b\u6d4b\u7b97&#xff09;&#xff1a;<\/p>\n<table>\n<tr>\u6a21\u5f0f\u6536\u8d39\u5f62\u6001\u7279\u70b9<\/tr>\n<tbody>\n<tr>\n<td>\u7cfb\u7edf\u96c6\u6210<\/td>\n<td>\u4e00\u6b21\u6027\u9879\u76ee\u6b3e<\/td>\n<td>\u5355\u503c\u9ad8\u3001\u9700\u4ea4\u4ed8\u80fd\u529b<\/td>\n<\/tr>\n<tr>\n<td>SaaS \u8ba2\u9605<\/td>\n<td>\u6708\/\u5e74\u8ba2\u9605<\/td>\n<td>\u7ecf\u5e38\u6027\u6536\u5165\u3001\u7c98\u6027\u5f3a<\/td>\n<\/tr>\n<tr>\n<td>\u8282\u80fd\u5206\u6210<\/td>\n<td>\u6309\u8282\u7701\u7535\u8d39\u6bd4\u4f8b<\/td>\n<td>\u5ba2\u6237\u96f6\u6295\u5165\u3001\u6613\u6210\u4ea4<\/td>\n<\/tr>\n<tr>\n<td>\u4ee3\u8fd0\u7ef4<\/td>\n<td>\u670d\u52a1\u8d39\/\u5e74<\/td>\n<td>\u7a33\u5b9a\u3001\u89c4\u6a21\u6548\u5e94\u660e\u663e<\/td>\n<\/tr>\n<tr>\n<td>\u884c\u4e1a\u5b9a\u5236<\/td>\n<td>\u65b9\u6848\u6ea2\u4ef7<\/td>\n<td>\u58c1\u5792\u9ad8\u3001\u5229\u6da6\u539a<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u672c\u7ae0\u8981\u70b9 \/ \u843d\u5730\u6e05\u5355<\/p>\n<ul>\n<li>\u8bbe\u5907\u662f\u5165\u53e3&#xff0c;\u65b9\u6848 &#043; \u670d\u52a1 &#043; \u5e73\u53f0\u624d\u662f\u6536\u8d39\u4e3b\u4f53&#xff1b;<\/li>\n<li>\u81ea\u5efa\u670d\u52a1\u5668\u89e3\u8026&#xff0c;\u505a SaaS \u8ba2\u9605\u5f62\u6210\u7ecf\u5e38\u6027\u6536\u5165&#xff1b;<\/li>\n<li>\u8282\u80fd\u5206\u6210\u8ba9\u5ba2\u6237\u96f6\u6295\u5165\u3001\u4f60\u8d5a\u8282\u80fd\u6536\u76ca&#xff1b;<\/li>\n<li>\u4ee3\u8fd0\u7ef4\u628a\u65e0\u4eba\u503c\u5b88\u8bbe\u5907\u7684&#034;\u515c\u5e95&#034;\u53d8\u6210\u73b0\u91d1\u6d41&#xff1b;<\/li>\n<li>\u884c\u4e1a\u5b9a\u5236\u63d0\u5347\u6ea2\u4ef7\u4e0e\u58c1\u5792\u3002<\/li>\n<\/ul>\n<hr \/>\n<h2>\u7b2c 18 \u7ae0 \u9879\u76ee\u7ba1\u7406&#xff1a;\u96c6\u6210\u5546\u89c6\u89d2\u7684\u843d\u5730\u65b9\u6cd5\u8bba<\/h2>\n<p>\u4e00\u53e5\u8bdd\u70b9\u9898&#xff1a;\u597d\u65b9\u6848\u80fd\u4e0d\u80fd\u53d8\u6210\u597d\u9879\u76ee&#xff0c;\u9760\u7684\u662f\u6d41\u7a0b\u2014\u2014\u672c\u7ae0\u7ed9\u51fa\u4ece\u52d8\u67e5\u3001\u9009\u578b\u3001\u5b9e\u65bd\u5230\u9a8c\u6536\u7684\u96c6\u6210\u5546\u6807\u51c6\u52a8\u4f5c&#xff0c;\u7279\u522b\u5f3a\u8c03\u73b0\u573a\u7535\u6c14\u52d8\u67e5\u8fd9\u9053&#034;\u4fdd\u547d\u5de5\u5e8f&#034;\u3002<\/p>\n<h3>18.1 \u9700\u6c42\u8c03\u7814\u4e0e\u65b9\u6848\u8bbe\u8ba1&#xff08;\u542b\u73b0\u573a\u7535\u6c14\u52d8\u67e5&#xff01;&#xff09;<\/h3>\n<p>\u7b2c\u4e00\u6b65\u6c38\u8fdc\u662f\u73b0\u573a\u52d8\u67e5&#xff0c;\u4e0d\u662f\u5148\u62a5\u4ef7\u3002 \u73b0\u573a\u7535\u6c14\u52d8\u67e5\u6e05\u5355&#xff08;\u65ad\u7535\u540e\u9010\u9879\u786e\u8ba4&#xff09;&#xff1a;<\/p>\n<table>\n<tr>\u52d8\u67e5\u9879\u5173\u6ce8\u70b9\u8bb0\u5f55<\/tr>\n<tbody>\n<tr>\n<td>\u8d1f\u8f7d\u6027\u8d28<\/td>\n<td>\u963b\u6027 \/ \u611f\u6027 \/ \u975e\u7ebf\u6027&#xff08;\u51b3\u5b9a\u80fd\u5426\u76f4\u8fde&#xff09;<\/td>\n<td>\u2705<\/td>\n<\/tr>\n<tr>\n<td>\u989d\u5b9a\u529f\u7387\u4e0e\u7535\u6d41<\/td>\n<td>\u662f\u5426 \u2264 25A\u3001\u22646000W&#xff08;\u963b\u6027&#xff09;&#xff1b;\u611f\u6027\u662f\u5426\u9700\u63a5\u89e6\u5668<\/td>\n<td>\u2705<\/td>\n<\/tr>\n<tr>\n<td>\u542f\u52a8\u7279\u6027<\/td>\n<td>\u7535\u673a\/\u538b\u7f29\u673a\u542f\u52a8\u7535\u6d41\u500d\u6570<\/td>\n<td>\u2705<\/td>\n<\/tr>\n<tr>\n<td>\u73b0\u6709\u7ebf\u5f84<\/td>\n<td>\u662f\u5426 \u22654mm\u00b2\u3001\u662f\u5426\u9700\u6362\u7ebf<\/td>\n<td>\u2705<\/td>\n<\/tr>\n<tr>\n<td>\u73b0\u6709\u4fdd\u62a4<\/td>\n<td>\u7a7a\u5f00\/\u6f0f\u4fdd\u5bb9\u91cf\u3001\u662f\u5426\u9700\u52a0\u88c5<\/td>\n<td>\u2705<\/td>\n<\/tr>\n<tr>\n<td>\u5b89\u88c5\u4f4d\u7f6e<\/td>\n<td>\u914d\u7535\u7bb1\u5185\/\u8bbe\u5907\u65c1\u3001\u6563\u70ed\u3001\u7a7a\u95f4<\/td>\n<td>\u2705<\/td>\n<\/tr>\n<tr>\n<td>\u4f9b\u7535\u7535\u538b<\/td>\n<td>\u662f\u5426\u5728 110~260Vac \u5355\u76f8\u8303\u56f4&#xff08;\u4e09\u76f8\/380V \u7981\u5165&#xff09;<\/td>\n<td>\u2705<\/td>\n<\/tr>\n<tr>\n<td>\u7f51\u7edc\u6761\u4ef6<\/td>\n<td>2.4GHz WiFi \u8986\u76d6\u4e0e\u4fe1\u53f7\u5f3a\u5ea6<\/td>\n<td>\u2705<\/td>\n<\/tr>\n<tr>\n<td>\u63a5\u5730\u4e0e\u9632\u96f7<\/td>\n<td>\u6237\u5916\u662f\u5426\u9700 SPD<\/td>\n<td>\u2705<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u26a0\ufe0f \u7535\u6c14\u5b89\u5168\u7ea2\u7ebf&#xff1a;\u52d8\u67e5\u5fc5\u987b\u65ad\u7535\u3001\u9a8c\u7535\u3001\u6302\u724c&#xff1b;\u4e09\u76f8\/380V \u8bbe\u5907\u8d85\u51fa\u672c\u8bbe\u5907 110~260Vac \u5355\u76f8\u8fb9\u754c&#xff0c;\u7981\u6b62\u76f4\u63a5\u63a5\u5165&#xff0c;\u9700\u53e6\u914d\u65b9\u6848\u3002<\/p>\n<p>\u65b9\u6848\u8bbe\u8ba1\u8981\u7d20&#xff1a;\u8d1f\u8f7d\u5339\u914d&#xff08;\u76f4\u8fde\/\u63a5\u89e6\u5668&#xff09;\u3001\u56de\u8def\u5212\u5206&#xff08;\u4e00\u8def\u4e00\u53f0&#xff09;\u3001\u4fdd\u62a4\u914d\u7f6e&#xff08;\u7a7a\u5f00\/\u6f0f\u4fdd\/SPD&#xff09;\u3001\u63a7\u5236\u7b56\u7565&#xff08;\u5b9a\u65f6\/\u4f20\u611f\u5668\/\u8fdc\u7a0b&#xff09;\u3001\u6570\u636e\u9700\u6c42&#xff08;\u8ba1\u91cf\/\u544a\u8b66&#xff09;\u3001\u7f51\u7edc\u4e0e\u5e73\u53f0\u5bf9\u63a5\u3002<\/p>\n<h3>18.2 \u9009\u578b\u4e0e BOM \u6e05\u5355<\/h3>\n<p>\u9009\u578b\u53e3\u8bc0&#xff1a;\u5927\u529f\u7387\u770b\u7535\u6d41\u3001\u611f\u6027\u770b\u6d6a\u6d8c\u3001\u6237\u5916\u770b\u9632\u62a4\u3001\u8ba1\u91cf\u770b\u573a\u666f\u3002<\/p>\n<p>\u6807\u51c6 BOM \u6e05\u5355&#xff08;\u793a\u4f8b&#xff09;&#xff1a;<\/p>\n<table>\n<tr>\u5e8f\u53f7\u7269\u6599\u89c4\u683c\/\u8bf4\u660e\u6570\u91cf<\/tr>\n<tbody>\n<tr>\n<td>1<\/td>\n<td>\u667a\u80fd\u901a\u65ad\u5668<\/td>\n<td>GSCW1M2P&#xff08;25A \/ MAX 6000W \u963b\u6027&#xff09;<\/td>\n<td>\u6309\u56de\u8def\u6570<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>\u4ea4\u6d41\u63a5\u89e6\u5668<\/td>\n<td>\u5927\u529f\u7387\/\u611f\u6027\u8d1f\u8f7d\u6269\u6d41\u7528&#xff0c;\u6309\u8d1f\u8f7d\u9009\u578b<\/td>\n<td>\u6309\u9700<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>\u65ad\u8def\u5668&#xff08;\u7a7a\u5f00&#xff09;<\/td>\n<td>C25\/C32&#xff0c;\u6309\u8d1f\u8f7d\u9009\u578b<\/td>\n<td>\u6bcf\u56de\u8def<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>\u6f0f\u7535\u4fdd\u62a4\u5668<\/td>\n<td>30mA&#xff08;\u4eba\u8eab&#xff09;\/ 100~300mA&#xff08;\u9632\u706b&#xff09;<\/td>\n<td>\u6309\u9700<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>\u6d6a\u6d8c\u4fdd\u62a4\u5668 SPD<\/td>\n<td>\u6237\u5916\/\u96f7\u533a<\/td>\n<td>\u6309\u9700<\/td>\n<\/tr>\n<tr>\n<td>6<\/td>\n<td>\u94dc\u82af\u5bfc\u7ebf<\/td>\n<td>\u22654mm\u00b2&#xff08;\u6ee1\u8f7d\/\u957f\u8ddd\u79bb 6mm\u00b2&#xff09;<\/td>\n<td>\u6309\u957f\u5ea6<\/td>\n<\/tr>\n<tr>\n<td>7<\/td>\n<td>\u51b7\u538b\u7aef\u5b50<\/td>\n<td>\u7ebf\u9f3b&#xff0c;\u591a\u80a1\u8f6f\u7ebf\u5fc5\u5907<\/td>\n<td>\u6309\u7aef\u6570<\/td>\n<\/tr>\n<tr>\n<td>8<\/td>\n<td>\u8f85\u6750<\/td>\n<td>\u5bfc\u8f68\u3001\u624e\u5e26\u3001\u6807\u8bc6\u3001\u63a5\u7ebf\u56fe<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>18.3 \u5b9e\u65bd\u8ba1\u5212\u4e0e\u91cc\u7a0b\u7891<\/h3>\n<p>\u5178\u578b\u91cc\u7a0b\u7891&#xff08;\u793a\u4f8b&#xff0c;\u5468\u671f\u968f\u9879\u76ee\u89c4\u6a21\u4f38\u7f29&#xff09;&#xff1a;<\/p>\n<table>\n<tr>\u9636\u6bb5\u91cc\u7a0b\u7891\u4ea4\u4ed8\u7269<\/tr>\n<tbody>\n<tr>\n<td>M1 \u52d8\u67e5<\/td>\n<td>\u73b0\u573a\u7535\u6c14\u52d8\u67e5\u5b8c\u6210<\/td>\n<td>\u52d8\u67e5\u8868 &#043; \u98ce\u9669\u6e05\u5355<\/td>\n<\/tr>\n<tr>\n<td>M2 \u8bbe\u8ba1<\/td>\n<td>\u65b9\u6848 &#043; BOM &#043; \u63a5\u7ebf\u56fe\u786e\u8ba4<\/td>\n<td>\u65b9\u6848\u4e66\u3001\u63a5\u7ebf\u56fe\u3001\u62a5\u4ef7<\/td>\n<\/tr>\n<tr>\n<td>M3 \u8fdb\u573a<\/td>\n<td>\u8bbe\u5907\u5230\u8d27\u3001\u505c\u7535\u6302\u724c<\/td>\n<td>\u5230\u8d27\u9a8c\u6536\u5355<\/td>\n<\/tr>\n<tr>\n<td>M4 \u65bd\u5de5<\/td>\n<td>\u9010\u53f0\u63a5\u7ebf\u3001\u56fa\u5b9a\u3001\u81ea\u68c0<\/td>\n<td>\u5de5\u5e8f\u5361&#xff08;\u9010\u53f0\u7b7e\u8ba4&#xff09;<\/td>\n<\/tr>\n<tr>\n<td>M5 \u8054\u8c03<\/td>\n<td>\u5e73\u53f0\u5bf9\u63a5\u3001\u6307\u4ee4\/\u4e0a\u62a5\u9a8c\u8bc1<\/td>\n<td>\u8054\u8c03\u8bb0\u5f55<\/td>\n<\/tr>\n<tr>\n<td>M6 \u9a8c\u6536<\/td>\n<td>\u5168\u91cf\u6d4b\u8bd5\u3001\u57f9\u8bad\u3001\u4ea4\u4ed8<\/td>\n<td>\u9a8c\u6536\u5355\u3001\u8fd0\u7ef4\u624b\u518c<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>18.4 \u9a8c\u6536\u6807\u51c6\u4e0e\u4ea4\u4ed8\u7269<\/h3>\n<p>\u9a8c\u6536\u6807\u51c6&#xff08;\u9010\u9879\u6253\u52fe&#xff09;&#xff1a;\u2460 \u7ebf\u5f84\u3001\u7a7a\u5f00\u3001\u6f0f\u4fdd\u4e0e\u8d1f\u8f7d\u5339\u914d&#xff1b;\u2461 \u89e6\u53d1\u901a\u65ad&#xff0c;\u7ee7\u7535\u5668\u52a8\u4f5c\u4e0e onState \u56de\u663e\u4e00\u81f4&#xff1b;\u2462 info-statistic \u8bfb\u6570\u5408\u7406&#xff08;\u7535\u538b\u2248\u5e02\u7535\u3001\u7535\u6d41\u4e0e\u8d1f\u8f7d\u76f8\u7b26&#xff09;&#xff1b;\u2463 info-protocol \u7684 publish\/subcribe \u4e0e\u5e73\u53f0\u914d\u7f6e\u4e00\u81f4&#xff08;\u6781\u6613\u641e\u53cd&#xff09;&#xff1b;\u2464 \u544a\u8b66\u7b56\u7565\u89e6\u53d1\u6b63\u5e38&#xff1b;\u2465 \u65bd\u5de5\u7167\u7247\u4e0e\u56fe\u7eb8\u7559\u6863\u3002<\/p>\n<p>\u4ea4\u4ed8\u7269\u6e05\u5355&#xff1a;\u65b9\u6848\u4e66\u3001BOM\u3001\u7535\u6c14\u63a5\u7ebf\u56fe\u3001\u9010\u53f0\u5de5\u5e8f\u5361\u3001\u8054\u8c03\u8bb0\u5f55\u3001\u9a8c\u6536\u5355\u3001\u8bbe\u5907\u53f0\u8d26&#xff08;MAC\/\u4f4d\u7f6e\/\u56de\u8def&#xff09;\u3001\u8fd0\u7ef4\u624b\u518c&#xff08;\u542b\u8fdc\u7a0b\u91cd\u542f\u3001\u6539\u670d\u52a1\u5668\u9700\u91cd\u542f\u7684\u8bf4\u660e&#xff09;\u3002<\/p>\n<p>\u672c\u7ae0\u8981\u70b9 \/ \u843d\u5730\u6e05\u5355<\/p>\n<ul>\n<li>\u5148\u52d8\u67e5\u3001\u540e\u62a5\u4ef7&#xff1b;\u542b\u73b0\u573a\u7535\u6c14\u52d8\u67e5&#xff0c;\u65ad\u7535\u9a8c\u7535\u6302\u724c\u662f\u524d\u63d0&#xff1b;<\/li>\n<li>\u9009\u578b\u53e3\u8bc0&#xff1a;\u5927\u529f\u7387\u770b\u7535\u6d41\u3001\u611f\u6027\u770b\u6d6a\u6d8c\u3001\u6237\u5916\u770b\u9632\u62a4\u3001\u8ba1\u91cf\u770b\u573a\u666f&#xff1b;<\/li>\n<li>BOM \u516d\u4ef6\u5957&#xff1a;\u901a\u65ad\u5668 &#043; \u63a5\u89e6\u5668 &#043; \u7a7a\u5f00 &#043; \u6f0f\u4fdd &#043; SPD &#043; \u5339\u914d\u5bfc\u7ebf&#xff1b;<\/li>\n<li>\u516d\u4e2a\u91cc\u7a0b\u7891&#xff1a;\u52d8\u67e5\u2192\u8bbe\u8ba1\u2192\u8fdb\u573a\u2192\u65bd\u5de5\u2192\u8054\u8c03\u2192\u9a8c\u6536&#xff1b;<\/li>\n<li>\u4ea4\u4ed8\u5fc5\u987b\u542b\u8bbe\u5907\u53f0\u8d26 &#043; \u63a5\u7ebf\u56fe &#043; \u9a8c\u6536\u5355&#xff0c;\u5e76\u6838\u5bf9 publish\/subcribe \u65b9\u5411\u3002<\/li>\n<\/ul>\n<hr \/>\n<h2>\u7b2c 19 \u7ae0 \u8fd0\u7ef4\u4f53\u7cfb&#xff1a;\u8ba9\u7cfb\u7edf\u957f\u671f\u7a33\u5b9a<\/h2>\n<p>\u4e00\u53e5\u8bdd\u70b9\u9898&#xff1a;\u88c5\u5b8c\u53ea\u662f\u5f00\u59cb&#xff0c;\u8fd0\u7ef4\u51b3\u5b9a\u7cfb\u7edf\u80fd\u4e0d\u80fd\u7a33\u5b9a\u8dd1\u4e09\u5e74\u2014\u2014\u672c\u7ae0\u8bb2\u76d1\u63a7\u544a\u8b66\u3001\u53d8\u66f4\u7ba1\u7406\u3001\u6545\u969c\u5206\u7ea7\u4e0e\u5927\u89c4\u6a21\u90e8\u7f72\u7ecf\u9a8c\u3002<\/p>\n<h3>19.1 \u76d1\u63a7\u4e0e\u544a\u8b66&#xff08;\u5728\u7ebf\u7387\u3001\u6307\u4ee4\u6210\u529f\u7387\u3001\u5f02\u5e38\u7528\u7535&#xff09;<\/h3>\n<table>\n<tr>\u6307\u6807\u542b\u4e49\u91c7\u96c6\u65b9\u5f0f\u544a\u8b66\u9608\u503c&#xff08;\u793a\u4f8b&#xff09;<\/tr>\n<tbody>\n<tr>\n<td>\u5728\u7ebf\u7387<\/td>\n<td>\u8bbe\u5907\u5728\u7ebf\u5360\u6bd4<\/td>\n<td>\u5fc3\u8df3\/\u4e0a\u62a5\u95f4\u9694<\/td>\n<td>\u4f4e\u4e8e 98% \u544a\u8b66<\/td>\n<\/tr>\n<tr>\n<td>\u6307\u4ee4\u6210\u529f\u7387<\/td>\n<td>\u4e0b\u53d1 controller-event \u540e\u6536\u5230\u786e\u8ba4\u6bd4\u4f8b<\/td>\n<td>\u6bd4\u5bf9 messageId \u56de\u663e<\/td>\n<td>\u4f4e\u4e8e 95% \u6392\u67e5<\/td>\n<\/tr>\n<tr>\n<td>\u5f02\u5e38\u7528\u7535<\/td>\n<td>\u7535\u6d41\/\u529f\u7387\u8d8a\u754c\u3001\u65ad\u7535\u4ecd\u6709\u7535\u6d41<\/td>\n<td>info-statistic\/device-timer-task<\/td>\n<td>\u89c1\u7b2c 10 \u7ae0\u7b56\u7565<\/td>\n<\/tr>\n<tr>\n<td>\u6570\u636e\u7f3a\u5931<\/td>\n<td>\u5b9a\u65f6\u4e0a\u62a5\u4e2d\u65ad<\/td>\n<td>device-timer-task \u662f\u5426\u6309\u65f6<\/td>\n<td>\u8d85 2 \u500d\u95f4\u9694\u544a\u8b66<\/td>\n<\/tr>\n<tr>\n<td>\u7535\u538b\u5f02\u5e38<\/td>\n<td>\u8d8a\u51fa 198~242V<\/td>\n<td>voltage<\/td>\n<td>\u8d8a\u754c\u544a\u8b66<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u8981\u70b9&#xff1a;\u544a\u8b66\u8981\u5206\u7ea7 &#043; \u53bb\u6296 &#043; \u7559\u75d5&#xff0c;\u907f\u514d&#034;\u544a\u8b66\u98ce\u66b4&#034;&#xff1b;\u5b89\u5168\u7c7b&#xff08;\u6f0f\u7535\u3001\u8fc7\u8f7d&#xff09;\u5373\u65f6\u63a8&#xff0c;\u7edf\u8ba1\u7c7b&#xff08;\u7528\u7535\u504f\u9ad8&#xff09;\u65e5\u62a5\u9001\u3002<\/p>\n<h3>19.2 \u56fa\u4ef6 \/ \u914d\u7f6e\u53d8\u66f4&#xff08;\u6539\u670d\u52a1\u5668\u9700\u91cd\u542f\u751f\u6548&#xff09;<\/h3>\n<p>\u5173\u952e\u63d0\u9192&#xff1a;\u7528 setting-mqtt \/ setting-tcp \u4fee\u6539\u5230\u81ea\u5efa\u670d\u52a1\u5668\u540e&#xff0c;\u5fc5\u987b\u65ad\u7535\u91cd\u542f\u6216\u4e0b\u53d1 controller-restart \u624d\u751f\u6548\u2014\u2014\u8fd9\u662f\u9ad8\u9891\u8e29\u5751\u70b9\u3002\u53d8\u66f4\u7ba1\u7406\u5efa\u8bae&#xff1a;\u2460 \u53d8\u66f4\u524d\u8bb0\u5f55\u5f53\u524d info-protocol&#xff08;server\/port\/publish\/subcribe\/clientId\/username&#xff09;&#xff1b;\u2461 \u53d8\u66f4\u540e\u786e\u8ba4\u8bbe\u5907\u5df2\u8fde\u4e0a\u65b0\u670d\u52a1\u5668&#xff08;\u6536\u5230\u4e0a\u62a5&#xff09;&#xff1b;\u2462 \u6279\u91cf\u53d8\u66f4\u5206\u6279\u6267\u884c\u3001\u7559\u56de\u6eda\u65b9\u6848&#xff1b;\u2463 controller-reset&#xff08;\u6062\u590d\u51fa\u5382&#xff09;\u4f1a\u4e22\u914d\u7f6e&#xff0c;\u614e\u7528\u3002<\/p>\n<h3>19.3 \u6545\u969c\u5206\u7ea7\u4e0e\u54cd\u5e94<\/h3>\n<table>\n<tr>\u7ea7\u522b\u5b9a\u4e49&#xff08;\u793a\u4f8b&#xff09;\u54cd\u5e94\u65f6\u9650\u5904\u7f6e<\/tr>\n<tbody>\n<tr>\n<td>P1 \u7d27\u6025<\/td>\n<td>\u6f0f\u7535\/\u5192\u70df\/\u65ad\u7535\u4ecd\u6709\u5927\u7535\u6d41<\/td>\n<td>\u7acb\u5373<\/td>\n<td>\u786c\u4ef6\u65ad\u7535 &#043; \u73b0\u573a\u6392\u67e5<\/td>\n<\/tr>\n<tr>\n<td>P2 \u9ad8<\/td>\n<td>\u8bbe\u5907\u79bb\u7ebf\u3001\u6307\u4ee4\u5931\u8d25\u7387\u9ad8<\/td>\n<td>\u22642 \u5c0f\u65f6<\/td>\n<td>\u8fdc\u7a0b\u6392\u67e5 &#043; \u73b0\u573a&#xff08;\u5fc5\u8981\u65f6&#xff09;<\/td>\n<\/tr>\n<tr>\n<td>P3 \u4e2d<\/td>\n<td>\u7528\u7535\u5f02\u5e38\u3001\u544a\u8b66\u9891\u53d1<\/td>\n<td>\u22641 \u5929<\/td>\n<td>\u8fdc\u7a0b\u5206\u6790 &#043; \u8ba1\u5212\u5904\u7406<\/td>\n<\/tr>\n<tr>\n<td>P4 \u4f4e<\/td>\n<td>\u6570\u636e\u7f3a\u5931\u3001\u62a5\u8868\u5f02\u5e38<\/td>\n<td>\u22643 \u5929<\/td>\n<td>\u540e\u53f0\u4fee\u6b63<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u5904\u7f6e\u987a\u5e8f&#xff1a;\u5148\u786c\u4ef6\u4fdd\u62a4\u3001\u540e\u8f6f\u4ef6\u6392\u67e5&#xff1b;P1 \u7c7b\u5fc5\u987b\u4ee5\u4eba\u8eab\u4e0e\u7535\u6c14\u5b89\u5168\u4e3a\u7b2c\u4e00\u4f18\u5148\u3002<\/p>\n<h3>19.4 \u5927\u89c4\u6a21\u90e8\u7f72&#xff08;\u767e\u53f0\/\u5343\u53f0&#xff09;\u7ecf\u9a8c\u4e0e\u7535\u6c14\u5bff\u547d\u7ba1\u7406<\/h3>\n<p>\u767e\u53f0\/\u5343\u53f0\u8981\u70b9&#xff1a;<\/p>\n<li>\u547d\u540d\u4e0e\u53f0\u8d26&#xff1a;MAC\/\u4f4d\u7f6e\/\u56de\u8def\/\u7528\u9014\u7edf\u4e00\u7f16\u7801&#xff0c;\u5e73\u53f0\u53ef\u6279\u91cf\u68c0\u7d22\u3002<\/li>\n<li>\u7f51\u7edc\u89c4\u5212&#xff1a;2.4GHz WiFi \u9700\u8003\u8651 AP \u5bb9\u91cf\u4e0e\u4fe1\u53f7\u8986\u76d6&#xff1b;\u5206\u533a\u3001\u5206 VLAN \u66f4\u7a33\u3002<\/li>\n<li>\u5e73\u53f0\u6027\u80fd&#xff1a;\u6279\u91cf\u4e0b\u53d1\u8981\u9650\u901f\/\u5206\u6279&#xff0c;\u907f\u514d\u77ac\u65f6\u5e76\u53d1\u538b\u57ae Broker&#xff1b;Topic \u8bbe\u8ba1\u8981\u5206\u5c42\u4fbf\u4e8e\u8ba2\u9605\u3002<\/li>\n<li>\u6279\u91cf\u8fd0\u7ef4&#xff1a;\u811a\u672c\u5316\u4e0b\u53d1\u3001\u6279\u91cf\u6539\u670d\u52a1\u5668&#xff08;\u8bb0\u5f97\u91cd\u542f\u751f\u6548&#xff09;\u3001\u6279\u91cf\u67e5\u5728\u7ebf\u7387\u3002<\/li>\n<li>\u7535\u6c14\u5bff\u547d\u7ba1\u7406&#xff1a;\u7535\u6c14\u5bff\u547d\u4ec5 5 \u4e07\u6b21\u2014\u2014\u9ad8\u9891\u901a\u65ad&#xff08;\u5982\u9891\u7e41\u542f\u505c\u98ce\u673a&#xff09;\u4f1a\u52a0\u901f\u89e6\u70b9\u78e8\u635f&#xff0c;\u5e94\u51cf\u5c11\u4e0d\u5fc5\u8981\u7684\u901a\u65ad\u9891\u6b21\u3001\u52a0\u5927\u65f6\u95f4\u7a97\u53bb\u6296&#xff0c;\u5bf9\u8d85\u9ad8\u9891\u573a\u666f\u6539\u7528\u63a5\u89e6\u5668\u627f\u62c5\u4e3b\u901a\u65ad\u3002<\/li>\n<p>\u5bff\u547d\u7b97\u5f0f&#xff08;\u793a\u4f8b\u6d4b\u7b97&#xff09;&#xff1a;\u82e5\u67d0\u56de\u8def\u6bcf\u5929\u52a8\u4f5c 20 \u6b21&#xff0c;\u7535\u6c14\u5bff\u547d 5 \u4e07\u6b21 \u2192 50000 \/ 20 \/ 365 \u2248 6.8 \u5e74\u3002\u82e5\u6bcf\u5929 200 \u6b21 \u2192 \u4e0d\u5230 0.7 \u5e74&#xff0c;\u5fc5\u987b\u964d\u9891\u6216\u6539\u63a5\u89e6\u5668\u3002<\/p>\n<p>\u672c\u7ae0\u8981\u70b9 \/ \u843d\u5730\u6e05\u5355<\/p>\n<ul>\n<li>\u76d1\u63a7\u56db\u6307\u6807&#xff1a;\u5728\u7ebf\u7387\u3001\u6307\u4ee4\u6210\u529f\u7387\u3001\u5f02\u5e38\u7528\u7535\u3001\u6570\u636e\u7f3a\u5931&#xff1b;<\/li>\n<li>\u6539\u670d\u52a1\u5668\u5fc5\u987b\u91cd\u542f&#xff08;\u65ad\u7535\u6216 controller-restart&#xff09;\u624d\u751f\u6548&#xff0c;\u53d8\u66f4\u524d\u7559\u6863&#xff1b;<\/li>\n<li>\u6545\u969c\u5206\u7ea7&#xff08;P1~P4&#xff09;&#043; \u54cd\u5e94\u65f6\u9650&#xff0c;\u5148\u786c\u4ef6\u5b89\u5168\u3001\u540e\u8f6f\u4ef6\u6392\u67e5&#xff1b;<\/li>\n<li>\u5343\u53f0\u90e8\u7f72\u9760\u53f0\u8d26 &#043; \u7f51\u7edc\u89c4\u5212 &#043; \u6279\u91cf\u811a\u672c &#043; \u9650\u901f&#xff1b;<\/li>\n<li>\u7535\u6c14\u5bff\u547d 5 \u4e07\u6b21\u8981\u7b97\u8d26&#xff1a;\u9ad8\u9891\u573a\u666f\u964d\u9891\u6216\u6539\u63a5\u89e6\u5668\u3002<\/li>\n<\/ul>\n<hr \/>\n<h2>\u7b2c 20 \u7ae0 \u9644\u5f55<\/h2>\n<p>\u4e00\u53e5\u8bdd\u70b9\u9898&#xff1a;\u672c\u7ae0\u662f&#034;\u968f\u53d6\u968f\u7528&#034;\u7684\u901f\u67e5\u5de5\u5177\u2014\u2014\u6307\u4ee4\u8868\u3001\u4ee3\u7801\u7d22\u5f15\u3001\u65bd\u5de5\u68c0\u67e5\u6e05\u5355\u3001FAQ \u4e0e\u7ed3\u8bed\u3002<\/p>\n<h3>20.1 \u6307\u4ee4\u901f\u67e5\u8868<\/h3>\n<table>\n<tr>\u529f\u80fd\u6307\u4ee4\u540d\u5173\u952e\u8bf7\u6c42\u5b57\u6bb5\u54cd\u5e94\u5173\u952e\u5b57\u6bb5<\/tr>\n<tbody>\n<tr>\n<td>\u901a\u65ad\u7535\u63a7\u5236<\/td>\n<td>controller-event<\/td>\n<td>key(0\/1)\u3001type:&#034;event&#034;<\/td>\n<td>onState\u3001key\u3001mac\u3001ip\u3001signal\u3001ssid\u3001keyLock\u3001wifiLock\u3001version<\/td>\n<\/tr>\n<tr>\n<td>\u8bbe\u7f6e\u4e0a\u62a5\u9891\u7387<\/td>\n<td>device-timer-interval<\/td>\n<td>timerEnable(0\/1)\u3001timerInterval(5~86400)\u3001type:&#034;setting&#034;<\/td>\n<td>timerEnable\u3001timerInterval\u3001success<\/td>\n<\/tr>\n<tr>\n<td>\u5b9a\u65f6\u4e0a\u62a5&#xff08;\u8bbe\u5907\u4e3b\u52a8&#xff09;<\/td>\n<td>device-timer-task<\/td>\n<td>\u2014<\/td>\n<td>voltage\u3001current\u3001power\u3001energy\u3001key\u3001mac\u3001source:&#034;auto&#034;<\/td>\n<\/tr>\n<tr>\n<td>\u8bbe\u5907\u57fa\u7840\u4fe1\u606f<\/td>\n<td>info-all<\/td>\n<td>type:&#034;info&#034;<\/td>\n<td>mac\u3001version\u3001ssid\u3001ip\u3001signal\u3001keyLock\u3001wifiLock\u3001onState<\/td>\n<\/tr>\n<tr>\n<td>\u5b9e\u65f6\u7528\u7535\u4fe1\u606f<\/td>\n<td>info-statistic<\/td>\n<td>type:&#034;statistic&#034;<\/td>\n<td>voltage\u3001current\u3001power\u3001energy\u3001key\u3001mac<\/td>\n<\/tr>\n<tr>\n<td>\u7d2f\u8ba1\u7535\u91cf\u6e05\u96f6<\/td>\n<td>energy-clear<\/td>\n<td>\u2014<\/td>\n<td>success<\/td>\n<\/tr>\n<tr>\n<td>\u901a\u4fe1\u534f\u8bae<\/td>\n<td>info-protocol<\/td>\n<td>\u2014<\/td>\n<td>server\u3001port\u3001publish\u3001subcribe\u3001clientId\u3001username<\/td>\n<\/tr>\n<tr>\n<td>\u6309\u952e\u9501<\/td>\n<td>setting-key-lock<\/td>\n<td>keyLock(0\/1)\u3001type:&#034;setting&#034;<\/td>\n<td>success<\/td>\n<\/tr>\n<tr>\n<td>\u4e0a\u7535\u9ed8\u8ba4\u72b6\u6001<\/td>\n<td>setting-on-state<\/td>\n<td>onState(0 \u8bb0\u5fc6\/1 \u5173\u95ed\/2 \u5f00\u542f)<\/td>\n<td>success<\/td>\n<\/tr>\n<tr>\n<td>\u81ea\u5b9a\u4e49 MQTT<\/td>\n<td>setting-mqtt<\/td>\n<td>server,port,publish,subcribe,clientId,username,password,type:&#034;custom&#034;<\/td>\n<td>success<\/td>\n<\/tr>\n<tr>\n<td>\u81ea\u5b9a\u4e49 TCP<\/td>\n<td>setting-tcp<\/td>\n<td>server,port,protocol:&#034;tcp&#034;<\/td>\n<td>success<\/td>\n<\/tr>\n<tr>\n<td>\u914d\u7f51\u9501<\/td>\n<td>setting-wifi-lock<\/td>\n<td>wifiLock(0\/1)<\/td>\n<td>success<\/td>\n<\/tr>\n<tr>\n<td>\u6062\u590d\u51fa\u5382<\/td>\n<td>controller-reset<\/td>\n<td>system:&#034;reset&#034;<\/td>\n<td>success\u3001message<\/td>\n<\/tr>\n<tr>\n<td>\u91cd\u542f\u8bbe\u5907<\/td>\n<td>controller-restart<\/td>\n<td>system:&#034;restart&#034;<\/td>\n<td>success\u3001message<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u65b9\u5411\u63d0\u9192&#xff1a;publish &#061; \u8bbe\u5907\u53d1\u5e03&#xff08;\u5e73\u53f0\u8ba2\u9605\u6536\u6570\u636e&#xff09;&#xff1b;subcribe &#061; \u8bbe\u5907\u8ba2\u9605&#xff08;\u5e73\u53f0\u53d1\u5e03\u4e0b\u6307\u4ee4&#xff09;\u3002\u5b57\u6bb5\u62fc\u5199\u4ee5\u56fa\u4ef6\u4e3a\u51c6&#xff0c;\u52ff&#034;\u6539\u5bf9&#034;\u3002<\/p>\n<h3>20.2 \u4ee3\u7801\u793a\u4f8b\u7d22\u5f15<\/h3>\n<table>\n<tr>\u529f\u80fd\u4f4d\u7f6e\u5173\u952e\u8c03\u7528<\/tr>\n<tbody>\n<tr>\n<td>\u901a\u65ad\u7535<\/td>\n<td>\u7b2c 10 \u7ae0 \/ \u672c\u90e8\u5206\u573a\u666f<\/td>\n<td>set_power() \u2192 controller-event<\/td>\n<\/tr>\n<tr>\n<td>\u8bbe\u7f6e\u4e0a\u62a5\u9891\u7387<\/td>\n<td>\u7b2c 10 \u7ae0<\/td>\n<td>set_report_interval() \u2192 device-timer-interval<\/td>\n<\/tr>\n<tr>\n<td>\u8fc7\u8f7d\/\u5f02\u5e38\u4fdd\u62a4<\/td>\n<td>\u7b2c 10 \u7ae0<\/td>\n<td>on_message() \u5224 current\/power<\/td>\n<\/tr>\n<tr>\n<td>\u8fdc\u7a0b\u91cd\u542f\u4e0b\u6e38<\/td>\n<td>\u7b2c 10 \u7ae0 \/ \u573a\u666f 16\/22<\/td>\n<td>remote_reboot_downstream()<\/td>\n<\/tr>\n<tr>\n<td>\u91cd\u542f\u81ea\u8eab<\/td>\n<td>\u7b2c 10 \u7ae0<\/td>\n<td>controller-restart<\/td>\n<\/tr>\n<tr>\n<td>\u4f20\u611f\u5668\u8054\u52a8<\/td>\n<td>\u7b2c 10 \u7ae0<\/td>\n<td>on_sensor_event()<\/td>\n<\/tr>\n<tr>\n<td>\u573a\u666f\u5316\u8c03\u5ea6<\/td>\n<td>\u7b2c 14 \u7ae0\u5404\u573a\u666f<\/td>\n<td>\u5b9a\u65f6 &#043; energy \u7edf\u8ba1<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>20.3 \u5b89\u88c5\u65bd\u5de5\u68c0\u67e5\u6e05\u5355&#xff08;\u53ef\u6253\u5370&#xff09;<\/h3>\n<p>\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n\u2502 GSCW1M2P \u5b89\u88c5\u65bd\u5de5\u68c0\u67e5\u6e05\u5355          \u56de\u8def&#xff1a;______ \u2502<br \/>\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524<br \/>\n\u2502 \u3010\u7535\u6c14\u5b89\u5168\u3011                                    \u2502<br \/>\n\u2502 [ ] \u5df2\u65ad\u7535\u3001\u5df2\u9a8c\u7535\u3001\u5df2\u6302\u724c\u3001\u4e00\u4eba\u64cd\u4f5c\u4e00\u4eba\u76d1\u62a4     \u2502<br \/>\n\u2502 [ ] \u7531\u6301\u8bc1\u7535\u5de5\u64cd\u4f5c&#xff0c;\u4e25\u7981\u5e26\u7535\u63a5\u7ebf                 \u2502<br \/>\n\u2502 [ ] \u8d1f\u8f7d\u6027\u8d28\u5df2\u786e\u8ba4&#xff08;\u963b\u6027\/\u611f\u6027\/\u975e\u7ebf\u6027&#xff09;           \u2502<br \/>\n\u2502 [ ] \u529f\u7387\/\u7535\u6d41 \u2264 25A\u3001\u22646000W(\u963b\u6027)&#xff0c;\u611f\u6027\u5df2\u964d\u989d    \u2502<br \/>\n\u2502 [ ] \u4e09\u76f8\/380V \u672a\u63a5\u5165&#xff08;\u672c\u8bbe\u5907\u4ec5 110~260Vac \u5355\u76f8&#xff09; \u2502<br \/>\n\u2502 [ ] \u5bfc\u7ebf \u22654mm\u00b2 \u94dc\u82af&#xff08;\u6ee1\u8f7d\/\u957f\u8ddd\u79bb 6mm\u00b2&#xff09;          \u2502<br \/>\n\u2502 [ ] \u7aef\u5b50\u51b7\u538b\u538b\u63a5\u5230\u4f4d\u3001\u529b\u77e9\u5230\u4f4d\u3001\u8f7b\u62c9\u4e0d\u8131         \u2502<br \/>\n\u2502 [ ] \u7a7a\u5f00\u5bb9\u91cf\u5339\u914d&#xff08;\u2264\u5bfc\u7ebf\u8f7d\u6d41\u91cf&#xff09;\u3001\u6f0f\u4fdd\u5df2\u88c5         \u2502<br \/>\n\u2502 [ ] \u6237\u5916\u5df2\u52a0 SPD \u6d6a\u6d8c\u4fdd\u62a4                        \u2502<br \/>\n\u2502 [ ] \u63a5\u5730\u6062\u590d\u3001\u7edd\u7f18\u62a4\u5957\u6062\u590d\u3001\u8bbe\u5907\u56fa\u5b9a\u7262\u56fa         \u2502<br \/>\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524<br \/>\n\u2502 \u3010\u901a\u7535\u81ea\u68c0\u3011                                    \u2502<br \/>\n\u2502 [ ] \u914d\u7f51\u6210\u529f\u30012.4GHz WiFi \u4fe1\u53f7\u826f\u597d               \u2502<br \/>\n\u2502 [ ] MQTT\/TCP \u8fde\u63a5\u6210\u529f\u3001\u4e0a\u62a5\u6b63\u5e38                  \u2502<br \/>\n\u2502 [ ] \u89e6\u53d1\u901a\u65ad&#xff0c;\u52a8\u4f5c\u4e0e onState \u56de\u663e\u4e00\u81f4            \u2502<br \/>\n\u2502 [ ] info-statistic \u8bfb\u6570\u5408\u7406&#xff08;V\/A\/W\/kWh&#xff09;         \u2502<br \/>\n\u2502 [ ] info-protocol \u7684 publish\/subcribe \u4e0e\u5e73\u53f0\u4e00\u81f4 \u2502<br \/>\n\u2502 [ ] \u544a\u8b66\u7b56\u7565\u89e6\u53d1\u6b63\u5e38                             \u2502<br \/>\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524<br \/>\n\u2502 \u65bd\u5de5\u4eba&#xff1a;______ \u76d1\u62a4&#xff1a;______ \u65e5\u671f&#xff1a;______         \u2502<br \/>\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/p>\n<h3>20.4 \u5e38\u89c1\u95ee\u9898 FAQ<\/h3>\n<p>Q1&#xff1a;GSCW1M2P \u662f\u63d2\u5ea7\u5417&#xff1f;\u80fd\u76f4\u63a5\u63d2\u8bbe\u5907\u5417&#xff1f;<br \/>\nA&#xff1a;\u4e0d\u662f\u3002\u5b83\u662f\u63a5\u7ebf\u5f0f\u8bbe\u5907&#xff0c;\u9700\u8fdb\u7ebf\/\u51fa\u7ebf\u63a5\u7ebf&#xff0c;\u5fc5\u987b\u7531\u6301\u8bc1\u7535\u5de5\u65ad\u7535\u4f5c\u4e1a\u3002\u5b83\u662f\u5355\u8def\u901a\u65ad\u5668&#xff0c;\u4e00\u8def\u4e00\u4e2a\u56de\u8def\u3002<\/p>\n<p>Q2&#xff1a;25A \/ 6000W \u80fd\u5e26\u591a\u5927\u8bbe\u5907&#xff1f;<br \/>\nA&#xff1a;25A \u662f\u5de5\u4f5c\u7535\u6d41&#xff0c;MAX 6000W \u662f&#034;\u963b\u6027\u8d1f\u8f7d&#034;\u4e0a\u9650\u3002\u5de5\u7a0b\u4e0a\u5355\u8def\u963b\u6027\u5efa\u8bae \u22645000W&#xff08;\u7559\u4f59\u91cf&#xff09;&#xff0c;220V \u4e0b 25A\u22485500W\u3002<\/p>\n<p>Q3&#xff1a;\u80fd\u5e26\u7a7a\u8c03\u3001\u7535\u673a\u3001\u6c34\u6cf5\u5417&#xff1f;<br \/>\nA&#xff1a;\u80fd&#xff0c;\u4f46\u5b83\u4eec\u662f\u611f\u6027\u8d1f\u8f7d&#xff0c;\u542f\u52a8\u7535\u6d41\u53ef\u8fbe\u989d\u5b9a\u6570\u500d&#xff0c;\u5fc5\u987b\u964d\u989d\u5e76\u52a0\u63a5\u89e6\u5668\u2014\u2014\u8ba9\u901a\u65ad\u5668\u63a7\u63a5\u89e6\u5668\u7ebf\u5708&#xff0c;\u63a5\u89e6\u5668\u5207\u4e3b\u56de\u8def\u3002<\/p>\n<p>Q4&#xff1a;\u80fd\u5e26\u4e09\u76f8 380V \u8bbe\u5907\u5417&#xff1f;<br \/>\nA&#xff1a;\u4e0d\u80fd\u3002\u672c\u8bbe\u5907\u8f93\u5165 110~260Vac \u5355\u76f8&#xff0c;\u4e09\u76f8\/380V \u8d85\u51fa\u8fb9\u754c&#xff0c;\u9700\u53e6\u914d\u65b9\u6848\u3002<\/p>\n<p>Q5&#xff1a;\u80fd\u6d4b\u7535\u5417&#xff1f;\u6d4b\u7684\u662f\u4ec0\u4e48&#xff1f;<br \/>\nA&#xff1a;\u80fd\u3002\u4e0a\u62a5 voltage \/ current \/ power \/ energy&#xff0c;\u5176\u4e2d power \u662f\u89c6\u5728\u529f\u7387&#xff0c;\u5de5\u7a0b\u4e0a\u6309\u9700\u6362\u7b97\u6709\u529f\/\u7535\u8d39\u3002<\/p>\n<p>Q6&#xff1a;\u4e0a\u62a5\u9891\u7387\u600e\u4e48\u8bbe&#xff1f;<br \/>\nA&#xff1a;\u7528 device-timer-interval&#xff0c;timerEnable:1\u3001timerInterval \u53d6 5~86400 \u79d2\u3002<\/p>\n<p>Q7&#xff1a;\u600e\u4e48\u6539\u6210\u81ea\u5df1\u7684\u670d\u52a1\u5668&#xff1f;<br \/>\nA&#xff1a;\u7528 setting-mqtt&#xff08;MQTT&#xff09;\u6216 setting-tcp&#xff08;TCP&#xff09;\u6307\u5411\u81ea\u5efa\u670d\u52a1\u5668&#xff0c;\u6539\u540e\u5fc5\u987b\u65ad\u7535\u91cd\u542f\u6216 controller-restart \u624d\u751f\u6548\u3002<\/p>\n<p>Q8&#xff1a;publish \u548c subcribe \u8c01\u8ba2\u9605\u8c01\u53d1\u5e03&#xff1f;<br \/>\nA&#xff1a;publish \u662f\u8bbe\u5907\u53d1\u5e03\u7684\u4e3b\u9898&#xff0c;\u5e73\u53f0\u8981\u8ba2\u9605&#xff1b;subcribe \u662f\u8bbe\u5907\u8ba2\u9605\u7684\u4e3b\u9898&#xff0c;\u5e73\u53f0\u8981\u5f80\u8fd9\u91cc\u53d1\u5e03\u6307\u4ee4\u3002 \u6781\u6613\u641e\u53cd&#xff0c;\u52a1\u5fc5\u6838\u5bf9\u3002<\/p>\n<p>Q9&#xff1a;\u80fd\u63a5\u5165\u81ea\u5df1\u7684\u5e73\u53f0\u5417&#xff1f;\u6709\u9690\u6027\u6210\u672c\u5417&#xff1f;<br \/>\nA&#xff1a;\u53ef\u4ee5\u3002\u652f\u6301 MQTT\/TCP\/HTTP\u3001\u53ef\u6307\u5411\u81ea\u5efa\u670d\u52a1\u5668&#xff0c;\u4e0e\u5382\u5546\u4e91\u89e3\u8026&#xff0c;\u65e0\u6346\u7ed1\u3001\u65e0\u9690\u6027\u6210\u672c\u3002<\/p>\n<p>Q10&#xff1a;\u652f\u6301 RS-485 \/ Modbus \u5417&#xff1f;<br \/>\nA&#xff1a;\u4e0d\u652f\u6301\u3002\u672c\u578b\u53f7\u65e0 RS-485\u3001\u65e0\u7ea2\u5916\u9065\u63a7&#xff1b;\u5de5\u4e1a\u5bf9\u63a5\u9700\u7ecf\u7f51\u5173\u8f6c\u6362\u3002<\/p>\n<p>Q11&#xff1a;\u600e\u4e48\u8fdc\u7a0b\u91cd\u542f\u4e0b\u6e38\u8bbe\u5907&#xff1f;<br \/>\nA&#xff1a;\u4e0b\u53d1 controller-event key&#061;0&#xff0c;\u7b49 10~30 \u79d2\u518d key&#061;1&#xff0c;\u4e0b\u6e38\u5373\u51b7\u542f\u52a8\u3002\u53ef\u4e0e setting-on-state \u914d\u5408\u3002<\/p>\n<p>Q12&#xff1a;setting-on-state \u4e09\u4e2a\u503c\u4ec0\u4e48\u610f\u601d&#xff1f;<br \/>\nA&#xff1a;0 \u8bb0\u5fc6&#xff08;\u6309\u65ad\u7535\u524d\u72b6\u6001\u6062\u590d&#xff09;\u30011 \u5173\u95ed\u30012 \u5f00\u542f&#xff08;\u6765\u7535\u5373\u5de5\u4f5c&#xff09;\u3002<\/p>\n<p>Q13&#xff1a;\u8bbe\u5907\u6b7b\u673a&#xff08;\u7f51\u7edc\u5047\u6b7b&#xff09;\u600e\u4e48\u529e&#xff1f;<br \/>\nA&#xff1a;\u4e0b\u53d1 controller-restart&#xff08;system:&#034;restart&#034;&#xff09;\u8ba9\u8bbe\u5907\u81ea\u8eab\u91cd\u542f\u3002<\/p>\n<p>Q14&#xff1a;controller-reset \u4f1a\u9020\u6210\u4ec0\u4e48\u540e\u679c&#xff1f;<br \/>\nA&#xff1a;\u6062\u590d\u51fa\u5382&#xff0c;\u4f1a\u4e22\u5931\u6240\u6709\u914d\u7f6e&#xff08;\u542b\u670d\u52a1\u5668\u8bbe\u7f6e&#xff09;&#xff0c;\u614e\u7528\u3002<\/p>\n<p>Q15&#xff1a;\u8bbe\u5907\u591a\u4e45\u62a5\u4e00\u6b21\u6570\u636e&#xff1f;\u4e0d\u62a5\u600e\u4e48\u529e&#xff1f;<br \/>\nA&#xff1a;\u6309 timerInterval \u5b9a\u65f6\u4e0a\u62a5 device-timer-task&#xff1b;\u82e5\u8d85 2 \u500d\u95f4\u9694\u672a\u6536\u5230&#xff0c;\u5e73\u53f0\u5e94\u544a\u8b66\u3002<\/p>\n<p>Q16&#xff1a;\u7535\u6c14\u5bff\u547d\u548c\u673a\u68b0\u5bff\u547d\u662f\u591a\u5c11&#xff1f;<br \/>\nA&#xff1a;\u673a\u68b0\u5bff\u547d 500 \u4e07\u6b21&#xff0c;\u7535\u6c14\u5bff\u547d 5 \u4e07\u6b21\u3002\u9ad8\u9891\u901a\u65ad\u8981\u7b97\u5bff\u547d\u8d26\u3002<\/p>\n<p>Q17&#xff1a;\u9ad8\u9891\u901a\u65ad\u573a\u666f\u600e\u4e48\u529e&#xff1f;<br \/>\nA&#xff1a;\u964d\u4f4e\u901a\u65ad\u9891\u6b21\u3001\u52a0\u5927\u53bb\u6296\u65f6\u95f4\u7a97&#xff1b;\u8d85\u9ad8\u9891\u573a\u666f\u8ba9\u63a5\u89e6\u5668\u627f\u62c5\u4e3b\u901a\u65ad&#xff0c;\u901a\u65ad\u5668\u53ea\u505a\u63a7\u5236\u3002<\/p>\n<p>Q18&#xff1a;\u80fd\u505a\u8fc7\u8f7d\u81ea\u52a8\u8df3\u95f8\u5417&#xff1f;<br \/>\nA&#xff1a;\u8bbe\u5907\u65e0\u539f\u751f\u9608\u503c\u8df3\u95f8\u6307\u4ee4&#xff1b;\u8fc7\u8f7d\/\u5f02\u5e38\u4fdd\u62a4\u8981\u5728\u5e73\u53f0\u4fa7\u5224\u65ad\u540e\u4e0b\u53d1 key&#061;0 \u5b9e\u73b0&#xff0c;\u4e14\u786c\u4ef6\u4fdd\u62a4&#xff08;\u7a7a\u5f00\/\u6f0f\u4fdd\/\u70ed\u7ee7&#xff09;\u6c38\u8fdc\u662f\u7b2c\u4e00\u9053\u9632\u7ebf\u3002<\/p>\n<p>Q19&#xff1a;\u65ad\u7535\u540e\u4ecd\u6709\u7535\u6d41\u600e\u4e48\u56de\u4e8b&#xff1f;<br \/>\nA&#xff1a;\u53ef\u80fd\u662f\u7ee7\u7535\u5668\u7c98\u8fde\u6216\u7ebf\u8def\u5f02\u5e38&#xff0c;\u5c5e\u4e25\u91cd\u95ee\u9898&#xff0c;\u5e94\u7acb\u5373\u4eba\u5de5\u65ad\u7535\u68c0\u4fee\u5e76\u544a\u8b66\u3002<\/p>\n<p>Q20&#xff1a;\u5bfc\u7ebf\u8981\u591a\u7c97&#xff1f;<br \/>\nA&#xff1a;\u4e0e 25A \u5339\u914d&#xff0c;\u53c2\u8003 \u22654mm\u00b2 \u94dc\u82af&#xff0c;\u6ee1\u8f7d\/\u957f\u8ddd\u79bb\u5efa\u8bae 6mm\u00b2&#xff0c;\u5177\u4f53\u4ee5\u73b0\u573a\u7535\u6c14\u89c4\u8303\u4e3a\u51c6\u3002<\/p>\n<p>Q21&#xff1a;\u9700\u8981\u914d\u7a7a\u5f00\/\u6f0f\u4fdd\u5417&#xff1f;<br \/>\nA&#xff1a;\u5fc5\u987b\u3002\u7a7a\u5f00\u505a\u8fc7\u8f7d\/\u77ed\u8def\u4fdd\u62a4&#xff0c;\u6f0f\u4fdd&#xff08;30mA&#xff09;\u505a\u4eba\u8eab\u89e6\u7535\u4fdd\u62a4&#xff1b;\u6237\u5916\u52a0 SPD\u3002<\/p>\n<p>Q22&#xff1a;\u80fd\u88c5\u6237\u5916\u5417&#xff1f;<br \/>\nA&#xff1a;\u9700\u9632\u62a4\u5230\u4f4d&#xff08;\u9632\u6c34\u76d2\u3001SPD\u3001\u6f0f\u4fdd&#xff09;&#xff0c;\u907f\u514d\u6f6e\u6e7f\/\u6dcb\u6c34\/\u8150\u8680\u73af\u5883&#xff1b;\u4e25\u7981\u513f\u7ae5\u53ef\u89e6\u53ca\u4f4d\u7f6e\u3002<\/p>\n<p>Q23&#xff1a;\u5f85\u673a\u8017\u7535\u591a\u5c11&#xff1f;<br \/>\nA&#xff1a;\u5f85\u673a\u529f\u7387 &lt; 4W\u3002<\/p>\n<p>Q24&#xff1a;\u5c3a\u5bf8\u591a\u5927&#xff1f;\u597d\u88c5\u914d\u7535\u7bb1\u5417&#xff1f;<br \/>\nA&#xff1a;50mm \u00d7 110mm \u00d7 32mm&#xff0c;\u63a5\u7ebf\u5f0f&#xff0c;\u9002\u5408\u914d\u7535\u7bb1\u5185\u6216\u8bbe\u5907\u65c1&#xff0c;\u4e24\u4fa7\u7559 \u226530mm \u8d70\u7ebf\u6563\u70ed\u7a7a\u95f4\u3002<\/p>\n<p>Q25&#xff1a;\u5916\u58f3\u963b\u71c3\u5417&#xff1f;<br \/>\nA&#xff1a;\u5916\u58f3\u4e3a\u963b\u71c3 PC\/ABS&#xff0c;V0 \u7ea7\u3002<\/p>\n<p>Q26&#xff1a;\u652f\u6301 5GHz WiFi \u5417&#xff1f;<br \/>\nA&#xff1a;\u53ea\u652f\u6301 2.4GHz WiFi\u3002<\/p>\n<p>Q27&#xff1a;\u600e\u4e48\u6e05\u96f6\u7d2f\u8ba1\u7535\u91cf&#xff1f;<br \/>\nA&#xff1a;\u4e0b\u53d1 energy-clear\u3002<\/p>\n<p>Q28&#xff1a;\u6309\u952e\u9501\u548c\u914d\u7f51\u9501\u6709\u4ec0\u4e48\u7528&#xff1f;<br \/>\nA&#xff1a;setting-key-lock&#xff08;keyLock&#xff09;\u9501\u7269\u7406\u6309\u952e\u9632\u8bef\u89e6&#xff1b;setting-wifi-lock&#xff08;wifiLock&#xff09;\u9501\u914d\u7f51\u9632\u8bef\u8fde\u3002<\/p>\n<p>Q29&#xff1a;\u4e00\u6761\u6307\u4ee4\u600e\u4e48\u786e\u8ba4\u6267\u884c\u6210\u529f&#xff1f;<br \/>\nA&#xff1a;messageId \u4e3a\u4e1a\u52a1\u6d41\u6c34\u53f7&#xff0c;\u8bbe\u5907\u539f\u6837\u56de\u663e&#xff1b;\u5e73\u53f0\u6bd4\u5bf9\u56de\u663e\u4e0e\u54cd\u5e94\u5b57\u6bb5&#xff08;\u5982 onState&#xff09;\u5224\u65ad\u7ed3\u679c\u3002<\/p>\n<p>Q30&#xff1a;\u80fd\u4e00\u6761\u6307\u4ee4\u63a7\u5236\u591a\u4e2a\u56de\u8def\u5417&#xff1f;<br \/>\nA&#xff1a;\u4e0d\u80fd\u3002\u8bbe\u5907\u662f\u5355\u8def&#xff0c;\u4e00\u8def\u4e00\u4e2a\u56de\u8def&#xff1b;\u591a\u56de\u8def\u9700\u591a\u53f0\u8bbe\u5907\u6216\u914d\u63a5\u89e6\u5668\u3002<\/p>\n<p>Q31&#xff1a;\u8bbe\u5907\u79bb\u7ebf\u4e86\u8fd8\u80fd\u8fdc\u7a0b\u63a7\u5236\u5417&#xff1f;<br \/>\nA&#xff1a;\u4e0d\u80fd\u3002\u8fdc\u7a0b\u63a7\u5236\u4f9d\u8d56\u7f51\u7edc\u5728\u7ebf&#xff1b;\u79bb\u7ebf\u65f6\u786c\u4ef6\u4fdd\u62a4\u4ecd\u5728&#xff0c;\u8f6f\u4ef6\u4fdd\u62a4\u5931\u6548\u2014\u2014\u8fd9\u6b63\u662f\u786c\u4ef6\u4fdd\u62a4\u4e0d\u53ef\u7701\u7684\u539f\u56e0\u3002<\/p>\n<p>Q32&#xff1a;\u4e00\u4e2a\u5e73\u53f0\u80fd\u7ba1\u591a\u5c11\u53f0&#xff1f;<br \/>\nA&#xff1a;\u53d6\u51b3\u4e8e\u4f60\u7684\u670d\u52a1\u5668\u4e0e Broker \u5bb9\u91cf&#xff1b;\u5343\u53f0\u7ea7\u90e8\u7f72\u8981\u9650\u901f\u6279\u91cf\u4e0b\u53d1\u3001\u5206\u5c42 Topic\u3001\u5206\u533a\u7f51\u7edc\u3002<\/p>\n<p>Q33&#xff1a;\u600e\u4e48\u6392\u67e5&#034;\u6307\u4ee4\u53d1\u4e86\u6ca1\u53cd\u5e94&#034;&#xff1f;<br \/>\nA&#xff1a;\u2460 \u67e5\u8bbe\u5907\u5728\u7ebf\u7387&#xff1b;\u2461 \u6838\u5bf9 publish\/subcribe \u65b9\u5411\u4e0e\u5e73\u53f0\u914d\u7f6e\u662f\u5426\u4e00\u81f4&#xff1b;\u2462 \u67e5 messageId \u662f\u5426\u6709\u56de\u663e&#xff1b;\u2463 \u68c0\u67e5 WiFi \u4fe1\u53f7\u4e0e\u670d\u52a1\u5668\u8fde\u901a\u6027\u3002<\/p>\n<p>Q34&#xff1a;\u66f4\u6362\u670d\u52a1\u5668\u540e\u8bbe\u5907\u6ca1\u8fde\u4e0a&#xff1f;<br \/>\nA&#xff1a;\u591a\u534a\u662f\u6539\u5b8c\u6ca1\u91cd\u542f\u3002setting-mqtt\/setting-tcp \u540e\u9700\u65ad\u7535\u91cd\u542f\u6216 controller-restart&#xff0c;\u5e76\u6838\u5bf9 server\/port\/publish\/subcribe\/clientId\/username\u3002<\/p>\n<p>Q35&#xff1a;\u7528\u7535\u6570\u636e\u80fd\u7528\u4e8e\u6536\u8d39\u7ed3\u7b97\u5417&#xff1f;<br \/>\nA&#xff1a;\u53ef\u4f5c\u4e3a\u53c2\u8003\u8ba1\u91cf&#xff08;\u89c6\u5728\u529f\u7387\/\u7d2f\u8ba1\u7535\u91cf&#xff09;&#xff0c;\u6b63\u5f0f\u7ed3\u7b97\u5efa\u8bae\u4ee5\u5408\u89c4\u7535\u80fd\u8868\u4e3a\u51c6&#xff0c;\u5e76\u505a\u73b0\u573a\u6821\u6838\u3002<\/p>\n<h3>20.5 \u7ed3\u8bed<\/h3>\n<p>\u4ece\u7b2c 1 \u7ae0\u7684&#034;10A \u63d2\u5ea7\u4e0d\u591f\u7528&#034;&#xff0c;\u5230\u8fd9\u91cc 24 \u4e2a\u573a\u666f\u3001\u4e09\u5f20\u4ef7\u503c\u8d26&#xff08;\u7701\u94b1\/\u589e\u6548\/\u589e\u6536&#xff09;\u3001\u4e24\u5957\u65b9\u6cd5\u8bba&#xff08;\u9879\u76ee\u7ba1\u7406\/\u8fd0\u7ef4&#xff09;\u4e0e\u4e00\u4efd\u53ef\u76f4\u63a5\u6253\u5370\u7684\u9644\u5f55&#xff0c;\u4e00\u53f0 25A \u667a\u80fd\u901a\u65ad\u5668\u80fd\u8986\u76d6\u7684\u4e8b&#xff0c;\u5df2\u7ecf\u8fdc\u8d85&#034;\u8fdc\u7a0b\u6309\u4e00\u4e0b\u5f00\u5173&#034;\u3002<\/p>\n<p>\u5b83\u771f\u6b63\u7684\u4ef7\u503c&#xff0c;\u662f\u7528\u5f88\u5c0f\u7684\u4ee3\u4ef7&#xff08;\u4e00\u53f0\u8bbe\u5907 &#043; \u4e00\u6b21\u65ad\u7535\u91cd\u542f&#xff09;&#xff0c;\u628a\u5927\u529f\u7387\u8bbe\u5907\u63a5\u5165&#034;\u53ef\u63a7\u5236\u3001\u53ef\u8ba1\u91cf\u3001\u53ef\u8fd0\u7ef4\u3001\u53ef\u7ed3\u7b97&#034;\u7684\u4f53\u7cfb\u3002\u800c\u5b89\u5168\u59cb\u7ec8\u662f\u524d\u63d0&#xff1a;\u65ad\u7535\u4f5c\u4e1a\u3001\u6301\u8bc1\u7535\u5de5\u3001\u7ebf\u5f84\u5339\u914d\u3001\u7a7a\u5f00\/\u6f0f\u4fdd\/SPD \u5230\u4f4d\u3001\u611f\u6027\u8d1f\u8f7d\u964d\u989d\u52a0\u63a5\u89e6\u5668\u2014\u2014\u8fd9\u6761\u7ea2\u7ebf&#xff0c;\u4e00\u5206\u90fd\u4e0d\u80fd\u8ba9\u3002<\/p>\n<p>\u613f\u4f60\u5728\u4e0b\u4e00\u4e2a\u9879\u76ee\u91cc&#xff0c;\u628a\u8fd9\u4efd\u6587\u6863\u53d8\u6210\u66f4\u7701\u7684\u7535\u3001\u66f4\u5feb\u7684\u54cd\u5e94\u3001\u66f4\u7a33\u7684\u7cfb\u7edf\u3001\u66f4\u539a\u7684\u5229\u6da6\u3002<\/p>\n<p>\u5168\u7bc7\u843d\u5730\u6e05\u5355&#xff08;\u901f\u89c8&#xff09;<\/p>\n<ul>\n<li class=\"task-list-item\"> \u573a\u666f\u9009\u62e9&#xff1a;\u4ece\u7b2c 13\/14 \u7ae0 24 \u4e2a\u573a\u666f\u4e2d\u5339\u914d\u4f60\u7684\u4e1a\u52a1&#xff1b;<\/li>\n<li class=\"task-list-item\"> \u5b89\u5168\u65bd\u5de5&#xff1a;\u65ad\u7535\u9a8c\u7535\u6302\u724c\u3001\u6301\u8bc1\u7535\u5de5\u3001\u63a5\u89e6\u5668\u964d\u989d\u3001\u7a7a\u5f00\/\u6f0f\u4fdd\/SPD&#xff1b;<\/li>\n<li class=\"task-list-item\"> \u534f\u8bae\u5bf9\u63a5&#xff1a;\u6838\u5bf9 publish\/subcribe \u65b9\u5411&#xff0c;\u6539\u670d\u52a1\u5668\u8bb0\u5f97\u91cd\u542f&#xff1b;<\/li>\n<li class=\"task-list-item\"> \u4ef7\u503c\u6d4b\u7b97&#xff1a;\u7528 S &#061; \u7535\u8d39\u7701 &#043; \u4eba\u5de5\u7701 &#8211; \u8fd0\u7ef4\u6210\u672c\u3001T &#061; C0 \/ S \u7b97\u56de\u6536\u671f&#xff1b;<\/li>\n<li class=\"task-list-item\"> \u8fd0\u7ef4\u4f53\u7cfb&#xff1a;\u76d1\u63a7\u56db\u6307\u6807 &#043; \u6545\u969c\u5206\u7ea7 &#043; \u7535\u6c14\u5bff\u547d\u7ba1\u7406&#xff1b;<\/li>\n<li class=\"task-list-item\"> \u5546\u4e1a\u843d\u5730&#xff1a;\u96c6\u6210 \/ SaaS \/ \u8282\u80fd\u5206\u6210 \/ \u4ee3\u8fd0\u7ef4 \/ \u884c\u4e1a\u5b9a\u5236\u3002<\/li>\n<\/ul>\n<hr \/>\n<h2>\u9644\u5f55 A \u00b7 \u8bbe\u5907\u89c4\u683c\u4e0e\u6307\u4ee4\u57fa\u51c6<\/h2>\n<h3>1. \u4ea7\u54c1<\/h3>\n<ul>\n<li>\u54c1\u724c&#xff1a;GemeOpen&#xff08;\u6b66\u6c49\u667a\u9e1f\u79d1\u6280&#xff09;<\/li>\n<li>\u578b\u53f7&#xff1a;GSCW1M2P&#xff0c;\u4ea7\u54c1\u540d\u300c\u667a\u80fd\u901a\u65ad\u5668 25A-S2 Plus-WiFi\u300d<\/li>\n<li>\u5b9a\u4f4d&#xff1a;\u9762\u5411\u5f00\u53d1\u8005\u7684\u5927\u529f\u7387\u667a\u80fd\u901a\u65ad\u5668\u2014\u201425A \u5927\u7535\u6d41\u3001\u6700\u5927 6000W&#xff0c;\u5355\u8def\u63a5\u7ebf\u5f0f\u5b89\u88c5&#xff0c;\u5e26\u7528\u7535\u91c7\u96c6<\/li>\n<\/ul>\n<h4>\u53c2\u6570&#xff08;\u4ee5\u6b64\u4e3a\u51c6&#xff09;<\/h4>\n<table>\n<tr>\u9879\u503c<\/tr>\n<tbody>\n<tr>\n<td>\u4e3b\u63a7<\/td>\n<td>\u4e50\u946b ESP8266<\/td>\n<\/tr>\n<tr>\n<td>\u5c3a\u5bf8<\/td>\n<td>50mm \u00d7 110mm \u00d7 32mm<\/td>\n<\/tr>\n<tr>\n<td>\u8f93\u5165\u7535\u538b<\/td>\n<td>110Vac ~ 260Vac<\/td>\n<\/tr>\n<tr>\n<td>\u8f93\u51fa\u901a\u9053<\/td>\n<td>\u5355\u8def<\/td>\n<\/tr>\n<tr>\n<td>\u5de5\u4f5c\u7535\u6d41<\/td>\n<td>25A<\/td>\n<\/tr>\n<tr>\n<td>\u6700\u5927\u8d1f\u8f7d<\/td>\n<td>MAX 6000W&#xff08;\u963b\u6027\u8d1f\u8f7d&#xff09;<\/td>\n<\/tr>\n<tr>\n<td>\u5f85\u673a\u529f\u7387<\/td>\n<td>&lt; 4W<\/td>\n<\/tr>\n<tr>\n<td>\u901a\u8baf<\/td>\n<td>2.4GHz WiFi&#xff1b;\u63a7\u5236\u534f\u8bae MQTT \/ TCP \/ HTTP<\/td>\n<\/tr>\n<tr>\n<td>\u5bff\u547d<\/td>\n<td>\u673a\u68b0\u5bff\u547d\u901a\u65ad 500 \u4e07\u6b21&#xff0c;\u7535\u6c14\u5bff\u547d\u901a\u65ad 5 \u4e07\u6b21<\/td>\n<\/tr>\n<tr>\n<td>\u5916\u58f3<\/td>\n<td>\u963b\u71c3 PC\/ABS V0 \u7ea7<\/td>\n<\/tr>\n<tr>\n<td>\u5176\u4ed6<\/td>\n<td>\u65e0 RS-485\u3001\u65e0\u7ea2\u5916\u9065\u63a7<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>\u80fd\u529b<\/h4>\n<ul>\n<li>\u8fdc\u7a0b\u901a\u65ad\u7535\u63a7\u5236&#xff08;\u5355\u8def\u7ee7\u7535\u5668&#xff09;<\/li>\n<li>\u7528\u7535\u91c7\u96c6&#xff1a;\u7535\u538b(V)\u3001\u7535\u6d41(A)\u3001\u89c6\u5728\u529f\u7387(W)\u3001\u7d2f\u8ba1\u7528\u7535\u91cf(kWh)<\/li>\n<li>\u7535\u91cf\u6570\u636e\u5b9a\u65f6\u4e0a\u62a5&#xff08;\u53ef\u8bbe\u9891\u7387&#xff09;<\/li>\n<li>\u4e0a\u7535\u9ed8\u8ba4\u72b6\u6001\u3001\u6309\u952e\u9501\u3001\u914d\u7f51\u9501\u3001\u7d2f\u8ba1\u7535\u91cf\u6e05\u96f6<\/li>\n<li>MQTT \/ TCP \/ HTTP&#xff1b;\u53ef\u63a5\u5165\u81ea\u5efa\u670d\u52a1\u5668&#xff0c;\u4e0e\u5382\u5546\u4e91\u89e3\u8026\u3001\u65e0\u6346\u7ed1\u65e0\u9690\u6027\u6210\u672c<\/li>\n<\/ul>\n<h3>2. \u901a\u4fe1\u4e0e\u4e3b\u9898<\/h3>\n<ul>\n<li>\u51fa\u5382\u9ed8\u8ba4\u8fde GemeOpen \u5382\u5bb6 MQTT \u6d4b\u8bd5\u670d\u52a1\u5668&#xff1b;\u53ef\u7528 setting-mqtt \/ setting-tcp \u6539\u5230\u81ea\u5efa\u670d\u52a1\u5668&#xff0c;\u6539\u540e\u9700\u65ad\u7535\u91cd\u542f\u6216 controller-restart \u751f\u6548\u3002<\/li>\n<li>info-protocol \u8fd4\u56de\u5b57\u6bb5\u8bed\u4e49&#xff08;\u6613\u9519&#xff0c;\u52a1\u5fc5\u8bb2\u6e05&#xff09;&#xff1a;\n<ul>\n<li>publish&#xff1a;\u8bbe\u5907\u53d1\u5e03\u6570\u636e\u7684\u4e3b\u9898 \u2192 \u5e73\u53f0\u8981\u8ba2\u9605<\/li>\n<li>subcribe&#xff1a;\u8bbe\u5907\u8ba2\u9605\u7684\u4e3b\u9898&#xff08;\u56fa\u4ef6\u56fa\u5b9a\u62fc\u5199&#xff0c;\u4e0d\u8981&#034;\u6539\u5bf9&#034;&#xff09;\u2192 \u5e73\u53f0\u8981\u53d1\u5e03&#xff08;\u4e0b\u6307\u4ee4&#xff09;<\/li>\n<li>\u53e6\u542b server\u3001port\u3001username\u3001clientId<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>3. \u6307\u4ee4\u5168\u96c6&#xff08;\u4e0b\u884c\u4e3a\u4e3b&#xff1b;messageId \u4e3a\u4e1a\u52a1\u6d41\u6c34\u53f7&#xff0c;\u8bbe\u5907\u539f\u6837\u56de\u663e&#xff09;<\/h3>\n<table>\n<tr>\u529f\u80fd\u6307\u4ee4\u540d\u5173\u952e\u8bf7\u6c42\u5b57\u6bb5\u54cd\u5e94\u5173\u952e\u5b57\u6bb5<\/tr>\n<tbody>\n<tr>\n<td>\u901a\u65ad\u7535\u63a7\u5236<\/td>\n<td>controller-event<\/td>\n<td>key(0 \u65ad\u7535 \/ 1 \u901a\u7535), type:&#034;event&#034;<\/td>\n<td>commandName, key, mac, ip, onState, signal, ssid, keyLock, version, wifiLock<\/td>\n<\/tr>\n<tr>\n<td>\u8bbe\u7f6e\u4e0a\u62a5\u9891\u7387<\/td>\n<td>device-timer-interval<\/td>\n<td>timerEnable(0\/1), timerInterval(\u79d2, 5~86400), type:&#034;setting&#034;<\/td>\n<td>commandName, timerEnable, timerInterval, success<\/td>\n<\/tr>\n<tr>\n<td>\u5b9a\u65f6\u4e0a\u62a5&#xff08;\u8bbe\u5907\u4e3b\u52a8&#xff09;<\/td>\n<td>device-timer-task<\/td>\n<td>\u2014<\/td>\n<td>commandName:&#034;device-timer-task&#034;, voltage, current, power, energy, key, mac, source:&#034;auto&#034;<\/td>\n<\/tr>\n<tr>\n<td>\u8bbe\u5907\u57fa\u7840\u4fe1\u606f<\/td>\n<td>info-all<\/td>\n<td>type:&#034;info&#034;<\/td>\n<td>code, mac, version, ssid, ip, signal, keyLock, wifiLock, onState<\/td>\n<\/tr>\n<tr>\n<td>\u5b9e\u65f6\u7528\u7535\u4fe1\u606f<\/td>\n<td>info-statistic<\/td>\n<td>type:&#034;statistic&#034;<\/td>\n<td>commandName:&#034;info-statistic&#034;, voltage, current, power, energy, key, mac, messageId, source<\/td>\n<\/tr>\n<tr>\n<td>\u7d2f\u8ba1\u7535\u91cf\u6e05\u96f6<\/td>\n<td>energy-clear<\/td>\n<td>\u2014<\/td>\n<td>success<\/td>\n<\/tr>\n<tr>\n<td>\u901a\u4fe1\u534f\u8bae<\/td>\n<td>info-protocol<\/td>\n<td>\u2014<\/td>\n<td>server, port, publish, subcribe, clientId, username, protocol<\/td>\n<\/tr>\n<tr>\n<td>\u6309\u952e\u9501<\/td>\n<td>setting-key-lock<\/td>\n<td>keyLock(0\/1), type:&#034;setting&#034;<\/td>\n<td>success<\/td>\n<\/tr>\n<tr>\n<td>\u4e0a\u7535\u9ed8\u8ba4\u72b6\u6001<\/td>\n<td>setting-on-state<\/td>\n<td>onState(0 \u8bb0\u5fc6 \/ 1 \u5173\u95ed \/ 2 \u5f00\u542f), type:&#034;setting&#034;<\/td>\n<td>success<\/td>\n<\/tr>\n<tr>\n<td>\u81ea\u5b9a\u4e49 MQTT<\/td>\n<td>setting-mqtt<\/td>\n<td>server, port, publish, subcribe, clientId, username, password, type:&#034;custom&#034;<\/td>\n<td>success<\/td>\n<\/tr>\n<tr>\n<td>\u81ea\u5b9a\u4e49 TCP<\/td>\n<td>setting-tcp<\/td>\n<td>server, port, protocol:&#034;tcp&#034;, type:&#034;custom&#034;<\/td>\n<td>success<\/td>\n<\/tr>\n<tr>\n<td>\u914d\u7f51\u9501<\/td>\n<td>setting-wifi-lock<\/td>\n<td>wifiLock(0\/1), type:&#034;setting&#034;<\/td>\n<td>success<\/td>\n<\/tr>\n<tr>\n<td>\u6062\u590d\u51fa\u5382<\/td>\n<td>controller-reset<\/td>\n<td>system:&#034;reset&#034;, type:&#034;setting&#034;<\/td>\n<td>success, message<\/td>\n<\/tr>\n<tr>\n<td>\u91cd\u542f\u8bbe\u5907<\/td>\n<td>controller-restart<\/td>\n<td>system:&#034;restart&#034;, type:&#034;setting&#034;<\/td>\n<td>success, message<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u8bf4\u660e&#xff1a;\u672c\u578b\u53f7\u8fd8\u652f\u6301\u5185\u7f51 HTTP \u63a7\u5236&#xff08;HTTP&#xff09;\u3002\u5b57\u6bb5\u7ec6\u8282\u4ee5 GemeOpen \u5b98\u65b9\u5f00\u53d1\u6587\u6863\u4e3a\u51c6&#xff1b;\u672c\u7bc7\u91cd\u5728\u8bb2\u6e05&#034;\u600e\u4e48\u7528\u3001\u5728\u54ea\u7528\u3001\u503c\u591a\u5c11&#034;\u3002<\/p>\n<h3>4. \u5173\u952e\u5de5\u7a0b\u7ea6\u675f&#xff08;\u5fc5\u987b\u53cd\u590d\u5f3a\u8c03&#xff0c;\u5b89\u5168\u76f8\u5173&#xff09;<\/h3>\n<ul>\n<li>\u63a5\u7ebf\u5f0f\u5b89\u88c5&#xff08;\u975e\u63d2\u5934&#xff09;&#xff1a;\u9700\u8fdb\u7ebf\/\u51fa\u7ebf\u63a5\u7ebf&#xff0c;\u52a1\u5fc5\u65ad\u7535\u4f5c\u4e1a\u3001\u7531\u4e13\u4e1a\u7535\u5de5\u64cd\u4f5c\u3002<\/li>\n<li>25A \/ \u6700\u5927 6000W \u662f&#034;\u963b\u6027\u8d1f\u8f7d&#034;\u4e0a\u9650&#xff1b;\u611f\u6027\u8d1f\u8f7d&#xff08;\u7535\u673a\u3001\u538b\u7f29\u673a\u3001\u6c34\u6cf5&#xff09;\u542f\u52a8\u7535\u6d41\u53ef\u8fbe\u989d\u5b9a\u6570\u500d&#xff0c;\u5fc5\u987b\u964d\u989d\u5e76\u8003\u8651\u63a5\u89e6\u5668\/\u8f6f\u542f\u52a8\u3002<\/li>\n<li>\u5bfc\u7ebf\u7ebf\u5f84\u8981\u4e0e 25A \u5339\u914d&#xff08;\u53c2\u8003&#xff1a;\u22654mm\u00b2 \u94dc\u82af&#xff0c;\u5177\u4f53\u4ee5\u7535\u6c14\u89c4\u8303\u4e3a\u51c6&#xff09;&#xff0c;\u5e76\u914d\u8db3\u591f\u5bb9\u91cf\u7684\u7a7a\u5f00\/\u6f0f\u4fdd\u3002<\/li>\n<li>\u662f\u5355\u8def\u901a\u65ad\u5668&#xff08;\u4e0d\u662f\u4e09\u8def\u5f00\u5173&#xff09;&#xff0c;\u4e00\u8def\u4e00\u4e2a\u56de\u8def\u3002<\/li>\n<li>\u7528\u7535\u91c7\u96c6\u4e0a\u62a5\u7684\u662f\u89c6\u5728\u529f\u7387&#xff08;\u5de5\u7a0b\u4e0a\u6309\u9700\u6362\u7b97\u6709\u529f\/\u7535\u8d39&#xff09;\u3002<\/li>\n<li>\u8bbe\u5907\u5bff\u547d&#xff1a;\u673a\u68b0 500 \u4e07\u6b21\u3001\u7535\u6c14 5 \u4e07\u6b21\u2014\u2014\u9ad8\u9891\u901a\u65ad\u573a\u666f\u8bf7\u6ce8\u610f\u5bff\u547d\u9884\u7b97\u3002<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>GemeOpen GSCW1M2P \u667a\u80fd\u901a\u65ad\u5668&#xff08;25A&#xff09; \u00b7 \u5f00\u53d1\u8005\u5b9e\u6218\u6307\u5357<br \/>\n\u9762\u5411\u8f6f\u4ef6\u5f00\u53d1\u8005\u3001\u96c6\u6210\u5546\u9879\u76ee\u7ecf\u7406\u3001\u4f20\u7edf\u7535\u5b50\u8bbe\u5907\u5382\u7684\u6df1\u5ea6\u5e94\u7528\u624b\u518c<br \/>\n\u4ece\u300c\u4e3a\u4ec0\u4e48 10A \u63d2\u5ea7\u4e0d\u591f\u7528\u300d\u5230\u300c\u600e\u4e48\u843d\u5730\u8d5a\u94b1\u300d\u2014\u2014\u6db5\u76d6\u534f\u8bae\u3001\u5199\u4ee3\u7801\u3001\u8c03\u8bd5\u3001\u5927\u529f\u7387\u7528\u7535\u91c7\u96c6\u3001\u5b89\u88c5\u65bd\u5de5\u3001\u4e0e\u4f20\u7edf\u914d\u7535\/\u5de5\u4e1a\u7cfb\u7edf\u5bf9\u63a5\u300124 \u4e2a\u5e94\u7528\u573a\u666f\u3001\u6210\u672c\u6536\u76ca\u4e0e\u8fd0\u7ef4\u4f53\u7cfb\u3002<br \/>\n\u76ee\u5f55<br \/>\n\u7b2c 1 \u7ae0 \u5f00\u7bc7&#xff1a;\u5f53 10A \u63d2\u5ea7\u4e0d\u591f\u7528\u2014\u201425A \u901a\u65ad\u5668\u7684\u6218\u573a\u7b2c 2 \u7ae0 \u8ba4\u8bc6 GSCW1M2P&#xff1a;25A\/<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[190,2115,220],"topic":[],"class_list":["post-114176","post","type-post","status-publish","format-standard","hentry","category-server","tag-190","tag-2115","tag-220"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>MQTT\u667a\u80fd\u901a\u65ad\u5668GSCW1M2P \u00b7 \u5f00\u53d1\u8005\u5b9e\u6218\u6307\u5357 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.wsisp.com\/helps\/114176.html\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MQTT\u667a\u80fd\u901a\u65ad\u5668GSCW1M2P \u00b7 \u5f00\u53d1\u8005\u5b9e\u6218\u6307\u5357 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"og:description\" content=\"GemeOpen GSCW1M2P \u667a\u80fd\u901a\u65ad\u5668&#xff08;25A&#xff09; \u00b7 \u5f00\u53d1\u8005\u5b9e\u6218\u6307\u5357 \u9762\u5411\u8f6f\u4ef6\u5f00\u53d1\u8005\u3001\u96c6\u6210\u5546\u9879\u76ee\u7ecf\u7406\u3001\u4f20\u7edf\u7535\u5b50\u8bbe\u5907\u5382\u7684\u6df1\u5ea6\u5e94\u7528\u624b\u518c \u4ece\u300c\u4e3a\u4ec0\u4e48 10A \u63d2\u5ea7\u4e0d\u591f\u7528\u300d\u5230\u300c\u600e\u4e48\u843d\u5730\u8d5a\u94b1\u300d\u2014\u2014\u6db5\u76d6\u534f\u8bae\u3001\u5199\u4ee3\u7801\u3001\u8c03\u8bd5\u3001\u5927\u529f\u7387\u7528\u7535\u91c7\u96c6\u3001\u5b89\u88c5\u65bd\u5de5\u3001\u4e0e\u4f20\u7edf\u914d\u7535\/\u5de5\u4e1a\u7cfb\u7edf\u5bf9\u63a5\u300124 \u4e2a\u5e94\u7528\u573a\u666f\u3001\u6210\u672c\u6536\u76ca\u4e0e\u8fd0\u7ef4\u4f53\u7cfb\u3002 \u76ee\u5f55 \u7b2c 1 \u7ae0 \u5f00\u7bc7&#xff1a;\u5f53 10A \u63d2\u5ea7\u4e0d\u591f\u7528\u2014\u201425A \u901a\u65ad\u5668\u7684\u6218\u573a\u7b2c 2 \u7ae0 \u8ba4\u8bc6 GSCW1M2P&#xff1a;25A\/\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.wsisp.com\/helps\/114176.html\" \/>\n<meta property=\"og:site_name\" content=\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-08T06:17:01+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"50 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/114176.html\",\"url\":\"https:\/\/www.wsisp.com\/helps\/114176.html\",\"name\":\"MQTT\u667a\u80fd\u901a\u65ad\u5668GSCW1M2P \u00b7 \u5f00\u53d1\u8005\u5b9e\u6218\u6307\u5357 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"isPartOf\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\"},\"datePublished\":\"2026-10-08T06:17:01+00:00\",\"dateModified\":\"2026-10-08T06:17:01+00:00\",\"author\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/114176.html#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.wsisp.com\/helps\/114176.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/114176.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.wsisp.com\/helps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MQTT\u667a\u80fd\u901a\u65ad\u5668GSCW1M2P \u00b7 \u5f00\u53d1\u8005\u5b9e\u6218\u6307\u5357\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\",\"url\":\"https:\/\/www.wsisp.com\/helps\/\",\"name\":\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"description\":\"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"contentUrl\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"caption\":\"admin\"},\"sameAs\":[\"http:\/\/wp.wsisp.com\"],\"url\":\"https:\/\/www.wsisp.com\/helps\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"MQTT\u667a\u80fd\u901a\u65ad\u5668GSCW1M2P \u00b7 \u5f00\u53d1\u8005\u5b9e\u6218\u6307\u5357 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.wsisp.com\/helps\/114176.html","og_locale":"zh_CN","og_type":"article","og_title":"MQTT\u667a\u80fd\u901a\u65ad\u5668GSCW1M2P \u00b7 \u5f00\u53d1\u8005\u5b9e\u6218\u6307\u5357 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","og_description":"GemeOpen GSCW1M2P \u667a\u80fd\u901a\u65ad\u5668&#xff08;25A&#xff09; \u00b7 \u5f00\u53d1\u8005\u5b9e\u6218\u6307\u5357 \u9762\u5411\u8f6f\u4ef6\u5f00\u53d1\u8005\u3001\u96c6\u6210\u5546\u9879\u76ee\u7ecf\u7406\u3001\u4f20\u7edf\u7535\u5b50\u8bbe\u5907\u5382\u7684\u6df1\u5ea6\u5e94\u7528\u624b\u518c \u4ece\u300c\u4e3a\u4ec0\u4e48 10A \u63d2\u5ea7\u4e0d\u591f\u7528\u300d\u5230\u300c\u600e\u4e48\u843d\u5730\u8d5a\u94b1\u300d\u2014\u2014\u6db5\u76d6\u534f\u8bae\u3001\u5199\u4ee3\u7801\u3001\u8c03\u8bd5\u3001\u5927\u529f\u7387\u7528\u7535\u91c7\u96c6\u3001\u5b89\u88c5\u65bd\u5de5\u3001\u4e0e\u4f20\u7edf\u914d\u7535\/\u5de5\u4e1a\u7cfb\u7edf\u5bf9\u63a5\u300124 \u4e2a\u5e94\u7528\u573a\u666f\u3001\u6210\u672c\u6536\u76ca\u4e0e\u8fd0\u7ef4\u4f53\u7cfb\u3002 \u76ee\u5f55 \u7b2c 1 \u7ae0 \u5f00\u7bc7&#xff1a;\u5f53 10A \u63d2\u5ea7\u4e0d\u591f\u7528\u2014\u201425A \u901a\u65ad\u5668\u7684\u6218\u573a\u7b2c 2 \u7ae0 \u8ba4\u8bc6 GSCW1M2P&#xff1a;25A\/","og_url":"https:\/\/www.wsisp.com\/helps\/114176.html","og_site_name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","article_published_time":"2026-10-08T06:17:01+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"admin","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"50 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.wsisp.com\/helps\/114176.html","url":"https:\/\/www.wsisp.com\/helps\/114176.html","name":"MQTT\u667a\u80fd\u901a\u65ad\u5668GSCW1M2P \u00b7 \u5f00\u53d1\u8005\u5b9e\u6218\u6307\u5357 - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","isPartOf":{"@id":"https:\/\/www.wsisp.com\/helps\/#website"},"datePublished":"2026-10-08T06:17:01+00:00","dateModified":"2026-10-08T06:17:01+00:00","author":{"@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41"},"breadcrumb":{"@id":"https:\/\/www.wsisp.com\/helps\/114176.html#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.wsisp.com\/helps\/114176.html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.wsisp.com\/helps\/114176.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.wsisp.com\/helps"},{"@type":"ListItem","position":2,"name":"MQTT\u667a\u80fd\u901a\u65ad\u5668GSCW1M2P \u00b7 \u5f00\u53d1\u8005\u5b9e\u6218\u6307\u5357"}]},{"@type":"WebSite","@id":"https:\/\/www.wsisp.com\/helps\/#website","url":"https:\/\/www.wsisp.com\/helps\/","name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","description":"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41","name":"admin","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/","url":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","contentUrl":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","caption":"admin"},"sameAs":["http:\/\/wp.wsisp.com"],"url":"https:\/\/www.wsisp.com\/helps\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/114176","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/comments?post=114176"}],"version-history":[{"count":0,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/114176\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media?parent=114176"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/categories?post=114176"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/tags?post=114176"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/topic?post=114176"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}