#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 и инструкции по установке.
Если вам это нравится или вы чувствуете, что чего-то не хватает, я был бы рад услышать ваши отзывы и улучшения.
Надеюсь, это поможет! 🙂