Atualmente; Quando inicio um novo projeto do Arduino com algum hardware novo, a primeira coisa que faço é procurar bibliotecas de terceiros que ofereçam suporte ao Arduino para esse hardware.
Os primeiros lugares que olho são:
Geralmente, não encontro nenhuma biblioteca de suporte ou várias bibliotecas diferentes (é muito raro encontrar apenas uma) em locais diferentes, com diferentes níveis de documentação, diferentes níveis de teste ...
Depois de encontrar a biblioteca de que preciso (às vezes, preciso experimentar várias), faço o download para a minha pasta de bibliotecas do Arduino, uso-a e esqueço-a.
Acho esse processo complicado:
- pesquisa manual com diferentes opções possíveis, nem sempre bem documentadas
- download manual e instalação nas bibliotecas do Arduino
- nenhum controle de versão no processo (todas as versões de uma biblioteca têm o mesmo nome e, portanto, não podem coexistir na pasta da biblioteca do Arduino).
Eu gostaria que houvesse um repositório central com todas as bibliotecas disponíveis para o arduino, com:
- descrição (hardware suportado, placas suportadas)
- Código fonte
- documentação
- versões
E uma ferramenta (Arduino IDE ou externa) para acessar este repositório no momento da criação do projeto.
Uma espécie de maven para o Arduino, de fato.
Vi várias discussões uma vez no fórum do Arduino, mas parece que elas não levaram a lugar algum:
- Censo e repositório de bibliotecas do Arduino
- Arduino Library downloader
- Downloader da Biblioteca do Arduino (2)
Existem outras opções que podem ser usadas (da comunidade ou de indivíduos, por que não)?
Respostas:
Você acabou de descrever os problemas que a empresa para a qual estou trabalhando está tentando resolver. Recentemente, lançamos um produto chamado biicode . Parece exatamente o que você está procurando.
biicode é um repositório central on-line de código e uma ferramenta cliente que apresenta:
Você pode ver uma demonstração rápida aqui e ler mais na documentação .
fonte
Desde que essa pergunta foi feita pela primeira vez, agora existe o Gerenciador de Bibliotecas do Arduino, incorporado ao IDE do Arduino. Lá você pode procurar e instalar bibliotecas.
Há informações sobre como o gerenciador de bibliotecas funciona aqui: https://github.com/arduino/Arduino/wiki/Library-Manager-FAQ
No entanto, como não há um site oficial listando as bibliotecas, criei recentemente este site não oficial, com base nos mesmos dados do Arduino Library Manager:
http://www.arduinolibraries.info/
fonte
A lista de bibliotecas do Arduino Playground e a lista de bibliotecas padrão parecem ser as páginas oficiais para isso.
fonte
Se você deseja criar esse registro, verifique o npm , o gerenciador de pacotes do Node.js , que é de código aberto e tem escopo muito semelhante ao que você deseja descrever. Npm é ambos:
Veja, por exemplo, a página de uma biblioteca popular e o arquivo JSON que contém seus metadados.
fonte
Não há nenhum. Infelizmente, você terá que procurar manualmente cada biblioteca em que estiver interessado.
Se você estiver interessado em criar um repositório central, embora seja incrível, este não é o fórum correto para fazê-lo.
fonte
O IDE do Arduino e as bibliotecas associadas estão incluídos como software instalável na maioria dos repositórios de SO. Infelizmente, as versões desses repositórios geralmente estão desatualizadas há vários meses ou mesmo anos. Parece que o verdadeiro problema está em fazer com que os gerenciadores de repositório do SO incorporem novos lançamentos assim que estiverem disponíveis.
Esse problema é agravado quando a versão do sistema operacional não foi atualizada para a versão mais recente, porque isso força você a usar um repositório de software desatualizado.
Embora não seja uma resposta perfeita, você provavelmente deve garantir que está usando a versão mais recente do seu sistema operacional e, em seguida, incentivar os gerenciadores de repositório desse sistema operacional a incorporar a versão mais recente do IDE do Arduino.
Uma alternativa seria acessar a página inicial do Arduino.org e seguir as instruções para baixar e instalar o IDE mais recente e as bibliotecas associadas. Provavelmente, ele estará na forma de um arquivo .tar.gz; portanto, você precisará saber como descompactar, descompactar e criar o software necessário.
fonte
Eu acho que seu desejo não se tornará realidade. Espero que sim, porque ter apenas um lugar para todas as bibliotecas do Arduino, sem bibliotecas permitidas, não existir e todas essas bibliotecas seriam forçadas a cumprir todos os padrões comerciais de qualidade, teste e documentação (+ qualidade do código, efetividade e legibilidade) significa que apenas profissionais e equipes qualificadas semelhantes teriam permissão para publicar alguma biblioteca do Arduino e tudo seria governado por uma única entidade, o que reforçaria a remoção de bibliotecas funcionalmente duplicadas ou similares. E essa entidade sonharia ou mais tarde se tornaria má.
Eu gosto do Arduino por ser gratuito e isso também significa que estou livre para escrever uma biblioteca para suporte a alguns recursos (que eu quero usar) de algum hardware (que eu tenho, planejo comprar ou quero me tornar - mesmo que altamente experimental e talvez instável, mas divertido para mim).
Com sua Big Central Authority sendo eficaz, eu escolheria outra plataforma gratuita, em vez de ser processada por um resultado menos do que perfeito e certificado comercialmente do meu hobby de brincar com eletrônicos e forçado a trabalhar pelos seus, NÃO meus objetivos no MEU tempo livre.
E se sua Grande Central Athority não me forçar a trabalhar livremente com trabalho forçado para eles, o que você faria com minha biblioteca, permitindo um uso especial de algum hardware comum, e sobre eu compartilhá-lo com alguém que o queira, mesmo que não o faça resolver todas as funcionalidades do HW totalmente em matéria profissional e documentar apenas o quanto eu me sentiria confortável em passar meu tempo livre com documentação. E se surgisse outra biblioteca para o mesmo HW, que permitiria outra parte da funcionalidade ou usaria outra API e outra abordagem para toda a problemática?
Ou seja, eu comprei um módulo multi-segmento de 7 segmentos e havia uma "biblioteca oficial" do fabricante. Eu fiz outra biblioteca para o mesmo módulo. E agora? A minha biblioteca deve estar no Repositório Central como "a única biblioteca para este HW" ou a "biblioteca oficial do fabricante"? Observe que, se houvesse os dois, isso quebraria o ponto de biblioteca "um e apenas um" solicitado. Se você desaprovar o fabricante, então "o único" estaria faltando muitos recursos, como buffer integrado para números, interface simples de objeto, exemplo simples de como usá-lo e haveria forte dependência de um timer específico e genérico API não-objeto, apenas funcional, que exigiria que o usuário quebre números inteiros em dígitos únicos de alguma forma - não parece muito bom. Se você não permitir minha biblioteca, o usuário terá o que foi dito acima, mas sua exibição será atualizada apenas 10x por segundo, piscando e deixando fantasmas de outros dígitos por todo o lado, enquanto utiliza totalmente o processador e a documentação deve ser principalmente em chinês. E o usuário perderia a taxa de atualização 100x por segundo com quase nenhum uso do processador, bons dígitos limpos E caracteres (também definido pelo usuário). - Também não é bom.
No estado atual do caos, o usuário (talvez você ou qualquer outra pessoa) pode usar a biblioteca, que é mais adequada às suas necessidades (seja simplicidade e suporte a números inteiros nativos ou atualização limpa e rápida e baixo uso da CPU) ou combinar os dois, tornando-se o terceiro com atualização rápida E manipulação simples de números inteiros E conjunto de caracteres definido pelo usuário, COM API agradável de objetos e documentação rica. Ele precisa apenas de uma pessoa com algum tempo e dedicação para facilitar para iniciantes e algumas habilidades em inglês e conhecimentos básicos de objetos e como as "bibliotecas oficiais do Arduino" estão compactadas, para que o IDE possa importá-las facilmente. (E essa pessoa deve fazer e contribuir com o empacotador da biblioteca do Arduino).
Eu não faria isso - pois minhas necessidades são API funcionais muito melhores e mais simples de usar, consomem menos bytes de memória e menos ciclos de CPU e não tenho vontade de melhorar a biblioteca de maneiras que não usaria. Também não uso o Arduino IDE, uso o Makefile simples para criar e fazer upload dos programas, para que eu possa usar facilmente um bom editor de texto (vim no meu caso) e não precise lutar com a paródia do IDE-Notepad.
Sob a Big Central Authority aplicando seu modelo, eu não me importaria em usar o Arduino e você ficará com a versão chinesa, se houver (como não o faria por falta de boa documentação em inglês e formato de pacote adequado) .
fonte
http://downloads.arduino.cc/libraries/library_index.json fornece uma lista de todas as bibliotecas disponíveis no Arduino Library Manager.
Usei esse arquivo para criar https://github.com/scls19fr/arduino_libraries_search É um script do Python Pandas para pesquisar bibliotecas do Arduino que correspondam a algumas palavras-chave e gerar o arquivo Excel
Você também pode encontrar bibliotecas do Arduino usando:
fonte