Clases de utilidad para arrancar proyectos Arduino.
En pocos minutos podrás leer y escribir en el almacenamiento (en formato JSON), leer y enviar mensajes a una cola MQTT, conectarte a WiFi sin codificar contraseñas y más...
Arduino Bootstrapper
quiere ser un punto de partida para crear buenos proyectos sin duplicaciones de código .
Espressif ESP8266/ESP32
son las plataformas predeterminadas, pero puede agregar fácilmente soporte para otras plataformas y placas.
Escrito para Arduino IDE y PlatformIO.
Si te gusta Arduino Bootstrapper , dale una estrella o bifurca y contribuye.
Abra un problema aquí en Github, sus preguntas podrían ser útiles para otros usuarios.
Hay dos formas de iniciar su software utilizando estas utilidades.
Termostato inteligente, estación solar, luciferina luciérnaga, enrollador de reloj inteligente
Clonar el programa previo
git clone [email protected]:sblantipodi/arduino_bootstrapper.git
Simplemente edite esos archivos según la descripción, se requieren unos 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
└── ...
NOTA:
Debe implementar aquellas funciones que se pasan mediante *puntero a las funciones principales de arranque:
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 pon la lógica que necesitas en caso de que tu microcontrolador se desconecte de la redmanageHardwareButton()
# OPCIONAL poner instrucciones especiales para la gestión de botones de hardware durante las desconexiones de la redmanageQueueSubscription()
# suscribirse a los temas mqtt deseadoscallback()
# función de devolución de llamada llamada cuando llega un mensaje de la cola Puede importar Arduino Bootstrapper
a sus proyectos existentes de dos maneras:
// 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 métodos de importación, debe agregar directorios adicionales a su platformio.ini
lib_extra_dirs = arduino_bootstrapper
Copie y configure ~/arduino_bootstrapper/secrets.ini.template
en secrets.ini.template
Incluya BootrapManager.h en su archivo de encabezado principal:
# include " BootstrapManager.h "
e inicializamos la clase BootstrapManager:
BootstrapManager bootstrapManager;
En su función setup()
agregue el programa previo Wifi, MQTT y OTA
bootstrapManager.bootstrapSetup(manageDisconnections, manageHardwareButton, callback);
En su función loop()
agregue la función del administrador de arranque
bootstrapManager.bootstrapLoop(manageDisconnections, manageQueueSubscription, manageHardwareButton);
Siga las instrucciones Bootstrap a project from scratch
sin la parte inicial de clonación de git.
Este proyecto utiliza enlaces simbólicos, Windows no habilita enlaces simbólicos de forma predeterminada. Para habilitarlos, ejecute este cmd desde una consola de administración:
export MSYS=winsymlinks:nativestrict
Este proyecto admite CI a través de GitHub Actions. En la carpeta .github/workflows
hay dos flujos de trabajo
Si usa esta sintaxis:
git tag -a v1.0.0 -m "your commit msg";
git push origin --tags;
El texto en el mensaje de confirmación será la descripción de su lanzamiento.
Arduino Bootstrapper buscará un secrets.ini
, si no lo configura, se inicia el punto de acceso.
Puedes conectarte al AP con tu móvil e ir a http://192.168.4.1 para acceder a la gui
eso le permitirá ingresar todas las contraseñas sin la necesidad de codificarlas.
Este programa tiene la licencia MIT.
Gracias | Para |
---|---|
Para las licencias CLion IDE. |