#include "mongoose.h"
#include "webserver.h"
#include
#include "evse.h"
#include
#include
#include
#include
#include
#include
#include
#include
struct mg_mgr mgr;
ArduinoOcpp::AOcppMongooseClient *osock;
#if AO_NUMCONNECTORS == 3
std::array connectors {{1,2}};
#else
std::array connectors {{1}};
#endif
int main() {
mg_log_set(MG_LL_INFO);
mg_mgr_init(&mgr);
mg_http_listen(&mgr, "0.0.0.0:8000", http_serve, NULL); // Create listening connection
std::shared_ptr<:filesystemadapter> filesystem;
#ifndef AO_DEACTIVATE_FLASH
filesystem =
ArduinoOcpp::makeDefaultFilesystemAdapter(ArduinoOcpp::FilesystemOpt::Use_Mount_FormatOnFail);
#endif
osock = new ArduinoOcpp::AOcppMongooseClient(&mgr,
"ws://echo.websocket.events",
"charger-01",
"",
"",
filesystem);
server_initialize(osock);
OCPP_initialize(*osock,
ChargerCredentials("Demo Charger", "My Company Ltd."),
ArduinoOcpp::FilesystemOpt::Use_Mount_FormatOnFail);
for (unsigned int i = 0; i < connectors.size(); i++) {
connectors[i].setup();
}
for (;;) { // Block forever
mg_mgr_poll(&mgr, 100);
OCPP_loop();
for (unsigned int i = 0; i < connectors.size(); i++) {
connectors[i].loop();
}
}
delete osock;
mg_mgr_free(&mgr);
return 0;
}