chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

詳解 KiCad HTTP Library:一個“企業(yè)級”的元器件庫管理功能

KiCad ? 來源:KiCad ? 作者:KiCad ? 2025-08-22 11:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

您是否還在為團隊成員元件庫版本不一、BOM 表整理繁瑣而煩惱?KiCad Http Library 功能為您提供了一個優(yōu)雅的解決方案。與傳統的基于 ODBC 的數據庫解決方案不同, Httplib 采用 Rest API,更開放、靈活,可以快速地與企業(yè)的 ERP/PLM 等系統進行集成,共享數據。

wKgZPGin4eKAKCgJAAHJxHf-GpM434.png

老生常談的“統一”器件庫問題

對于每一位硬件工程師來說,一個規(guī)整、信息全面的元件庫是高效設計的基石。然而,在傳統的 EDA 工作流程中,元件庫的管理往往是一件令人頭疼的事情:

團隊協作難: 每個工程師本地都有一份元件庫,版本不一,常常導致設計失誤和生產問題。

信息孤島: 原理圖符號、PCB 封裝、3D 模型、規(guī)格書、供應商信息、庫存數量…… 這些關鍵信息散落在各處,難以統一管理和調用。

重復勞動多: 每個新項目,都需要花費大量時間整理、核對元件信息,制作 BOM 表,效率低下。

傳統的解決方案通常是基于 ODBC 的數據庫方案,常用的有 Altium 的 DBLib、Cadence 的 CIS、KiCad 的 Database Library 等。這些都是不錯的解決方案,但問題是維護成本較高:即使一個獨立的 SQL 數據庫也不是大部分電子工程師可以搞定的;如果需要和 PLM/PDM 集成,更是需要電子工程師(業(yè)務)和 IT 反復溝通、確認需求,即使最終落地,也很難應用起來...

wKgZPGin4eKAGHRUAAumbMNoZmA680.png

Altium 是最早意識到這個問題的公司,于是才有了后面的 Altium 365,那玩意雖然很強大也很有用,但著實太貴了,不是每個人都用得起;而且 A365 是個閉源的生態(tài),當需要與 ERP、PLM 等企業(yè)內部系統對接時,仍然非常麻煩。

wKgZPGin4eKAaIJjAAwjRtc9a3w892.png

現在輪到 KiCad Http Library 出場了,和 ODBC 不同,Httplib采用了更現代、更靈活的 Rest API 方式。這意味著它的后端不再局限于一個特定的數據庫,而可以是任何能夠提供符合 KiCad 規(guī)范的 API 接口的 Web 服務。這為與現代云服務、SaaS 應用(如 InvenTree)以及企業(yè)自研的 Web 系統集成打開了無限可能。

我們用一張表來對比一下這些解決方案:

功能對比 KiCad Http Library Cadence Capture CIS (ODBC) Altium DBLib KiCad Database Library
核心架構 Rest API (Http/Https) ODBC (開放數據庫連接) ODBC (開放數據庫連接) ODBC (開放數據庫連接)
數據源 任何支持API的Web服務 (如InvenTree, ERP, 自研系統) 任何支持ODBC的數據庫 (如SQL Server, Oracle, Access) 任何支持ODBC的數據庫 (如SQL Server, Oracle, Access, Excel) 任何支持ODBC的數據庫 (如SQLite, MySQL, PostgreSQL)
設置復雜度 中等 (需要配置服務端點和客戶端文件) 復雜 (需配置ODBC數據源, ini文件, 數據庫表結構) 復雜 (需配置ODBC數據源, svn/git, 數據庫表結構) 較高 (需配置ODBC驅動, .kicad_dbl文件, 數據庫表結構)
實時性 極高(每次訪問都可從服務器獲取最新數據) 較高 (依賴數據庫實時連接) 較高 (依賴數據庫實時連接) 較高 (依賴數據庫實時連接)
跨平臺性 極佳(天然跨平臺, 僅需網絡連接) 較差 (ODBC驅動在不同系統下配置繁瑣) 較差 (ODBC驅動在不同系統下配置繁瑣) 較好 (比商業(yè)軟件靈活, 但仍受ODBC驅動限制)
團隊協作 非常適合(天生為遠程協作設計, 權限控制靈活) 適合 (需數據庫服務器支持遠程訪問) 適合 (需數據庫服務器支持遠程訪問) 適合 (需數據庫服務器支持遠程訪問)
亮點 靈活性和Web集成,可與任何現代Web系統對接 可與企業(yè)PLM系統集成,需定制開發(fā) 可與企業(yè)PLM系統集成,需定制開發(fā) 為KiCad生態(tài)提供的原生開源數據庫方案
典型場景 互聯網團隊、需要與自研系統/InvenTree集成的團隊 大型企業(yè),有嚴格物料管理和審批流程 使用Altium生態(tài)系統進行設計和數據管理的企業(yè) 希望在KiCad中使用結構化數據庫管理元件的團隊/個人

注:KiCad 的 Database Library 暫不支持連接 Access,Excel。 可以看到,KiCad HTTP Library 最大的亮點是使用 Rest API 的方式與各種系統集成。簡單來說,只要企業(yè)內的系統開發(fā)符合規(guī)范的查詢接口,KiCad 通過 httplib 就可以直接讀取分類、數據及器件細節(jié),非常高效。這就是為什么說 httplib 是一個“企業(yè)級”的功能,且目前其他 EDA 工具沒有類似的功能。 下面我們就來看下 Httplib 的實現方式。

HTTP Library

HTTP 庫是 KiCad 符號庫的一種,它能從外部源(例如 ERP 系統)獲取元器件數據。與標準的 KiCad 庫不同,它們本身不包含任何符號或封裝的定義。相反,它們引用的是在其他 KiCad 庫中找到的符號和封裝。

HTTP 庫目前是只讀的,但未來將支持讀/寫操作。目前僅支持 REST 或類 REST 的 API,但未來可以輕松添加對其他類型庫的支持。

HTTP Library 配置文件

要創(chuàng)建 HTTP 庫,您必須創(chuàng)建一個配置文件,其中包含 KiCad 連接到提供庫 (API) 并從中檢索數據所需的信息。以下是一個完整的配置文件:

{
  "meta": {
    "version": 1.0
  },
  "name": "KiCad HTTP Library",
  "description": "A KiCad library sourced from a REST API",
  "source": {
    "type": "REST_API",
    "api_version": "v1",
    "root_url": "http://localhost:8000/kicad-api",
    "token": "usertokendatastring",
    "timeout_parts_seconds": 60,
    "timeout_categories_seconds": 600
  }
}

將以上模板復制到一個新文件中,并使用.kicad_httplib文件擴展名保存。然后,應該編輯此文件,并將root_url和token值替換為您自己的值。保存后,使用“配置符號庫”對話框將此文件添加到全局符號庫表中,該對話框位于 “設置”→“管理符號庫…” 下。

wKgZPGin4eKAHjkTAAAsBO3oGWc241.png

用戶可以選擇配置兩個超時設置。timeout_parts_seconds 設置規(guī)定了元件信息的有效期,而 timeout_categories_seconds 設置決定了類別的有效期。默認值分別設置為 60 秒和 600 秒,但如果預計數據通常保持不變,可以選擇更高的值。這將顯著加快符號選擇器的打開速度。值得注意的是,無論這些超時設置如何,KiCad 都會在首次啟動時重新緩存數據。

認證 (Authentication)

認證僅通過訪問令牌 (Access Token)完成;Token 通常由提供服務的應用程序頒發(fā)。此令牌將用于每個請求中,并使用以下請求頭格式:'AUTHORIZATION': 'Token usertokendatastring'。

REST API 端點定義

與 ODBC 不同,REST API 提供的是已預先格式化的信息。KiCad 不需要了解任何關于表的信息,也無需了解提供方應用程序(API)的底層數據庫結構。

KiCad 需要一個根 URL (root-url)和一個API 版本 (api-version)來訪問庫。這些信息必須通過配置文件提供。有兩個端點 (endpoint) 將為 KiCad 提供所有必要的數據,它們分別是:

categories

parts

示例

比如,使用配置文件中所示的root-url和api-version,返回屬于ID = 16的分類下的所有元器件:{root-url}/{api-version}/parts/category/16.json。參照示例配置文件,相當于:http://localhost:8000/kicad-api/v1/parts/category/16.json。

另一個例子是使用非整型 ID,例如Resistors:{root-url}/{api-version}/parts/category/Resistors.json。

如下文所示,KiCad 需要一個 ID(可以是數字或非數字)用于查詢 API,以及一個可選的、人類可讀的名稱,該名稱將作為元器件名稱顯示給用戶。如果 API 沒有返回可選的name鍵,KiCad 將使用id鍵作為元器件名稱。

請注意,KiCad 只接受字符串。所有整數、布爾值、雙精度浮點數、單精度浮點數等都必須在響應請求時轉換成字符串。

端點驗證 (Endpoint Validation)

KiCad 會查詢根 URL{root-url}/{api-version}/,并期望它返回一個以端點為鍵值對的字典。

HTTP_200_OKJSON{"categories":"","parts":""}

注意:只驗證鍵 (key)。值 (value)可以留空或設置為實際的 URL。

獲取分類 (Categories)

為了獲取分類,KiCad 使用標準的 GET 請求查詢{root-url}/{api-version}/categories.json。KiCad 期望服務器響應一個 JSON 格式的數組,其中包含一個或多個分類。對于每個分類,它只需要id和name,并將在符號選擇器 (Symbol Chooser)中將它們顯示為庫。屬于該分類的元器件將分別顯示在這些庫下面。

HTTP_200_OK[  {   "id":"16",   "name":"Active Parts/Clock and Timer ICs",   "description":"A description of Active Parts/Clock and Timer ICs"  },  {   "id":"17",   "name":"Active Parts/Driver ICs",   "description":"A description of Active Parts/Driver ICs"  },  {   "id":"20",   "name":"Active Parts/Embedded Processors and Controllers",   "description":"A description of Active Parts/Embedded Processors and Controllers"  },  {   "id":"22",   "name":"Active Parts/Interfaces",   "description":"A description of Active Parts/Interfaces"  },  {   "id":"15",   "name":"Active Parts/Logic ICs",   "description":"A description of Active Parts/Logic ICs"  }]

獲取元器件

為了在 KiCad 的符號選擇器中某個分類下顯示元器件,KiCad 會使用標準的 GET 請求查詢 parts 端點:{root-url}/{api-version}/parts/category/16.json;其中 16 是特定分類的數字 ID 示例。KiCad 期望服務器響應一個包含該特定分類下一個或多個元器件的數組。

對于每個元器件,KiCad 只需要一個id。如果需要在符號選擇器中顯示與id不同的名稱,可以使用如下所示的可選name鍵。此外,還可以使用description鍵提供元器件描述。

HTTP_200_OK[  {   "id":"69",   "name":"830050789",   "description":"CRYSTAL 32.7680KHZ 12.5PF SMD"  },  {   "id":"40",   "name":"NE555PSR",   "description":"IC OSC SINGLE TIMER 100KHZ 8SO"  },  {   "id":"238",   "name":"TLC555CPSR",   "description":"IC OSC SINGLE TIMER 2.1MHZ 8SO"  }]

提示:由于這些元器件詳情僅用于在符號選擇器中進行高層級的概覽,因此應該只響應所需的最少數據。這將加快數據獲取過程,從而提升用戶體驗。因此,KiCad 只期望獲取顯示元器件所需的最少量的信息。在此階段,任何其他的鍵/值對都將被忽略。但是,如果這樣更容易實現且?guī)挷皇菃栴},API 也可以發(fā)送完整的詳細信息。

獲取詳細元器件信息

當用戶在符號選擇器中點擊一個元器件時,KiCad 將嘗試使用 parts 端點和標準的 GET 請求來檢索該元器件的完整詳細信息:{root-url}/{api-version}/parts/16.json。KiCad 期望得到一個單一的 JSON 對象,包含如下所示的鍵(注意:此示例中使用了name鍵)。

字典fields可以包含任意數量的附加鍵/值對;這也可以是一個空字典!一個key代表一個在 KiCad 符號編輯器中可見的字段名稱 (FIELD Name)。服務器可以根據需要提供任意多的字段,沒有數量限制。

每個KiCad 字段 (FIELD)都用一個字典表示,并且必須至少包含value鍵。此外,API 還可以通過可選的visible鍵返回該字段是否可見。如果未指定此鍵,KiCad 將默認顯示該字段。

如上所述,所有類型都必須轉換為字符串。允許的布爾值字符串為:"1", "0", "true", "false", "yes", "no", "y", "n"。這些字符串不區(qū)分大小寫。

HTTP_200_OK{ "id":"16", "name":"R_0R0_0603_0.125W_1%", "symbolIdStr":"Device:R", "exclude_from_bom":"False", "exclude_from_board":"False", "exclude_from_sim":"True", "fields": {   "footprint": {     "value":"Resistor_SMD:R_0603_1608Metric",     "visible":"False"    },   "datasheet": {     "value":"www.kicad.org",     "visible":"False"    },   "value": {     "value":"0R0"    },   "reference": {     "value":"R"    },   "description": {     "value":"I am a resistor",     "visible":"False"    },   "keywords": {     "value":"RES passive smd",     "visible":"False"    },   "custom1": {     "value":"MyText1",     "visible":"False"    },   "custom2": {     "value":"MyText2",     "visible":"False"    },   "custom3": {     "value":"MyText3",     "visible":"False"    }  }}

符號屬性 (Symbol Attributes)

如上例所示,API 提供了包含排除標志的功能。這些屬性用于在 KiCad 軟件中指定某些偏好設置。當前支持以下排除標志:

exclude_from_bom(從物料清單中排除)

exclude_from_board(從電路板中排除)

exclude_from_sim(從仿真中排除)

需要注意的是,如果這些排除標志中的一個或多個未被明確指定,KiCad 將假定它們未被設置為排除。換句話說,默認行為是在相關流程(BOM 生成、電路板布局和仿真)中包含所有項目和功能,除非使用這些排除標志明確指定。

服務器響應代碼 (Server Response Codes)

如果 KiCad 收到的不是HTTP 200響應,它將只向用戶顯示一條錯誤消息,并完全忽略該特定請求的結果。這意味著,如果 API 不符合要求,KiCad 最終可能無法顯示部分或任何分類或元器件。

如何實測?

由于需要服務端返回 Http library 約定的格式,因此實際測試不那么容易。大神可以自己起一個本地 Server 來模擬這一過程。其他同學嘗試在本地部署一些開源的系統進行嘗試,比如:

Part-DB:https://github.com/Part-DB/Part-DB-server

Inventree:https://inventree.org/

這兩個平臺都已經支持了 KiCad httplib,經過配置后可以直接連接。Inventree 還提供了一個插件,直接配置即可:

https://github.com/afkiwers/inventree_kicad

結束語 最后,我們以 Eli Hughes 在 KiCon US 上的演講結束 HTTP Library 的介紹。Eli 詳細講述了他如何在企業(yè)中使用 Httplib,以及同時讓 Altium 和 KiCad 使用一致的數據源: KiCad 已支持導入 Altium 工程(Project)

注意:如果想第一時間收到 KiCad 內容推送,請點擊下方的名片,按關注,再設為星標。

常用合集匯總:

和 Dr Peter 一起學 KiCad

KiCad 8 探秘合集

KiCad 使用經驗分享

KiCad 設計項目(Made with KiCad)

常見問題與解決方法

KiCad 開發(fā)筆記

插件應用

發(fā)布記錄

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 元器件
    +關注

    關注

    113

    文章

    4870

    瀏覽量

    97307
  • KiCAD
    +關注

    關注

    5

    文章

    296

    瀏覽量

    9949
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    華秋 KiCad 發(fā)行版 9.0.4 發(fā)布:屬于您自己的云端器件及模塊電路

    “ ?本次更新增加了個人中心,讓您可以維護自己的云端器件及模塊電路。同時增加了 PCB/SMT 下單功能,讓您可以在 KiCad 里直接
    的頭像 發(fā)表于 08-28 19:11 ?9275次閱讀
    華秋 <b class='flag-5'>KiCad</b> 發(fā)行版 9.0.4 發(fā)布:屬于您自己的云端<b class='flag-5'>器件</b><b class='flag-5'>庫</b>及模塊電路<b class='flag-5'>庫</b>

    KiCad華秋發(fā)行版中使用云端器件

    “ ? KiCad 自帶的質量非常高,建團隊也很強大,無奈 KiCad 沒有元器件的定義,雖然有 Database
    的頭像 發(fā)表于 08-07 11:15 ?5671次閱讀
    在<b class='flag-5'>KiCad</b>華秋發(fā)行版中使用云端<b class='flag-5'>器件</b><b class='flag-5'>庫</b>

    Aisler 發(fā)布 Lovely LibraryKiCad 打造的高質量歐洲元器件

    興地宣布推出我們的 Lovely Library,這是精心打造的符號與封裝,其中的元器件均由我們的合作伙伴 Würth Elektro
    的頭像 發(fā)表于 08-04 11:13 ?486次閱讀
    Aisler 發(fā)布 Lovely <b class='flag-5'>Library</b>:<b class='flag-5'>一</b><b class='flag-5'>個</b>為 <b class='flag-5'>KiCad</b> 打造的高質量歐洲<b class='flag-5'>元器件</b><b class='flag-5'>庫</b>

    企業(yè)級Linux磁盤維護的完整流程

    企業(yè)級Linux環(huán)境中,磁盤故障是導致系統宕機和數據丟失的主要原因之。據統計,超過70%的企業(yè)級服務器故障與存儲系統相關。作為運維工程師,掌握完整的磁盤維護流程不僅能預防故障,更能在關鍵時刻拯救整個業(yè)務系統。
    的頭像 發(fā)表于 07-23 16:59 ?395次閱讀

    企業(yè)級智能體是什么?有什么作用?

    在人工智能技術飛速發(fā)展的今天,企業(yè)級智能體正成為推動組織數字化轉型的重要力量。這種新型的企業(yè)智能化解決方案,正在重塑企業(yè)的運營模式和管理方式,為商業(yè)發(fā)展注入全新動能。
    的頭像 發(fā)表于 07-21 15:44 ?354次閱讀
    <b class='flag-5'>企業(yè)級</b>智能體是什么?有什么作用?

    企業(yè)級MySQL數據管理指南

    在當今數字化時代,MySQL作為全球最受歡迎的開源關系型數據,承載著企業(yè)核心業(yè)務數據的存儲與處理。作為數據管理員(DBA),掌握MySQL的企業(yè)
    的頭像 發(fā)表于 07-09 09:50 ?369次閱讀

    企業(yè)級SSD的核心技術與市場趨勢

    電子發(fā)燒友網綜合報道,企業(yè)級SSD由固態(tài)電子存儲芯片陣列制成,核心部件包括主控芯片、固件和存儲介質(NAND Flash、DRAM),其中主控芯片和固件直接決定企業(yè)級SSD的性能和可靠性等產品表現
    的頭像 發(fā)表于 07-06 05:34 ?6130次閱讀
    <b class='flag-5'>企業(yè)級</b>SSD的核心技術與市場趨勢

    KiCad 與 PLM(產品生命周期管理)初學者入門指南

    libraryKiCad 進行元器件的集成。 ” Chris 具有硬件工程背景和PCBA制造經驗,目前領導 Common Ground Electronics,專注于嵌入式系
    的頭像 發(fā)表于 06-10 11:17 ?1274次閱讀
    <b class='flag-5'>KiCad</b> 與 PLM(產品生命周期<b class='flag-5'>管理</b>)初學者入門指南

    用友BIP+DeepSeek催生超級智能體:10分鐘構建企業(yè)級智能助理

    實時見證用友BIP的每次升級與迭代,2月18日,《用友BIP發(fā)布時刻》首期正式上線,發(fā)布全新代用友BIP智能體構建平臺,在DeepSeek推理模型驅動下、無縫接入4000企業(yè)級
    的頭像 發(fā)表于 02-18 16:21 ?813次閱讀
    用友BIP+DeepSeek催生超級智能體:10分鐘構建<b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>企業(yè)級</b>智能助理

    慧榮科技企業(yè)級主控芯片SM8366為企業(yè)級SSD存儲芯片注入新動力

    慧榮科技憑借其深厚的技術積累和創(chuàng)新精神,推出了企業(yè)級主控芯片SM8366,這舉動無疑為企業(yè)級SSD存儲芯片市場注入了新的活力,慧榮科技此次推出的企業(yè)級主控芯片SM8366,在性能提升
    的頭像 發(fā)表于 02-07 13:28 ?795次閱讀
    慧榮科技<b class='flag-5'>企業(yè)級</b>主控芯片SM8366為<b class='flag-5'>企業(yè)級</b>SSD存儲芯片注入新動力

    構建企業(yè)級文件管理系統,輕松搭建 Seafile 社區(qū)版云存儲解決方案

    前言 隨著企業(yè)數據量的激增,構建安全、高效的企業(yè)級文件管理系統至關重要。華為 Flexus X 服務器,以其靈活的資源配置與卓越的性能,
    的頭像 發(fā)表于 01-13 11:14 ?2942次閱讀
    構建<b class='flag-5'>企業(yè)級</b>文件<b class='flag-5'>管理</b>系統,輕松搭建 Seafile 社區(qū)版云存儲解決方案

    Kerman的KiCad學習筆記:第2章 元件的創(chuàng)建和加載

    雖然KiCad 8.0提供了豐富的元件資源,但是在實際的電路設計中,有些特定的元件仍需自行制作。根據工程項目的需要,建立基于該項目的元器件和PCB封裝,有利于在以后的設計中更加方便
    的頭像 發(fā)表于 12-25 15:23 ?4793次閱讀
    Kerman的<b class='flag-5'>KiCad</b>學習筆記:第2章 元件<b class='flag-5'>庫</b>的創(chuàng)建和加載

    KiCon演講回顧(六):Würth Elektronik KiCad 設計與管理

    “ ?由 Würth ?Electronics 的黃夢龍和Richard Blakey帶來的分享,詳細介紹了 Wurth KiCad 元器件的設計及管理。 ”
    的頭像 發(fā)表于 11-26 01:08 ?974次閱讀
    KiCon演講回顧(六):Würth Elektronik <b class='flag-5'>KiCad</b> <b class='flag-5'>庫</b>設計與<b class='flag-5'>管理</b>

    KiCad中使用AD的封裝(Pcblib)

    。但除此之外,KiCad相當棒的功能:直接加載并直接使用AD的封裝,無需轉換操作?”。 加載AD封裝
    的頭像 發(fā)表于 11-12 12:21 ?4575次閱讀
    在<b class='flag-5'>KiCad</b>中使用AD的封裝<b class='flag-5'>庫</b>(Pcblib)

    emc企業(yè)級存儲系統的特點

    在當今這個數據驅動的時代,企業(yè)對于數據存儲的需求日益增長。EMC,作為全球領先的數據存儲解決方案提供商,其企業(yè)級存儲系統以其卓越的性能、可靠性和創(chuàng)新技術,為企業(yè)提供了
    的頭像 發(fā)表于 11-01 15:24 ?1316次閱讀