diff --git a/ampel-firmware/ampel-firmware.ino b/ampel-firmware/ampel-firmware.ino index 8b4bb2aefa76698db16fa84584e477d37d4e8259..01d281897a91a14edd8f7816d4a8d17e957f8787 100644 --- a/ampel-firmware/ampel-firmware.ino +++ b/ampel-firmware/ampel-firmware.ino @@ -76,6 +76,8 @@ void setup() { Serial.println(); Serial.print(F("Sensor ID: ")); Serial.println(ampel.sensorId); + Serial.print(F("Name : ")); + Serial.println(config::ampel_name()); Serial.print(F("MAC : ")); Serial.println(ampel.macAddress); Serial.print(F("Board : ")); @@ -87,7 +89,7 @@ void setup() { sensor::initialize(); - csv_writer::initialize(ampel.sensorId); + csv_writer::initialize(config::ampel_name()); if (config::wifi_active) { wifi::defineCommands(); @@ -171,7 +173,7 @@ void wifiConnected() { } Serial.print(F("You can access this sensor via http://")); - Serial.print(ampel.sensorId); + Serial.print(config::ampel_name()); Serial.print(F(".local (might be unstable) or http://")); Serial.println(WiFi.localIP()); } diff --git a/ampel-firmware/csv_writer.cpp b/ampel-firmware/csv_writer.cpp index b40b0a47a7dcfcac9ddf607236595c56f2597926..ada784a1218bcdf6ae1ad4e6b2c868f7ff5ec9ea 100644 --- a/ampel-firmware/csv_writer.cpp +++ b/ampel-firmware/csv_writer.cpp @@ -79,14 +79,14 @@ namespace csv_writer { } #endif - char filename[15]; // "/ESPxxxxxx.csv\0" + char filename[20]; // "/ESPxxxxxx.csv\0" int getAvailableSpace() { return getTotalSpace() - getUsedSpace(); } void initialize(const char *sensorId) { - snprintf(filename, sizeof(filename), "/%s.csv", sensorId); + snprintf(filename, sizeof(filename), "/%.15s.csv", sensorId); Serial.println(); Serial.print(F("Initializing FS...")); diff --git a/ampel-firmware/web_config.cpp b/ampel-firmware/web_config.cpp index 955b3d563252a63af495826b62044e9653e3f9b4..0d86ea4b5ca457db68ef03ca085467f3de0fd235 100644 --- a/ampel-firmware/web_config.cpp +++ b/ampel-firmware/web_config.cpp @@ -287,6 +287,10 @@ namespace web_config { */ namespace config { + char* ampel_name() { + return web_config::iotWebConf->getThingName(); + } + char* selected_ssid() { return web_config::iotWebConf->getWifiSsidParameter()->valueBuffer; } diff --git a/ampel-firmware/web_config.h b/ampel-firmware/web_config.h index 268a44746f306781a0c382c61f12092192a52fc8..b0f3cf480b69dd3bfd4e7cfd5fd7a1d5d430e27c 100644 --- a/ampel-firmware/web_config.h +++ b/ampel-firmware/web_config.h @@ -10,6 +10,7 @@ namespace config { void save(); // Save config to EEPROM + char* ampel_name(); // WiFi char* selected_ssid(); char* ap_password(); diff --git a/ampel-firmware/web_server.cpp b/ampel-firmware/web_server.cpp index e51b7c2f4cae67b360491f88fe22bffc61ba5a2d..4c86876cf6228ce6acb4e3dbe4654b4dc4a736e5 100644 --- a/ampel-firmware/web_server.cpp +++ b/ampel-firmware/web_server.cpp @@ -191,7 +191,7 @@ namespace web_server { char content[2000]; // Update if needed // INFO - Header size : 1767 - Body size : 1991 - Script size : 1909 - snprintf_P(content, sizeof(content), header_template, sensor::co2, ampel.sensorId, wifi::local_ip, + snprintf_P(content, sizeof(content), header_template, sensor::co2, config::ampel_name(), wifi::local_ip, csv_writer::filename); Serial.print(F("INFO - Header size : ")); @@ -200,7 +200,7 @@ namespace web_server { web_config::http.send_P(200, PSTR("text/html"), content); // Body - snprintf_P(content, sizeof(content), body_template, ampel.sensorId, sensor::co2, sensor::temperature, + snprintf_P(content, sizeof(content), body_template, config::ampel_name(), sensor::co2, sensor::temperature, sensor::humidity, sensor::timestamp, config::measurement_timestep, csv_writer::last_successful_write, config::csv_interval, csv_writer::getAvailableSpace() / 1024, mqtt::connected ? "Yes" : "No", mqtt::last_successful_publish, config::mqtt_sending_interval, @@ -208,7 +208,7 @@ namespace web_server { lorawan::connected ? "Yes" : "No", config::lorawan_frequency_plan, lorawan::last_transmission, config::lorawan_sending_interval, #endif - config::temperature_offset, config::auto_calibrate_sensor ? "Yes" : "No", ampel.sensorId, ampel.sensorId, + config::temperature_offset, config::auto_calibrate_sensor ? "Yes" : "No", config::ampel_name(), config::ampel_name(), wifi::local_ip, wifi::local_ip, ampel.macAddress, ESP.getFreeHeap(), esp_get_max_free_block_size(), esp_get_heap_fragmentation(), ampel.max_loop_duration, ampel.board, ampel.version, dd, hh, mm, ss); @@ -217,7 +217,7 @@ namespace web_server { web_config::http.sendContent(content); // Script - snprintf_P(content, sizeof(content), script_template, csv_writer::filename, ampel.sensorId); + snprintf_P(content, sizeof(content), script_template, csv_writer::filename, config::ampel_name()); Serial.print(F(" - Script size : ")); Serial.println(strlen(content));