Classes utilitaires pour amorcer des projets Arduino.
En quelques minutes, vous pourrez lire et écrire sur le stockage (au format JSON), lire et envoyer des messages vers une file d'attente MQTT, vous connecter au WiFi sans mots de passe codés en dur et bien plus encore...
Arduino Bootstrapper
veut être un point de départ pour créer de bons projets sans duplications de code .
Espressif ESP8266/ESP32
sont les plates-formes par défaut mais vous pouvez facilement ajouter la prise en charge d'autres plates-formes et cartes.
Écrit pour l'IDE Arduino et PlatformIO.
Si vous aimez Arduino Bootstrapper , donnez-lui une étoile, ou partagez-le et contribuez !
Ouvrez un ticket ici sur Github, vos questions pourraient être utiles à d'autres utilisateurs.
Il existe deux manières d'amorcer votre logiciel à l'aide de cet utilitaire.
Thermostat intelligent, station solaire, luciférine à ver luisant, remontoir de montre intelligente
Cloner le bootstrapper
git clone [email protected]:sblantipodi/arduino_bootstrapper.git
Modifiez simplement ces fichiers selon la description, quelques minutes requises
.
├── ...
├── 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
└── ...
NOTE:
Vous devez implémenter les fonctions transmises par le pointeur * aux principales fonctions d'amorçage :
class BootstrapManager {
...
public:
void bootstrapSetup (
void (*manageDisconnectionFunction)(),
void (*manageHardwareButton)(),
void (*callback)( char *, byte*, unsigned int )
);
void bootstrapLoop (
void (*manageDisconnectionFunction)(),
void (*manageQueueSubscription)(),
void (*manageHardwareButton)()
);
...
};
manageDisconnections()
# FACULTATIF mettez la logique dont vous avez besoin au cas où votre microcontrôleur serait déconnecté du réseaumanageHardwareButton()
# FACULTATIF mettre une instruction spéciale pour la gestion des boutons matériels lors des déconnexions du réseaumanageQueueSubscription()
# abonnez-vous aux sujets mqtt souhaitéscallback()
# fonction de rappel appelée lorsqu'un message arrive de la file d'attente Vous pouvez importer Arduino Bootstrapper
dans vos projets existants de deux manières :
// 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
Pour les deux méthodes d'importation, vous devez ensuite ajouter des répertoires supplémentaires à votre platformio.ini
lib_extra_dirs = arduino_bootstrapper
Copiez et configurez ~/arduino_bootstrapper/secrets.ini.template
dans secrets.ini.template
Veuillez inclure BootrapManager.h dans votre fichier d'en-tête principal :
# include " BootstrapManager.h "
et initialisez la classe BootstrapManager :
BootstrapManager bootstrapManager;
Dans votre fonction setup()
, ajoutez le bootstrapper Wifi, MQTT et OTA
bootstrapManager.bootstrapSetup(manageDisconnections, manageHardwareButton, callback);
Dans votre fonction loop()
, ajoutez la fonction de gestionnaire d'amorçage
bootstrapManager.bootstrapLoop(manageDisconnections, manageQueueSubscription, manageHardwareButton);
Veuillez suivre les instructions Bootstrap a project from scratch
sans la partie initiale du clone git.
Ce projet utilise des liens symboliques, Windows n'active pas les liens symboliques par défaut, pour l'activer, exécutez cette cmd depuis une console d'administration :
export MSYS=winsymlinks:nativestrict
Ce projet prend en charge CI via GitHub Actions. Dans le dossier .github/workflows
il y a deux workflows
Si vous utilisez cette syntaxe :
git tag -a v1.0.0 -m "your commit msg";
git push origin --tags;
le texte dans le message de validation sera la description de votre version.
Arduino Bootstrapper recherchera un secrets.ini
, si vous ne le configurez pas, le point d'accès est démarré.
Vous pouvez vous connecter au point d'accès avec votre mobile et accéder à http://192.168.4.1 pour accéder à l'interface graphique.
cela vous permettra de saisir tous les mots de passe sans avoir besoin de les coder en dur.
Ce programme est sous licence MIT
Merci | Pour |
---|---|
Pour les licences CLion IDE. |