Оглавление:
- Шаг 1. Что такое библиотека?
- Шаг 2: структура библиотеки и файлы
- Шаг 3: Заголовочный файл
- Шаг 4: Исходный файл
- Шаг 5: предоставление примеров эскизов
- Шаг 6. Публикация в диспетчере библиотек
- Шаг 7. Дальнейшие действия
Видео: Создание библиотеки Arduino для YouTube Sight: 7 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:50
Всем привет, Недавно я создал сервис под названием YouTube Sight, который может извлекать данные о подписчиках из YouTube Analytics API и давать вам более точный подсчет подписчиков с тех пор, как YouTube начал агрегировать результаты. С его помощью я создал пример скетча, но я также хотел создать библиотеку Arduino, чтобы людям было проще ее использовать.
Шаг 1. Что такое библиотека?
Библиотека - это фрагмент кода, который может обрабатывать конкретную операцию, обрабатывать тип данных или может знать, как взаимодействовать с конкретным элементом оборудования. Они позволяют нам легко расширять среду Arduino, и многие из них поставляются с предустановленной Arduino IDE.
В таких случаях, как мой, когда мы хотим добавить новые возможности для Arduino, мы можем создавать собственные библиотеки, чтобы другие люди могли их использовать. Все установленные библиотеки находятся в определенной папке на нашем компьютере. В моем случае для ПК с Windows библиотеки находятся в папке Documents / Arduino. Полный путь будет конкретным для вас в зависимости от вашего имени пользователя.
Шаг 2: структура библиотеки и файлы
Чтобы начать создавать нашу библиотеку, нам сначала нужно создать здесь папку с ее названием, поэтому я создал папку под названием YouTube Sight. В самой минимальной версии библиотеки у нас должно быть как минимум два файла.
Первый - это так называемый «заголовочный» файл, который содержит все определения методов и свойств, предоставляемых нашей библиотекой, а второй - это исходный файл, который будет содержать весь исходный код.
Заголовочные файлы имеют расширение «.h», в то время как исходный файл имеет расширение «.cpp», и в качестве имени файла они обычно содержат имя библиотеки. В моем случае эти два файла называются «YouTubeSight.h» и «YouTubeSight.cpp».
Процесс написания кода библиотеки может быть немного утомительным и утомительным, особенно когда вы пишете библиотеку впервые, но с большим количеством проб и ошибок вы можете достичь желаемых результатов. Поэтому я проведу вас через законченный код двух файлов и объясню его.
Полный код и библиотека доступны для загрузки с GitHub по следующей ссылке:
Шаг 3: Заголовочный файл
Внутри файла заголовка, в начале, весь файл заключен в оператор ifndef, который проверяет, определена ли указанная переменная или нет. Это предотвратит ошибки для всех, кто использует библиотеку, если они по ошибке дважды включат ее в один и тот же скетч.
Затем нам нужно включить базовую библиотеку Arduino, и поскольку мы будем работать с каким-либо HTTP-клиентом для отправки запроса в YouTube Sight, мы также включим базовую клиентскую библиотеку.
Прежде чем мы начнем писать содержимое нашего основного класса, нам нужно определить любые статические переменные и настройки, которые мы не хотим изменять. В моем случае таких переменных две. Основной URL-адрес службы YouTube Sight и переменная тайм-аута, которую мы будем использовать, чтобы проверить, как долго мы читаем значение.
Также в этом разделе мы можем определить любые настраиваемые типы, которые мы хотим использовать, например эту структуру channelStatistics, в которую мы будем сохранять результаты.
Определение структуры класса разделено на две части. Первая часть - это определение всех общедоступных функций и свойств, а вторая - определение всех частных функций и свойств. Разница между ними заключается в том, что конечные пользователи нашей библиотеки не смогут напрямую использовать что-либо из закрытого раздела, в то время как они смогут напрямую изменять и использовать любые свойства и функции из общедоступной части.
В публичном разделе мы определяем конструктор класса, переменную channelStats, в которой мы будем хранить результаты, функцию, которая будет получать данные, и свойство отладки, которое мы позже можем использовать для проверки случаев, когда мы не можем получить ожидаемые результаты.
Для частных свойств мы определим один для хранения GUID канала, указатель на HTTP-клиент, который мы будем использовать, и функцию, которая разделит возвращаемую строку из YouTube Sight.
Шаг 4: Исходный файл
Теперь давайте посмотрим на фактическую реализацию всего этого внутри исходного файла.
Первым шагом для нас является включение нашего собственного файла заголовка, который мы только что создали, а затем нам нужно определить конструктор библиотеки. В нем мы передаем две переменные. GUID сохраняется в частной переменной, которую мы определили ранее, а клиент передается по ссылке, поэтому мы можем затем вызвать тот же экземпляр, который мы получили.
Затем определяется основная функция библиотеки getData: сначала указывается тип возвращаемого значения, а затем имя библиотеки и имя функции. Я не буду вдаваться в подробности того, что делает каждая отдельная строка в этой функции, но в целом функция открывает соединение с сервером YouTube Sight, отправляет запрос на получение статистики, а затем анализирует возвращенные данные с помощью частная функция getValue.
Полученные результаты затем устанавливаются в переменную channelStats, и возвращается индикатор, если нам удалось получить результаты или нет, и на этом ядро нашей библиотеки завершено.
Шаг 5: предоставление примеров эскизов
Обычно каждая библиотека предоставляет примеры, которые можно быстро загрузить и использовать, чтобы продемонстрировать, что может делать библиотека и как это делать. Чтобы предоставить такие примеры, нам нужно изменить структуру библиотеки, где теперь заголовок и исходный файл будут находиться в папке «src», а новая папка будет добавлена в корень библиотеки под названием «examples».
Любой эскиз Arduino, который вы помещаете в эту папку, будет использоваться из Arduino IDE в качестве примера для вашей библиотеки, и люди могут быстро изучить его и узнать, как работает библиотека.
Шаг 6. Публикация в диспетчере библиотек
Чтобы использовать библиотеку, людям нужно будет просто включить файл заголовка вашей библиотеки в свой эскиз, и IDE Arduino создаст его вместе с ним. Но для этого им сначала нужно будет установить его на свои машины.
Распространенный способ - загрузить библиотеку с GitHub и установить ее с помощью установщика ZIP в среде IDE или просто поместить ее в папку библиотек, как мы это делали при ее создании. Однако IDE Arduino также включает инструмент, называемый диспетчером библиотек, который позволяет вам искать библиотеку прямо из IDE.
Чтобы включить в нее вашу библиотеку, нам сначала нужно создать дополнительный файл в корневой папке с именем «library.properties», и в нем нам нужно указать имя библиотеки, текущую версию и некоторую дополнительную информацию, которая поможет менеджеру библиотеки. чтобы лучше отображать информацию об этом.
При наличии файла на странице Arduino GitHub необходимо создать проблему, которая просто запрашивает включение вашей библиотеки в индекс со ссылкой на нее, и как только она будет одобрена и добавлена сотрудниками Arduino, менеджер библиотеки сделает это. начните предлагать свою библиотеку в результатах. Кроме того, менеджер будет искать любые теги версий в репозитории GitHub в будущем и предлагать обновления для людей, использующих его, как только появятся изменения.
Шаг 7. Дальнейшие действия
Я надеюсь, что после этого руководства вы лучше поймете, как работают библиотеки Arduino, как их создавать, и, что наиболее важно, я надеюсь, что вы вдохновитесь начать работу над своей следующей большой идеей.
Если у вас возникнут дополнительные вопросы или предложения, не стесняйтесь писать в комментариях, подписывайтесь на мой канал YouTube и подписывайтесь на меня здесь, в Instructables.
Рекомендуемые:
Программирование Arduino с использованием другого Arduino для отображения прокручиваемого текста без библиотеки: 5 шагов
Программирование Arduino с использованием другого Arduino для отображения прокручиваемого текста без библиотеки: Sony Spresense или Arduino Uno не так дороги и не требуют большого количества энергии. Однако, если ваш проект имеет ограничения по мощности, пространству или даже бюджету, вы можете рассмотреть возможность использования Arduino Pro Mini. В отличие от Arduino Pro Micro, Arduino Pro Mi
Создание адаптера Bluetooth, часть 2 (создание совместимого динамика): 16 шагов
Создание адаптера Bluetooth, часть 2 (Создание совместимого динамика): в этой инструкции я покажу вам, как использовать мой адаптер Bluetooth, чтобы сделать старый динамик совместимым с Bluetooth. * Если вы не читали мое первое руководство по " Изготовлению адаптер Bluetooth " Я предлагаю вам сделать это, прежде чем продолжить.C
Создание машины для точечной сварки из трансформатора для микроволновой печи: 7 шагов (с иллюстрациями)
Создание машины для точечной сварки из трансформатора для микроволновой печи: в этом проекте я делаю самодельную машину для точечной сварки, которая будет использоваться для сборки аккумуляторных блоков с литий-ионными элементами 18650. У меня также есть профессиональный точечный сварщик, модель Sunkko 737G, который стоит около 100 долларов, но я с радостью могу сказать, что мой самодельный сварщик
Тональный генератор Arduino без библиотеки или последовательных функций (с прерываниями): 10 шагов
Тональный генератор Arduino без библиотеки или последовательных функций (с прерываниями): я обычно не делаю инструкций по этому поводу, я предпочитаю свои металлоконструкции, но поскольку я студент-электротехник и должен пройти курс по микроконтроллерам ( Проектирование встроенных систем), я подумал, что сделаю инструктаж на одном из своих п
Создание маленьких роботов: создание роботов Micro-Sumo на один кубический дюйм и меньше: 5 шагов (с изображениями)
Создание маленьких роботов: создание роботов Micro-Sumo на один кубический дюйм и меньше: вот некоторые подробности о создании крошечных роботов и схем. В этом руководстве также будут рассмотрены некоторые основные советы и методы, которые могут быть полезны при создании роботов любого размера. Для меня одна из самых сложных задач в электронике - это увидеть, насколько малы