Работа с библиотеками

Тема в разделе "Флудилка", создана пользователем Alex19, 18 янв 2015.

  1. Alex19

    Alex19 Гуру

    Данный пост, создается исключительно как дополнение существующей статьи на Вики установка библиотек. Предполагается, что Вы внимательно прочли статью на Вики, от себя уточню, добавление библиотек таким способом возможно если у Вас стоит Arduino IDE версии от 1.0.5.

    Все, что тут будет сказано, должно работать при условии, что Arduino IDE была скачена отсюда http://arduino.cc/en/Main/Software, Arduino IDE версии от 1.0

    У Вас стоит Windows, о других ОС говорить не буду, так как не использую. Если у Вас стоит ОС отличная от Windows, возможно будет полезна данная ссылка http://arduino.cc/en/Guide/Libraries.

    Папки в которых хранятся библиотеки.
    Библиотеки хранятся в 2 местах.

    1. “Глобальные библиотеки” находятся в папке Документы (Мои документы)\ Arduino\libraries\.
    2. “Локальные библиотеки” Папка конкретной Arduino IDE\libraries\.

    “Глобальные библиотеки” принадлежат всем версиям Arduino IDE.
    Это удобно, если у Вас стоят несколько версий Arduino IDE или Вы всегда используете последнюю версию, тогда Вам нет необходимости переносить библиотеки из старой версии в новую.

    “Локальные библиотеки” принадлежат конкретной версии Arduino IDE.
    Это удобно, если Вы хотите использовать собственный набор библиотек для каждой версии Arduino IDE.

    К примеру у Вас есть старые проекты версий ниже 1.0, иногда библиотеки которые работали в версиях ниже 1.0, не работаю в версиях 1.0 и выше.

    “Глобальные библиотеки” проверял начиная с версии 1.0, ниже увы не знаю.
    “Локальные библиотеки” проверял начиная с версии 1.0, ниже увы не знаю.
    Но Вы можете проверить это сами.

    В Arduino IDE, можно четко определить, какой тип библиотеки Вы подключаете. Скетч - Импортировать библиотеку.
    [​IMG]

    Сначала идут “Локальные библиотеки”, затем отдельным блоком “Глобальные библиотеки”.

    А вот примеры библиотек наоборот, вначале базовые примеры, затем “Глобальные библиотеки”, после чего идут “Локальные библиотеки”. Вначале подумал баг, но проверив на 3-х разных версия, понял это фитча.
    [​IMG]

    Добавление библиотек.
    1. Если библиотека скачена не как .zip файл. Должна стоять версия Arduino IDE от 1.0.5, добавляется в папку “Глобальные библиотеки”.

    Если как .zip читаем Вики. Должна стоять версия Arduino IDE от 1.0.5, добавляется в папку “Глобальные библиотеки”.

    К примеру библиотека скачена как архив .rar, необходимо разархивировать данный архив, таким образом чтобы мы получили следующую структуру.

    Для примера возьмем библиотеку PS2X_lib
    PS2X_lib (Папка, название библиотеки )\в ней должно быть минимум 2 файла PS2X_lib.cpp (название библиотеки.cpp), PS2X_lib.h (название библиотеки.h).

    *.cpp - файл с кодом библиотеки.
    *.h - заголовочный файл

    Как это выглядит
    [​IMG]

    Это важно, если у Вас отличная структура, Вы не сможете установить библиотеку.

    В папке могут быть и другие файлы, папки. К примеру папка examples, в ней хранятся примеры, которые Вы можете открыть здесь Файл - Примеры
    [​IMG]

    Так же могут быть связанные библиотеки, необходимые для работы основной, файлы описания самой библиотеки.

    Теперь когда у нас есть папка, ее можно добавить стандартным способом. Скетч - Импортировать библиотеку - Add Library...
    [​IMG]

    Нам просто необходимо указать папку PS2X_lib.
    [​IMG]
    Нажать кнопку Open, библиотека добавлена.

    Теперь необходимо проверить данную библиотеку, для этого просто открываем пример, идем Файл - Примеры - Выбираем пример нашей библиотеки.

    Если его нет или ищем в интернете или пишем сами.

    Затем, нажимаем кнопку проверить [​IMG], лучше на нее, чем загрузить [​IMG].

    Так же, таким способом можно добавить простую папку с библиотекой.
    Главное, чтобы структура папки была корректной (она описана выше)

    UPD. В дальнейшем появится Ручное добавление библиотеки и Удаление библиотек. Просто мало времени, надеюсь на следующей неделе закончу.
     
    Последнее редактирование: 19 фев 2015
    Kellador нравится это.
  2. Alex19

    Alex19 Гуру

    Ручное добавление библиотеки
    Ручное добавление библиотеки, может полезным, когда Вы хотите добавить библиотеку в папку “Локальные библиотеки”, как пример написание собственной библиотеки на базе сущ. или дописывание ее. Или у Вас Arduino IDE версии ниже 1.0.5.

    По шаговые действия.
    1. Закрываем все окна Arduino IDE
    2. Если библиотека в архиве, необходимо разархивировать данный архив, таким образом чтобы мы получили следующую структуру.

    Повторюсь, так как это важно.

    Для примера возьмем библиотеку PS2X_lib
    PS2X_lib (Папка, название библиотеки )\в ней должно быть минимум 2 файла PS2X_lib.cpp (название библиотеки.cpp), PS2X_lib.h (название библиотеки.h).

    *.cpp - файл с кодом библиотеки.
    *.h - заголовочный файл

    Как это выглядит
    [​IMG]
    3. Выбор папки, “Глобальные библиотеки” или “Локальные библиотеки”.
    Если “Глобальные библиотеки” копируем папку PS2X_lib и втравляем ее в Документы (Мои документы)\ Arduino\libraries\.

    [​IMG]

    Если “Локальные библиотеки” копируем папку PS2X_lib и втравляем ее в Папка конкретной Arduino IDE\libraries\.

    [​IMG]

    4. Открываем Arduino IDE и проверяем, появилась ли возможность добавить в наш скетч загруженную библиотеку.
    [​IMG]

    Теперь необходимо проверить данную библиотеку, для этого просто открываем пример, идем Файл - Примеры - Выбираем пример нашей библиотеки.

    Если его нет или ищем в интернете или пишем сами.

    Затем, нажимаем кнопку проверить [​IMG] , лучше на нее, чем загрузить [​IMG].

    Удаление библиотек
    Определяем какую библиотеку мы хотим удалить, Глобальную или Локальную. О том как это сделать, читаем пункт Папки в которых хранятся библиотеки.

    По шаговые действия.
    1. Закрываем все окна Arduino IDE
    2. После того как определили какой тип библиотеки у той, что хотим удалить идем в соответствующую папку.
    3. Если “Глобальная библиотека” удаляем папку с именем библиотеки в папке Документы (Мои документы)\ Arduino\libraries\.

    [​IMG]


    Если “Локальная библиотека” удаляем папку с именем библиотеки в папке конкретной Arduino IDE\libraries\
    [​IMG]
    Выделяем папку и удаляем ее, можно перенести или просто архивировать в этой же папке. Библиотека удалена.

    4. Запускаем Arduino IDE и проверяем есть ли удаленная библиотека в списке библиотек Скетч - Импортировать библиотеку.

    UPD. Вначале просто хотел подробно пояснить Flopik, о том как работать с библиотеками. Но потом решил написать короткое описание.

    Если есть замечания пишите.
     
    Последнее редактирование: 19 фев 2015
    Kellador, Megakoteyka и Flopik нравится это.
  3. Flopik

    Flopik Нерд

    Тут кто то писал,что помнит времена,когда не было интернета. Так вот, я помню очень хорошо, когда не было сотовых телефонов и ооочень смутно, когда цветной телевизор был показателем хорошего достатка в семье. Так,что УВАЖАЕМЫЙ, у вас не плохо получилось донести до "мамонта "свет знаний. ;)
     
  4. Alex19

    Alex19 Гуру

    Сам уже "мамонт":), рад что оказалось полезно.

    Мы все учимся у друг друга.

    UPD. Какая-то ерунда, ссылки на картинки потерялись, попробую востановить
     
    Последнее редактирование: 19 фев 2015
  5. Bard

    Bard Нуб

    Где-то читал, что вроде бы можно располагать библиотеку в папке с проектом.
    Так ли это и как это правильно сделать?
     
  6. Kellador

    Kellador Нуб

    спасибо за подробный ликбез!