{"id":729,"date":"2025-12-22T00:11:57","date_gmt":"2025-12-21T16:11:57","guid":{"rendered":"https:\/\/blog.xmb505.top\/?p=729"},"modified":"2025-12-22T00:11:59","modified_gmt":"2025-12-21T16:11:59","slug":"usb-to-gpio-%e6%8e%a7%e5%88%b6%e6%a8%a1%e5%9d%97%e6%8a%80%e6%9c%af%e8%af%b4%e6%98%8e%e4%b9%a6-v2-0","status":"publish","type":"post","link":"https:\/\/blog.xmb505.top\/index.php\/2025\/12\/22\/usb-to-gpio-%e6%8e%a7%e5%88%b6%e6%a8%a1%e5%9d%97%e6%8a%80%e6%9c%af%e8%af%b4%e6%98%8e%e4%b9%a6-v2-0\/","title":{"rendered":"USB to GPIO \u63a7\u5236\u6a21\u5757\u6280\u672f\u8bf4\u660e\u4e66 v2.0"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">1. \u8bbe\u5907\u6982\u8ff0<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1.1 \u57fa\u672c\u4fe1\u606f<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8bbe\u5907\u540d\u79f0<\/strong>: USB\u8f6cGPIO\u63a7\u5236\u6a21\u5757<\/li>\n\n\n\n<li><strong>\u786c\u4ef6\u7248\u672c<\/strong>: BL-ENV-V1.3<\/li>\n\n\n\n<li><strong>\u8f6f\u4ef6\u7248\u672c<\/strong>: Build:20250928-1250 CTM&#8211;01<\/li>\n\n\n\n<li><strong>\u5236\u9020\u5546<\/strong>: Yunou Intelligent Technology Co., Ltd<\/li>\n\n\n\n<li><strong>\u901a\u4fe1\u63a5\u53e3<\/strong>: Type-C USB\u63a5\u53e3<\/li>\n\n\n\n<li><strong>\u901a\u4fe1\u534f\u8bae<\/strong>: TTL\u4e32\u884c\u901a\u4fe1<\/li>\n\n\n\n<li><strong>GPIO\u6570\u91cf<\/strong>: 16\u4e2a\uff08\u7f16\u53f71-16\uff09<\/li>\n\n\n\n<li><strong>\u9ed8\u8ba4\u6ce2\u7279\u7387<\/strong>: 115200<\/li>\n\n\n\n<li><strong>\u6570\u636e\u683c\u5f0f<\/strong>: HEX\u53d1\u9001\u6a21\u5f0f<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">1.2 \u7535\u6c14\u7279\u6027<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5de5\u4f5c\u7535\u538b<\/strong>: \u901a\u8fc7USB\u4f9b\u7535\uff085V\uff09<\/li>\n\n\n\n<li><strong>GPIO\u7535\u5e73<\/strong>: TTL\u7535\u5e73\uff080V\/3.3V\/5V\u517c\u5bb9\uff09<\/li>\n\n\n\n<li><strong>PWM\u9891\u7387\u8303\u56f4<\/strong>: 1Hz &#8211; 65535Hz<\/li>\n\n\n\n<li><strong>\u8ba1\u6570\u5668\u6700\u5927\u54cd\u5e94\u9891\u7387<\/strong>: 1kHz<\/li>\n\n\n\n<li><strong>\u6ee4\u6ce2\u65f6\u95f4\u8303\u56f4<\/strong>: 0-255ms<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">2. \u901a\u4fe1\u534f\u8bae\u89c4\u8303<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">2.1 \u57fa\u672c\u901a\u4fe1\u8bbe\u7f6e<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># Linux\u7cfb\u7edf\u4e0b\u7684\u4e32\u53e3\u8bbe\u7f6e\nstty -F \/dev\/ttyUSB0 115200<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2.2 \u6570\u636e\u683c\u5f0f\u89c4\u8303<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u53d1\u9001\u683c\u5f0f<\/strong>: \u5341\u516d\u8fdb\u5236\uff08HEX\uff09\u5b57\u8282\u6d41<\/li>\n\n\n\n<li><strong>\u5b57\u8282\u5e8f<\/strong>: \u5927\u7aef\u5e8f\uff08\u9ad8\u4f4d\u5b57\u8282\u5728\u524d\uff09<\/li>\n\n\n\n<li><strong>\u8fd4\u56de\u683c\u5f0f<\/strong>: \u4e0e\u53d1\u9001\u6307\u4ee4\u5bf9\u5e94\u7684\u786e\u8ba4\u683c\u5f0f<\/li>\n\n\n\n<li><strong>\u8d85\u65f6\u8bbe\u7f6e<\/strong>: \u5efa\u8bae\u6bcf\u6761\u6307\u4ee4\u8d85\u65f6\u65f6\u95f41-3\u79d2<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">3. \u6307\u4ee4\u96c6\u8be6\u7ec6\u89c4\u8303<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">3.1 GPIO\u8f93\u51fa\u63a7\u5236\u6307\u4ee4<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">3.1.1 3A\u6307\u4ee4 &#8211; \u79bb\u6563GPIO\u63a7\u5236<\/h4>\n\n\n\n<p><strong>\u529f\u80fd<\/strong>: \u63a7\u5236\u5355\u4e2a\u6216\u591a\u4e2a\u4e0d\u8fde\u7eedGPIO\u7684\u7535\u5e73\u72b6\u6001<\/p>\n\n\n\n<p><strong>\u6307\u4ee4\u683c\u5f0f<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u53d1\u9001: 3A &#91;GPIO1] &#91;\u72b6\u60011] &#91;GPIO2] &#91;\u72b6\u60012] ...\n\u8fd4\u56de: 2A &#91;GPIO1] &#91;\u72b6\u60011] &#91;GPIO2] &#91;\u72b6\u60012] ...<\/code><\/pre>\n\n\n\n<p><strong>\u53c2\u6570\u8bf4\u660e<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>3A<\/code>: \u6307\u4ee4\u6807\u8bc6\u7b26\uff081\u5b57\u8282\uff09<\/li>\n\n\n\n<li><code>[GPIO]<\/code>: GPIO\u901a\u9053\u53f7\uff081\u5b57\u8282\uff0c01-16\uff0c0A\u8868\u793a10\uff0c10\u8868\u793a16\uff09<\/li>\n\n\n\n<li><code>[\u72b6\u6001]<\/code>: \u7535\u5e73\u72b6\u6001\uff081\u5b57\u8282\uff0c00=\u4f4e\u7535\u5e73\uff0c01=\u9ad8\u7535\u5e73\uff09<\/li>\n<\/ul>\n\n\n\n<p><strong>\u793a\u4f8b<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u8bbe\u7f6eGPIO1\u4e3a\u9ad8\u7535\u5e73\necho -ne 'x3Ax01x01' &gt; \/dev\/ttyUSB0\n# \u8fd4\u56de: 2A 01 01\n\n# \u8bbe\u7f6eGPIO1\u4f4e\u7535\u5e73\uff0cGPIO3\u548cGPIO6\u9ad8\u7535\u5e73\necho -ne 'x3Ax01x00x03x01x06x01' &gt; \/dev\/ttyUSB0\n# \u8fd4\u56de: 2A 01 00 03 01 06 01<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">3.1.2 3B\u6307\u4ee4 &#8211; \u8fde\u7eedGPIO\u63a7\u5236<\/h4>\n\n\n\n<p><strong>\u529f\u80fd<\/strong>: \u63a7\u5236\u8fde\u7eedGPIO\u5e8f\u5217\u7684\u7535\u5e73\u72b6\u6001<\/p>\n\n\n\n<p><strong>\u6307\u4ee4\u683c\u5f0f<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u53d1\u9001: 3B &#91;GPIO1\u72b6\u6001] &#91;GPIO2\u72b6\u6001] &#91;GPIO3\u72b6\u6001] ...\n\u8fd4\u56de: 2B &#91;GPIO1\u72b6\u6001] &#91;GPIO2\u72b6\u6001] &#91;GPIO3\u72b6\u6001] ...<\/code><\/pre>\n\n\n\n<p><strong>\u53c2\u6570\u8bf4\u660e<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>3B<\/code>: \u6307\u4ee4\u6807\u8bc6\u7b26\uff081\u5b57\u8282\uff09<\/li>\n\n\n\n<li><code>[GPIO\u72b6\u6001]<\/code>: \u6bcf\u4e2a\u5b57\u8282\u5bf9\u5e94\u4e00\u4e2aGPIO\u72b6\u6001\uff0800=\u4f4e\u7535\u5e73\uff0c01=\u9ad8\u7535\u5e73\uff09<\/li>\n<\/ul>\n\n\n\n<p><strong>\u793a\u4f8b<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u8bbe\u7f6eGPIO1-6\u72b6\u6001\uff1a1,3,4,5\u4e3a\u4f4e\u7535\u5e73\uff0c2,6\u4e3a\u9ad8\u7535\u5e73\necho -ne 'x3Bx00x01x00x00x00x01' &gt; \/dev\/ttyUSB0\n# \u8fd4\u56de: 2B 00 01 00 00 00 01<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">3.1.3 3C\u6307\u4ee4 &#8211; \u5ef6\u8fdfGPIO\u63a7\u5236<\/h4>\n\n\n\n<p><strong>\u529f\u80fd<\/strong>: \u8bbe\u7f6eGPIO\u5728\u6307\u5b9a\u5ef6\u8fdf\u540e\u6539\u53d8\u72b6\u6001<\/p>\n\n\n\n<p><strong>\u6307\u4ee4\u683c\u5f0f<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u53d1\u9001: 3C &#91;GPIO] &#91;\u5ef6\u8fdf\u9ad8\u5b57\u8282] &#91;\u5ef6\u8fdf\u4f4e\u5b57\u8282] &#91;\u76ee\u6807\u72b6\u6001]\n\u8fd4\u56de: 2C &#91;GPIO] &#91;\u5ef6\u8fdf\u9ad8\u5b57\u8282] &#91;\u5ef6\u8fdf\u4f4e\u5b57\u8282] &#91;\u76ee\u6807\u72b6\u6001]<\/code><\/pre>\n\n\n\n<p><strong>\u53c2\u6570\u8bf4\u660e<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>3C<\/code>: \u6307\u4ee4\u6807\u8bc6\u7b26\uff081\u5b57\u8282\uff09<\/li>\n\n\n\n<li><code>[GPIO]<\/code>: GPIO\u901a\u9053\u53f7\uff081\u5b57\u8282\uff09<\/li>\n\n\n\n<li><code>[\u5ef6\u8fdf\u9ad8\u5b57\u8282][\u5ef6\u8fdf\u4f4e\u5b57\u8282]<\/code>: \u5ef6\u8fdf\u65f6\u95f4\uff082\u5b57\u8282\uff0c\u5927\u7aef\u5e8f\uff0c\u5355\u4f4dms\uff09<\/li>\n\n\n\n<li><code>[\u76ee\u6807\u72b6\u6001]<\/code>: \u76ee\u6807\u7535\u5e73\u72b6\u6001\uff081\u5b57\u8282\uff0c00=\u4f4e\u7535\u5e73\uff0c01=\u9ad8\u7535\u5e73\uff09<\/li>\n<\/ul>\n\n\n\n<p><strong>\u793a\u4f8b<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># GPIO1\u5728100ms\u540e\u8bbe\u7f6e\u4e3a\u4f4e\u7535\u5e73\necho -ne 'x3Cx01x00x64x00' &gt; \/dev\/ttyUSB0\n# \u8fd4\u56de: 2C 01 00 64 00<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">3.2 GPIO\u72b6\u6001\u67e5\u8be2\u6307\u4ee4<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">3.2.1 3D\u6307\u4ee4 &#8211; \u5168GPIO\u72b6\u6001\u67e5\u8be2\uff08\u62c9\u9ad8\u6a21\u5f0f\uff09<\/h4>\n\n\n\n<p><strong>\u529f\u80fd<\/strong>: \u8bfb\u53d6\u6240\u6709GPIO\u72b6\u6001\uff0c\u67e5\u8be2\u65f6\u5c06\u6240\u6709GPIO\u62c9\u9ad8<\/p>\n\n\n\n<p><strong>\u6307\u4ee4\u683c\u5f0f<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u53d1\u9001: 3D FF\n\u8fd4\u56de: ASCII\u683c\u5f0f\u6301\u7eed\u8f93\u51fa<\/code><\/pre>\n\n\n\n<p><strong>\u8fd4\u56de\u683c\u5f0f<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CH1:1 CH2:1 CH3:1 CH4:1 CH5:1 CH6:1 CH7:1 CH8:1 CH9:1 CH10:1 CH11:1 CH12:1 CH13:1 CH14:1 CH15:1 CH16:1<\/code><\/pre>\n\n\n\n<p><strong>\u91cd\u8981\u8bf4\u660e<\/strong>: \u6b64\u6307\u4ee4\u4f1a\u6301\u7eed\u8f93\u51fa\u6570\u636e\uff0c\u76f4\u5230\u53d1\u9001\u4e0b\u4e00\u4e2a\u6307\u4ee4\u4e3a\u6b62<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">3.2.2 3E\u6307\u4ee4 &#8211; \u5168GPIO\u72b6\u6001\u67e5\u8be2\uff08\u62c9\u4f4e\u6a21\u5f0f\uff09<\/h4>\n\n\n\n<p><strong>\u529f\u80fd<\/strong>: \u8bfb\u53d6\u6240\u6709GPIO\u72b6\u6001\uff0c\u67e5\u8be2\u65f6\u5c06\u6240\u6709GPIO\u62c9\u4f4e<\/p>\n\n\n\n<p><strong>\u6307\u4ee4\u683c\u5f0f<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u53d1\u9001: 3E FF\n\u8fd4\u56de: ASCII\u683c\u5f0f\u6301\u7eed\u8f93\u51fa<\/code><\/pre>\n\n\n\n<p><strong>\u8fd4\u56de\u683c\u5f0f<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CH1:0 CH2:0 CH3:0 CH4:0 CH5:0 CH6:0 CH7:0 CH8:0 CH9:0 CH10:0 CH11:0 CH12:0 CH13:0 CH14:0 CH15:0 CH16:0<\/code><\/pre>\n\n\n\n<p><strong>\u91cd\u8981\u8bf4\u660e<\/strong>: \u6b64\u6307\u4ee4\u4f1a\u6301\u7eed\u8f93\u51fa\u6570\u636e\uff0c\u76f4\u5230\u53d1\u9001\u4e0b\u4e00\u4e2a\u6307\u4ee4\u4e3a\u6b62<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">3.2.3 3F\u6307\u4ee4 &#8211; \u5355GPIO\u72b6\u6001\u67e5\u8be2<\/h4>\n\n\n\n<p><strong>\u529f\u80fd<\/strong>: \u67e5\u8be2\u5355\u4e2aGPIO\u7684\u7535\u5e73\u72b6\u6001<\/p>\n\n\n\n<p><strong>\u6307\u4ee4\u683c\u5f0f<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u53d1\u9001: 3F &#91;GPIO]\n\u8fd4\u56de: 2F &#91;GPIO] &#91;\u72b6\u6001]<\/code><\/pre>\n\n\n\n<p><strong>\u53c2\u6570\u8bf4\u660e<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>3F<\/code>: \u6307\u4ee4\u6807\u8bc6\u7b26\uff081\u5b57\u8282\uff09<\/li>\n\n\n\n<li><code>[GPIO]<\/code>: GPIO\u901a\u9053\u53f7\uff081\u5b57\u8282\uff09<\/li>\n\n\n\n<li><code>[\u72b6\u6001]<\/code>: \u7535\u5e73\u72b6\u6001\uff081\u5b57\u8282\uff0c00=\u4f4e\u7535\u5e73\uff0c01=\u9ad8\u7535\u5e73\uff09<\/li>\n<\/ul>\n\n\n\n<p><strong>\u793a\u4f8b<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u67e5\u8be2GPIO1\u72b6\u6001\necho -ne 'x3Fx01' &gt; \/dev\/ttyUSB0\n# \u8fd4\u56de: 2F 01 01\uff08\u8868\u793a\u9ad8\u7535\u5e73\uff09<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">3.3 PWM\u63a7\u5236\u6307\u4ee4<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">3.3.1 5A\u6307\u4ee4 &#8211; PWM\u8f93\u51fa\u63a7\u5236<\/h4>\n\n\n\n<p><strong>\u529f\u80fd<\/strong>: \u63a7\u5236\u6307\u5b9a\u901a\u9053\u7684PWM\u8f93\u51fa<\/p>\n\n\n\n<p><strong>\u6307\u4ee4\u683c\u5f0f<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u53d1\u9001: 5A &#91;\u901a\u9053] &#91;\u9891\u7387\u9ad8\u5b57\u8282] &#91;\u9891\u7387\u4f4e\u5b57\u8282] &#91;\u5360\u7a7a\u6bd4]\n\u8fd4\u56de: 4A &#91;\u901a\u9053] &#91;\u9891\u7387\u9ad8\u5b57\u8282] &#91;\u9891\u7387\u4f4e\u5b57\u8282] &#91;\u5360\u7a7a\u6bd4]<\/code><\/pre>\n\n\n\n<p><strong>\u53c2\u6570\u8bf4\u660e<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>5A<\/code>: \u6307\u4ee4\u6807\u8bc6\u7b26\uff081\u5b57\u8282\uff09<\/li>\n\n\n\n<li><code>[\u901a\u9053]<\/code>: PWM\u901a\u9053\u53f7\uff081\u5b57\u8282\uff0c01=\u901a\u90531\uff0c02=\u901a\u90532\uff0c03=\u901a\u90533\uff09<\/li>\n\n\n\n<li><code>[\u9891\u7387\u9ad8\u5b57\u8282][\u9891\u7387\u4f4e\u5b57\u8282]<\/code>: PWM\u9891\u7387\uff082\u5b57\u8282\uff0c\u5927\u7aef\u5e8f\uff0c\u5355\u4f4dHz\uff0c\u6700\u592765535\uff09<\/li>\n\n\n\n<li><code>[\u5360\u7a7a\u6bd4]<\/code>: \u5360\u7a7a\u6bd4\uff081\u5b57\u8282\uff0c00-64\u5bf9\u5e940%-100%\uff09<\/li>\n<\/ul>\n\n\n\n<p><strong>\u793a\u4f8b<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u901a\u90531\u8f93\u51fa1kHz\uff0c50%\u5360\u7a7a\u6bd4\u65b9\u6ce2\necho -ne 'x5Ax01x03xE8x32' &gt; \/dev\/ttyUSB0\n# \u8fd4\u56de: 4A 01 03 E8 32\n\n# \u901a\u90533\u8f93\u51fa50kHz\uff0c20%\u5360\u7a7a\u6bd4\u65b9\u6ce2\necho -ne 'x5Ax03xC3x50x14' &gt; \/dev\/ttyUSB0\n# \u8fd4\u56de: 4A 03 C3 50 14<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">3.4 \u8f93\u5165\u6a21\u5f0f\u914d\u7f6e\u6307\u4ee4<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">3.4.1 5B\u6307\u4ee4 &#8211; \u533a\u95f4GPIO\u72b6\u6001\u67e5\u8be2<\/h4>\n\n\n\n<p><strong>\u529f\u80fd<\/strong>: \u914d\u7f6e\u6307\u5b9a\u533a\u95f4GPIO\u4e3a\u8f93\u5165\u6a21\u5f0f\u5e76\u8bfb\u53d6\u72b6\u6001<\/p>\n\n\n\n<p><strong>\u6307\u4ee4\u683c\u5f0f<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u53d1\u9001: 5B &#91;\u8d77\u59cbGPIO] &#91;\u7ed3\u675fGPIO] &#91;\u8f93\u5165\u6a21\u5f0f]\n\u8fd4\u56de: 4B &#91;\u8d77\u59cbGPIO] &#91;\u7ed3\u675fGPIO] &#91;\u8f93\u5165\u6a21\u5f0f] &#91;\u72b6\u6001\u6570\u636e...]<\/code><\/pre>\n\n\n\n<p><strong>\u53c2\u6570\u8bf4\u660e<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>5B<\/code>: \u6307\u4ee4\u6807\u8bc6\u7b26\uff081\u5b57\u8282\uff09<\/li>\n\n\n\n<li><code>[\u8d77\u59cbGPIO]<\/code>: \u8d77\u59cbGPIO\u901a\u9053\u53f7\uff081\u5b57\u8282\uff09<\/li>\n\n\n\n<li><code>[\u7ed3\u675fGPIO]<\/code>: \u7ed3\u675fGPIO\u901a\u9053\u53f7\uff081\u5b57\u8282\uff09<\/li>\n\n\n\n<li><code>[\u8f93\u5165\u6a21\u5f0f]<\/code>: \u8f93\u5165\u6a21\u5f0f\uff081\u5b57\u8282\uff0c00=\u5f31\u4e0a\u62c9\u8f93\u5165\uff0c01=\u5f31\u4e0b\u62c9\u8f93\u5165\uff09<\/li>\n\n\n\n<li><code>[\u72b6\u6001\u6570\u636e...]<\/code>: \u5404GPIO\u72b6\u6001\uff08\u6bcf\u4e2aGPIO 1\u5b57\u8282\uff0c00=\u4f4e\u7535\u5e73\uff0c01=\u9ad8\u7535\u5e73\uff09<\/li>\n<\/ul>\n\n\n\n<p><strong>\u793a\u4f8b<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u914d\u7f6eGPIO1-10\u4e3a\u4e0a\u62c9\u8f93\u5165\necho -ne 'x5Bx01x0Ax00' &gt; \/dev\/ttyUSB0\n# \u8fd4\u56de: 4B 01 0A 00 01 01 01 01 01 01 01 01 01 01\n\n# \u914d\u7f6eGPIO3-8\u4e3a\u4e0b\u62c9\u8f93\u5165\necho -ne 'x5Bx03x08x01' &gt; \/dev\/ttyUSB0\n# \u8fd4\u56de: 4B 03 08 01 00 00 00 00 00 00<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">3.5 \u8ba1\u6570\u5668\u6a21\u5f0f\u6307\u4ee4<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">3.5.1 5C\u6307\u4ee4 &#8211; \u8ba1\u6570\u5668\u6a21\u5f0f\u914d\u7f6e<\/h4>\n\n\n\n<p><strong>\u529f\u80fd<\/strong>: \u914d\u7f6eGPIO\u4e3a\u8ba1\u6570\u5668\u6a21\u5f0f<\/p>\n\n\n\n<p><strong>\u6307\u4ee4\u683c\u5f0f<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u53d1\u9001: 5C &#91;GPIO] &#91;\u6ee4\u6ce2\u65f6\u95f4] &#91;\u529f\u80fd1] &#91;\u529f\u80fd2]\n\u8fd4\u56de: 4C &#91;GPIO] &#91;\u6ee4\u6ce2\u65f6\u95f4] &#91;\u529f\u80fd1] &#91;\u529f\u80fd2]<\/code><\/pre>\n\n\n\n<p><strong>\u53c2\u6570\u8bf4\u660e<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>5C<\/code>: \u6307\u4ee4\u6807\u8bc6\u7b26\uff081\u5b57\u8282\uff09<\/li>\n\n\n\n<li><code>[GPIO]<\/code>: GPIO\u901a\u9053\u53f7\uff081\u5b57\u8282\uff09<\/li>\n\n\n\n<li><code>[\u6ee4\u6ce2\u65f6\u95f4]<\/code>: \u6ee4\u6ce2\u65f6\u95f4\uff081\u5b57\u8282\uff0c00-FF\u5bf9\u5e940-255ms\uff09<\/li>\n\n\n\n<li><code>[\u529f\u80fd1]<\/code>: \u8ba1\u6570\u529f\u80fd\u5f00\u5173\uff081\u5b57\u8282\uff0c00=\u7981\u7528\uff0c01=\u542f\u7528\uff09<\/li>\n\n\n\n<li><code>[\u529f\u80fd2]<\/code>: \u4e0a\u62a5\u6a21\u5f0f\uff081\u5b57\u8282\uff0c00=\u4e3b\u52a8\u67e5\u8be2\uff0c01=\u81ea\u52a8\u4e0a\u62a5\uff09<\/li>\n<\/ul>\n\n\n\n<p><strong>\u81ea\u52a8\u4e0a\u62a5\u683c\u5f0f<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>4D &#91;GPIO] &#91;\u8ba1\u6570\u503c\u9ad8\u5b57\u8282] &#91;\u8ba1\u6570\u503c\u4e2d\u9ad8\u5b57\u8282] &#91;\u8ba1\u6570\u503c\u4e2d\u4f4e\u5b57\u8282] &#91;\u8ba1\u6570\u503c\u4f4e\u5b57\u8282]<\/code><\/pre>\n\n\n\n<p><strong>\u793a\u4f8b<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># GPIO1\u914d\u7f6e\u4e3a\u8ba1\u6570\u5668\u6a21\u5f0f\uff0c\u6ee4\u6ce210ms\uff0c\u542f\u7528\u81ea\u52a8\u4e0a\u62a5\necho -ne 'x5Cx01x0Ax01x01' &gt; \/dev\/ttyUSB0\n# \u8fd4\u56de: 4C 01 0A 01 01\n# \u81ea\u52a8\u4e0a\u62a5: 4D 01 00 00 00 0A\uff08\u8868\u793a\u8ba1\u657010\u6b21\uff09<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">3.5.2 5D\u6307\u4ee4 &#8211; \u8ba1\u6570\u5668\u67e5\u8be2\u63a7\u5236<\/h4>\n\n\n\n<p><strong>\u529f\u80fd<\/strong>: \u4e3b\u52a8\u67e5\u8be2\u6216\u6e05\u96f6\u8ba1\u6570\u5668<\/p>\n\n\n\n<p><strong>\u6307\u4ee4\u683c\u5f0f<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u53d1\u9001: 5D &#91;GPIO] &#91;\u529f\u80fd]\n\u8fd4\u56de: 4D &#91;GPIO] &#91;\u8ba1\u6570\u503c\u9ad8\u5b57\u8282] &#91;\u8ba1\u6570\u503c\u4e2d\u9ad8\u5b57\u8282] &#91;\u8ba1\u6570\u503c\u4e2d\u4f4e\u5b57\u8282] &#91;\u8ba1\u6570\u503c\u4f4e\u5b57\u8282]<\/code><\/pre>\n\n\n\n<p><strong>\u53c2\u6570\u8bf4\u660e<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>5D<\/code>: \u6307\u4ee4\u6807\u8bc6\u7b26\uff081\u5b57\u8282\uff09<\/li>\n\n\n\n<li><code>[GPIO]<\/code>: GPIO\u901a\u9053\u53f7\uff081\u5b57\u8282\uff09<\/li>\n\n\n\n<li><code>[\u529f\u80fd]<\/code>: \u529f\u80fd\u9009\u62e9\uff081\u5b57\u8282\uff0c00=\u6e05\u96f6\u8ba1\u6570\u5668\uff0c01=\u4e3b\u52a8\u67e5\u8be2\uff09<\/li>\n<\/ul>\n\n\n\n<p><strong>\u793a\u4f8b<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u4e3b\u52a8\u67e5\u8be2GPIO1\u8ba1\u6570\u503c\necho -ne 'x5Dx01x01' &gt; \/dev\/ttyUSB0\n# \u8fd4\u56de: 4D 01 00 00 00 0A\uff08\u8868\u793a\u8ba1\u657010\u6b21\uff09<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">3.6 \u7cfb\u7edf\u4fe1\u606f\u6307\u4ee4<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">3.6.1 ver\u6307\u4ee4 &#8211; \u7248\u672c\u4fe1\u606f\u67e5\u8be2<\/h4>\n\n\n\n<p><strong>\u529f\u80fd<\/strong>: \u67e5\u8be2\u8bbe\u5907\u7248\u672c\u4fe1\u606f<\/p>\n\n\n\n<p><strong>\u6307\u4ee4\u683c\u5f0f<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u53d1\u9001: ver\n\u8fd4\u56de: \u591a\u884c\u6587\u672c\u4fe1\u606f<\/code><\/pre>\n\n\n\n<p><strong>\u8fd4\u56de\u683c\u5f0f<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Software: Bulid:20250928-1250 CTM--01\nHardware: BL-ENV-V1.3\nWeblink: https:\/\/item.taobao.com\/item.htm?id=711754897030\nCopyright:Yunou Intelligent Technology Co., Ltd<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">4. \u7f16\u7a0b\u63a5\u53e3\u89c4\u8303<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">4.1 Python\u793a\u4f8b\u4ee3\u7801<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>import serial\nimport time\nimport struct\n\nclass USBGPIOController:\n    def __init__(self, device_path='\/dev\/ttyUSB0', baud_rate=115200):\n        self.ser = serial.Serial(device_path, baud_rate, timeout=3)\n\n    def send_command(self, command):\n        \"\"\"\u53d1\u9001HEX\u547d\u4ee4\u5e76\u8fd4\u56de\u54cd\u5e94\"\"\"\n        self.ser.write(command)\n        time.sleep(0.1)\n        response = self.ser.read_all()\n        return response\n\n    def set_gpio(self, gpio_pin, state):\n        \"\"\"\u8bbe\u7f6e\u5355\u4e2aGPIO\u72b6\u6001\"\"\"\n        command = bytes(&#91;0x3A, gpio_pin, state])\n        return self.send_command(command)\n\n    def read_gpio(self, gpio_pin):\n        \"\"\"\u8bfb\u53d6\u5355\u4e2aGPIO\u72b6\u6001\"\"\"\n        command = bytes(&#91;0x3F, gpio_pin])\n        response = self.send_command(command)\n        if len(response) &gt;= 3 and response&#91;0] == 0x2F:\n            return response&#91;2]  # \u8fd4\u56de\u72b6\u6001\u503c\n        return None\n\n    def set_pwm(self, channel, frequency, duty_cycle):\n        \"\"\"\u8bbe\u7f6ePWM\u8f93\u51fa\"\"\"\n        freq_high = (frequency &gt;&gt; 8) &amp; 0xFF\n        freq_low = frequency &amp; 0xFF\n        command = bytes(&#91;0x5A, channel, freq_high, freq_low, duty_cycle])\n        return self.send_command(command)\n\n    def close(self):\n        \"\"\"\u5173\u95ed\u4e32\u53e3\u8fde\u63a5\"\"\"\n        self.ser.close()\n\n# \u4f7f\u7528\u793a\u4f8b\nif __name__ == \"__main__\":\n    controller = USBGPIOController()\n\n    # \u8bbe\u7f6eGPIO1\u4e3a\u9ad8\u7535\u5e73\n    response = controller.set_gpio(1, 1)\n    print(f\"\u8bbe\u7f6e\u54cd\u5e94: {response.hex()}\")\n\n    # \u8bfb\u53d6GPIO1\u72b6\u6001\n    state = controller.read_gpio(1)\n    print(f\"GPIO1\u72b6\u6001: {state}\")\n\n    # \u8bbe\u7f6ePWM\u901a\u90531\u4e3a1kHz\uff0c50%\u5360\u7a7a\u6bd4\n    response = controller.set_pwm(1, 1000, 50)\n    print(f\"PWM\u8bbe\u7f6e\u54cd\u5e94: {response.hex()}\")\n\n    controller.close()<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">4.2 C++\u793a\u4f8b\u4ee3\u7801<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;iostream&gt;\n#include &lt;fstream&gt;\n#include &lt;vector&gt;\n#include &lt;unistd.h&gt;\n\nclass USBGPIOController {\nprivate:\n    std::string device_path;\n    int baud_rate;\n\npublic:\n    USBGPIOController(const std::string&amp; path = \"\/dev\/ttyUSB0\", int baud = 115200)\n        : device_path(path), baud_rate(baud) {}\n\n    bool sendCommand(const std::vector&lt;unsigned char&gt;&amp; command, std::vector&lt;unsigned char&gt;&amp; response) {\n        \/\/ \u8bbe\u7f6e\u4e32\u53e3\u53c2\u6570\n        std::string stty_cmd = \"stty -F \" + device_path + \" \" + std::to_string(baud_rate);\n        system(stty_cmd.c_str());\n\n        \/\/ \u53d1\u9001\u547d\u4ee4\n        std::ofstream device(device_path, std::ios::binary);\n        if (!device) return false;\n\n        device.write(reinterpret_cast&lt;const char*&gt;(command.data()), command.size());\n        device.close();\n\n        \/\/ \u8bfb\u53d6\u54cd\u5e94\n        usleep(100000); \/\/ \u7b49\u5f85100ms\n\n        std::ifstream input(device_path, std::ios::binary);\n        if (!input) return false;\n\n        response.clear();\n        unsigned char byte;\n        while (input.read(reinterpret_cast&lt;char*&gt;(&amp;byte), 1)) {\n            response.push_back(byte);\n        }\n        input.close();\n\n        return true;\n    }\n\n    bool setGPIO(int gpio_pin, bool state) {\n        std::vector&lt;unsigned char&gt; command = {0x3A, static_cast&lt;unsigned char&gt;(gpio_pin), \n                                             static_cast&lt;unsigned char&gt;(state ? 1 : 0)};\n        std::vector&lt;unsigned char&gt; response;\n        return sendCommand(command, response);\n    }\n};\n\nint main() {\n    USBGPIOController controller;\n\n    \/\/ \u8bbe\u7f6eGPIO1\u4e3a\u9ad8\u7535\u5e73\n    if (controller.setGPIO(1, true)) {\n        std::cout &lt;&lt; \"GPIO1\u8bbe\u7f6e\u4e3a\u9ad8\u7535\u5e73\u6210\u529f\" &lt;&lt; std::endl;\n    }\n\n    return 0;\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">5. \u6545\u969c\u6392\u9664\u6307\u5357<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">5.1 \u5e38\u89c1\u95ee\u9898<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">5.1.1 \u8bbe\u5907\u8fde\u63a5\u95ee\u9898<\/h4>\n\n\n\n<p><strong>\u75c7\u72b6<\/strong>: \u627e\u4e0d\u5230<code>\/dev\/ttyUSB0<\/code>\u8bbe\u5907<br><strong>\u89e3\u51b3\u65b9\u6848<\/strong>:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u68c0\u67e5USB\u8fde\u63a5\u662f\u5426\u7262\u56fa<\/li>\n\n\n\n<li>\u786e\u8ba4\u8bbe\u5907\u9a71\u52a8\u5df2\u6b63\u786e\u5b89\u88c5<\/li>\n\n\n\n<li>\u68c0\u67e5<code>dmesg | grep tty<\/code>\u67e5\u770b\u8bbe\u5907\u8bc6\u522b\u60c5\u51b5<\/li>\n\n\n\n<li>\u5c1d\u8bd5\u91cd\u65b0\u63d2\u62d4USB\u8bbe\u5907<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">5.1.2 \u6743\u9650\u95ee\u9898<\/h4>\n\n\n\n<p><strong>\u75c7\u72b6<\/strong>: Permission denied\u8bbf\u95ee\u4e32\u53e3\u8bbe\u5907<br><strong>\u89e3\u51b3\u65b9\u6848<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u65b9\u6cd51: \u5c06\u7528\u6237\u6dfb\u52a0\u5230dialout\u7ec4\nsudo usermod -a -G dialout $USER\n# \u6ce8\u9500\u91cd\u65b0\u767b\u5f55\u751f\u6548\n\n# \u65b9\u6cd52: \u4e34\u65f6\u4fee\u6539\u8bbe\u5907\u6743\u9650\nsudo chmod 666 \/dev\/ttyUSB0<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">5.1.3 \u901a\u4fe1\u65e0\u54cd\u5e94<\/h4>\n\n\n\n<p><strong>\u75c7\u72b6<\/strong>: \u53d1\u9001\u6307\u4ee4\u540e\u65e0\u8fd4\u56de\u6570\u636e<br><strong>\u89e3\u51b3\u65b9\u6848<\/strong>:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u786e\u8ba4\u6ce2\u7279\u7387\u8bbe\u7f6e\u4e3a115200<\/li>\n\n\n\n<li>\u68c0\u67e5HEX\u683c\u5f0f\u662f\u5426\u6b63\u786e<\/li>\n\n\n\n<li>\u589e\u52a0\u8d85\u65f6\u65f6\u95f4<\/li>\n\n\n\n<li>\u4f7f\u7528<code>xxd<\/code>\u5de5\u5177\u68c0\u67e5\u8fd4\u56de\u6570\u636e\u683c\u5f0f<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">5.1.4 3D\/3E\u6307\u4ee4\u6301\u7eed\u8f93\u51fa<\/h4>\n\n\n\n<p><strong>\u75c7\u72b6<\/strong>: \u53d1\u90013D\/3E\u6307\u4ee4\u540e\u6570\u636e\u6301\u7eed\u8f93\u51fa<br><strong>\u8bf4\u660e<\/strong>: \u8fd9\u662f\u6b63\u5e38\u884c\u4e3a\uff0c\u8fd9\u4e24\u4e2a\u6307\u4ee4\u8bbe\u8ba1\u4e3a\u6301\u7eed\u8f93\u51fa\u6a21\u5f0f<br><strong>\u89e3\u51b3\u65b9\u6848<\/strong>: \u53d1\u9001\u4efb\u610f\u5176\u4ed6\u6307\u4ee4\u505c\u6b62\u6301\u7eed\u8f93\u51fa<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5.2 \u8c03\u8bd5\u5de5\u5177<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">5.2.1 \u4e32\u53e3\u76d1\u63a7<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code># \u4f7f\u7528minicom\u76d1\u63a7\u4e32\u53e3\nminicom -D \/dev\/ttyUSB0 -b 115200\n\n# \u4f7f\u7528screen\u76d1\u63a7\u4e32\u53e3\nscreen \/dev\/ttyUSB0 115200<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">5.2.2 HEX\u6570\u636e\u5206\u6790<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code># \u53d1\u9001HEX\u547d\u4ee4\u5e76\u67e5\u770b\u8fd4\u56de\u7684HEX\u6570\u636e\necho -ne 'x3Ax01x01' &gt; \/dev\/ttyUSB0 &amp;&amp; timeout 1 cat \/dev\/ttyUSB0 | xxd<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">6. \u6027\u80fd\u4f18\u5316\u5efa\u8bae<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">6.1 \u901a\u4fe1\u4f18\u5316<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6279\u91cf\u64cd\u4f5c\uff1a\u4f7f\u75283A\u6307\u4ee4\u540c\u65f6\u63a7\u5236\u591a\u4e2aGPIO\u51cf\u5c11\u901a\u4fe1\u6b21\u6570<\/li>\n\n\n\n<li>\u5408\u7406\u8bbe\u7f6e\u8d85\u65f6\uff1a\u6839\u636e\u6307\u4ee4\u590d\u6742\u5ea6\u8c03\u6574\u8d85\u65f6\u65f6\u95f4<\/li>\n\n\n\n<li>\u7f13\u51b2\u7ba1\u7406\uff1a\u907f\u514d\u9891\u7e41\u7684\u5c0f\u6570\u636e\u5305\u4f20\u8f93<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6.2 \u5b9e\u65f6\u6027\u8003\u8651<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>PWM\u8f93\u51fa\uff1a\u4f18\u5148\u4f7f\u7528\u786c\u4ef6PWM\u901a\u9053\uff081-3\uff09<\/li>\n\n\n\n<li>\u8ba1\u6570\u5668\u6a21\u5f0f\uff1a\u5408\u7406\u8bbe\u7f6e\u6ee4\u6ce2\u65f6\u95f4\u5e73\u8861\u54cd\u5e94\u901f\u5ea6\u548c\u6297\u5e72\u6270<\/li>\n\n\n\n<li>\u72b6\u6001\u67e5\u8be2\uff1a\u907f\u514d\u8fc7\u4e8e\u9891\u7e41\u7684\u67e5\u8be2\u64cd\u4f5c<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">7. \u5b89\u5168\u6ce8\u610f\u4e8b\u9879<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">7.1 \u7535\u6c14\u5b89\u5168<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u786e\u8ba4GPIO\u7535\u538b\u7b49\u7ea7\u4e0e\u5916\u90e8\u8bbe\u5907\u517c\u5bb9<\/li>\n\n\n\n<li>\u907f\u514dGPIO\u77ed\u8def\u548c\u8fc7\u8f7d<\/li>\n\n\n\n<li>\u4f7f\u7528\u9002\u5f53\u7684\u7535\u5e73\u8f6c\u6362\u7535\u8def<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">7.2 \u8f6f\u4ef6\u5b89\u5168<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4e32\u53e3\u8bbe\u5907\u6743\u9650\u63a7\u5236<\/li>\n\n\n\n<li>\u5f02\u5e38\u60c5\u51b5\u4e0b\u7684\u8d44\u6e90\u91ca\u653e<\/li>\n\n\n\n<li>\u8f93\u5165\u53c2\u6570\u7684\u6709\u6548\u6027\u68c0\u67e5<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">8. \u6280\u672f\u652f\u6301<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">8.1 \u8054\u7cfb\u4fe1\u606f<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u5236\u9020\u5546<\/strong>: Yunou Intelligent Technology Co., Ltd<\/li>\n\n\n\n<li><strong>\u4ea7\u54c1\u94fe\u63a5<\/strong>: <a href=\"https:\/\/item.taobao.com\/item.htm?id=711754897030\">https:\/\/item.taobao.com\/item.htm?id=711754897030<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">8.2 \u5f00\u53d1\u8d44\u6e90<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u914d\u7f6e\u6587\u4ef6\uff1a<code>config.ini<\/code><\/li>\n\n\n\n<li>\u539f\u59cb\u8bf4\u660e\u4e66\uff1a<code>usb-gpio\u4f7f\u7528\u8bf4\u660e\u4e66.txt<\/code><\/li>\n\n\n\n<li>\u8be6\u7ec6\u8bf4\u660e\u4e66\uff1a<code>usb-gpio\u4f7f\u7528\u8bf4\u660e\u4e66_\u4f18\u5316\u7248.txt<\/code><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>\u6587\u6863\u7248\u672c<\/strong>: v2.0<br><strong>\u6700\u540e\u66f4\u65b0<\/strong>: 2025\u5e7411\u670828\u65e5<br><strong>\u9002\u7528\u786c\u4ef6<\/strong>: BL-ENV-V1.3<br><strong>\u9002\u7528\u8f6f\u4ef6<\/strong>: Build:20250928-1250 CTM&#8211;01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. \u8bbe\u5907\u6982\u8ff0 1.1 \u57fa\u672c\u4fe1\u606f 1.2 \u7535\u6c14\u7279\u6027 2. \u901a\u4fe1\u534f\u8bae\u89c4\u8303 2.1 \u57fa\u672c\u901a\u4fe1\u8bbe\u7f6e 2.2 \u6570\u636e\u683c\u5f0f [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-729","post","type-post","status-publish","format-standard","hentry","category-1"],"_links":{"self":[{"href":"https:\/\/blog.xmb505.top\/index.php\/wp-json\/wp\/v2\/posts\/729","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.xmb505.top\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.xmb505.top\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.xmb505.top\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.xmb505.top\/index.php\/wp-json\/wp\/v2\/comments?post=729"}],"version-history":[{"count":1,"href":"https:\/\/blog.xmb505.top\/index.php\/wp-json\/wp\/v2\/posts\/729\/revisions"}],"predecessor-version":[{"id":730,"href":"https:\/\/blog.xmb505.top\/index.php\/wp-json\/wp\/v2\/posts\/729\/revisions\/730"}],"wp:attachment":[{"href":"https:\/\/blog.xmb505.top\/index.php\/wp-json\/wp\/v2\/media?parent=729"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.xmb505.top\/index.php\/wp-json\/wp\/v2\/categories?post=729"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.xmb505.top\/index.php\/wp-json\/wp\/v2\/tags?post=729"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}