#ifndef API_H #define API_H #include #include class API { public: /** * @brief Construit un nouvelle objet API * * @param[in] user nom de l'utilisateur de l'API * @param[in] password mot de passe de l'utilisateur * @param[in] host address de l'api * @param[in] https l'address de l'api est en https *(defaut `true`)* */ API(String user, String password, String host, bool https = true); /** * @brief Initialise la connection Wifi de l'esp * * @param[in] wifiId nom du wifi * @param[in] wifiPass mot de passe du wifi * @param[in] espSerial port serie de l'esp (hard ou soft) * @return true la connexion a bien fonctionner * @return false erreur a la connexion */ bool wifiBegin(String wifiID, String wifiPass, Stream* espSerial); /** * @brief envoie la valeur d'un capteur de poubelle à l'api * * @param[in] val valeur du capteur * @param[in] poubelleID ID de la poubelle * @param[in] unit uniter de mesure du capteur *(ex: g, cm, degree,...) * @param[in] full poubelle est considéré comme pleine * @return true la valeur s'est bien envoyer * @return false il y a une erreur durran l'envoie */ bool sendValue(String val, String poubelleID, String unit, bool full); /** * @brief connect l'utilisateur a l'api et met a jour le token * * @return true l'utilisateur est bien connecter * @return false erreur lors de la connexion de l'utilisateur */ bool connect(); //TODO :: Check wifibegin avant private: /** * @brief ID de l'utilisateur * */ String user; /** * @brief mdp de l'utilisateur * */ String password; /** * @brief adresse du serveur API * */ String serveurHost; /** * @brief true = serveur en https (443) * */ bool https; /** * @brief client http * */ WiFiEspClient* client; /** * @brief token de connexion du client (vide = deconnecter) * */ String token; }; #endif