Saída
Distribuidores e preços
agentee parts: preços de BOM na Mouser e Farnell e componentes mais baratos que encaixam sem rebaixamento.
agentee parts NAME (MCP parts) calcula o preço da BOM de um layout ou esquema na Mouser e Farnell e lista peças mais baratas que encaixam. As chaves ficam fora de todos os projetos, em ~/.config/agentee/distributors.toml ($AGENTEE_DISTRIBUTORS ou --config apontam para outro sítio):
[mouser]
api_key = "..." # Mouser Search API key, not the Cart/Order key
[farnell]
api_key = "..." # element14 Product Search API key
store = "uk.farnell.com" # ie.farnell.com, de.farnell.com, www.newark.com, au.element14.com ...
# currency = "GBP" # default follows the storeagentee parts buggy-guard --boards 5
agentee parts buggy-guard --distributor farnell --farnell-store ie.farnell.com
agentee parts buggy-guard --refs C11,R8 --json
agentee parts buggy-guard --no-alternativesCada linha da BOM é um campo mpn, o mesmo agrupamento que bom.csv, necessitando do seu número de referências vezes --boards. As ofertas da linha são as listagens do distribuidor desse número de peça; a escolhida é a mais barata que está em stock para a quantidade e não é obsoleta. Um custo respeita o mínimo e o múltiplo da listagem e compra até a uma quebra de preço posterior quando a quantidade maior custa menos no total, por isso dez resistores podem ser comprados como cem.
Alternativas, no máximo três por linha, poupança mais barata primeiro, na moeda da oferta escolhida:
| peça | pesquisada por | deve manter |
|---|---|---|
resistor, R num footprint de estilo R_0603... | valor, tolerância e tamanho | resistência dentro de 0,5 %, tolerância não mais larga, o mesmo código de corpo imperial; termistores, arrays e jumpers são recusados |
condensador cerâmico, C num footprint C_0603... | valor, tensão, dielétrico e tamanho | capacitância dentro de 1 %, tensão não mais baixa (do valor /50V ou da peça listada), dielétrico não pior (C0G mantém-se C0G, X7R pode tornar-se X7S ou X8R, X5R pode tornar-se X7R), tolerância não mais larga, o mesmo código de corpo; eletrolíticos, tantalo, polímero e filme são recusados |
discreto genérico, D ou Q cujo valor é um nome JEDEC (2N7002, BSS138, 1N4148, BAT54, BZT52, S1x, SS1x, SMAJ, BC847 ...) | nome e encapsulamento | o nome dentro do número de peça e o mesmo encapsulamento (SOT-23 não é SOT-23-5, SMA é DO-214AC, não SMB) |
LED indicador, D num footprint LED_0603... | cor e tamanho | a cor e o código de corpo |
| qualquer outra coisa | nada | apenas a mesma peça no outro distribuidor, e a substituição sugerida pelo distribuidor |
Os códigos de corpo são lidos do atributo imperial (Case Code - in) ou da parte de um valor Farnell antes do seu [... Metric], por isso um 0201 listado como 0201 [0603 Metric] não é tomado por um 0603. O relatório termina com o total por moeda como escolhido e com todas as escolhas mais baratas, e o número de chamadas de API feitas: a Mouser permite 30 por minuto e 1000 por dia, e as pesquisas de peças vão dez números de peça por chamada. Uma chave recusada é reportada uma vez e esse distribuidor não é perguntado novamente na execução.