Классы утилит для загрузки проектов Arduino.
Через несколько минут вы сможете читать и записывать в хранилище (в формате JSON), читать и отправлять сообщения в очередь MQTT, подключаться к Wi-Fi без жесткого кодирования паролей и многое другое...
Arduino Bootstrapper
хочет стать отправной точкой для создания хороших проектов без дублирования кода .
Espressif ESP8266/ESP32
являются платформами по умолчанию, но вы можете легко добавить поддержку других платформ и плат.
Написано для Arduino IDE и PlatformIO.
Если вам нравится Arduino Bootstrapper , поставьте ему звезду или сделайте его форк и внесите свой вклад!
Откройте вопрос здесь, на Github, ваши вопросы могут быть полезны другим пользователям.
Существует два способа загрузки вашего программного обеспечения с помощью этих утилит.
Умный термостат, Солнечная станция, Светлячок Люциферин, Устройство для намотки умных часов
Клонировать загрузчик
git clone [email protected]:sblantipodi/arduino_bootstrapper.git
Просто отредактируйте этот файл согласно описанию, потребуется несколько минут.
.
├── ...
├── examples # Project src folder
│ ├── ChangeName.cpp # Main file with loop() and setup() function, rename and copy it into your src folder
│ ├── ChangeName.h # Main header file, rename and copy it into your include folder
│ └── ...
├── src # Folder for core files, edit those files and contribute!
│ ├── BootstrapManager.h # Core header file with utility classes for bootstrapping
│ ├── QueueManager.h # Core header file with utility classes for Queue and MQTT management
│ ├── WifiManager.h # Core header file with utility classes for Wifi and OTA upload management
│ ├── Helpers.h # Core header file with helper classes
│ └── ...
├── platformio.ini # Configure all the required info (ex: Wifi device name, DNS gateway, ecc.)
├── secrets.ini.template # Configure password and rename the file in secrets.ini
└── ...
ПРИМЕЧАНИЕ:
Вам следует реализовать те функции, которые передаются *указателем на основные функции начальной загрузки:
class BootstrapManager {
...
public:
void bootstrapSetup (
void (*manageDisconnectionFunction)(),
void (*manageHardwareButton)(),
void (*callback)( char *, byte*, unsigned int )
);
void bootstrapLoop (
void (*manageDisconnectionFunction)(),
void (*manageQueueSubscription)(),
void (*manageHardwareButton)()
);
...
};
manageDisconnections()
# НЕОБЯЗАТЕЛЬНО добавьте необходимую вам логику на случай, если ваш микроконтроллер отключится от сетиmanageHardwareButton()
# НЕОБЯЗАТЕЛЬНО добавьте специальную инструкцию для управления аппаратными кнопками во время отключения сетиmanageQueueSubscription()
# подписаться на нужные темы mqttcallback()
# функция обратного вызова, вызываемая при поступлении сообщения из очереди Вы можете импортировать Arduino Bootstrapper
в существующие проекты двумя способами:
// For PlatformIO
Add `lib_deps` to your `platformio.ini`
lib_deps = ArduinoBootstrapper
// For ArduinoIDE
Simply import the Bootstrapper library from the library manager
git submodule add https://github.com/sblantipodi/arduino_bootstrapper.git arduino_bootstrapper
Для обоих методов импорта вам следует добавить дополнительные каталоги в ваш platformio.ini
lib_extra_dirs = arduino_bootstrapper
Скопируйте и настройте ~/arduino_bootstrapper/secrets.ini.template
в secrets.ini.template
Пожалуйста, включите BootrapManager.h в свой основной заголовочный файл:
# include " BootstrapManager.h "
и инициализируйте класс BootstrapManager:
BootstrapManager bootstrapManager;
В функцию setup()
добавьте загрузчик Wi-Fi, MQTT и OTA.
bootstrapManager.bootstrapSetup(manageDisconnections, manageHardwareButton, callback);
В вашей функции loop()
добавьте функцию менеджера начальной загрузки.
bootstrapManager.bootstrapLoop(manageDisconnections, manageQueueSubscription, manageHardwareButton);
Пожалуйста, следуйте инструкциям Bootstrap a project from scratch
без начальной части клонирования git.
В этом проекте используются символические ссылки, Windows не включает символические ссылки по умолчанию. Чтобы включить их, запустите этот cmd из консоли администратора:
export MSYS=winsymlinks:nativestrict
Этот проект поддерживает CI через GitHub Actions. В папке .github/workflows
есть два рабочих процесса.
Если вы используете этот синтаксис:
git tag -a v1.0.0 -m "your commit msg";
git push origin --tags;
текст в сообщении о фиксации будет описанием вашего релиза.
Arduino Bootstrapper выполнит поиск secrets.ini
, если вы его не настроите, будет запущена точка доступа.
Вы можете подключиться к точке доступа с помощью мобильного телефона и перейти по адресу http://192.168.4.1, чтобы получить доступ к графическому интерфейсу.
это позволит вам вводить все пароли без необходимости их жесткого кодирования.
Эта программа распространяется под лицензией MIT License.
Спасибо | Для |
---|---|
Для лицензий CLion IDE. |