mqttclient.cpp: hash mqtt client name

This commit is contained in:
cyberman54 2020-12-27 00:40:07 +01:00
parent a4daa772c3
commit 1a2f9e0439
2 changed files with 5 additions and 2 deletions

View File

@ -17,7 +17,7 @@
#define MQTT_KEEPALIVE 10 // keep alive interval in seconds #define MQTT_KEEPALIVE 10 // keep alive interval in seconds
#ifndef MQTT_CLIENTNAME #ifndef MQTT_CLIENTNAME
#define MQTT_CLIENTNAME clientId.c_str() #define MQTT_CLIENTNAME clientId
#endif #endif
extern TaskHandle_t mqttTask; extern TaskHandle_t mqttTask;

View File

@ -41,7 +41,10 @@ esp_err_t mqtt_init(void) {
int mqtt_connect(const char *my_host, const uint16_t my_port) { int mqtt_connect(const char *my_host, const uint16_t my_port) {
IPAddress mqtt_server_ip; IPAddress mqtt_server_ip;
static String clientId = "paxcounter-" + ETH.macAddress(); const uint16_t hashed = hash(&ETH.macAddress()[0], 4); // hash MAC to 4 digits
char clientId[16];
snprintf(clientId, 16, "paxcounter_%d", hashed);
ESP_LOGI(TAG, "MQTT name is %s", MQTT_CLIENTNAME); ESP_LOGI(TAG, "MQTT name is %s", MQTT_CLIENTNAME);
// resolve server host name // resolve server host name