文件
phonerail/BOM/README.md
T

76 行
6.7 KiB
Markdown
原始文件 Blame 文件历史

此文件含有模棱两可的 Unicode 字符
此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。
# PhoneRail-R2 BOM 与淘宝比价
2026-09-13 生成。数量口径:**一套 = 1 块底板 + 5 片刀片**。
| 文件 | 内容 |
|---|---|
| `PhoneRail-R2_BOM_淘宝比价.xlsx` | 「说明」页 + 「BOM+淘宝比价」页(77 行:型号 / 立创料号 / 位号 / 数量 / 立创阶梯价与链接 / 淘宝搜索链接 / 4 家店的价格、付款人数、标题、链接 / 备注) |
| `_src/` | 全部抓取与生成脚本 + 原始数据,可重跑(见文末) |
## 数据来源
- **器件清单**:EasyEDA 工程 PhoneRail-R2,13 页原理图逐页 `sch_PrimitiveComponent.getAll(undefined, false)` 读出
(底板 A1~A6/A1B/A5B 共 164 件,刀片 B1~B4/B3B 共 82 件),按立创料号合并。
⚠ `getAll(..., true)`(跨页)返回的件数不对,必须逐页 `openDocument` 后读。
- 不采购、未列入:`J1` 金手指(板边铜)、`J5` 电池排线焊盘(非器件)。
- **立创价**:`https://wmsc.lcsc.com/ftps/wm/product/detail?productCode=Cxxxx`,带 `Cookie: currencyCode=CNY`
返回人民币阶梯价(`currencyPrice`);按一套总数取阶梯。这是 LCSC 国际站人民币报价,与 szlcsc 国内站可能略有出入。
szlcsc 国内站对 curl 直接 WAF 拦截。4 种料接口无报价:C22383480(470µF)、C38117(SWPA4030)、C9900163599(ESP32 模组)、C50951(排针)。
- **淘宝**:匿名接口一律跳登录,必须在登录的浏览器里做。用独立 profile 起 Chrome(`--remote-debugging-port=9333`),
用户扫码登录后通过 CDP 驱动。**用户要求:每两次搜索间隔 30 秒**(商品页访问同样适用)。
## 结论
- 立创参考总价 **≈ ¥760 / 套**(含 ESP32 N16R8 ¥36;换料前没有 ESP32 报价时是 ¥724)。
- **淘宝列表价 = 该链接最便宜 SKU 的价格**,阻容多为一包(50/100 只)价,不能直接当单价比。
- **10 颗 IC 的淘宝最低价不到立创 30%**(TPS54622 立创 ¥14.3 / 淘宝 ¥1.1 起;USB2517 ¥32 / ¥2.8 起 等),
多为散新、翻新或引流价。TPS54622、TPS25940、INA226、USB2517、DAC63204、ESP32 模组建议走立创或品牌店。
- **6 项淘宝无原厂同款,表里是替代品,下单前要核对**:
- `PCIE-64P11L`(SOFNG,板上高 11.1 mm、带定位柱)→ 淘宝只有 64P 立式贴片 x4 通用款,**与插槽实测尺寸直接相关**;
- `YTC1P-2510-01` 侧键顶针 → 通用 pogo pin,按 Ø2 mm / 高 3.5 mm / 贴片 选;
- `6.3TPV2200M10X10.5`(Rubycon 2200µF)→ 替代品核对 ESR ≤ 60 mΩ、纹波电流;
- `NX3225SA 24MHz` → 须 9 pF 负载、±10 ppm;
- `T491A226K010AT` 钽电容、`F1206SB2000V063TM` 慢断保险丝 → 同规格他牌。
- ESP32-S3-WROOM-1:**2026-09-13 定为 N16R8**(立创 C2913202,1 片起 ¥36.1)。已核对:八线 PSRAM 占用的 IO35/36/37 在板上都没接,IO45 悬空(3.3 V Flash),不冲突。详见 R2 方案文档 §20.6。原理图与 PCB 上 U20 的料号已换成 C2913202(改属性,版图未动)。
### 淘宝实际成本(2026-09-13 实测,Excel「淘宝采购成本」页)
逐个打开商品页,点选对应规格,读实际价格、每份数量和运费,按 `ceil(需求/每份数量)×规格价 + 每家店运费` 汇总:
| 方案 | 货款 | 运费 | **合计 / 套** |
|---|---:|---:|---:|
| A:全部淘宝(21 家店,主要是欧贝顿 32 种、优信电子 22 种) | ¥517 | ¥41.5 | **≈ ¥558** |
| B:8 颗关键 IC 走立创,其余淘宝 | ¥730 | ¥26.5 + 立创运费 | **≈ ¥756** |
- 8 颗关键 IC(TPS54622 / TPS25940 / INA226 / USB2517 / DAC63204 / PCA9555 / LM61495 / ESP32 模组):淘宝 ¥202,立创 ¥414。
**两个方案差的 ¥200 基本就是这 8 颗的真假风险。**
- 最贵的一项是 **PCIe 插槽 ¥99**(立新电子商城,富士康 2EH5327,¥19.8×5)。创典电子的 64P 立式 SMT X4 列表价只要 ¥2.1,
换它能省约 ¥88,但规格价没进页面核实,而且必须先核对插槽尺寸。
- 选店时已经排除了低于立创价 30% 的 IC 报价。选中的 TPS54622 ¥4.4、PCA9555 ¥3.75 仍只有立创价的约 30%,照样要警惕。
- 这几项是估的:SPM6530 电感按 1 只/份(¥4.14×6,其他店有 ¥0.6~0.8 的);10nF 电容按 100 只/份;
AMS1117 按 1 只/份;佳信源电子页面没写运费,按 ¥4 算。100kΩ 改用欧贝顿 100 只/份 ¥2 那条链接(页面实测)。
- 阻容整包买,富余很多。立创参考价 ¥760 只是「单价×需求数」,没算整包和运费,**不能和上面的合计直接比**。
- 读商品页时淘宝弹过 2 次验证,1 次跳登录页、1 次滑块,用户拖过滑块后继续。
## 淘宝抓取的坑(实测)
- **搜索页**:`s.taobao.com/search?q=` 的结果是前端渲染,等 DOM 里出现指向 `item.taobao.com/item` / `detail.tmall.com/item`
且含 `¥` 的 `<a>` 即可解析;卡片 innerText 依次是 标题 / 标签 / `¥` / 整数 / `.小数` / 付款人数 / 地区 / 店名。
- **商品页**:数据在 SSR 注入的 `window.__ICE_APP_CONTEXT__.loaderData.home.data.res`(`skuBase.props` 有全部 SKU 名,
SKU 名常含包装数如「0402 100K 1% 100个」)。**各 SKU 价格不在数据里**(`hideOtherPrice`),
要点击 SKU 的 `<span>` 后读页面 `¥` 后面的数字;`快递: …` 行给运费。
- **风控**:短时间连续开商品页会被重定向到 `login.taobao.com …_____tmd_____/page/login_jump`(cookie 仍在)。
脚本遇到会等待并换备选店。之前触发是因为试探时没按间隔连开了几页。
- 标题匹配要注意:去掉 `.` 做归一化会把 `2.2UF` 撞成 `22UF`、`2.5mR` 撞成 `5mR`;同型号混卖不同封装(TL431 SOP-8/SOT-23);
E96 阻值(43.2K、13.7K 等)不要接受「全系列」链接,那种通常只有 E24。
## 重跑
在 `BOM/_src/` 下(Python 3.14,需 `openpyxl`、`websockets`):
1. 需要刷新器件清单时:EasyEDA 桥接在线,重跑逐页读取(原脚本 `dump2.py` 的逻辑已写进本文「数据来源」),产出 `sch_pages.json` → 合并成 `bom_agg.json`。
2. 起 Chrome:`chrome.exe --remote-debugging-port=9333 --user-data-dir=<独立目录> https://login.taobao.com/`,扫码登录。
3. `python scrape.py`(按 `queries.json` 搜,断点续跑,写 `tb.json`)。
4. `python build.py` → 生成 xlsx;匹配规则在 `CORE` / `SPECIAL` / `PKG` 里调。
5. 成本:`python cost_pick.py`(选店 → `cost_plan.json`)→ `python visit.py`(点选 SKU 读价 → `cost_detail.json`)→ 人工核对规格,错的在 `fix.py` 里写明 SKU 重点 → `python total.py`(包装数表 `PACK` 在里面)→ `python sheet.py` 写入 Excel。