В настоящее время; когда я запускаю новый проект Arduino с каким-то новым оборудованием, первое, что я делаю, - это ищу сторонние библиотеки, которые поддерживают Arduino для этого оборудования.
Первые места, которые я смотрю:
Обычно я не нахожу библиотеку поддержки или несколько разных библиотек (очень редко можно найти только одну) в разных местах с разными уровнями документации, разными уровнями тестирования ...
Как только я нашел нужную библиотеку (иногда мне нужно попробовать несколько), я загружаю ее в свою папку библиотек Arduino, использую ее и забываю.
Я считаю этот процесс громоздким:
- ручной поиск с различными вариантами, не всегда хорошо документирован
- загрузка вручную и установка в библиотеки Arduino
- в процессе отсутствует управление версиями (все версии библиотеки имеют одинаковые имена и, следовательно, не могут сосуществовать в папке библиотеки Arduino).
Я хотел бы, чтобы был центральный репозиторий со всеми доступными библиотеками для Arduino, с:
- описание (поддерживаемое оборудование, поддерживаемые платы)
- исходный код
- документация
- версии
И инструмент (Arduino IDE или внешний) для доступа к этому хранилищу во время сборки проекта.
На самом деле это своего рода Maven для Arduino.
Я видел несколько дискуссий, когда-то происходивших на форуме Arduino, но, похоже, они ни к чему не привели:
Существуют ли другие варианты, которые делают его пригодным для использования (от сообщества или отдельных лиц, почему бы и нет)?
Ответы:
Вы только что описали проблемы, которые пытается решить компания, в которой я работаю. Недавно мы выпустили продукт под названием biicode . Кажется, именно то, что вы ищете.
biicode является центральным онлайн-хранилищем кода и клиентским инструментом, который имеет:
Вы можете увидеть быстрое демо здесь и прочитать больше в документации .
источник
Поскольку этот вопрос был задан впервые, в Arduino IDE теперь есть менеджер библиотек Arduino. Там вы можете искать и устанавливать библиотеки.
Здесь есть информация о том, как работает менеджер библиотеки: https://github.com/arduino/Arduino/wiki/Library-Manager-FAQ
Однако официального сайта, где перечислены библиотеки, нет, поэтому я недавно создал этот неофициальный сайт на основе тех же данных, что и в Arduino Library Manager:
http://www.arduinolibraries.info/
источник
Arduino площадка LibraryList и стандартный список библиотек , как представляется, официальные страницы для этого.
источник
Если вы хотите создать такой реестр самостоятельно, вы можете взглянуть на npm , менеджер пакетов Node.js , с открытым исходным кодом и очень похожий по объему, который вы хотите описать. Npm это оба:
Посмотрите, например, страницу популярной библиотеки и файл JSON, содержащий ее метаданные.
источник
Здесь ничего нет. К сожалению, вам придется вручную искать каждую интересующую вас библиотеку.
Если вы заинтересованы в создании такого центрального хранилища, хотя это было бы замечательно, это не тот форум, на котором это можно сделать.
источник
Arduino IDE и связанные библиотеки включены как устанавливаемое программное обеспечение в большинство репозиториев ОС. К сожалению, версии в этих репозиториях обычно устарели на несколько месяцев или даже лет. Казалось бы, настоящая проблема заключается в том, чтобы заставить менеджеров репозитория ОС включать новые выпуски по мере их появления.
Эта проблема усугубляется, когда ваша версия ОС не была обновлена до последней версии, потому что это заставляет вас использовать устаревший репозиторий программного обеспечения.
Хотя это и не идеальный ответ, вам, вероятно, следует убедиться, что вы используете последнюю версию своей ОС, а затем рекомендовать менеджерам репозитория для этой ОС включить последнюю версию Arduino IDE.
В качестве альтернативы можно перейти на домашнюю страницу Arduino.org и следовать инструкциям, чтобы загрузить и установить последнюю версию IDE и связанных библиотек. Вероятно, это будет файл в формате .tar.gz, поэтому вам нужно знать, как разархивировать, распаковать и собрать необходимое программное обеспечение.
источник
Я думаю, что ваше желание не сбудется. Я надеюсь на это, потому что наличие только одного места для всех библиотек Arduino, без каких-либо библиотек, которых там не будет, и все эти библиотеки будут вынуждены соответствовать всем коммерческим стандартам качества, тестирования и документации (+ качество кода, эффективность и читаемость). означает, что только профессионалы и аналогичные квалифицированные команды будут иметь право публиковать некоторую библиотеку Arduino, и все это будет управляться одним единым целым, что приведет к удалению функционально дублированных или похожих библиотек. И такое существо станет сонером или позже станет злом.
Мне нравится Arduino за то, что он бесплатный, и это также означает, что я свободен в написании библиотеки для поддержки некоторых функций (которые я хочу использовать) некоторого оборудования (которое у меня есть, я планирую купить или хочу сделать самостоятельно - даже очень высоко экспериментально и, возможно, нестабильно, но весело для меня).
Учитывая эффективность вашего Центрального центрального управления, я бы просто выбрал другую бесплатную платформу, а не получил бы иск за меньший, чем идеальный и коммерчески сертифицированный результат моего увлечения игрой с электроникой и принуждения к работе, а НЕ к моим целям в МОЕ свободное время.
И если ваш Big Central Athority не заставит меня принуждать их к бесплатной трудовой работе, то что вы будете делать с моей библиотекой, позволяющей одно специальное использование некоторого общего оборудования, и со мной, когда я делюсь ею с кем угодно, даже если это не так? полностью решить все функциональные возможности HW в профессиональном плане и задокументировано настолько, насколько мне будет удобно тратить свое свободное время на документирование. А что, если бы возникла еще одна библиотека для того же HW, которая включала бы другую часть функциональности или использовала бы другой API и другой подход ко всему проблемному?
А именно, я купил мульти-7-сегментный модуль, и у его производителя была «официальная библиотека». Я сделал другую библиотеку для того же модуля. Что теперь? Должна ли моя библиотека находиться в Центральном репозитории как «единственная библиотека для этого HW» или там должна быть «официальная библиотека от производителя»? Обратите внимание, что если бы они были оба, это сломало бы запрашиваемую «одну и только одну» библиотечную точку. Если вы откажетесь от производителя, то «единственному» будет не хватать многих функций, таких как встроенный буфер для чисел, простой объектный интерфейс, простой пример, как его использовать, и будет жесткая зависимость от одного конкретного таймера и универсального необъектный, просто функциональный API, который потребовал бы, чтобы пользователь как-то разбивал целые числа на однозначные числа - звучит не слишком хорошо. Если вы запретите мою библиотеку, то у пользователя будет вышеупомянутое, но его дисплей будет обновляться только 10 раз в секунду, мигая и оставляя призраки других цифр повсюду, при полном использовании процессора, и документация будет в основном на китайском языке. И пользователь будет пропускать частоту обновления 100x в секунду практически без использования процессора, хороших чистых цифр и символов (потенциально также определяемых пользователем). - Тоже не хорошо.
В текущем состоянии хаоса пользователь (может быть, вы или кто-либо еще) может использовать библиотеку, которая лучше подходит для его нужд (будь то простота и встроенная целочисленная поддержка или чистое быстрое обновление и низкая загрузка ЦП) или объединить их вместе, третье место с быстрым обновлением и простыми целочисленными манипуляциями и пользовательским набором символов, с красивым API объекта и богатой документацией. Требуется только один человек, у которого есть определенное время и самоотдача, которые помогут новичкам, некоторым знаниям английского языка и базовым знаниям об объектах, а также о том, как упакованы «официальные библиотеки Arduino», поэтому среда IDE может легко их импортировать. (И такой человек должен сделать это и передать его в библиотечный пакет Arduino).
Я бы этого не делал - для моих нужд функциональный API гораздо лучше и проще в использовании, занимает меньше байтов из памяти и меньше циклов ЦП, и у меня нет желания улучшать библиотеку способами, которые я бы не использовал. Также я не использую Arduino IDE, я использую простой Makefile для сборки и загрузки программ, поэтому я могу легко использовать хороший текстовый редактор (в моем случае vim) и не бороться с пародией IDE-Notepad.
Под управлением Big Central Authority для вашей модели я бы не заботился об использовании Arduino вообще, и вы застрянете с китайской версией, если таковая вообще есть (так как она не сможет сделать это из-за отсутствия хорошей английской документации и надлежащего формата пакета) ,
источник
http://downloads.arduino.cc/libraries/library_index.json предоставляет список всех библиотек, доступных в Arduino Library Manager.
Я использовал этот файл для создания https://github.com/scls19fr/arduino_libraries_search Это скрипт Python Pandas для поиска библиотек Arduino, соответствующих некоторым ключевым словам, и для вывода в файл Excel
Вы также можете найти библиотеки Arduino, используя:
источник