Hello Hello ! Je reprend arduino après une longue pose donc je suis un peu rouillé.
J'ai un projet ou le but est notament de faire une base un peu générique pour de l'IoT avec ESP8266. Pour cela je crée une classe C++ de base incluant les outils de base comme l'initialisation de la library wifi manager.
Pour l'instant, la structure de mon projet ressemble à :
.
├── HestiaIoT.cpp
├── HestiaIoT.h
└── lib
└── WiFiManager
J'ai fait un lien symbolique dans ~/Arduino/library à la racine du projet. J'ai donc un dossier "hestia" dans ~/Arduino/library contenant tout ce qu'il y'a au dessus
Mon .h
#include "lib/WiFiManager/WiFiManager.h"
#include <string>
#ifndef HestiaIoT_H
#define HestiaIoT_H
class HestiaIoT {
public:
// Constructor
HestiaIoT(std::string IoTname);
// Destructor
~HestiaIoT();
private:
// Attributs
std::string IoTname;
WiFiManager wm;
};
#endif // HestiaIoT_H
Mon .cpp
#include "HestiaIoT.h"
// Constructor
HestiaIoT::HestiaIoT(std::string IoTname) {
IoTname = IoTname;
bool res;
res = wm.autoConnect("IoTname" ,"password"); // password protected ap
if(!res) {
// throw;
}
}
// Destructor
HestiaIoT::~HestiaIoT() {
wm.~WiFiManager();
}
mon .ino
#include "HestiaIoT.h"
HestiaIoT* iot;
void setup() {
iot = new HestiaIoT("michel");
}
void loop() {
// put your main code here, to run repeatedly:
}
En faisant ça j'ai des référence indéfinie vers les fonctions de la classe wifimanager
Je suis assez sur de ne pas faire les choses proprement mais j'avoue que mon C++ est pas mal rouillé donc je interessé des bonnes pratique concernant la création de library et l'inclusion d'une library arduino dans la library que j'essaie de crée.
Merci d'avance !
Breizh