Лучший способ создать проект с несколькими файлами

#arduino #arduino-ide

#arduino #arduino-ide

Вопрос:

Я разрабатываю систему на базе Arduino, которая со временем будет расширяться. На данный момент у него есть только функция считывания влажности и температуры. Но скоро будет добавлено управление дверью, запись звука и поддержка веб-клиента gsm. Я хочу, чтобы все это было включено в качестве библиотек и использовалось в основной части. Я думаю об одном файле ino, который включает в себя все остальные модули и вызывает их функции. Мой вопрос в том, какой самый лучший и самый чистый способ сделать это?

Комментарии:

1. Так что создавайте библиотеки. В чем ваш вопрос?

Ответ №1:

Я рекомендую придерживаться библиотек и каталогов библиотек с примерами. Библиотека для каждого компонента, с которым нужно взаимодействовать. Это поможет во многих отношениях. Например, отладка и повторное использование.

 C:UsersmyselfGoogle DriveArduinolibrariescomponentXcomponentX.h
C:UsersmyselfGoogle DriveArduinolibrariescomponentXcomponentX.cpp
C:UsersmyselfGoogle DriveArduinolibrariescomponentYcomponentY.h
C:UsersmyselfGoogle DriveArduinolibrariescomponentYcomponentY.cpp
etc...
  

Это делает его модульным и разделенным.

Обратите внимание, что я изменил настройки IDE Arduino на Google Drive. (Резервное копирование в облаке и переносимость)

Тогда вместо одного БОЛЬШОГО файла INO в папке sketch

C:UsersmyselfGoogle Привод ArduinosomethingBIGsomethingBIG.ino

реализовать файлы INO в

C:UsersmflagaGoogle Привод Arduino библиотеки компоненты примеры.

каталоги. Это позволяет быстро публиковать компоненты на GITHUB или Google Диске для совместного использования между системами.

Затем у вас может быть файл эскиза, который объединяет все компоненты в ваш основной проект.

C:UsersmyselfGoogle ПриводArduinosomethingTOPlevelsomethingTOPlevel.ino

Комментарии:

1. Итак, у меня будет только один файл ino и много файлов cpp и h, верно? Должен ли я иметь функции setup () и loop () внутри файла ino? Я полагаю, он будет работать как main.c.

2. Всегда должен быть только один файл INO, и в нем должны быть единственные экземпляры setup() и loop() . Файлы H и соответствующие файлы CPP в основном всегда являются библиотеками, которые загружаются в INO.

3. Спасибо, теперь я могу начать проект. С самого начала я думал организовать проект таким образом. Спасибо.

Ответ №2:

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

Для моего собственного проекта Moti я почувствовал необходимость оставить Arduino IDE и использовать лучшие инструменты для разработки моего проекта. Необходимость создавать символические ссылки или перемещать все библиотеки вскоре стала очень громоздкой, и я искал другое решение. В то же время я открывал для себя возможности Makefile и наткнулся на невероятный проект Судара: Arduino-Makefile.

Я потратил время на организацию своих папок и подумал, что это может быть полезно для других.

Вы можете подумать о голом проекте Arduino в качестве основы для запуска собственного проекта.

Я потратил время на написание большого количества документации. Вы можете узнать больше о фреймворке с помощью README.md и инструкции по установке.

Если вам это нравится или вы чувствуете, что чего-то не хватает, я был бы рад услышать ваши отзывы и улучшения.

Надеюсь, это поможет! 🙂