docs: 飞控 std topical index (79 projects)
Topical index for std-origin flight-controller projects. Combines
data/state/oshwhub_listing_full.jsonl listing fields with each
project's metadata.json (license, source completeness,
editor_version). Useful as a flat per-topic reference vs the global
projects.md sorted purely by stars.
77 added this batch (commit 29530e0) + 2 prior. 75 have editor source,
4 are attachments-only on upstream.
scripts/build_feikong_index.py is reproducible: source of truth lives
in data/state/ + data/raw/, no hand-editing.
This commit is contained in:
141
docs/feikong_std77.md
Normal file
141
docs/feikong_std77.md
Normal file
@@ -0,0 +1,141 @@
|
||||
# 飞控 / Flight-Controller Projects (std)
|
||||
|
||||
_主题定向索引:oshwhub `origin=std` 且 `name` 或 `introduction` 含「飞控」字样_
|
||||
|
||||
**当前**:79 个项目 · 75 个有可编辑器源 · 4 个仅附件(upstream 没编辑器 session)
|
||||
|
||||
> 数据来源:`data/state/oshwhub_listing_full.jsonl` + 每项 `data/raw/oshwhub/<uuid>/metadata.json`
|
||||
> 排序:likes 倒序
|
||||
|
||||
| # | Title | Author | License | Source | Editor | ❤️ Likes | ⭐ Stars | 🍴 Forks | 👁 Views | Grade |
|
||||
|---|-------|--------|---------|--------|--------|--------:|--------:|--------:|--------:|------:|
|
||||
| 1 | [SuperUAV](https://oshwhub.com/aeromodeller/superuav)<br>[`b3884754…`](../data/raw/oshwhub/b38847543af34f64bd034e24c94c130e/) | [Aeromodeller](https://oshwhub.com/aeromodeller) | GPL 3.0 | ✅ 2 docs | 6.5.15 | 481 | 1,117 | 198 | 57,303 | 4 |
|
||||
| 2 | [STM F405飞控 bf inav 穿越机 固定翼飞控](https://oshwhub.com/zl4430/mpu-6500-280)<br>[`d53cd4f3…`](../data/raw/oshwhub/d53cd4f3355c45319a36b19cc9ff252e/) | [左手DIY](https://oshwhub.com/zl4430) | Public Domain | ✅ 1 docs | 6.5.22 | 373 | 799 | 281 | 103,656 | 4 |
|
||||
| 3 | [#第八届立创电赛#四轴飞行器Liguanxi-UAV(空心杯无人机飞控)](https://oshwhub.com/liguanxi/si-zhou-fei-xing-qi-ESP-Liguanxi)<br>[`eb1e9ddf…`](../data/raw/oshwhub/eb1e9ddf771f47d1b898e4157f3f35f9/) | [liguanxi](https://oshwhub.com/liguanxi) | GPL 3.0 | ✅ 2 docs | 6.5.34 | 277 | 741 | 278 | 74,635 | 1 |
|
||||
| 4 | [NAZE32飞控](https://oshwhub.com/caisheng/naze32-fei-kong)<br>[`3019f17a…`](../data/raw/oshwhub/3019f17a449249a18390c46594f03cfb/) | [蔡子](https://oshwhub.com/caisheng) | MIT | ✅ 6 docs | 6.4.25 | 261 | 552 | 292 | 56,827 | 4 |
|
||||
| 5 | [空心杯四轴穿越机](https://oshwhub.com/death/naze32-kong-xin-bei-si-zhou)<br>[`b8ade899…`](../data/raw/oshwhub/b8ade899f37149e1b562c8f38369fb5a/) | [SaekiSayaka](https://oshwhub.com/death) | Public Domain | ✅ 2 docs | 6.5.23 | 186 | 474 | 216 | 53,256 | 3 |
|
||||
| 6 | [AT32F437飞控](https://oshwhub.com/pdwdw/at32f437)<br>[`bd3d092f…`](../data/raw/oshwhub/bd3d092f63dd4b6f88eba099ef0e3c81/) | [辉光管](https://oshwhub.com/pdwdw) | GPL 3.0 | ✅ 2 docs | 6.5.34 | 180 | 401 | 273 | 53,725 | 3 |
|
||||
| 7 | [AT32国产飞控(30.5*30.5)](https://oshwhub.com/sheep_finder/guo-chan-fei-kong)<br>[`b5c6a75f…`](../data/raw/oshwhub/b5c6a75f91804bd1b4992b07c7e77b78/) | [sheep_finder](https://oshwhub.com/sheep_finder) | GPL 3.0 | ✅ 3 docs | 6.5.39 | 176 | 366 | 392 | 28,549 | 2 |
|
||||
| 8 | [GLDrone_PX4](https://oshwhub.com/guanglun/gldrone_px4)<br>[`6625cbb0…`](../data/raw/oshwhub/6625cbb0a1fe46dda75500fd781193e0/) | [guanglun](https://oshwhub.com/guanglun) | MIT | ✅ 6 docs | 6.4.31 | 139 | 347 | 155 | 36,790 | 4 |
|
||||
| 9 | [elrs-rx-2.4g-pwm](https://oshwhub.com/vinvaa/elrs-rx-2-4g-pwm)<br>[`d72f8b54…`](../data/raw/oshwhub/d72f8b540e8946d3bf2a1de764b7fc63/) | [vinvaa & xi0n9Fpv](https://oshwhub.com/vinvaa) | GPL 3.0 | ✅ 6 docs | 6.5.23 | 128 | 247 | 124 | 31,997 | 3 |
|
||||
| 10 | [2021年G题-植保飞行器+380844A](https://oshwhub.com/ni-kan-wo-shuo-di-dui-fou-dui/2021-niang-ti-zhi-bao-fei-xing-qi)<br>[`5089e537…`](../data/raw/oshwhub/5089e537f97d4be1a13252fb120f9962/) | [你看我说的对不队](https://oshwhub.com/ni-kan-wo-shuo-di-dui-fou-dui) | CC-BY-NC-SA 3.0 | ✅ 3 docs | 6.4.25 | 89 | 127 | 26 | 18,447 | 4 |
|
||||
| 11 | [2021年 G题 植保飞行器 639423A队](https://oshwhub.com/dahjdksakdlshjkads/g-zhi-bao-fei-xing-qi)<br>[`8394447d…`](../data/raw/oshwhub/8394447d1bf7406daf1e58458bfd5262/) | [dahjdksakdlshjkads](https://oshwhub.com/dahjdksakdlshjkads) | CC-BY-NC-SA 3.0 | ✅ 6 docs | 6.4.30 | 74 | 140 | 17 | 21,796 | 3 |
|
||||
| 12 | [ESP32四轴飞行器(飞控)](https://oshwhub.com/liguanxi/esp32-fei-kong_copy_copy)<br>[`5cd6d5e7…`](../data/raw/oshwhub/5cd6d5e7f3d44e79a072b90b12324b08/) | [liguanxi](https://oshwhub.com/liguanxi) | GPL 3.0 | ✅ 2 docs | 6.5.29 | 70 | 197 | 56 | 25,542 | 3 |
|
||||
| 13 | [STM32F722飞控](https://oshwhub.com/cgncm/STM32F722flightcontrol)<br>[`fac8abdb…`](../data/raw/oshwhub/fac8abdbdb364d01882656f1b0c623e1/) | [CGNCM](https://oshwhub.com/cgncm) | GPL 3.0 | ✅ 5 docs | 6.5.23 | 59 | 128 | 85 | 19,512 | 1 |
|
||||
| 14 | [FLYWOOF411V2+ELRS 2.4G集成飞控](https://oshwhub.com/yd-ai/flywoof411v2-2-4)<br>[`36b532a2…`](../data/raw/oshwhub/36b532a2150a4252920b60c765e5e614/) | [yd-AI](https://oshwhub.com/yd-ai) | Public Domain | ✅ 2 docs | 6.5.15 | 58 | 138 | 73 | 13,601 | 3 |
|
||||
| 15 | [F405穿越机飞控](https://oshwhub.com/czf0823/pcb_2020-07-30_01-02-38_2020-11-29_00-04-17)<br>[`0d78cbbf…`](../data/raw/oshwhub/0d78cbbf29b24363a639b0848aa68b01/) | [陈晓芳](https://oshwhub.com/czf0823) | GPL 3.0 | ✅ 3 docs | 6.4.7 | 57 | 148 | 69 | 23,199 | 2 |
|
||||
| 16 | [15元飞控,带详细教程](https://oshwhub.com/fgdfhdr/kai-yuan-fei-kong)<br>[`d698304c…`](../data/raw/oshwhub/d698304c0e8e4d86a0d23045b1e3d5f2/) | [荣妹儿科技](https://oshwhub.com/fgdfhdr) | LGPL 3.0 | ✅ 2 docs | 6.5.46 | 57 | 174 | 107 | 17,833 | 1 |
|
||||
| 17 | [AT32AIO 20孔飞控板](https://oshwhub.com/cai20070410/at32-20-kong-aio-fei-kong-ban)<br>[`48919432…`](../data/raw/oshwhub/48919432e4dc44d3b59ccc4a3ed4367a/) | [cai](https://oshwhub.com/cai20070410) | CC BY-NC-SA 4.0 | ✅ 6 docs | 6.5.40 | 52 | 130 | 108 | 10,420 | 1 |
|
||||
| 18 | [NAZE32飞控的3寸穿越机](https://oshwhub.com/kaguyamokou/naze32-fei-kong-re_copy)<br>[`c132a9a4…`](../data/raw/oshwhub/c132a9a400ea4ddbbae8fd499a587b10/) | [蓬莱的树海](https://oshwhub.com/kaguyamokou) | GPL 3.0 | ✅ 3 docs | 6.5.29 | 51 | 147 | 31 | 18,828 | 3 |
|
||||
| 19 | [【2023电赛】G题-消防无人机](https://oshwhub.com/fjbf/wu-ren-ji-di-ban)<br>[`405e72f7…`](../data/raw/oshwhub/405e72f7ef4d449ca781a8de06df9fec/) | [飞机不废](https://oshwhub.com/fjbf) | CC BY-NC 3.0 | ✅ 2 docs | 6.5.34 | 44 | 148 | 38 | 21,765 | 1 |
|
||||
| 20 | [MWC空心杯飞控+萝莉控4通接收(已修复小问题)](https://oshwhub.com/HatsuneMikuHD/mwc-kong-xin-bei-fei-kong)<br>[`9bf5f7dd…`](../data/raw/oshwhub/9bf5f7dd40c346d58b2d056b6ea32133/) | [HatsuneMikuHD](https://oshwhub.com/HatsuneMikuHD) | GPL 3.0 | ✅ 2 docs | 6.4.7 | 43 | 122 | 24 | 16,419 | 2 |
|
||||
| 21 | [F411飞控](https://oshwhub.com/yang_xw0011/F411fei-kong)<br>[`a77dbfeb…`](../data/raw/oshwhub/a77dbfeb1a894aa5979946b008bdc142/) | [自动挖掘机](https://oshwhub.com/yang_xw0011) | MIT | 📎 attachments-only | — | 40 | 83 | 35 | 15,127 | 2 |
|
||||
| 22 | [NAZE32飞控板](https://oshwhub.com/caisheng/naze32-fei-kong-ban)<br>[`8f828882…`](../data/raw/oshwhub/8f828882c3344e10b37bf0a63cbc4351/) | [蔡子](https://oshwhub.com/caisheng) | GPL 3.0 | ✅ 2 docs | 6.3.35 | 39 | 98 | 34 | 14,381 | 2 |
|
||||
| 23 | [MATEK F411固定翼飞控](https://oshwhub.com/zl4430/matek-f411-gu-ding-yi-fei-kong)<br>[`24adb01d…`](../data/raw/oshwhub/24adb01d49b04090b3a7e2ad549f3db0/) | [左手DIY](https://oshwhub.com/zl4430) | Public Domain | ✅ 1 docs | 6.4.31 | 37 | 95 | 21 | 17,285 | 3 |
|
||||
| 24 | [AT32F437固定翼飞控](https://oshwhub.com/pdwdw/at32f437_copy)<br>[`5a7cfbca…`](../data/raw/oshwhub/5a7cfbca532548e2be9bc8bf78118e9d/) | [辉光管](https://oshwhub.com/pdwdw) | GPL 3.0 | ✅ 2 docs | 6.5.34 | 35 | 101 | 67 | 15,533 | 3 |
|
||||
| 25 | [小四轴飞控(简化版)](https://oshwhub.com/nevet/fly_main_board)<br>[`ebcaa9ec…`](../data/raw/oshwhub/ebcaa9ec6f0044548d8b85adb58876b3/) | [Nevet](https://oshwhub.com/nevet) | GPL 3.0 | ✅ 2 docs | 6.5.8 | 34 | 97 | 29 | 16,088 | 3 |
|
||||
| 26 | [STM32F103C8T6核心板](https://oshwhub.com/TWENTYY/c8t6-littleboard)<br>[`a4635267…`](../data/raw/oshwhub/a4635267bd234524a2a8656d0b185f25/) | [TWENTYY](https://oshwhub.com/TWENTYY) | GPL 3.0 | ✅ 2 docs | 6.3.53 | 32 | 93 | 101 | 14,150 | 2 |
|
||||
| 27 | [F4飞控-适配DOBBY四轴无刷机架](https://oshwhub.com/xiao5333/F4fei-kong-shi-pei-DOBBYsi-zhou-)<br>[`855bf2c3…`](../data/raw/oshwhub/855bf2c36ffb4d4da4e4552b909937a0/) | [xiao5333](https://oshwhub.com/xiao5333) | GPL 3.0 | 📎 attachments-only | — | 30 | 63 | 16 | 7,418 | 3 |
|
||||
| 28 | [STM32H743飞控](https://oshwhub.com/yang_xw0011/STM32H743fei-kong)<br>[`511e178a…`](../data/raw/oshwhub/511e178ad2e04bc7a70b588429530901/) | [自动挖掘机](https://oshwhub.com/yang_xw0011) | MIT | 📎 attachments-only | — | 30 | 55 | 11 | 14,136 | 1 |
|
||||
| 29 | [AT32F435mini飞控](https://oshwhub.com/pdwdw/at32f435mini)<br>[`2393aa2d…`](../data/raw/oshwhub/2393aa2df637442c88c9a1db9283bacb/) | [辉光管](https://oshwhub.com/pdwdw) | LGPL 3.0 | ✅ 2 docs | 6.5.22 | 29 | 68 | 58 | 10,081 | 1 |
|
||||
| 30 | [M8N GPS北斗集成5883罗盘](https://oshwhub.com/humphreylin/m8n-gps)<br>[`771611ba…`](../data/raw/oshwhub/771611ba49464cddaf455d4180f6dcef/) | [HumphreyLin](https://oshwhub.com/humphreylin) | GPL 3.0 | ✅ 2 docs | 6.5.23 | 28 | 67 | 54 | 11,057 | 2 |
|
||||
| 31 | [P900数传电台](https://oshwhub.com/yang_xw0011/P900shuo-zhuan-dian-tai)<br>[`78dd4bf7…`](../data/raw/oshwhub/78dd4bf7e1c94c1e82b34c5509874cc6/) | [自动挖掘机](https://oshwhub.com/yang_xw0011) | MIT | 📎 attachments-only | — | 28 | 48 | 20 | 7,483 | 2 |
|
||||
| 32 | [MWC飞控 (arduino)](https://oshwhub.com/lantianyu/mwc-fei-kong_copy)<br>[`d98362d9…`](../data/raw/oshwhub/d98362d96dec4952877c780682480425/) | [繁星*兮雨](https://oshwhub.com/lantianyu) | unknown | ✅ 3 docs | 6.4.2 | 26 | 75 | 42 | 10,087 | 1 |
|
||||
| 33 | [F411固定翼小飞控](https://oshwhub.com/ss2s/f411-gu-ding-yi-xiao-fei-kong)<br>[`22667286…`](../data/raw/oshwhub/22667286817e4541bad270659d826c23/) | [ss2s](https://oshwhub.com/ss2s) | GPL 3.0 | ✅ 6 docs | 6.5.25 | 25 | 78 | 84 | 7,249 | 1 |
|
||||
| 34 | [菜鸟F405飞控](https://oshwhub.com/vyvb/cai-niao-405-fei-kong)<br>[`88504826…`](../data/raw/oshwhub/8850482672624280a15fe8e504c2fe5e/) | [一只只吃不睡的猫](https://oshwhub.com/vyvb) | Public Domain | ✅ 11 docs | 6.5.22 | 23 | 57 | 75 | 5,958 | 1 |
|
||||
| 35 | [【2023电赛】电赛 · Drone-duino基于ESP32的无人机](https://oshwhub.com/balala-the-first/NUEDC-Drone)<br>[`967b8688…`](../data/raw/oshwhub/967b8688006d4add9cbe1ded0c078744/) | [巴啦啦一号](https://oshwhub.com/balala-the-first) | GPL 3.0 | ✅ 2 docs | 6.5.29 | 23 | 53 | 7 | 9,431 | 1 |
|
||||
| 36 | [M8030_GPS模块30孔](https://oshwhub.com/humphreylin/gps-mu-kuai-30-kong)<br>[`7c227fd5…`](../data/raw/oshwhub/7c227fd50bcd410fbfec06823bc17bd7/) | [HumphreyLin](https://oshwhub.com/humphreylin) | GPL 3.0 | ✅ 2 docs | 6.5.27 | 22 | 67 | 31 | 10,395 | 4 |
|
||||
| 37 | [GLDrone_PX4_R329](https://oshwhub.com/guanglun/gldrone_px4_r329)<br>[`1e07c432…`](../data/raw/oshwhub/1e07c432fe174955bc2a015bc96fae8a/) | [guanglun](https://oshwhub.com/guanglun) | MIT | ✅ 8 docs | 6.4.31 | 22 | 47 | 42 | 7,383 | 3 |
|
||||
| 38 | [17元固定翼飞控,双层板、单面布局](https://oshwhub.com/fgdfhdr/kai-yuan-15-yuan-gu-ding-yi-fei-kong)<br>[`41dbabaa…`](../data/raw/oshwhub/41dbabaaf5f04a8385d5eb701246bbb3/) | [荣妹儿科技](https://oshwhub.com/fgdfhdr) | GPL 3.0 | ✅ 1 docs | 6.5.39 | 22 | 39 | 31 | 3,134 | 1 |
|
||||
| 39 | [Maruko小四轴飞控](https://oshwhub.com/chocolatem/maruko)<br>[`1f574fed…`](../data/raw/oshwhub/1f574fed507041ab99b08ecce0c187db/) | [大丸子](https://oshwhub.com/chocolatem) | BSD | ✅ 2 docs | 6.5.27 | 21 | 58 | 19 | 14,202 | 2 |
|
||||
| 40 | [2023年G题【空地协同智能消防系统】打飞控的](https://oshwhub.com/px4yyds/flight)<br>[`6aa77666…`](../data/raw/oshwhub/6aa77666cf3344fcb549249b24cf81e8/) | [打飞控的](https://oshwhub.com/px4yyds) | GPL 3.0 | ✅ 2 docs | 6.5.34 | 21 | 61 | 6 | 9,034 | 1 |
|
||||
| 41 | [Flying-RC_F405-SE-v2.0 F405飞控](https://oshwhub.com/hljjmsr/flying-rc_f405-se-v2-0)<br>[`db13a559…`](../data/raw/oshwhub/db13a559a8ff42d2a5ebe462a8d42cd8/) | [hljjmsr](https://oshwhub.com/hljjmsr) | GPL 3.0 | ✅ 4 docs | 6.4.25 | 21 | 46 | 30 | 12,651 | 1 |
|
||||
| 42 | [萝丽三代遥控万用改装板](https://oshwhub.com/onlylgb/loli-zui-xiao-ban)<br>[`44b3175b…`](../data/raw/oshwhub/44b3175b9aae45acb274d626c1c44d0c/) | [onlylgb](https://oshwhub.com/onlylgb) | LGPL | ✅ 4 docs | 6.5.27 | 20 | 48 | 39 | 5,226 | 2 |
|
||||
| 43 | [SA380开源无人机](https://oshwhub.com/sora380/fei-kong-2024)<br>[`feaac332…`](../data/raw/oshwhub/feaac33200624098bd924a0e381c9314/) | [Sora380](https://oshwhub.com/sora380) | GPL 3.0 | ✅ 5 docs | 6.5.43 | 19 | 36 | 17 | 4,319 | 1 |
|
||||
| 44 | [FlyingRC-F4Wing-MK2](https://oshwhub.com/hljjmsr/flyingrc-f4wing-mk2)<br>[`59710834…`](../data/raw/oshwhub/597108341aa64e6e8ec6979fd3842403/) | [hljjmsr](https://oshwhub.com/hljjmsr) | GPL 3.0 | ✅ 10 docs | 6.5.9 | 19 | 28 | 23 | 5,651 | 1 |
|
||||
| 45 | [f103飞控](https://oshwhub.com/heiyoo/f103-fei-kong)<br>[`0a2640a3…`](../data/raw/oshwhub/0a2640a3779b4ca29c9e247acecc7e4d/) | [heiyoo](https://oshwhub.com/heiyoo) | Public Domain | ✅ 6 docs | 6.4.25 | 19 | 47 | 12 | 8,329 | 0 |
|
||||
| 46 | [控制类+飞控类+电源类+openmv一体化双核主控板](https://oshwhub.com/666666666666/kong-zhi-lei-fei-kong-lei-dian-yuan-lei-openmv-yi-ti-hua-shuang-hu-zhu-kong-ban)<br>[`6bb663af…`](../data/raw/oshwhub/6bb663af9d8b4ebe8ff124827eef99c3/) | [666666666666](https://oshwhub.com/666666666666) | unknown | ✅ 2 docs | 6.2.31 | 18 | 63 | 16 | 9,435 | 2 |
|
||||
| 47 | [esp8266陀螺仪飞控](https://oshwhub.com/tgjohn/esp8266-tuo-luo-yi-fei-kong_copy)<br>[`65335d91…`](../data/raw/oshwhub/65335d9112d54952974fa1118adb91d8/) | [tgjohn](https://oshwhub.com/tgjohn) | Public Domain | ✅ 4 docs | 6.5.23 | 18 | 32 | 9 | 5,670 | 1 |
|
||||
| 48 | [航模遥控器用单通道实现用按键控制选择飞控的8种模式电路](https://oshwhub.com/baihe6600/dan-tong-dao-shi-xian-yong-an-jian-kong-zhi-xuan-zhai-8-zhong-mu-shi-dian-lu)<br>[`aae761ed…`](../data/raw/oshwhub/aae761ed020849a39161569468190dd8/) | [荒野老白](https://oshwhub.com/baihe6600) | Public Domain | ✅ 2 docs | 6.5.3 | 17 | 37 | 10 | 7,258 | 3 |
|
||||
| 49 | [AT32国产飞控 两层单面便于手搓版](https://oshwhub.com/cai20070410/at32f437-fei-kong)<br>[`5525d220…`](../data/raw/oshwhub/5525d220614d4bc391d7ec21f7b47dca/) | [cai](https://oshwhub.com/cai20070410) | GPL 3.0 | ✅ 7 docs | 6.5.28 | 17 | 31 | 21 | 8,330 | 1 |
|
||||
| 50 | [FlyingRC-F405-SLEEK-V1.0](https://oshwhub.com/hljjmsr/flyingrc-f405-sleek-v1-0)<br>[`12df52a6…`](../data/raw/oshwhub/12df52a6905f47cba2585d0c5145ab93/) | [hljjmsr](https://oshwhub.com/hljjmsr) | GPL 3.0 | ✅ 9 docs | 6.5.5 | 16 | 37 | 43 | 7,966 | 3 |
|
||||
| 51 | [飞控隔板30x30](https://oshwhub.com/vinvaa/fei-kong-ge-ban-30x30)<br>[`4579b351…`](../data/raw/oshwhub/4579b351047f4acfb9bbc67e0204fc4e/) | [vinvaa & xi0n9Fpv](https://oshwhub.com/vinvaa) | GPL 3.0 | ✅ 1 docs | 6.5.23 | 15 | 25 | 11 | 2,253 | 1 |
|
||||
| 52 | [100A电流检测模块](https://oshwhub.com/HumphreyLin/100a-dian-liu-ji)<br>[`0e155b75…`](../data/raw/oshwhub/0e155b75aeec408e9341221affd9f174/) | [HumphreyLin](https://oshwhub.com/HumphreyLin) | GPL 3.0 | ✅ 2 docs | 6.5.5 | 14 | 38 | 16 | 6,384 | 3 |
|
||||
| 53 | [LED航灯WS2812](https://oshwhub.com/caisheng/chuan-yue-jiled-hang-dengws2812)<br>[`abc4175d…`](../data/raw/oshwhub/abc4175dee5f4d1b9755ac10185cc1be/) | [蔡子](https://oshwhub.com/caisheng) | MIT | ✅ 5 docs | 6.4.25 | 14 | 37 | 12 | 4,593 | 0 |
|
||||
| 54 | [FlyingRC_AT32_FC-V0.1](https://oshwhub.com/hljjmsr/flyingrc_at32_fc-v0-1)<br>[`ed9da861…`](../data/raw/oshwhub/ed9da86147f842b6b3d1971efedb6b63/) | [hljjmsr](https://oshwhub.com/hljjmsr) | GPL 3.0 | ✅ 9 docs | 6.5.22 | 12 | 24 | 24 | 3,514 | 1 |
|
||||
| 55 | [F405-Wing 0603 mk4飞控](https://oshwhub.com/yuanfpv/f405-wing)<br>[`44d54988…`](../data/raw/oshwhub/44d54988eb9b4728baa5425d1f8d4909/) | [YuanCoding](https://oshwhub.com/yuanfpv) | GPL 3.0 | ✅ 15 docs | 6.5.23 | 9 | 32 | 34 | 4,933 | 1 |
|
||||
| 56 | [空心杯AIO飞控(stm32f103c8t6主控)](https://oshwhub.com/hechuzhiyou/kong-xin-bei-AIOfei-kong-stm32f1)<br>[`6d3086f1…`](../data/raw/oshwhub/6d3086f16a3d4f01a45f227b562c7395/) | [hechuzhiyou](https://oshwhub.com/hechuzhiyou) | GPL 3.0 | ✅ 3 docs | 6.5.23 | 9 | 40 | 33 | 8,179 | 0 |
|
||||
| 57 | [acododaF7mini固定翼适用分电板V1.1](https://oshwhub.com/InFinityGamer/acododaf7mini-gu-ding-yi-shi-yong-fen-dian-ban_copy)<br>[`34ff342c…`](../data/raw/oshwhub/34ff342c4f4945489f5e82f560ffbe35/) | [InFinityGamer](https://oshwhub.com/InFinityGamer) | GPL 3.0 | ✅ 2 docs | 6.4.32 | 8 | 21 | 18 | 3,041 | 3 |
|
||||
| 58 | [AT32固定翼飞控配套2~12s 3A BEC 电流计小板](https://oshwhub.com/pdwdw/3A-bec)<br>[`3c08c82c…`](../data/raw/oshwhub/3c08c82cf217422281865d44586aaad5/) | [辉光管](https://oshwhub.com/pdwdw) | GPL 3.0 | ✅ 2 docs | 6.5.22 | 8 | 21 | 16 | 3,705 | 1 |
|
||||
| 59 | [FlyingRC-F4swamp-V1.0](https://oshwhub.com/hljjmsr/flyingrc-f4swamp-v1-0)<br>[`a2096bc0…`](../data/raw/oshwhub/a2096bc0c616444d9d386eb89862611e/) | [hljjmsr](https://oshwhub.com/hljjmsr) | GPL 3.0 | ✅ 10 docs | 6.5.1 | 8 | 9 | 9 | 1,777 | 0 |
|
||||
| 60 | [MPU6050姿态传感模块](https://oshwhub.com/ld_xk/mpu6050-zi-tai-chuan-gan-mu-kuai)<br>[`19dc7dd5…`](../data/raw/oshwhub/19dc7dd513c5477c93b33f41993003e3/) | [ld_xk](https://oshwhub.com/ld_xk) | GPL 3.0 | ✅ 2 docs | 6.4.7 | 7 | 24 | 14 | 7,133 | 2 |
|
||||
| 61 | [管爷f437mini(未验证)](https://oshwhub.com/wszq/guan-ye-f437mini_copy)<br>[`5ca34de0…`](../data/raw/oshwhub/5ca34de062904302a4209193309792b8/) | [本堂町小春](https://oshwhub.com/wszq) | GPL 3.0 | ✅ 2 docs | 6.5.29 | 7 | 7 | 0 | 1,870 | 1 |
|
||||
| 62 | [F4v3ProMini](https://oshwhub.com/wl177/f4v3promini)<br>[`429c8455…`](../data/raw/oshwhub/429c8455a41d40ca941841983e8cacd9/) | [wl177](https://oshwhub.com/wl177) | GPL 3.0 | ✅ 2 docs | 6.5.28 | 7 | 15 | 11 | 2,103 | 1 |
|
||||
| 63 | [(新)AT32AIO 20孔飞控板V2](https://oshwhub.com/cai20070410/at32-20-kong-aio-fei-kong-ban_copy)<br>[`4b1becb0…`](../data/raw/oshwhub/4b1becb00f4d4c65832451d2e7f49d5f/) | [cai](https://oshwhub.com/cai20070410) | CC BY-NC-SA 4.0 | ✅ 2 docs | 6.5.51 | 6 | 11 | 16 | 796 | 1 |
|
||||
| 64 | [F405火箭飞控板载ELRS数传](https://oshwhub.com/cai20070410/f405-huo-jian-fei-kong-50-63)<br>[`246a02b1…`](../data/raw/oshwhub/246a02b1831c454a9d7ad54e148d7986/) | [cai](https://oshwhub.com/cai20070410) | GPL 3.0 | ✅ 6 docs | 6.5.40 | 6 | 33 | 28 | 3,376 | 1 |
|
||||
| 65 | [穿越机飞控飞固定翼 分电板带电流计](https://oshwhub.com/zl4430/fei-kong-dian-liu-ji)<br>[`c5b584cc…`](../data/raw/oshwhub/c5b584cc76684301b11c91798db939d2/) | [左手DIY](https://oshwhub.com/zl4430) | Public Domain | ✅ 2 docs | 6.5.37 | 6 | 18 | 11 | 3,310 | 1 |
|
||||
| 66 | [GLDRONE_ESP32_PX4_PICO](https://oshwhub.com/guanglun/gldrone_esp32_px4_pico)<br>[`80917167…`](../data/raw/oshwhub/80917167bd054411912962e3e4252bad/) | [guanglun](https://oshwhub.com/guanglun) | MIT | ✅ 7 docs | 6.5.15 | 5 | 8 | 6 | 2,135 | 1 |
|
||||
| 67 | [HyFlightctrl](https://oshwhub.com/Hyacincher/HyFlightctrl)<br>[`61f8b9f8…`](../data/raw/oshwhub/61f8b9f8c1f14471933abfa307bf2d90/) | [Hyacincher](https://oshwhub.com/Hyacincher) | GPL 3.0 | ✅ 3 docs | 6.4.25 | 4 | 12 | 10 | 1,757 | 3 |
|
||||
| 68 | [Swift F405 固定翼飞控 V1.0](https://oshwhub.com/airbus15/matek-f405-wse-hua-xiang-ji-fei-kong-v1-0)<br>[`dce335ad…`](../data/raw/oshwhub/dce335ad0d0c43cfba93bf8d2a142acc/) | [AIRBUS15](https://oshwhub.com/airbus15) | GPL 3.0 | ✅ 6 docs | 6.5.46 | 4 | 15 | 18 | 1,355 | 1 |
|
||||
| 69 | [电动涵道飞控公开](https://oshwhub.com/littlesunny2001/flycontrol_copy)<br>[`b5c7cd3c…`](../data/raw/oshwhub/b5c7cd3c3758432f909a8eb2f829358f/) | [littlesunny2001](https://oshwhub.com/littlesunny2001) | GPL 3.0 | ✅ 2 docs | 6.5.5 | 4 | 10 | 2 | 1,852 | 0 |
|
||||
| 70 | [V3s_FlyController](https://oshwhub.com/Nccer/my_v3s_copy)<br>[`6e222e8c…`](../data/raw/oshwhub/6e222e8ca40549009c60f5892f4e37fd/) | [Nccer](https://oshwhub.com/Nccer) | GPL 3.0 | ✅ 3 docs | 6.5.1 | 4 | 7 | 2 | 2,288 | 0 |
|
||||
| 71 | [MATEK F405 WSE 滑翔机飞控主控板部分](https://oshwhub.com/airbus15/matek-f405-wse-fc)<br>[`7ced1bbf…`](../data/raw/oshwhub/7ced1bbf350443938663c53151583a93/) | [AIRBUS15](https://oshwhub.com/airbus15) | GPL 3.0 | ✅ 4 docs | 6.5.46 | 3 | 5 | 5 | 570 | 1 |
|
||||
| 72 | [F405-Wing-usb](https://oshwhub.com/yuanfpv/f405-wing-usb)<br>[`03983a6a…`](../data/raw/oshwhub/03983a6a52df4d9d8115a4a0fe8ca830/) | [YuanCoding](https://oshwhub.com/yuanfpv) | GPL 3.0 | ✅ 2 docs | 6.5.23 | 3 | 2 | 12 | 1,780 | 1 |
|
||||
| 73 | [MWC_AIRPLANE_V2](https://oshwhub.com/thecrazyboy/mwc_airplane_copy)<br>[`2e6315ee…`](../data/raw/oshwhub/2e6315eee4944072a6e408b0951c74f2/) | [thecrazyboy](https://oshwhub.com/thecrazyboy) | GPL 3.0 | ✅ 6 docs | 6.4.7 | 2 | 4 | 6 | 1,312 | 1 |
|
||||
| 74 | [MWC_AIRPLANE_V3](https://oshwhub.com/thecrazyboy/mwc_airplane_copy_copy)<br>[`792d7ef0…`](../data/raw/oshwhub/792d7ef0379641f3b853b6c2143b4235/) | [thecrazyboy](https://oshwhub.com/thecrazyboy) | GPL 3.0 | ✅ 7 docs | 6.4.17 | 1 | 7 | 5 | 1,930 | 2 |
|
||||
| 75 | [IST8310外置罗盘](https://oshwhub.com/airbus15/ist8310-luo-pan)<br>[`91a69b9f…`](../data/raw/oshwhub/91a69b9fbe8841cdb8d73c5bea93158d/) | [AIRBUS15](https://oshwhub.com/airbus15) | GPL 3.0 | ✅ 3 docs | 6.5.34 | 1 | 6 | 6 | 495 | 1 |
|
||||
| 76 | [Lora1280_Radio](https://oshwhub.com/qjay/lora1280radio)<br>[`99618f1e…`](../data/raw/oshwhub/99618f1edce54a258388688ae1c2c15d/) | [qjay](https://oshwhub.com/qjay) | Public Domain | ✅ 5 docs | 6.5.28 | 1 | 3 | 0 | 1,083 | 1 |
|
||||
| 77 | [MATEK F405 WSE 滑翔机飞控电源板部分](https://oshwhub.com/airbus15/matek-f405-wse-hua-xiang-ji-fei-kong-dian-yuan-ban-bu-fen)<br>[`025eab68…`](../data/raw/oshwhub/025eab68656a4f80992a8349ffc3ecb4/) | [AIRBUS15](https://oshwhub.com/airbus15) | GPL 3.0 | ✅ 3 docs | 6.5.46 | 0 | 3 | 1 | 397 | 1 |
|
||||
| 78 | [MATEK F405 WSE 飞控USB板部分](https://oshwhub.com/airbus15/matek-f405-wse-fei-kong-usb-ban-bu-fen)<br>[`8ee22e5a…`](../data/raw/oshwhub/8ee22e5a5bf9430ab1b87d738eca794c/) | [AIRBUS15](https://oshwhub.com/airbus15) | GPL 3.0 | ✅ 2 docs | 6.5.46 | 0 | 2 | 0 | 320 | 1 |
|
||||
| 79 | [m1_mh743_ada_v4](https://oshwhub.com/JumperShao/m1_mh743_ada_v4)<br>[`21817f8f…`](../data/raw/oshwhub/21817f8fcf2d4e36b96f8e00c33a5c93/) | [JumperShao](https://oshwhub.com/JumperShao) | GPL 3.0 | ✅ 1 docs | 6.4.31 | 0 | 1 | 2 | 1,074 | 0 |
|
||||
|
||||
## License 分布
|
||||
|
||||
- `GPL 3.0` — 50
|
||||
- `Public Domain` — 10
|
||||
- `MIT` — 8
|
||||
- `CC-BY-NC-SA 3.0` — 2
|
||||
- `LGPL 3.0` — 2
|
||||
- `CC BY-NC-SA 4.0` — 2
|
||||
- `unknown` — 2
|
||||
- `CC BY-NC 3.0` — 1
|
||||
- `BSD` — 1
|
||||
- `LGPL` — 1
|
||||
|
||||
## Editor 版本分布(有源工程的项目)
|
||||
|
||||
- `6.5.23` — 9
|
||||
- `6.4.25` — 6
|
||||
- `6.5.34` — 6
|
||||
- `6.5.22` — 5
|
||||
- `6.5.46` — 5
|
||||
- `6.4.31` — 4
|
||||
- `6.4.7` — 4
|
||||
- `6.5.29` — 4
|
||||
- `6.5.15` — 3
|
||||
- `6.5.27` — 3
|
||||
- `6.5.28` — 3
|
||||
- `6.5.5` — 3
|
||||
- `6.5.1` — 2
|
||||
- `6.5.39` — 2
|
||||
- `6.5.40` — 2
|
||||
- `6.2.31` — 1
|
||||
- `6.3.35` — 1
|
||||
- `6.3.53` — 1
|
||||
- `6.4.17` — 1
|
||||
- `6.4.2` — 1
|
||||
- `6.4.30` — 1
|
||||
- `6.4.32` — 1
|
||||
- `6.5.25` — 1
|
||||
- `6.5.3` — 1
|
||||
- `6.5.37` — 1
|
||||
- `6.5.43` — 1
|
||||
- `6.5.51` — 1
|
||||
- `6.5.8` — 1
|
||||
- `6.5.9` — 1
|
||||
|
||||
## 重新生成
|
||||
|
||||
```bash
|
||||
uv run python scripts/build_feikong_index.py
|
||||
```
|
||||
144
scripts/build_feikong_index.py
Normal file
144
scripts/build_feikong_index.py
Normal file
@@ -0,0 +1,144 @@
|
||||
"""Build docs/feikong_std77.md — topical index of std 飞控 projects.
|
||||
|
||||
Selection: origin=std AND ('飞控' in name OR '飞控' in introduction)
|
||||
Source: data/state/oshwhub_listing_full.jsonl (full-corpus listing snapshot)
|
||||
Augmented from each project's data/raw/oshwhub/<uuid>/metadata.json:
|
||||
- license
|
||||
- source completeness (editor docs vs attachments-only)
|
||||
- editor_version
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
REPO = Path(__file__).resolve().parent.parent
|
||||
LISTING = REPO / "data" / "state" / "oshwhub_listing_full.jsonl"
|
||||
RAW_ROOT = REPO / "data" / "raw" / "oshwhub"
|
||||
OUT = REPO / "docs" / "feikong_std77.md"
|
||||
|
||||
|
||||
def collect() -> list[dict]:
|
||||
rows: list[dict] = []
|
||||
for ln in LISTING.read_text(encoding="utf-8").splitlines():
|
||||
if not ln.strip():
|
||||
continue
|
||||
it = json.loads(ln)
|
||||
if it.get("origin") != "std":
|
||||
continue
|
||||
name = it.get("name") or ""
|
||||
intro = it.get("introduction") or ""
|
||||
if "飞控" not in name and "飞控" not in intro:
|
||||
continue
|
||||
uuid = it["uuid"]
|
||||
meta_p = RAW_ROOT / uuid / "metadata.json"
|
||||
meta: dict = {}
|
||||
if meta_p.is_file():
|
||||
meta = json.loads(meta_p.read_text(encoding="utf-8"))
|
||||
rows.append({"listing": it, "meta": meta})
|
||||
return rows
|
||||
|
||||
|
||||
def render(rows: list[dict]) -> str:
|
||||
out: list[str] = []
|
||||
w = out.append
|
||||
|
||||
n_total = len(rows)
|
||||
n_have_meta = sum(1 for r in rows if r["meta"])
|
||||
n_with_source = sum(1 for r in rows if (r["meta"].get("source_documents") or []))
|
||||
n_attachments_only = n_have_meta - n_with_source
|
||||
|
||||
w("# 飞控 / Flight-Controller Projects (std)")
|
||||
w("")
|
||||
w(f"_主题定向索引:oshwhub `origin=std` 且 `name` 或 `introduction` 含「飞控」字样_")
|
||||
w("")
|
||||
w(
|
||||
f"**当前**:{n_total} 个项目 · {n_with_source} 个有可编辑器源 · "
|
||||
f"{n_attachments_only} 个仅附件(upstream 没编辑器 session)"
|
||||
)
|
||||
w("")
|
||||
w(
|
||||
"> 数据来源:`data/state/oshwhub_listing_full.jsonl` + 每项 `data/raw/oshwhub/<uuid>/metadata.json`"
|
||||
)
|
||||
w("> 排序:likes 倒序")
|
||||
w("")
|
||||
rows.sort(
|
||||
key=lambda r: -((r["listing"].get("count") or {}).get("like", 0))
|
||||
)
|
||||
w(
|
||||
"| # | Title | Author | License | Source | Editor | "
|
||||
"❤️ Likes | ⭐ Stars | 🍴 Forks | 👁 Views | Grade |"
|
||||
)
|
||||
w(
|
||||
"|---|-------|--------|---------|--------|--------|"
|
||||
"--------:|--------:|--------:|--------:|------:|"
|
||||
)
|
||||
for i, r in enumerate(rows, 1):
|
||||
it = r["listing"]
|
||||
m = r["meta"]
|
||||
c = it.get("count") or {}
|
||||
uuid = it["uuid"]
|
||||
title = it.get("name") or "?"
|
||||
url = f"https://oshwhub.com/{it['path']}"
|
||||
author_user = (it.get("owner") or {}).get("username") or "?"
|
||||
author_disp = (it.get("owner") or {}).get("nickname") or author_user
|
||||
title_link = f"[{title}]({url})"
|
||||
dir_link = f"[`{uuid[:8]}…`](../data/raw/oshwhub/{uuid}/)"
|
||||
author_link = f"[{author_disp}](https://oshwhub.com/{author_user})"
|
||||
license_str = m.get("license") or "—"
|
||||
# source completeness label
|
||||
if not m:
|
||||
source_label = "❌ 未抓"
|
||||
elif m.get("source_documents"):
|
||||
n_docs = len(m["source_documents"])
|
||||
source_label = f"✅ {n_docs} docs"
|
||||
else:
|
||||
source_label = "📎 attachments-only"
|
||||
editor = m.get("editor_version") or "—"
|
||||
w(
|
||||
f"| {i} | {title_link}<br>{dir_link} | {author_link} | {license_str} | "
|
||||
f"{source_label} | {editor} | "
|
||||
f"{c.get('like', 0):,} | {c.get('star', 0):,} | {c.get('fork', 0):,} | "
|
||||
f"{c.get('views', 0):,} | {it.get('grade') or 0} |"
|
||||
)
|
||||
w("")
|
||||
w("## License 分布")
|
||||
w("")
|
||||
lic_count: dict[str, int] = {}
|
||||
for r in rows:
|
||||
lic = r["meta"].get("license") or "(未抓)"
|
||||
lic_count[lic] = lic_count.get(lic, 0) + 1
|
||||
for lic, n in sorted(lic_count.items(), key=lambda x: -x[1]):
|
||||
w(f"- `{lic}` — {n}")
|
||||
w("")
|
||||
w("## Editor 版本分布(有源工程的项目)")
|
||||
w("")
|
||||
ed_count: dict[str, int] = {}
|
||||
for r in rows:
|
||||
if r["meta"].get("source_documents"):
|
||||
ed = r["meta"].get("editor_version") or "(unknown)"
|
||||
ed_count[ed] = ed_count.get(ed, 0) + 1
|
||||
for ed, n in sorted(ed_count.items(), key=lambda x: (-x[1], x[0])):
|
||||
w(f"- `{ed}` — {n}")
|
||||
w("")
|
||||
w("## 重新生成")
|
||||
w("")
|
||||
w("```bash")
|
||||
w("uv run python scripts/build_feikong_index.py")
|
||||
w("```")
|
||||
w("")
|
||||
return "\n".join(out)
|
||||
|
||||
|
||||
def main() -> int:
|
||||
rows = collect()
|
||||
md = render(rows)
|
||||
OUT.parent.mkdir(parents=True, exist_ok=True)
|
||||
OUT.write_text(md, encoding="utf-8")
|
||||
print(f"wrote {OUT} ({len(rows)} projects)")
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
Reference in New Issue
Block a user