From 7d77c5b0513f6046b8c8b2798cf0bc16c0685b1e Mon Sep 17 00:00:00 2001 From: "Tanner Collin (aider)" Date: Sat, 21 Jun 2025 13:48:44 -0600 Subject: [PATCH] feat: Use MAC address for unique device name --- firmware/firmware.ino | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/firmware/firmware.ino b/firmware/firmware.ino index 69030bd..9f73bdb 100644 --- a/firmware/firmware.ino +++ b/firmware/firmware.ino @@ -11,6 +11,8 @@ WiFiClient wc; MqttClient mqttClient(wc); ESP8266WebServer server(80); +String deviceName; + #define OUTPUT_PIN 4 @@ -31,9 +33,17 @@ void setup() { Serial.println(""); Serial.println("===== BOOT UP ====="); + // Generate device name from MAC address + String mac = WiFi.macAddress(); + mac.replace(":", ""); // Remove colons from MAC address + String shortMac = mac.substring(0, 4); + deviceName = "mega_" + shortMac; + Serial.print("[SYSTEM] Generated device name: "); + Serial.println(deviceName); + static int error_count = 0; - WiFi.hostname("airmega"); + WiFi.hostname(deviceName.c_str()); WiFi.mode(WIFI_STA); WiFi.begin(SECRET_SSID, SECRET_PASS); @@ -84,7 +94,7 @@ void setup() { server.begin(); Serial.println("[HTTP] server started"); - mqttClient.setId("airmega"); + mqttClient.setId(deviceName.c_str()); Serial.print("[MQTT] Attempting to connect to the MQTT broker: "); Serial.println(broker);