Classes utilitárias para inicializar projetos Arduino.
Em poucos minutos você poderá ler e gravar no armazenamento (no formato JSON), ler e enviar mensagens para uma fila MQTT, conectar-se ao WiFi sem codificar senhas e muito mais...
Arduino Bootstrapper
quer ser um ponto de partida para a criação de bons projetos sem duplicações de código .
Espressif ESP8266/ESP32
são as plataformas padrão, mas você pode facilmente adicionar suporte para outras plataformas e placas.
Escrito para Arduino IDE e PlatformIO.
Se você gosta do Arduino Bootstrapper , dê uma estrela ou faça um fork e contribua!
Abra um issue aqui no Github, suas dúvidas podem ser úteis para outros usuários.
Existem duas maneiras de inicializar seu software usando esses utilitários.
Termostato inteligente, estação solar, luciferina pirilampo, enrolador de relógio inteligente
Clonar o bootstrapper
git clone [email protected]:sblantipodi/arduino_bootstrapper.git
Basta editar esses arquivos conforme a descrição, são necessários alguns minutos
.
├── ...
├── 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
└── ...
OBSERVAÇÃO:
Você deve implementar as funções que são passadas por *pointer para as principais funções de bootstrap:
class BootstrapManager {
...
public:
void bootstrapSetup (
void (*manageDisconnectionFunction)(),
void (*manageHardwareButton)(),
void (*callback)( char *, byte*, unsigned int )
);
void bootstrapLoop (
void (*manageDisconnectionFunction)(),
void (*manageQueueSubscription)(),
void (*manageHardwareButton)()
);
...
};
manageDisconnections()
# OPCIONAL coloque a lógica que você precisa caso seu microcontrolador seja desconectado da redemanageHardwareButton()
# OPCIONAL coloca instruções especiais para gerenciamento de botões de hardware durante desconexões de redemanageQueueSubscription()
# inscreve-se nos tópicos mqtt desejadoscallback()
# função de retorno de chamada chamada quando uma mensagem chega da fila Você pode importar Arduino Bootstrapper
para seus projetos existentes de duas maneiras:
// 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
Para ambos os métodos de importação, você deve adicionar diretórios extras ao seu platformio.ini
lib_extra_dirs = arduino_bootstrapper
Copie e configure ~/arduino_bootstrapper/secrets.ini.template
em secrets.ini.template
Inclua BootrapManager.h em seu arquivo de cabeçalho principal:
# include " BootstrapManager.h "
e inicialize a classe BootstrapManager:
BootstrapManager bootstrapManager;
Na sua função setup()
adicione o bootstrapper Wifi, MQTT e OTA
bootstrapManager.bootstrapSetup(manageDisconnections, manageHardwareButton, callback);
Na sua função loop()
adicione a função gerenciador de bootstrap
bootstrapManager.bootstrapLoop(manageDisconnections, manageQueueSubscription, manageHardwareButton);
Por favor, siga as instruções Bootstrap a project from scratch
sem a parte inicial do clone do git.
Este projeto usa links simbólicos, o Windows não habilita links simbólicos por padrão, para habilitá-lo, execute este cmd em um console de administração:
export MSYS=winsymlinks:nativestrict
Este projeto oferece suporte a CI por meio de GitHub Actions. Na pasta .github/workflows
existem dois fluxos de trabalho
Se você usar esta sintaxe:
git tag -a v1.0.0 -m "your commit msg";
git push origin --tags;
o texto na mensagem de commit será a descrição do seu lançamento.
O Arduino Bootstrapper irá procurar por secrets.ini
, se você não configurá-lo, o ponto de acesso será iniciado.
Você pode se conectar ao AP com seu celular e acessar http://192.168.4.1 para acessar o gui
isso permitirá que você insira todas as senhas sem a necessidade de codificá-las.
Este programa está licenciado sob licença MIT
Obrigado | Para |
---|---|
Para as licenças CLion IDE. |