사용 가능한 모든 Arduino 라이브러리의 중앙 저장소는 어디에서 찾을 수 있습니까?


11

현재; 새로운 하드웨어로 새로운 Arduino 프로젝트를 시작할 때 가장 먼저해야 할 일은이 하드웨어에 대한 Arduino 지원을 제공하는 타사 라이브러리를 찾는 것입니다.

내가 보는 첫 번째 장소는 다음과 같습니다.

일반적으로 지원 수준이 다르거 나 문서 수준이 다르고 테스트 수준이 다른 여러 위치에서 지원 라이브러리가 없거나 여러 개의 다른 라이브러리 (하나만 찾기가 매우 드 rare니다) ...

필요한 라이브러리를 찾은 후 (때로는 여러 개를 시도해야 함) Arduino 라이브러리 폴더로 다운로드하면 사용하고 잊어 버립니다.

이 과정이 번거 롭습니다.

  • 항상 잘 문서화되어 있지는 않지만 다른 가능한 옵션으로 수동 검색
  • Arduino 라이브러리에 수동 다운로드 및 설치
  • 프로세스에 버전 제어가 없습니다 (라이브러리의 모든 버전은 이름이 같으므로 Arduino 라이브러리 폴더에 공존 할 수 없습니다).

arduino에 사용할 수있는 모든 라이브러리가있는 중앙 저장소가 있었으면 좋겠습니다.

  • 설명 (지원되는 하드웨어, 지원되는 보드)
  • 소스 코드
  • 선적 서류 비치
  • 버전

프로젝트 빌드시이 저장소에 액세스하기위한 도구 (Arduino IDE 또는 외부).

실제로 Arduino 의 일종의 maven 입니다.

Arduino 포럼에서 한 번의 토론이 있었지만 그들이 아무데도 주도하지 않은 것 같습니다.

(커뮤니티 나 개인이 사용할 수있는) 다른 옵션이 있습니까?


이 PyPi의 유사 할 것 pypi.python.org/pypi 사람이 다른 언어의 아날로그를 필요로하는 경우, 파이썬과 VIRTUALENV.
Cybergibbons

또 다른 좋은 소스는 PJRC
Cybergibbons

라이브러리 태그 위키가 그러한 데이터베이스를 작성하기에 좋은 장소 라고 말해줍니다 . ~ 35,000 문자는 매우 포괄적 인 목록을 개발할 수있는 충분한 공간을 제공해야합니다.
asheeshr

@AsheeshR 왜 안돼? 그러나 먼저, 각 라이브러리 항목에 필요한 사항과 선택 사항에 대한 명확한 설명을 정의하여 추가 된 각 항목에 대해이 3template3을 따를 수 있습니다.
jfpoilpret

@jfpoilpret 아두 이노 메타 토론 주제입니다 .
asheeshr

답변:


4

내가 일하고있는 회사가 해결하려고하는 문제를 방금 설명했습니다. 최근에 biicode라는 제품을 출시했습니다 . 정확히 당신이 찾고있는 것 같습니다.

biicode 는 코드를위한 온라인 중앙 저장소이며 다음과 같은 기능을 갖춘 클라이언트 도구입니다.

  • 초보자가 사용하기 쉽고 고급 사용자를 위해 구성 가능
  • 구성 파일이없는 maven처럼 전 이적으로 종속성 분석 : 소스 코드에서 직접 종속성을 읽습니다.
  • 중앙 저장소, 누구나 라이브러리를 업로드 할 수 있습니다. 웹에서 탐색, 탐색 및 발견 될 수 있습니다.
  • 버전 관리 : 버전 호환성을 확인하고 종속성을 안전하게 업데이트 할 수 있습니다.
  • 모든 텍스트 편집기에서 사용할 수 있습니다 (선택적 Eclipse 지원이 있음)
  • 프로젝트 설정 및 컴파일 관리, 생성 된 펌웨어를 보드로 플래시
  • 그것은 플러스로 멋진 시리얼 모니터를 가지고

여기 에서 간단한 데모를보고 설명서 에서 자세한 내용을 확인할 수 있습니다 .


2018 년에도 여전히 생산중인 2014 년에 응답 했습니까?
parohy

아니, 이제 jfrog의 conan.io이며 arduino를 더 이상 지원하는지 알 수 없음
hithwen

4

이 질문이 처음 제기되었으므로 이제 Arduino IDE에 내장 된 Arduino 라이브러리 관리자가 있습니다. 거기에서 라이브러리를 검색하고 설치할 수 있습니다.

라이브러리 관리자의 작동 방식에 대한 정보는 다음과 같습니다. https://github.com/arduino/Arduino/wiki/Library-Manager-FAQ

그러나 라이브러리를 나열하는 공식 웹 사이트는 없으므로 최근 Arduino 라이브러리 관리자의 동일한 데이터를 기반으로이 비공식 사이트를 만들었습니다.

http://www.arduinolibraries.info/



2

그러한 레지스트리를 직접 작성하려면 Node.js 의 패키지 관리자 인 npm을 살펴보십시오. 오픈 소스이며 설명하려는 범위가 매우 유사합니다. Npm은 둘 다입니다.

  1. 각 라이브러리에 대한 메타 데이터가있는 중앙 레지스트리 :
    • 이름, 설명, 키워드, 홈페이지, 저자, 기고자
    • 시맨틱 버전 관리를 준수하는 버전 번호
    • 소스 리포지토리의 URL (svn, git, github, gitlab, bitbucket ...)
    • 호환성 정보 (이 경우 노드 버전에 관한 것)
    • 특허
    • 의존성
  2. 다음을위한 명령 줄 도구 :
    • 레지스트리 검색
    • 의존성에 따라 재귀 적으로 패키지 다운로드 및 설치
    • 레지스트리에 자신의 패키지를 게시하고 업데이트합니다.

예를 들어 인기있는 라이브러리 의 페이지 와 메타 데이터를 보유한 JSON 파일 을 참조하십시오 .


1

없습니다. 불행히도, 관심있는 각 라이브러리를 수동으로 검색해야합니다.

그러한 중앙 저장소를 만드는 데 관심이 있다면 굉장한 것이지만 올바른 포럼이 아닙니다.


그런 저장소를 만들려면 무엇을 조언 하시겠습니까?
jfpoilpret

어 .. 시작해? 조언 하는게 무슨 뜻이야? 기본적으로 웹 사이트입니다. 아두 이노 텍스트 편집기에 패키지 관리자를 추가했을 수도 있습니다. 항상 그렇듯이 주요 문제는 사람들이 실제로 사용하도록하는 것입니다.
코너 울프

1
솔직히 arduino 텍스트 편집기에 fancypants 패키지 관리자를 추가하더라도 arduino 편집기가 끔찍하고 사람들이 상당히 짧은 순서로 사용을 중단하는 경향 이 있기 때문에 어떤 종류의 입양을 얻을지 모르겠습니다. . 따라서 거의 별도의 패키지 관리자가 필요하므로 라이브러리 색인, 짧은 흐림 및 실제 호스팅 위치에 대한 링크 가 가장 좋은 기본 웹 사이트를 말하고 싶습니다 .
코너 울프

저도 제 생각이었습니다. 목적은 라이브러리를 호스팅하는 것이 아니라 유용한 메타 데이터와 함께 라이브러리를 참조하는 것입니다. Arduino IDE와 관련하여 자주 사용하지는 않지만 나중에 외부 도구와 쉽게 통합 할 수 있어야합니다.
jfpoilpret

@jfpoilpret-외부 도구의 문제점은 패키지 관리자와 마찬가지로 종속성 분석 및 버전 요구 사항 관리입니다. 아두 이노 사람들은 이전 버전과의 호환성을 유지함으로써 너무 귀찮게 보이지 않으며 많은 라이브러리에는 "arduino verson {blah}"가 필요합니다. 정말 참조 목록이 최선의 방법이라고 생각합니다. 더 복잡한 것은 나중에 올 수 있습니다.
코너 울프

0

Arduino IDE 및 관련 라이브러리는 대부분의 OS 리포지토리에 설치 가능한 소프트웨어로 포함되어 있습니다. 불행히도이 리포지토리의 버전은 일반적으로 몇 개월 또는 몇 년이 지난 것입니다. 실제 문제는 OS 리포지토리 관리자가 새로운 릴리스를 사용할 수있게하는 데 있습니다.

이 문제는 오래된 버전의 소프트웨어 리포지토리를 사용해야하므로 OS 버전이 최신 릴리스로 업데이트되지 않은 경우 더욱 복잡해집니다.

완벽한 대답은 아니지만 최신 OS 릴리스를 사용하고 있는지 확인한 다음 해당 OS의 리포지토리 관리자가 최신 버전의 Arduino IDE를 통합하도록 권장해야합니다.

대안은 Arduino.org 홈페이지로 이동하여 지침에 따라 최신 IDE 및 관련 라이브러리를 다운로드하고 설치하는 것입니다. 이것은 아마도 .tar.gz 파일의 형태 일 것이므로 필요한 소프트웨어의 압축을 풀고 압축을 풀고 빌드하는 방법을 알아야합니다.


0

나는 당신의 소원이 이루어지지 않을 것이라고 생각합니다. 모든 Arduino 라이브러리에 한곳 만 있으면 라이브러리를 사용할 수 없으며 모든 라이브러리는 모든 상업적 품질 표준, 테스트 및 문서화 (+ 코드 품질, 효과 및 가독성)를 유지해야합니다. 즉, 전문가 및 유사 자격을 갖춘 팀만 일부 Arduino 라이브러리를 게시 할 수 있으며 모든 기능이 하나의 단일 엔티티에 의해 관리되므로 기능적으로 중복되거나 유사한 라이브러리를 제거해야합니다. 그리고 그러한 실체는 아들이거나 나중에 악이 될 것입니다.

나는 Arduino가 자유 롭다는 것을 좋아하며 이는 또한 내가 사용하고 싶은 하드웨어의 일부 기능 (사용하고 싶은)을 지원하기 위해 라이브러리를 자유롭게 작성할 수 있음을 의미합니다. 실험적이고 불안정 할 수도 있지만 재미 있습니다).

Big Central Authority가 효과적이기 때문에 다른 자유 플랫폼을 선택하기 만하면, 취미로 전자 제품을 가지고 노는 것이 완벽하고 상업적으로 인증 된 결과보다 덜 고소 당할 수 있습니다. 자유 시간에 대한 나의 목표는 아닙니다.

Big Central Athority가 강제 노동을 강제로하지 않으면 일반적인 하드웨어를 하나만 사용하도록 허용하는 라이브러리에 대해 어떻게해야합니까? 모든 HW 기능을 전문적인 문제로 완전히 해결하고 본인의 자유 시간을 문서로 작성하는 것이 편할 정도로만 문서화됩니다. 동일한 HW에 대해 다른 라이브러리가 생겨 기능의 다른 부분을 가능하게하거나 다른 API와 전체 문제에 대한 다른 접근 방식을 사용할 수 있다면 어떨까요?

즉, 여러 개의 7 세그먼트 모듈을 구입했으며 제조업체의 "공식 라이브러리"가있었습니다. 같은 모듈에 다른 라이브러리를 만들었습니다. 지금 무엇? 내 라이브러리가 "이 HW의 유일한 라이브러리"로 중앙 저장소에 있어야합니까, "제조업체의 공식 라이브러리"여야합니까? 둘 다 있으면 요청한 "단 하나의"라이브러리 포인트를 깨뜨릴 수 있습니다. 제조업체가 하나를 허용하지 않으면 숫자에 대한 통합 버퍼, 간단한 객체 인터페이스, 간단한 예, 사용 방법 및 특정 타이머 및 일반 타이머에 대한 의존성이 큰 "유일한 기능"에 많은 기능이 누락됩니다 객체가 아닌 함수형 API는 사용자가 정수를 한 자릿수로 나누는 것이 필요합니다. 너무 좋아 보이지 않습니다. 내 라이브러리를 허용하지 않으면 사용자는 위의 내용을 갖지만 그의 디스플레이는 초당 10 배만 새로 고침되고 다른 숫자의 유령은 모든 곳에서 깜박이고 프로세서는 완전히 활용하며 문서는 주로 중국어로 작성됩니다. 또한 사용자는 프로세서를 거의 사용하지 않고 깔끔한 숫자와 문자를 사용할 수 있기 때문에 초당 100 배의 재생 빈도를 놓칠 수 있습니다. -또한 좋지 않습니다.

현재 혼란 상태에있는 사용자 (아마도 다른 사람)는 라이브러리를 사용할 수 있습니다. 라이브러리는 자신의 필요 (단순성 및 기본 정수 지원, 빠른 새로 고침 및 낮은 CPU 사용량)에 적합하거나 둘 다 결합 할 수 있습니다. 멋진 객체 API와 풍부한 문서로 빠른 새로 고침과 간단한 정수 조작 및 사용자 정의 문자 집합으로 세 번째를 만듭니다. 시간과 헌신이있는 한 사람 만 있으면 초보자와 영어 기술 및 객체에 대한 기본 지식을 쉽게 사용할 수 있으며 "공식 Arduino 라이브러리"가 어떻게 포장되어있어 IDE에서 쉽게 가져올 수 있습니다. (그리고 그러한 사람은 그것을하고 Arduino 라이브러리 패키지에 기여해야합니다).

나는 그것을하지 않을 것입니다. 필요한 기능 API는 훨씬 더 좋고 사용하기 쉽고 메모리에서 더 적은 바이트를 사용하고 CPU주기를 줄이며 사용하지 않을 방식으로 라이브러리를 개선 할 필요가 없습니다. 또한 Arduino IDE를 사용하지 않고 간단한 Makefile을 사용하여 프로그램을 빌드하고 업로드하므로 좋은 텍스트 편집기 (내 경우에는 vim)를 쉽게 사용할 수 있으며 IDE-Notepad-parody와 싸울 필요가 없습니다.

모델을 시행하는 Big Central Authority에서 Arduino 사용에 전혀 신경 쓰지 않을 것입니다. 중국어 버전이 있으면 영어 버전이 적고 올바른 패키지 형식이 없기 때문에 중국어 버전이 고착됩니다. .


0

http://downloads.arduino.cc/libraries/library_index.json 은 Arduino 라이브러리 관리자에서 사용 가능한 모든 라이브러리 목록을 제공합니다.

이 파일을 사용하여 https://github.com/scls19fr/arduino_libraries_search 를 만들었습니다. 일부 키워드와 일치하는 Arduino 라이브러리를 검색하고 Excel 파일로 출력하는 Python Pandas 스크립트입니다

다음을 사용하여 Arduino 라이브러리를 찾을 수도 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.