{"id":1406,"date":"2026-09-09T18:08:01","date_gmt":"2026-09-09T10:08:01","guid":{"rendered":"https:\/\/aimc.skyate.com\/?p=1406"},"modified":"2026-09-09T18:08:32","modified_gmt":"2026-09-09T10:08:32","slug":"%e3%80%90aimc-%e9%a1%b9%e7%9b%ae%e3%80%91feb%e5%9f%9f%e6%89%a9%e5%b1%95%e6%80%bb%e7%ba%bf%e7%b3%bb%e7%bb%9f%e4%bb%8b%e7%bb%8d","status":"publish","type":"post","link":"https:\/\/aimc.skyate.com\/index.php\/2026\/09\/09\/%e3%80%90aimc-%e9%a1%b9%e7%9b%ae%e3%80%91feb%e5%9f%9f%e6%89%a9%e5%b1%95%e6%80%bb%e7%ba%bf%e7%b3%bb%e7%bb%9f%e4%bb%8b%e7%bb%8d\/","title":{"rendered":"\u3010AIMC \u9879\u76ee\u3011FEB\u57df\u6269\u5c55\u603b\u7ebf\u7cfb\u7edf\u4ecb\u7ecd"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>FEB\uff08Field Expansion Bus\uff0c\u57df\u6269\u5c55\u603b\u7ebf\uff09<\/strong> \u662f\u4e00\u5957\u81ea\u7814\u7684\u8f7b\u91cf\u7ea7\u5d4c\u5165\u5f0f IO \u6269\u5c55\u4e0e\u5b9e\u65f6\u540c\u6b65\u7cfb\u7edf\uff0c \u7531 <strong>FEBS \u4ece\u673a<\/strong>\uff08\u524d\u7aef\u6269\u5c55\u677f\uff09\u4e0e <strong>FEBM \u4e3b\u673a\u7ba1\u7406\u5668<\/strong>\uff08Linux \u5b88\u62a4\u8fdb\u7a0b\uff09\u4e24\u90e8\u5206\u7ec4\u6210\u3002 \u672c\u6587\u9762\u5411\u516c\u5f00\u6e20\u9053\u53d1\u5e03\uff0c\u7cfb\u7edf\u6027\u5730\u4ecb\u7ecd FEB \u7684\u8bbe\u8ba1\u52a8\u673a\u3001\u603b\u4f53\u67b6\u6784\u4e0e\u4e3b\u4ece\u4e24\u7aef\u7684\u8bbe\u8ba1\u7ec6\u8282\u3002<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6587\u6863\u7248\u672c<\/strong>\uff1aV1.1 <strong>\u9002\u7528\u8303\u56f4<\/strong>\uff1aFEB \u603b\u7ebf\u534f\u8bae V1\/V2\u3001febmd 1.x\u3001FEBS \u56fa\u4ef6 1.x<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. \u6982\u8ff0<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1.1 \u5f00\u53d1\u76ee\u7684<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728\u79fb\u52a8\u673a\u5668\u4eba\u3001\u65e0\u4eba\u5e73\u53f0\u4e0e\u5404\u7c7b\u667a\u80fd\u88c5\u5907\u7684\u5f00\u53d1\u4e2d\uff0c\u4e3b\u63a7\u8ba1\u7b97\u673a\uff08\u901a\u5e38\u662f\u8fd0\u884c Linux \u7684 SoC \u5e73\u53f0\uff0c\u5982 RK3588\uff09\u9664\u4e86\u8fd0\u884c\u6838\u5fc3\u7b97\u6cd5\uff08\u611f\u77e5\u3001\u5b9a\u4f4d\u3001\u89c4\u5212\u3001\u63a7\u5236\uff09\u4e4b\u5916\uff0c\u8fd8\u9700\u8981\u4e0e \u5927\u91cf&#8221;\u5468\u8fb9&#8221;\u786c\u4ef6\u6253\u4ea4\u9053\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6267\u884c\u5668<\/strong>\uff1a\u7ee7\u7535\u5668\u3001\u98ce\u6247\u3001\u7535\u6e90\u4f7f\u80fd\u3001\u6307\u793a\u706f\u3001\u7535\u78c1\u9600\u2026\u2026<\/li>\n\n\n\n<li><strong>\u4f20\u611f\u5668<\/strong>\uff1a\u7cfb\u7edf\u6e29\u5ea6\u3001\u6bcd\u7ebf\u7535\u538b\/\u7535\u6d41\u3001\u7535\u6c60\u5bb9\u91cf\u3001\u4e09\u8f74\u52a0\u901f\u5ea6\u8ba1\/\u9640\u87ba\u4eea\u3001\u6309\u952e\u4e0e \u5f00\u5173\u91cf\u8f93\u5165\u2026\u2026<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u5982\u679c\u628a\u8fd9\u4e9b IO \u5168\u90e8\u76f4\u63a5\u63a5\u5230\u4e3b\u63a7 SoC \u4e0a\uff0c\u4f1a\u9047\u5230\u4e00\u7cfb\u5217\u5de5\u7a0b\u95ee\u9898\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th class=\"has-text-align-left\" data-align=\"left\">\u95ee\u9898<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u5177\u4f53\u8868\u73b0<\/th><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5f15\u811a\u8d44\u6e90\u7d27\u5f20<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">SoC \u7684 GPIO\/ADC \u5f15\u811a\u6570\u91cf\u6709\u9650\uff0c\u4e14\u5927\u591a\u4e0e\u5176\u4ed6\u529f\u80fd\uff08UART\u3001SPI\u3001PWM\uff09\u590d\u7528\uff0c\u6269\u5c55\u4f59\u91cf\u4e0d\u8db3<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5e76\u53d1\u8bbf\u95ee\u5931\u63a7<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u591a\u4e2a\u4e1a\u52a1\u8fdb\u7a0b\u5404\u81ea\u76f4\u63a5\u64cd\u4f5c\u786c\u4ef6\u8bbe\u5907\uff0c\u7f3a\u5c11\u7edf\u4e00\u4ef2\u88c1\uff1a\u8c01\u90fd\u80fd\u5199\uff0c\u51b2\u7a81\u540e\u96be\u4ee5\u5b9a\u4f4d\u8d23\u4efb\u65b9<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5b9e\u65f6\u6027\u65e0\u4fdd\u969c<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u901a\u7528 Linux \u7528\u6237\u6001\u8fdb\u7a0b\u7684\u8c03\u5ea6\u5ef6\u8fdf\u5728\u6beb\u79d2\u7ea7\u6ce2\u52a8\uff0c\u96be\u4ee5\u7a33\u5b9a\u7ef4\u6301 kHz \u7ea7\u7684\u5468\u671f\u6027 IO \u540c\u6b65<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u76d1\u63a7\u8c03\u8bd5\u56f0\u96be<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">IO \u72b6\u6001\u6563\u843d\u5728\u5404\u8fdb\u7a0b\u4e2d\uff0c\u6ca1\u6709\u5168\u5c40\u89c6\u56fe\uff1b\u73b0\u573a\u6392\u969c\u53ea\u80fd\u9010\u4e2a\u8fdb\u7a0b\u7ffb\u65e5\u5fd7<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u53ef\u79fb\u690d\u6027\u5dee<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6362\u4e00\u5757\u4e3b\u63a7\u677f\uff0c\u5e95\u5c42 IO \u4ee3\u7801\u9700\u8981\u91cd\u65b0\u9002\u914d\uff1b\u4e1a\u52a1\u903b\u8f91\u4e0e\u786c\u4ef6\u7ec6\u8282\u8026\u5408<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">FEB \u7684\u6838\u5fc3\u601d\u8def\u662f\uff1a<strong>\u628a IO \u6269\u5c55\u4e0e\u91c7\u96c6\u6574\u4f53\u4e0b\u6c89\u5230\u4e00\u5757\u4e13\u7528\u4ece\u673a\u677f\uff08FEBS\uff09\uff0c \u4e3b\u63a7\u4e0e\u4ece\u673a\u4e4b\u95f4\u53ea\u7528\u4e00\u6761 UART \u8fde\u7ebf\uff0c\u5373\u53ef\u5b8c\u6210\u5168\u90e8\u7aef\u53e3\u72b6\u6001\u7684 1kHz \u5b9e\u65f6\u540c\u6b65\uff1b \u4e3b\u673a\u4fa7\u7531\u4e00\u4e2a\u7edf\u4e00\u7684\u5b88\u62a4\u8fdb\u7a0b\uff08febmd\uff09\u72ec\u5360\u4e32\u53e3\u5e76\u63d0\u4f9b\u5e76\u53d1\u5b89\u5168\u7684\u670d\u52a1\u5316\u63a5\u53e3\uff0c \u4e1a\u52a1\u8fdb\u7a0b\u901a\u8fc7\u672c\u5730 IPC \u6216 HTTP \u8fdc\u7a0b\u8bbf\u95ee\uff0c\u65e0\u9700\u5173\u5fc3\u4efb\u4f55\u786c\u4ef6\u7ec6\u8282\u3002<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u8bbe\u8ba1\u76ee\u6807\u4e0e\u8fbe\u6210\u6307\u6807\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th class=\"has-text-align-left\" data-align=\"left\">\u76ee\u6807<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u8bf4\u660e<\/th><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u9ad8\u9891\u5b9e\u65f6\u540c\u6b65<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">1ms\uff081kHz\uff09\u5468\u671f\u5b8c\u6210\u5168\u90e8\u7aef\u53e3\u7684\u53cc\u5411\u540c\u6b65\uff0c\u91c7\u7528\u5b9e\u65f6\u8c03\u5ea6\uff08SCHED_FIFO\uff09\u4e0e\u7edd\u5bf9\u65f6\u95f4\u7761\u7720\u6291\u5236\u6296\u52a8<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u81ea\u63cf\u8ff0\u5373\u63d2\u5373\u7528<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4ece\u673a\u4e0a\u7535\u81ea\u52a8\u4e0a\u62a5\u8bbe\u5907\u7c7b\u578b\u3001\u5e8f\u5217\u53f7\u4e0e\u7aef\u53e3\u914d\u7f6e\uff0c\u4e3b\u673a\u52a8\u6001\u5206\u914d\u8d44\u6e90\uff0c\u65e0\u9700\u4eba\u5de5\u5bf9\u8868<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5e76\u53d1\u5b89\u5168<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u8f93\u51fa\u7aef\u53e3\u72ec\u5360\u5199\uff08\u5360\u7528\u4ee4\u724c + \u5fc3\u8df3\u4fdd\u6d3b\uff09\uff0c\u8f93\u5165\u7aef\u53e3\u5171\u4eab\u8bfb\uff0c\u5ba2\u6237\u7aef\u5d29\u6e83\u81ea\u52a8\u56de\u6536<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u591a\u8bed\u8a00\u6613\u96c6\u6210<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u63d0\u4f9b C \u5ba2\u6237\u7aef\u5e93\uff08libfebmc\uff09\u4e0e Python \u7ed1\u5b9a\uff08febm\uff09\uff0c\u53e6\u6709 HTTP REST API \u4f9b\u4efb\u610f\u8bed\u8a00\/\u8fdc\u7a0b\u8c03\u7528<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u53ef\u89c2\u6d4b\u53ef\u8c03\u8bd5<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5185\u5d4c Web \u72b6\u6001\u9875\u4e0e REST API\uff0c\u5b9e\u65f6\u67e5\u770b\u540c\u6b65\u8d28\u91cf\u3001\u7aef\u53e3\u503c\u4e0e\u5360\u7528\u5173\u7cfb\uff1b\u652f\u6301\u53d7\u9274\u6743\u4fdd\u62a4\u7684\u8c03\u8bd5\u5199\u5165<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u5f31\u7f51\u5bb9\u9519<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4ece\u673a\u65ad\u7ebf\u81ea\u52a8\u91cd\u8fde\u91cd\u914d\u5bf9\uff1bfebmd \u610f\u5916\u9000\u51fa\u7531 systemd \u81ea\u52a8\u62c9\u8d77\uff0c\u4e1a\u52a1\u4fa7\u900f\u660e\u6062\u590d<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">1.2 FEB \u4e3b\u4ece\u67b6\u6784\u6982\u8ff0<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">FEB \u91c7\u7528\u5178\u578b\u7684&#8221;\u4e3b\u4ece + \u670d\u52a1\u5316&#8221;\u4e24\u7ea7\u67b6\u6784\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4ece\u673a\uff08FEBS\uff09<\/strong>\uff1a\u8fd0\u884c\u5728\u4e13\u7528\u7684\u524d\u7aef\u6269\u5c55\u677f\uff08\u5982 ESP32-S3\uff09\u4e0a\uff0c\u76f4\u63a5\u9a71\u52a8\u548c\u91c7\u96c6 \u7269\u7406\u7aef\u53e3\uff0c\u901a\u8fc7 UART \u4e0e\u4e3b\u673a\u901a\u4fe1\uff0c\u53ea\u505a\u4e00\u4ef6\u4e8b\u2014\u2014<strong>\u5fe0\u5b9e\u5730\u3001\u5468\u671f\u5730\u4ea4\u6362\u7aef\u53e3\u72b6\u6001<\/strong>\uff1b<\/li>\n\n\n\n<li><strong>\u4e3b\u673a\uff08FEBM\uff09<\/strong>\uff1a\u8fd0\u884c\u5728 Linux \u4e3b\u63a7\u4e0a\uff0c\u4ee5\u5b88\u62a4\u8fdb\u7a0b <code>febmd<\/code> \u5f62\u5f0f\u5b58\u5728\uff0c\u72ec\u5360\u4e32\u53e3\uff0c \u7ef4\u62a4\u4e0e\u4ece\u673a\u955c\u50cf\u7684\u7aef\u53e3\u72b6\u6001\u8868\uff0c\u5e76\u5411\u6240\u6709\u4e1a\u52a1\u8fdb\u7a0b\u63d0\u4f9b <strong>IPC \/ HTTP \/ \u591a\u8bed\u8a00\u5ba2\u6237\u7aef\u5e93<\/strong> \u4e09\u79cd\u8bbf\u95ee\u65b9\u5f0f\u3002<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u7cfb\u7edf\u603b\u4f53\u67b6\u6784\u5982\u56fe 1 \u6240\u793a\uff1a<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"327\" src=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-1024x327.png\" alt=\"\" class=\"wp-image-1407\" srcset=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-1024x327.png 1024w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-300x96.png 300w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-767x245.png 767w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image.png 1158w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">\u56fe 1\u3000FEB \u7cfb\u7edf\u603b\u4f53\u67b6\u6784<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5404\u7ec4\u4ef6\u804c\u8d23\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7ec4\u4ef6<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u8fd0\u884c\u4f4d\u7f6e<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u804c\u8d23<\/th><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>FEBS \u4ece\u673a<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u524d\u7aef\u6269\u5c55\u677f\uff08ESP32-S3\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7aef\u53e3\u7269\u7406\u9a71\u52a8\uff08\u7ee7\u7535\u5668\/ADC\/\u5f00\u5173\u91cf\uff09\u3001\u5e27\u534f\u8bae\u5e94\u7b54\u3001\u5468\u671f\u4e0a\u62a5\u8f93\u5165\u72b6\u6001<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>febmd<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Linux \u4e3b\u63a7\uff0csystemd \u5b88\u62a4\u8fdb\u7a0b<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u72ec\u5360 UART\u30011kHz \u540c\u6b65\u5faa\u73af\u3001\u7aef\u53e3\u5360\u7528\u4ef2\u88c1\u3001IPC \u670d\u52a1\u3001HTTP \u670d\u52a1<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>libfebmc<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e1a\u52a1\u8fdb\u7a0b\u5185\uff08C \u5171\u4eab\u5e93\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">IPC \u5c01\u88c5\uff0c\u63d0\u4f9b C \u98ce\u683c\u8fde\u63a5\/\u8bfb\u5199\/\u5360\u7528 API\uff0c\u7ebf\u7a0b\u5b89\u5168<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>febm\uff08Python\uff09<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e1a\u52a1\u8fdb\u7a0b\u5185\uff08ctypes \u7ed1\u5b9a\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">Pythonic \u5bf9\u8c61\u63a5\u53e3\uff0c\u5185\u7f6e\u81ea\u52a8\u5fc3\u8df3\u4e0e RAII \u5360\u7528\u7ba1\u7406<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>HTTP \u670d\u52a1<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">febmd \u5185\u5d4c<\/td><td class=\"has-text-align-left\" data-align=\"left\">Web \u72b6\u6001\u9875 + REST API\uff0c\u4f9b\u6d4f\u89c8\u5668\u4e0e\u8fdc\u7a0b\u811a\u672c\u76d1\u63a7\u8c03\u8bd5<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7aef\u53e3\u6a21\u578b<\/strong>\uff1aFEB \u628a\u4ece\u673a\u4e0a\u7684\u6240\u6709 IO \u62bd\u8c61\u4e3a 6 \u7c7b\u7aef\u53e3\uff0c\u7edf\u4e00\u7f16\u5740\u3001\u7edf\u4e00\u540c\u6b65\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7c7b\u578b<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u540d\u79f0<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u65b9\u5411<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u6570\u636e\u7c7b\u578b<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u8bbf\u95ee\u6743\u9650<\/th><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>BO<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Bool Output<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e3b\u673a \u2192 \u4ece\u673a<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5e03\u5c14<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u72ec\u5360\u5199\uff08\u5360\u7528\u4ee4\u724c\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>BI<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Bool Input<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4ece\u673a \u2192 \u4e3b\u673a<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5e03\u5c14<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4efb\u610f\u5ba2\u6237\u7aef\u5171\u4eab\u8bfb<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>IO<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Int Output<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e3b\u673a \u2192 \u4ece\u673a<\/td><td class=\"has-text-align-left\" data-align=\"left\">int32<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u72ec\u5360\u5199\uff08\u5360\u7528\u4ee4\u724c\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>II<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Int Input<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4ece\u673a \u2192 \u4e3b\u673a<\/td><td class=\"has-text-align-left\" data-align=\"left\">int32<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4efb\u610f\u5ba2\u6237\u7aef\u5171\u4eab\u8bfb<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>FO<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Float Output<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e3b\u673a \u2192 \u4ece\u673a<\/td><td class=\"has-text-align-left\" data-align=\"left\">float32<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u72ec\u5360\u5199\uff08\u5360\u7528\u4ee4\u724c\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>FI<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Float Input<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4ece\u673a \u2192 \u4e3b\u673a<\/td><td class=\"has-text-align-left\" data-align=\"left\">float32<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4efb\u610f\u5ba2\u6237\u7aef\u5171\u4eab\u8bfb<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u540c\u6b65\u6570\u636e\u6d41<\/strong>\u2014\u2014\u4e00\u4e2a 1ms \u5468\u671f\u5185\u7684\u5b8c\u6574\u95ed\u73af\u5982\u56fe 2 \u6240\u793a\uff1a<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"595\" height=\"554\" src=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-1.png\" alt=\"\" class=\"wp-image-1408\" style=\"width:368px;height:auto\" srcset=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-1.png 595w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-1-300x279.png 300w\" sizes=\"auto, (max-width: 595px) 100vw, 595px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">\u56fe 2\u3000\u4e00\u4e2a\u540c\u6b65\u5468\u671f\u5185\u7684\u7aef\u53e3\u6570\u636e\u6d41\uff081kHz \u95ed\u73af\uff09<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. FEB \u4ece\u673a\u8bbe\u8ba1\u7ec6\u8282<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">2.1 \u786c\u4ef6\u4e0e\u56fa\u4ef6\u6982\u8ff0<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">FEBS \u4ece\u673a\u57fa\u4e8e ESP32-S3 \u7b49\u5d4c\u5165\u5f0f MCU \u5e73\u53f0\u6784\u5efa\uff0c\u56fa\u4ef6\u4ee5\u72ec\u7acb\u8f6f\u4ef6\u6a21\u5757\uff08SysFebs\uff09\u5f62\u5f0f \u96c6\u6210\u5728\u4ece\u673a\u5e94\u7528\u5de5\u7a0b\u4e2d\u3002\u4ece\u673a\u5728\u7cfb\u7edf\u4e2d\u627f\u62c5\u4e09\u4e2a\u89d2\u8272\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u7aef\u53e3\u7269\u7406\u5c42<\/strong>\uff1a\u76f4\u63a5\u9a71\u52a8\u7ee7\u7535\u5668\/\u98ce\u6247\/\u4f7f\u80fd\u5f15\u811a\uff08BO\/IO\/FO\uff09\uff0c\u91c7\u96c6\u5f00\u5173\u91cf\u8f93\u5165\uff08BI\uff09 \u4e0e\u6a21\u62df\u91cf\/\u6570\u5b57\u4f20\u611f\u5668\uff08II\/FI\uff0c\u7ecf ADC\u3001I2C\u3001SPI \u7b49\uff09\uff1b<\/li>\n\n\n\n<li><strong>\u534f\u8bae\u5e94\u7b54\u5668<\/strong>\uff1a\u76d1\u542c UART \u5e27\uff0c\u54cd\u5e94\u4e3b\u673a\u7684\u914d\u7f6e\u67e5\u8be2\uff08GetCfg\uff09\u4e0e\u5468\u671f\u540c\u6b65\uff08SyncState\uff09\uff1b<\/li>\n\n\n\n<li><strong>\u6570\u636e\u6e90<\/strong>\uff1a\u628a\u672c\u5730\u91c7\u96c6\u5230\u7684\u7269\u7406\u91cf\u5b9e\u65f6\u6253\u5305\u4e3a\u7aef\u53e3\u503c\uff0c\u968f SyncState \u54cd\u5e94\u5e27\u4e0a\u62a5\u3002<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ece\u673a\u8f6f\u4ef6\u5206\u5c42\u5982\u56fe 3 \u6240\u793a\uff1a<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"491\" height=\"325\" src=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-2.png\" alt=\"\" class=\"wp-image-1409\" style=\"width:361px;height:auto\" srcset=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-2.png 491w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-2-300x199.png 300w\" sizes=\"auto, (max-width: 491px) 100vw, 491px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">\u56fe 3\u3000FEBS \u4ece\u673a\u8f6f\u4ef6\u5206\u5c42<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.2 \u901a\u4fe1\u5e27\u534f\u8bae<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e3b\u4ece\u4e4b\u95f4\u91c7\u7528\u5b9a\u5236\u7684\u8f7b\u91cf\u4e8c\u8fdb\u5236\u5e27\u534f\u8bae\uff0c\u7ed3\u6784\u56fa\u5b9a\u3001\u89e3\u6790\u5f00\u9500\u6781\u5c0f\uff0c\u5982\u4e0b\u6240\u793a\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th class=\"has-text-align-center\" data-align=\"center\">\u504f\u79fb<\/th><th class=\"has-text-align-center\" data-align=\"center\">0<\/th><th class=\"has-text-align-center\" data-align=\"center\">1<\/th><th class=\"has-text-align-center\" data-align=\"center\">2<\/th><th class=\"has-text-align-center\" data-align=\"center\">3<\/th><th class=\"has-text-align-center\" data-align=\"center\">4<\/th><th class=\"has-text-align-center\" data-align=\"center\">5 \u2026 N<\/th><\/tr><tr><th class=\"has-text-align-center\" data-align=\"center\">\u5185\u5bb9<\/th><td class=\"has-text-align-center\" data-align=\"center\">0x95<\/td><td class=\"has-text-align-center\" data-align=\"center\">0x10<\/td><td class=\"has-text-align-center\" data-align=\"center\">CMD<\/td><td class=\"has-text-align-center\" data-align=\"center\">LEN_L<\/td><td class=\"has-text-align-center\" data-align=\"center\">LEN_H<\/td><td class=\"has-text-align-center\" data-align=\"center\">DATA[LEN]<\/td><\/tr><tr><th class=\"has-text-align-center\" data-align=\"center\">\u542b\u4e49<\/th><td class=\"has-text-align-center\" data-align=\"center\" colspan=\"2\">\u5e27\u5934\uff08\u56fa\u5b9a\uff09<\/td><td class=\"has-text-align-center\" data-align=\"center\">\u6307\u4ee4\u7801<\/td><td class=\"has-text-align-center\" data-align=\"center\" colspan=\"2\">\u6570\u636e\u957f\u5ea6\uff08uint16 \u5c0f\u7aef\uff09<\/td><td class=\"has-text-align-center\" data-align=\"center\">\u6709\u6548\u6570\u636e<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u6307\u4ee4\u7801\u5b9a\u4e49\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th class=\"has-text-align-left\" data-align=\"left\">CMD<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u540d\u79f0<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u65b9\u5411<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u7528\u9014<\/th><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><code>0x01<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>GetCfg<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e3b \u2192 \u4ece<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0a\u7535\u914d\u5bf9\uff1a\u8bf7\u6c42\u4ece\u673a\u81ea\u63cf\u8ff0\u914d\u7f6e<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><code>0x01<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\">GetCfg \u54cd\u5e94<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4ece \u2192 \u4e3b<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u8fd4\u56de JSON \u914d\u7f6e\uff08\u8bbe\u5907\u4fe1\u606f + \u7aef\u53e3\u6570\u91cf\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><code>0x10<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>SyncState<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e3b \u2192 \u4ece<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5468\u671f\u540c\u6b65\u8bf7\u6c42\uff0cDATA \u643a\u5e26\u5168\u90e8\u8f93\u51fa\u7aef\u53e3\u503c\uff08OUT_TAB\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><code>0x10<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\">SyncState \u54cd\u5e94<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4ece \u2192 \u4e3b<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u643a\u5e26\u5168\u90e8\u8f93\u5165\u7aef\u53e3\u503c\uff08IN_TAB\uff09\uff0c\u4e0e\u8bf7\u6c42\u4e00\u4e00\u5bf9\u5e94<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">2.3 \u81ea\u63cf\u8ff0\u914d\u7f6e\uff08GetCfg\uff09<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ece\u673a\u4e0a\u7535\u540e\u5e76\u4e0d\u4f9d\u8d56\u4efb\u4f55\u4eba\u5de5\u914d\u7f6e\uff0c\u800c\u662f\u901a\u8fc7 GetCfg \u5e94\u7b54\u4e0a\u62a5\u4e00\u4efd JSON \u81ea\u63cf\u8ff0\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"json\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">{\n  \"info\":  {\"type\": \"skyate_250316\", \"serial\": 1234567890, \"proto\": 2},\n  \"BoolPort\":  {\"Input\": 4,  \"Output\": 7},\n  \"IntPort\":   {\"Input\": 0,  \"Output\": 0},\n  \"FloatPort\": {\"Input\": 16, \"Output\": 0},\n  \"ports\": [\n    {\"type\": \"Bo\", \"name\": \"sw0\",     \"unit\": \"\"},\n    {\"type\": \"Bo\", \"name\": \"fan\",     \"unit\": \"\"},\n    {\"type\": \"Fi\", \"name\": \"sys_temp\",\"unit\": \"C\"},\n    {\"type\": \"Fi\", \"name\": \"vbus\",    \"unit\": \"V\"}\n  ]\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8981\u70b9\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u8bbe\u5907\u8eab\u4efd<\/strong>\uff1a<code>type<\/code>\uff08\u8bbe\u5907\u578b\u53f7\uff09\u4e0e <code>serial<\/code>\uff08\u552f\u4e00\u5e8f\u5217\u53f7\uff09\u4f7f\u4e3b\u673a\u53ef\u8bc6\u522b\u4e0e\u5ba1\u8ba1\u63a5\u5165\u8bbe\u5907\uff1b<\/li>\n\n\n\n<li><strong>\u7aef\u53e3\u6570\u91cf<\/strong>\uff1a\u4e09\u7c7b\u7aef\u53e3\u7684\u8f93\u5165\/\u8f93\u51fa\u6570\u91cf\uff0c\u4e3b\u673a\u636e\u6b64<strong>\u52a8\u6001\u5206\u914d<\/strong>\u955c\u50cf\u72b6\u6001\u8868\uff0c\u4ece\u673a\u5347\u7ea7 \u589e\u51cf\u7aef\u53e3\u5bf9\u4e3b\u673a\u5b8c\u5168\u900f\u660e\uff1b<\/li>\n\n\n\n<li><strong>\u534f\u8bae\u7248\u672c<\/strong>\uff1a<code>proto: 2<\/code> \u8868\u793a\u643a\u5e26 <code>ports[]<\/code> \u7aef\u53e3\u5143\u6570\u636e\uff08\u6bcf\u7aef\u53e3\u7684 <code>name<\/code> \u4e0e <code>unit<\/code>\uff09\uff0c \u4e3b\u673a\u754c\u9762\u53ef\u76f4\u63a5\u663e\u793a <code>sys_temp (\u00b0C)<\/code> \u8fd9\u6837\u7684\u53cb\u597d\u6807\u7b7e\uff1b\u65e7\u7248\u4ece\u673a\uff08\u65e0 <code>proto<\/code> \u5b57\u6bb5\uff09 \u4f9d\u7136\u517c\u5bb9\uff0c\u663e\u793a\u9000\u5316\u4e3a <code>Fi#0<\/code> \u5f62\u5f0f\uff1b<\/li>\n\n\n\n<li><strong>\u5373\u63d2\u5373\u7528<\/strong>\uff1a\u4e3b\u673a\u6536\u5230\u914d\u7f6e\u540e\u7acb\u5373\u8fdb\u5165\u540c\u6b65\u72b6\u6001\uff0c\u5168\u7a0b\u65e0\u9700\u4eba\u5de5\u4ecb\u5165\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2.4 \u9ad8\u9891\u540c\u6b65\uff08SyncState\uff09<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u914d\u5bf9\u6210\u529f\u540e\uff0c\u4e3b\u673a\u4ee5 1ms \u5468\u671f\u53d1\u9001 SyncState \u8bf7\u6c42\uff08\u643a\u5e26\u8f93\u51fa\u6570\u636e\uff09\uff0c\u4ece\u673a\u5728<strong>\u540c\u4e00\u6beb\u79d2\u5185<\/strong> \u5b8c\u6210&#8221;\u63a5\u6536 \u2192 \u89e3\u6790 \u2192 \u9a71\u52a8\u8f93\u51fa \u2192 \u91c7\u96c6\u8f93\u5165 \u2192 \u5e94\u7b54&#8221;\u7684\u5b8c\u6574\u95ed\u73af\uff0c\u65f6\u5e8f\u5982\u56fe 4 \u6240\u793a\uff1a<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"364\" src=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-3-1024x364.png\" alt=\"\" class=\"wp-image-1410\" style=\"aspect-ratio:2.813334031084829;width:664px;height:auto\" srcset=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-3-1024x364.png 1024w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-3-300x107.png 300w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-3-768x273.png 768w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-3.png 1150w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">\u56fe 4\u3000SyncState 1kHz \u540c\u6b65\u65f6\u5e8f<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5e26\u5bbd\u4e0e\u5b9e\u65f6\u9884\u7b97<\/strong>\uff08\u4ee5 1.5 Mbps\u3001BO\u00d77 \/ BI\u00d74 \/ FI\u00d716 \u7684\u5178\u578b\u914d\u7f6e\u4e3a\u4f8b\uff09\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th class=\"has-text-align-left\" data-align=\"left\">\u9879\u76ee<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u6570\u503c<\/th><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">\u6bcf\u5468\u671f\u4e0a\u884c\u5e27\u957f<\/td><td class=\"has-text-align-left\" data-align=\"left\">6 B\uff08\u5e27\u5934 5 + OUT_TAB 1\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">\u6bcf\u5468\u671f\u4e0b\u884c\u5e27\u957f<\/td><td class=\"has-text-align-left\" data-align=\"left\">70 B\uff08\u5e27\u5934 5 + IN_TAB 65\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">\u7ebf\u8def\u5229\u7528\u7387\uff08\u5168\u53cc\u5de5\uff0c\u6309\u65b9\u5411\u72ec\u7acb\u8ba1\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0a\u884c\u7ea6 4%\uff0c\u4e0b\u884c\u7ea6 47%\uff0c\u4f59\u91cf\u5145\u8db3<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">\u5355\u5468\u671f\u5f80\u8fd4\u8017\u65f6<\/td><td class=\"has-text-align-left\" data-align=\"left\">@1.5 Mbps \u5178\u578b\u7ea6 0.5 ms\uff08\u542b\u5b8c\u6574\u5e27\u4f20\u8f93\uff0c\u968f\u5e27\u957f\/\u6ce2\u7279\u7387\u53d8\u5316\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">\u7aef\u5230\u7aef\u5ef6\u8fdf\uff08\u4ece\u673a\u53d8\u5316 \u2192 \u4e3b\u673a\u53ef\u8bfb\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">&lt; 2 ms<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6ce2\u7279\u7387\u9009\u62e9<\/strong>\uff1a16550 \u7c7b UART \u7684\u6ce2\u7279\u7387\u6765\u81ea\u6574\u6570\u5206\u9891\uff0c\u82e5\u76ee\u6807\u901f\u7387\u4e0d\u80fd\u6574\u9664\u4f1a\u4ea7\u751f\u5931\u771f\uff0c \u8d85\u8fc7 \u00b13% \u5373\u53ef\u80fd\u901a\u4fe1\u5931\u8d25\u3002FEB \u9ed8\u8ba4\u91c7\u7528 <strong>1.5 Mbps<\/strong>\u2014\u2014\u5728\u5e38\u89c1 24 MHz UART \u65f6\u949f\u4e0b \u5206\u9891\u6070\u4e3a 1\uff080% \u5931\u771f\uff09\uff0c\u4e14\u5e26\u5bbd\u4f59\u91cf\u6700\u5927\uff1b\u4e3b\u673a\u4fa7\u6253\u5f00\u4e32\u53e3\u65f6\u4f1a\u81ea\u52a8\u6838\u7b97\u5b9e\u9645\u5931\u771f\u7387\u5e76\u5728 \u8d85\u9650\u65f6\u544a\u8b66\uff0c\u4ece\u673a\u5236\u7ea6\u534f\u8bae\u4e0e\u4e3b\u673a\u4e24\u4fa7\u5fc5\u987b\u4f7f\u7528\u4e00\u81f4\u901f\u7387\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.5 \u72b6\u6001\u8868\u7f16\u7801<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">SyncState \u5e27\u4e2d\u7684\u7aef\u53e3\u6570\u636e\u533a\uff08OUT_TAB \/ IN_TAB\uff09\u91c7\u7528\u7d27\u51d1\u7684\u5b9a\u957f\u5e03\u5c40\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Bool \u7aef\u53e3\uff08BO\/BI\uff09<\/strong>\uff1a\u6bcf\u7aef\u53e3 1 bit\uff0cLSB \u5728\u524d\uff0c\u6309\u5b57\u8282\u6253\u5305\uff0c\u5b57\u8282\u6570 = \u2308\u6570\u91cf\/8\u2309\uff1b<\/li>\n\n\n\n<li><strong>Int \u7aef\u53e3\uff08IO\/II\uff09<\/strong>\uff1a\u6bcf\u7aef\u53e3 4 \u5b57\u8282\uff0c\u5c0f\u7aef\u5e8f int32\uff1b<\/li>\n\n\n\n<li><strong>Float \u7aef\u53e3\uff08FO\/FI\uff09<\/strong>\uff1a\u6bcf\u7aef\u53e3 4 \u5b57\u8282\uff0cIEEE 754 \u5355\u7cbe\u5ea6\uff0c\u5c0f\u7aef\u5e8f\u3002<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ee5 BO\u00d77\u3001BI\u00d74\u3001FI\u00d716 \u4e3a\u4f8b\uff0c\u72b6\u6001\u8868\u5e03\u5c40\u5982\u56fe 5 \u6240\u793a\uff1a<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"406\" src=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-4-1024x406.png\" alt=\"\" class=\"wp-image-1411\" style=\"aspect-ratio:2.5222858215257578;width:668px;height:auto\" srcset=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-4-1024x406.png 1024w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-4-300x119.png 300w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-4-766x304.png 766w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-4.png 1411w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">\u56fe 5\u3000OUT_TAB \/ IN_TAB \u72b6\u6001\u8868\u5e03\u5c40\u793a\u4f8b<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u8be5\u5e03\u5c40\u7531\u53cc\u65b9\u5728 GetCfg \u914d\u5bf9\u65f6\u6839\u636e\u7aef\u53e3\u6570\u91cf<strong>\u72ec\u7acb\u8ba1\u7b97\u5f97\u51fa<\/strong>\uff0c\u5929\u7136\u4e00\u81f4\uff0c\u65e0\u9700\u9010\u7aef\u53e3 \u534f\u5546\uff1b\u5b9a\u957f\u5e27\u4e5f\u8ba9\u4ece\u673a\u7aef\u89e3\u6790\u53ef\u4ee5\u505a\u5230\u96f6\u52a8\u6001\u5185\u5b58\u5206\u914d\uff0c\u6ee1\u8db3 MCU \u4e0a\u7684\u786e\u5b9a\u6027\u8981\u6c42\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.6 \u5178\u578b\u5916\u8bbe\u63a5\u53e3\u80fd\u529b<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ee5\u5b9e\u9a8c\u5ba4\u8f66\u8f7d FEBS \u4ece\u673a\u4e3a\u4f8b\uff0c\u4e00\u6761 UART \u80cc\u540e\u805a\u5408\u7684\u7269\u7406\u63a5\u53e3\u80fd\u529b\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7aef\u53e3\u7ec4<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u6570\u91cf<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u5178\u578b\u7528\u9014<\/th><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">BO\uff08\u5f00\u5173\u91cf\u8f93\u51fa\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">7<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6a21\u5f0f\u5f00\u5173\u3001\u7535\u6e90\u4f7f\u80fd\u3001\u6563\u70ed\u98ce\u6247\u3001RTK \u6a21\u7ec4\u4f7f\u80fd<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">BI\uff08\u5f00\u5173\u91cf\u8f93\u5165\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">4<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6025\u505c\u3001\u8231\u95e8\/\u7ebf\u675f\u5728\u4f4d\u68c0\u6d4b\u3001\u6a21\u5f0f\u9009\u62e9\u62e8\u7801<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">FI\uff08\u6a21\u62df\/\u6570\u636e\u8f93\u5165\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">16<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7cfb\u7edf\u6e29\u5ea6\u3001\u6bcd\u7ebf\u7535\u538b\/\u7535\u6d41\/\u529f\u7387\u3001\u7535\u6c60 SOC\/SOH\/\u5269\u4f59\u5bb9\u91cf\u3001\u4e09\u8f74\u52a0\u901f\u5ea6\u8ba1\u3001\u4e09\u8f74\u9640\u87ba\u4eea<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">3. FEB \u4e3b\u673a\u8bbe\u8ba1\u7ec6\u8282<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">3.1 \u8f6f\u4ef6\u603b\u4f53\u7ed3\u6784<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">febmd \u662f\u4e00\u4e2a C11 \u7f16\u5199\u7684 Linux \u5b88\u62a4\u8fdb\u7a0b\uff08\u7ea6 3000 \u884c\uff0cCMake \u6784\u5efa\uff0c\u4ec5\u4f9d\u8d56 cJSON \u4e0e libmicrohttpd \u4e24\u4e2a\u8f7b\u91cf\u5e93\uff09\uff0c\u91c7\u7528&#8221;\u591a\u7ebf\u7a0b + \u5171\u4eab\u6570\u636e\u5c42&#8221;\u6a21\u578b\uff0c\u5982\u56fe 7 \u6240\u793a\uff1a<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"631\" height=\"556\" src=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-5.png\" alt=\"\" class=\"wp-image-1412\" style=\"width:436px;height:auto\" srcset=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-5.png 631w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-5-300x264.png 300w\" sizes=\"auto, (max-width: 631px) 100vw, 631px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">\u56fe 6\u3000febmd \u7ebf\u7a0b\u6a21\u578b\u4e0e\u5171\u4eab\u6570\u636e\u5c42<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6280\u672f\u6808\u9009\u578b\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th class=\"has-text-align-left\" data-align=\"left\">\u7ec4\u4ef6<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u9009\u62e9<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u7406\u7531<\/th><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">\u8bed\u8a00<\/td><td class=\"has-text-align-left\" data-align=\"left\">C11 + CMake<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7cfb\u7edf\u7ea7\u5b88\u62a4\u8fdb\u7a0b\u9996\u9009\uff0c\u4e0e POSIX \u4e32\u53e3\/\u7ebf\u7a0b API \u76f4\u63a5\u5bf9\u63a5<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">JSON<\/td><td class=\"has-text-align-left\" data-align=\"left\">cJSON\uff08\u5355\u6587\u4ef6\u9759\u6001\u94fe\u63a5\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u96f6\u5916\u90e8\u4f9d\u8d56\uff0c\u5d4c\u5165\u53cb\u597d<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">HTTP<\/td><td class=\"has-text-align-left\" data-align=\"left\">libmicrohttpd<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u8f7b\u91cf GNU \u5e93\uff0cHTTP\/1.1\uff0c\u9759\u6001\u9875\u9762\u7f16\u8bd1\u671f\u5185\u5d4c<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">\u4e32\u53e3<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u539f\u751f termios<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5b8c\u5168\u63a7\u5236\u6ce2\u7279\u7387\/\u5e27\u683c\u5f0f\/\u7ebf\u8def\u7535\u5e73\uff08DTR\/RTS\/HUPCL\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">IPC<\/td><td class=\"has-text-align-left\" data-align=\"left\">Unix Domain Socket + JSON<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u8de8\u8bed\u8a00\u3001\u8fdb\u7a0b\u9694\u79bb\u3001\u6743\u9650\u53ef\u63a7\uff0c\u77ed\u6d88\u606f\u5f80\u8fd4 &lt; 100 \u03bcs<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">3.2 \u540c\u6b65\u5faa\u73af\uff08SyncLoop\uff09<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">SyncLoop \u662f\u6574\u4e2a\u7cfb\u7edf\u7684\u5fc3\u810f\uff0c\u8d1f\u8d23\u4e0e\u4ece\u673a\u7ef4\u6301 1kHz \u7684\u72b6\u6001\u540c\u6b65\u3002\u5176\u5185\u90e8\u662f\u4e00\u4e2a\u4e09\u6001\u72b6\u6001\u673a \uff08\u56fe7\uff09\uff1a<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"904\" height=\"125\" src=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-6.png\" alt=\"\" class=\"wp-image-1413\" style=\"aspect-ratio:7.232611327862236;width:521px;height:auto\" srcset=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-6.png 904w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-6-767x106.png 767w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-6-300x41.png 300w\" sizes=\"auto, (max-width: 904px) 100vw, 904px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">\u56fe 7\u3000SyncLoop \u540c\u6b65\u72b6\u6001\u673a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5b9e\u65f6\u6027\u4fdd\u969c\u63aa\u65bd<\/strong>\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th class=\"has-text-align-left\" data-align=\"left\">\u63aa\u65bd<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u5b9e\u73b0\u65b9\u5f0f<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u6548\u679c<\/th><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">\u5b9e\u65f6\u8c03\u5ea6<\/td><td class=\"has-text-align-left\" data-align=\"left\">SyncLoop \u7ebf\u7a0b SCHED_FIFO \u4f18\u5148\u7ea7 95\uff08\u7531 systemd <code>LimitRTPRIO=95<\/code> \u6388\u6743\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5185\u6838\u4f18\u5148\u8c03\u5ea6\uff0c\u666e\u901a\u8d1f\u8f7d\u65e0\u6cd5\u62a2\u5360<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">\u7edd\u5bf9\u65f6\u95f4\u7761\u7720<\/td><td class=\"has-text-align-left\" data-align=\"left\"><code>clock_nanosleep(CLOCK_MONOTONIC, TIMER_ABSTIME)<\/code> \u7d2f\u52a0 deadline<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5468\u671f\u65e0\u7d2f\u79ef\u6f02\u79fb\uff0c\u4e0d\u53d7 NTP \u6821\u65f6\u5f71\u54cd<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">CPU \u4eb2\u548c\u6027<\/td><td class=\"has-text-align-left\" data-align=\"left\">SyncLoop \u7ed1\u5b9a\u56fa\u5b9a\u6838\u5fc3\uff08\u53ef\u914d\u7f6e <code>cpu_affinity<\/code>\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u907f\u514d\u8de8\u6838\u8fc1\u79fb\u5e26\u6765\u7684 cache\/\u8c03\u5ea6\u6296\u52a8<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">\u4e34\u754c\u533a\u6781\u77ed<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e92\u65a5\u9501\u91c7\u7528\u4f18\u5148\u7ea7\u7ee7\u627f + \u81ea\u9002\u5e94\u81ea\u65cb\uff1b\u9501\u5185\u4ec5\u505a\u5185\u5b58\u62f7\u8d1d\uff0cUART \u6536\u53d1\u5728\u9501\u5916<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6301\u9501\u65f6\u95f4 &lt; 50 \u03bcs\uff0c1ms \u5468\u671f\u4f59\u91cf\u5145\u8db3<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">\u5931\u8d25\u964d\u9891<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u914d\u5bf9\u5931\u8d25\u65f6\u4ee5 1s \u95f4\u9694\u91cd\u8bd5<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7a7a\u95f2\u671f\u4e0d\u6d6a\u8d39 CPU<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6ce2\u7279\u7387\u81ea\u68c0<\/strong>\uff1afebmd \u6253\u5f00\u4e32\u53e3\u65f6\u6309 <code>baud_base<\/code> \u6838\u7b97\u76ee\u6807\u901f\u7387\u7684\u6574\u6570\u5206\u9891\u5931\u771f\uff0c \u5931\u771f &gt; 2% \u65f6\u5347\u7ea7\u4e3a ERROR \u65e5\u5fd7\u5e76\u7ed9\u51fa\u53ef\u6574\u9664\u7684\u5019\u9009\u901f\u7387\u2014\u2014\u628a&#8221;\u6ce2\u7279\u7387\u914d\u9519&#8221;\u8fd9\u7c7b \u9690\u6027\u95ee\u9898\u5728\u542f\u52a8\u9636\u6bb5\u5c31\u66b4\u9732\u51fa\u6765\uff0c\u800c\u4e0d\u662f\u8868\u73b0\u4e3a\u83ab\u540d\u7684\u4e22\u5e27\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u540c\u6b65\u8d28\u91cf\u7edf\u8ba1<\/strong>\uff1a\u6bcf\u6b21\u540c\u6b65\u7684\u5f80\u8fd4\u65f6\u5ef6\uff08RTT\uff09\u8fdb\u5165 256 \u6df1\u5ea6\u6ed1\u52a8\u7a97\u53e3\uff0c\u7ecf HTTP API \u66b4\u9732\u6210\u529f\u7387\u3001RTT \u5747\u503c\/\u6700\u5927\/\u6700\u5c0f\u7b49\u6307\u6807\uff0c\u4f5c\u4e3a\u7cfb\u7edf\u5065\u5eb7\u5ea6\u7684\u91cf\u5316\u4f9d\u636e\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.3 \u7aef\u53e3\u5360\u7528\u4e0e\u5e76\u53d1\u5b89\u5168<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">FEB \u9075\u5faa\u4e25\u683c\u7684<strong>\u5355\u5199\u8005\u539f\u5219<\/strong>\uff1a\u6bcf\u4e2a\u8f93\u51fa\u7aef\u53e3\u540c\u4e00\u65f6\u523b\u53ea\u5141\u8bb8\u4e00\u4e2a\u5ba2\u6237\u7aef\u6301\u6709\u5199\u6743\u9650\uff0c \u4ece\u673a\u5236\u4e0a\u675c\u7edd&#8221;\u4e24\u4e2a\u8fdb\u7a0b\u540c\u65f6\u62a2\u4e00\u4e2a\u7ee7\u7535\u5668&#8221;\u8fd9\u7c7b\u4e8b\u6545\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6743\u9650\u6a21\u578b<\/strong>\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th class=\"has-text-align-left\" data-align=\"left\">\u64cd\u4f5c<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u8f93\u51fa\u7aef\u53e3\uff08BO\/IO\/FO\uff09<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u8f93\u5165\u7aef\u53e3\uff08BI\/II\/FI\uff09<\/th><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">\u8bfb\u53d6<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6240\u6709\u5ba2\u6237\u7aef\uff0c\u65e0\u9700\u5360\u7528<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6240\u6709\u5ba2\u6237\u7aef\uff0c\u65e0\u9700\u5360\u7528<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">\u5199\u5165<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5fc5\u987b\u6301\u6709\u8be5\u7aef\u53e3\u7684\u72ec\u5360\u5360\u7528\u4ee4\u724c\uff08token\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4e0d\u5141\u8bb8\uff08\u503c\u53ea\u80fd\u6765\u81ea\u4ece\u673a\u91c7\u96c6\uff09<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5360\u7528\u751f\u547d\u5468\u671f\u7ba1\u7406<\/strong>\uff1afebmd \u7ef4\u62a4\u5360\u7528\u8868\u4e0e&#8221;\u7aef\u53e3 \u2192 token&#8221;\u53cd\u5411\u7d22\u5f15\uff0c\u5b8c\u6574\u7684\u7533\u8bf7\u3001 \u5fc3\u8df3\u3001\u5d29\u6e83\u56de\u6536\u4e0e\u518d\u6b21\u5206\u914d\u65f6\u5e8f\u5982\u56fe 8\u6240\u793a\uff1a<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1006\" height=\"565\" src=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-7.png\" alt=\"\" class=\"wp-image-1414\" style=\"aspect-ratio:1.78060413354531;width:658px;height:auto\" srcset=\"https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-7.png 1006w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-7-300x168.png 300w, https:\/\/aimc.skyate.com\/wp-content\/uploads\/2026\/09\/image-7-767x431.png 767w\" sizes=\"auto, (max-width: 1006px) 100vw, 1006px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">\u56fe 8\u3000\u7aef\u53e3\u5360\u7528\u7533\u8bf7\u3001\u5fc3\u8df3\u4e0e\u81ea\u52a8\u56de\u6536\u65f6\u5e8f<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u81ea\u52a8\u56de\u6536\u673a\u5236\u8986\u76d6\u6240\u6709\u5f02\u5e38\u573a\u666f<\/strong>\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th class=\"has-text-align-left\" data-align=\"left\">\u573a\u666f<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u68c0\u6d4b\u65b9\u5f0f<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u91ca\u653e\u5ef6\u8fdf<\/th><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">\u5ba2\u6237\u7aef\u6b63\u5e38\u9000\u51fa<\/td><td class=\"has-text-align-left\" data-align=\"left\">IPC \u8fde\u63a5\u5173\u95ed<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7acb\u5373<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">\u5ba2\u6237\u7aef\u5d29\u6e83 \/ kill -9<\/td><td class=\"has-text-align-left\" data-align=\"left\">IPC \u8fde\u63a5\u5173\u95ed\uff08\u5185\u6838 FIN\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7acb\u5373<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">\u5ba2\u6237\u7aef\u88ab\u51bb\u7ed3\uff08SIGSTOP\/\u8c03\u8bd5\u65ad\u70b9\uff09<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5fc3\u8df3\u8d85\u65f6\uff0815s\uff09+ <code>kill(pid,0)<\/code> \u5b58\u6d3b\u590d\u6838<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u2264 15s<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">febmd \u81ea\u8eab\u91cd\u542f<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u8f93\u51fa\u72b6\u6001\u6e05\u96f6\uff0c\u5ba2\u6237\u7aef\u68c0\u6d4b\u5230\u65ad\u8fde\u540e\u81ea\u52a8\u91cd\u65b0\u7533\u8bf7\u5360\u7528\u5e76\u91cd\u5199\u8f93\u51fa<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u79d2\u7ea7<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5199\u5165\u8def\u5f84\u7684\u5e76\u53d1\u8bbe\u8ba1<\/strong>\u2014\u2014&#8221;\u810f\u6807\u5fd7 + \u6682\u5b58\u533a&#8221;\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5ba2\u6237\u7aef\u5199\u5165\u53ea\u66f4\u65b0\u6682\u5b58\u533a\uff08pending\uff09\u5e76\u7f6e\u4f4d\u810f\u6807\u5fd7\uff08dirty\uff09\uff0c\u4e34\u754c\u533a\u4ec5\u51e0\u6761\u8d4b\u503c\u8bed\u53e5\uff1b SyncLoop \u5728\u6bcf\u4e2a\u5468\u671f\u5f00\u59cb\u65f6\u6279\u91cf\u642c\u8fd0\u6682\u5b58\u533a \u2192 \u8f93\u51fa\u72b6\u6001\u8868\u5e76\u6e05\u810f\u6807\u5fd7\uff0c\u7136\u540e\u7ec4\u88c5\u5e27\u53d1\u9001\u3002 \u540c\u4e00\u5468\u671f\u5185\u540c\u4e00\u7aef\u53e3\u7684\u591a\u6b21\u5199\u81ea\u7136\u6536\u655b\u4e3a\u6700\u540e\u4e00\u6b21\u503c\uff08last-write-wins\uff09\uff0c \u65e2\u4fdd\u8bc1\u4e86\u6570\u636e\u4e00\u81f4\u6027\uff0c\u53c8\u628a\u603b\u7ebf\u8d1f\u8f7d\u964d\u5230\u6700\u4f4e\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.4 IPC \u670d\u52a1\u4e0e\u591a\u8bed\u8a00\u5ba2\u6237\u7aef<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>IPC \u534f\u8bae<\/strong>\uff1aUnix Domain Socket\uff08\u9ed8\u8ba4 <code>\/var\/run\/febm\/febm.sock<\/code>\uff0c\u6743\u9650 0660\uff09\uff0c \u8bf7\u6c42-\u54cd\u5e94\u6a21\u5f0f\uff0c\u6d88\u606f\u4e3a <code>Content-Length<\/code> \u5934 + JSON \u4f53\u3002IPC \u7ebf\u7a0b\u7528 epoll \u7ba1\u7406\u6240\u6709 \u5ba2\u6237\u7aef\u8fde\u63a5\uff0c\u652f\u6301\u6570\u5341\u4e2a\u8fdb\u7a0b\u5e76\u53d1\uff1b\u8fde\u63a5\u65ad\u5f00\u81ea\u52a8\u91ca\u653e\u5176\u540d\u4e0b\u5168\u90e8\u5360\u7528\u4ee4\u724c\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u7edf\u4e00\u54cd\u5e94\u7ed3\u6784\u643a\u5e26\u9519\u8bef\u7801\uff0c\u5e38\u7528\u9519\u8bef\u7801\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th class=\"has-text-align-left\" data-align=\"left\">code<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u542b\u4e49<\/th><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">0<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u6210\u529f<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">1003 \/ 1004<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u65e0\u6548\u4ee4\u724c \/ \u4ee4\u724c\u8fc7\u671f\uff08\u5fc3\u8df3\u8d85\u65f6\u5df2\u88ab\u56de\u6536\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">2001<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4ece\u673a\u672a\u8fde\u63a5<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">2002<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7aef\u53e3\u7d22\u5f15\u8d8a\u754c<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">3001<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u7aef\u53e3\u5df2\u88ab\u5176\u4ed6\u5ba2\u6237\u7aef\u5360\u7528\uff08\u54cd\u5e94\u9644\u5e26\u51b2\u7a81\u6e05\u5355\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">3002<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5ba2\u6237\u7aef\u6570\u5df2\u8fbe\u4e0a\u9650<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5ba2\u6237\u7aef\u5e93<\/strong>\uff1a\u534f\u8bae\u89e3\u6790\u5168\u90e8\u6536\u655b\u5728 febmd \u5185\uff0c\u5ba2\u6237\u7aef\u5e93\u53ea\u662f\u6781\u8584\u7684 IPC \u5c01\u88c5\u2014\u2014 \u8fd9\u8ba9\u591a\u8bed\u8a00\u7ed1\u5b9a\u51e0\u4e4e\u96f6\u6210\u672c\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>C\uff08libfebmc\uff09<\/strong>\uff1aC \u98ce\u683c API\uff08<code>febmc_connect \/ read_port \/ occupancy_request \/ write_port \/ heartbeat ...<\/code>\uff09\uff0c\u5185\u90e8\u4ee5 <code>MSG_PEEK<\/code> \u9ad8\u6548\u89e3\u6790 Content-Length\uff0c \u7ebf\u7a0b\u5b89\u5168\uff08\u591a\u4efb\u52a1\u53ef\u5e76\u53d1\u8c03\u7528\uff0c\u5e93\u5185\u4e32\u884c\u5316 IO\uff09\uff1b<\/li>\n\n\n\n<li><strong>Python\uff08febm\uff09<\/strong>\uff1actypes \u7ed1\u5b9a libfebmc\uff0c\u63d0\u4f9b Pythonic \u63a5\u53e3\u2014\u2014<code>with<\/code> \u4e0a\u4e0b\u6587 \u81ea\u52a8\u8fde\u63a5\/\u91ca\u653e\uff0c<code>Occupancy<\/code> RAII \u5bf9\u8c61\u9000\u51fa\u5373\u91ca\u653e\u5360\u7528\uff0c\u5e76\u5185\u7f6e 3s \u81ea\u52a8\u5fc3\u8df3\u7ebf\u7a0b\uff0c \u4e1a\u52a1\u4ee3\u7801\u65e0\u9700\u5173\u5fc3\u4efb\u4f55\u4fdd\u6d3b\u7ec6\u8282\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">from febm import Client, PortType\n\nwith Client() as c:                              # \u81ea\u52a8\u8fde\u63a5 + \u81ea\u52a8\u5fc3\u8df3\n    temp = c.read_float(PortType.FI, 0)          # \u8bfb\u7cfb\u7edf\u6e29\u5ea6\uff08\u5171\u4eab\u8bfb\uff09\n\n    with c.occupancy_request([(PortType.BO, 5)],  # \u7533\u8bf7\u98ce\u6247\u7aef\u53e3\u5360\u7528\n                              info=\"\u6e29\u63a7\u98ce\u6247\") as occ:\n        occ.write_bool(PortType.BO, 5, True)      # \u5f00\u98ce\u6247\n    # with \u9000\u51fa \/ \u8fdb\u7a0b\u5d29\u6e83 \u2192 \u5360\u7528\u81ea\u52a8\u91ca\u653e<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5e76\u53d1\u89c4\u6a21\u7ea6\u675f<\/strong>\uff1a\u5355\u8fde\u63a5\u6700\u591a\u540c\u65f6\u6301\u6709 32 \u4e2a\u7aef\u53e3\u30018 \u4e2a\u4ee4\u724c\uff1bfebmd \u5168\u5c40\u6700\u591a 64 \u4e2a\u5ba2\u6237\u7aef\u2014\u2014\u5bf9\u4e00\u53f0\u4e3b\u63a7\u4e0a\u7684\u5168\u90e8\u4e1a\u52a1\u8fdb\u7a0b\u800c\u8a00\u4f59\u91cf\u5145\u5206\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.5 HTTP \u76d1\u63a7\u4e0e\u8c03\u8bd5<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">febmd \u5185\u5d4c HTTP \u670d\u52a1\uff08\u9ed8\u8ba4\u7aef\u53e3 8765\uff0c\u53ef\u9009\u4ec5\u7ed1\u5b9a\u56de\u73af\uff09\uff0c\u63d0\u4f9b Web \u72b6\u6001\u9875\u4e0e REST API\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th class=\"has-text-align-left\" data-align=\"left\">\u65b9\u6cd5 &amp; \u8def\u5f84<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u8bf4\u660e<\/th><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">GET <code>\/<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\">Web \u72b6\u6001\u9875\uff1a\u8fde\u63a5\u72b6\u6001\u3001\u540c\u6b65\u8d28\u91cf\u3001\u5168\u90e8\u7aef\u53e3\u5b9e\u65f6\u503c\u3001\u5360\u7528\u5173\u7cfb<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">GET <code>\/api\/status<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u4ece\u673a\u72b6\u6001 + \u540c\u6b65\u7edf\u8ba1\uff08\u6210\u529f\u7387\u3001RTT \u7b49\uff09JSON<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">GET <code>\/api\/ports<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5168\u90e8\u7aef\u53e3\u5f53\u524d\u503c\uff08\u542b name\/unit \u5143\u6570\u636e\u4e0e\u5360\u7528\u8005\u4fe1\u606f\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">GET <code>\/api\/ports\/{type}\/{index}<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5355\u7aef\u53e3\u8be6\u60c5<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">GET <code>\/api\/occupancy<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u5f53\u524d\u5360\u7528\u8868\uff08token\u3001\u8fdb\u7a0b PID\u3001\u63cf\u8ff0\u3001\u7aef\u53e3\u6e05\u5355\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">POST <code>\/api\/debug\/write<\/code><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u8c03\u8bd5\u5199\u5165\uff08<strong>\u7ed5\u8fc7\u5360\u7528\u673a\u5236<\/strong>\uff0c\u9700\u72ec\u7acb debug_token \u9274\u6743\uff0c\u9ed8\u8ba4\u5173\u95ed\uff09<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Web \u9875\u9762 200ms \u8f6e\u8be2\u5237\u65b0\uff0c\u5f00\u53d1\u4eba\u5458\u65e0\u9700\u4efb\u4f55\u5ba2\u6237\u7aef\u4ee3\u7801\u5373\u53ef\u603b\u89c8\u603b\u7ebf\u5065\u5eb7\u5ea6\uff1b \u8c03\u8bd5\u5199\u5165\u4ec5\u4f9b\u5f00\u53d1\u73af\u5883\u8054\u8c03\u786c\u4ef6\u4f7f\u7528\u2014\u2014\u7ed5\u8fc7\u5360\u7528\u662f\u5b83\u7684\u4ef7\u503c\uff0c\u72ec\u7acb\u4ee4\u724c\u9274\u6743\u4e0e \u9ed8\u8ba4\u5173\u95ed\u5f00\u5173\u5219\u63a7\u5236\u5176\u98ce\u9669\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.6 \u53ef\u9760\u6027\u8bbe\u8ba1<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th class=\"has-text-align-left\" data-align=\"left\">\u73af\u8282<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u8bbe\u8ba1<\/th><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u4ece\u673a\u65ad\u7ebf<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u8fde\u7eed 5 \u6b21\u540c\u6b65\u5931\u8d25\u5224\u5b9a\u79bb\u7ebf \u2192 \u72b6\u6001\u8868\u6e05\u96f6 \u2192 \u81ea\u52a8\u964d\u9891\u91cd\u53d1 GetCfg \u91cd\u65b0\u914d\u5bf9\uff0c\u7ebf\u8def\u6062\u590d\u540e\u79d2\u7ea7\u81ea\u6108<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>febmd \u5d29\u6e83<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">systemd <code>Restart=on-failure<\/code> 2s \u81ea\u52a8\u62c9\u8d77\uff1b\u4e1a\u52a1\u5ba2\u6237\u7aef\u611f\u77e5 IPC \u65ad\u8fde\u540e\u81ea\u52a8\u91cd\u8fde<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>febmd \u91cd\u542f\u7684\u8f93\u51fa\u8bed\u4e49<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u91cd\u542f\u540e\u8f93\u51fa\u7aef\u53e3\u6e05\u96f6\uff08\u5b89\u5168\u9ed8\u8ba4\u503c\uff09\uff0c\u5ba2\u6237\u7aef\u91cd\u8fde\u540e\u9700\u91cd\u5199\u8f93\u51fa\u2014\u2014\u5360\u7528\u4e8e\u4e1a\u52a1\u4fa7\u662f\u663e\u5f0f\u7684&#8221;\u91cd\u65b0\u4f7f\u80fd&#8221;\u52a8\u4f5c<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u4e32\u53e3\u72ec\u5360<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">febmd \u72ec\u5360\u6253\u5f00 UART \u8bbe\u5907\uff0c\u90e8\u7f72\u65f6\u505c\u7528\u5185\u6838 console\/getty \u62a2\u5360\uff1b\u6253\u5f00\u65f6\u663e\u5f0f\u63a7\u5236 DTR\/RTS \u7535\u5e73\u5e76\u9ed8\u8ba4\u7981\u7528 HUPCL\uff0c\u907f\u514d\u5173\u95ed\u4e32\u53e3\u7684\u8fb9\u6cbf\u8bef\u590d\u4f4d\u4ece\u673a<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u65e5\u5fd7<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">syslog + \u6587\u4ef6\u53cc\u901a\u9053\uff0c\u56db\u7ea7\u65e5\u5fd7\uff08DEBUG\/INFO\/WARN\/ERROR\uff09\uff0c\u5173\u952e\u4e8b\u4ef6\uff08\u914d\u5bf9\u6210\u529f\/\u5931\u8d25\u3001\u5360\u7528\u5f02\u5e38\u56de\u6536\uff09\u5747\u5e26\u6e90\u7801\u5b9a\u4f4d<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>\u65e0\u786c\u4ef6\u5f00\u53d1<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">\u63d0\u4f9b PTY \u4eff\u771f\u4ece\u673a\uff08feb_slave_sim.py\uff09\u4e0e\u7aef\u5230\u7aef\u6d4b\u8bd5\u811a\u672c\uff0c\u5168\u5957\u529f\u80fd\u53ef\u5728\u65e0\u5b9e\u673a\u73af\u5883\u4e0b\u5f00\u53d1\u56de\u5f52<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">3.7 \u5173\u952e\u6027\u80fd\u6307\u6807\uff08\u5b9e\u6d4b\uff09<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th class=\"has-text-align-left\" data-align=\"left\">\u6307\u6807<\/th><th class=\"has-text-align-left\" data-align=\"left\">\u5b9e\u6d4b\u503c<\/th><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">\u540c\u6b65\u6210\u529f\u7387<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u2265 99.99%\uff081kHz \u8fde\u7eed\u8fd0\u884c\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">SyncState \u5f80\u8fd4\u65f6\u5ef6<\/td><td class=\"has-text-align-left\" data-align=\"left\">@1.5 Mbps \u5178\u578b\u7ea6 0.5 ms\uff08\u542b\u5b8c\u6574\u5e27\u4f20\u8f93\uff0c\u968f\u5e27\u957f\/\u6ce2\u7279\u7387\u53d8\u5316\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">\u8f93\u5165\u53d8\u5316\u5230\u4e3b\u673a\u53ef\u8bfb\u5ef6\u8fdf<\/td><td class=\"has-text-align-left\" data-align=\"left\">&lt; 2 ms<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">SyncLoop CPU \u5360\u7528<\/td><td class=\"has-text-align-left\" data-align=\"left\">&lt; 5% @ 1kHz\uff08\u5355\u4ece\u673a\uff09<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">febmd \u5185\u5b58\u5360\u7528<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u57fa\u7840\u7ea6 2 MB\uff0c\u6bcf\u4ece\u673a +200 KB<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">IPC \u77ed\u6d88\u606f\u5f80\u8fd4<\/td><td class=\"has-text-align-left\" data-align=\"left\">&lt; 100 \u03bcs<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">\u4ece\u673a\u65ad\u7ebf\u6062\u590d\u65f6\u95f4<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u79d2\u7ea7\uff08\u81ea\u52a8\u91cd\u65b0\u914d\u5bf9\uff09<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u7ed3\u8bed<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">FEB \u7528&#8221;\u4e00\u6761 UART + \u4e00\u4e2a\u5b88\u62a4\u8fdb\u7a0b&#8221;\u89e3\u51b3\u4e86\u5d4c\u5165\u5f0f\u5e73\u53f0\u4e0a IO \u6269\u5c55\u7684\u8001\u5927\u96be\u95ee\u9898\uff1a \u4ece\u673a\u4ee5\u81ea\u63cf\u8ff0\u3001\u96f6\u52a8\u6001\u5185\u5b58\u7684\u56fa\u4ef6\u8bbe\u8ba1\u4fdd\u8bc1\u4e86\u786e\u5b9a\u6027\u540c\u6b65\uff1b\u4e3b\u673a\u4ee5\u5b9e\u65f6\u8c03\u5ea6\u3001\u5360\u7528\u4ef2\u88c1 \u4e0e\u670d\u52a1\u5316\u63a5\u53e3\u4fdd\u8bc1\u4e86\u5e76\u53d1\u5b89\u5168\u4e0e\u5de5\u7a0b\u6548\u7387\u3002\u4e8c\u8005\u5171\u540c\u6784\u6210\u4e86\u5b9e\u9a8c\u5ba4\u5404\u7c7b\u79fb\u52a8\u5e73\u53f0 &#8220;\u4e3b\u63a7\u2014\u524d\u7aef&#8221;\u4e4b\u95f4\u7684\u6807\u51c6 IO \u57fa\u7840\u8bbe\u65bd\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>FEB\uff08Field Expansion Bus\uff0c\u57df\u6269\u5c55\u603b\u7ebf\uff09 \u662f\u4e00\u5957\u81ea\u7814\u7684\u8f7b\u91cf\u7ea7\u5d4c\u5165\u5f0f IO \u6269\u5c55\u4e0e\u5b9e\u65f6\u540c\u6b65\u7cfb [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1409,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[63],"tags":[121,122],"class_list":["post-1406","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aimc_project","tag-feb","tag-122"],"_links":{"self":[{"href":"https:\/\/aimc.skyate.com\/index.php\/wp-json\/wp\/v2\/posts\/1406","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aimc.skyate.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aimc.skyate.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aimc.skyate.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aimc.skyate.com\/index.php\/wp-json\/wp\/v2\/comments?post=1406"}],"version-history":[{"count":2,"href":"https:\/\/aimc.skyate.com\/index.php\/wp-json\/wp\/v2\/posts\/1406\/revisions"}],"predecessor-version":[{"id":1416,"href":"https:\/\/aimc.skyate.com\/index.php\/wp-json\/wp\/v2\/posts\/1406\/revisions\/1416"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aimc.skyate.com\/index.php\/wp-json\/wp\/v2\/media\/1409"}],"wp:attachment":[{"href":"https:\/\/aimc.skyate.com\/index.php\/wp-json\/wp\/v2\/media?parent=1406"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aimc.skyate.com\/index.php\/wp-json\/wp\/v2\/categories?post=1406"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aimc.skyate.com\/index.php\/wp-json\/wp\/v2\/tags?post=1406"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}