Centralized the creation of a hostname to a global variable hostname, set in pitrix.cpp. Added an mDNS record for the webserver.
This commit is contained in:
parent
4fdd1d3739
commit
5ce3b0c1b3
@ -40,3 +40,4 @@ typedef struct {
|
|||||||
} Coords;
|
} Coords;
|
||||||
|
|
||||||
extern uint8_t baseHue;
|
extern uint8_t baseHue;
|
||||||
|
extern char hostname[30];
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
|
|
||||||
#include "http_server.h"
|
#include "http_server.h"
|
||||||
#include "effects.h"
|
#include "effects.h"
|
||||||
|
#include "my_wifi.h"
|
||||||
|
#include "prototypes.h"
|
||||||
|
|
||||||
#if defined( ESP8266 )
|
#if defined( ESP8266 )
|
||||||
ESP8266WebServer http_server(HTTP_SERVER_PORT);
|
ESP8266WebServer http_server(HTTP_SERVER_PORT);
|
||||||
@ -71,6 +73,8 @@ void http_server_setup() {
|
|||||||
http_server.send_P(400, text_plain, PSTR("Unknown effect."));
|
http_server.send_P(400, text_plain, PSTR("Unknown effect."));
|
||||||
});
|
});
|
||||||
http_server.begin();
|
http_server.begin();
|
||||||
|
|
||||||
|
MDNS.addService("_http", "_tcp", 80);
|
||||||
}
|
}
|
||||||
|
|
||||||
void http_server_loop() {
|
void http_server_loop() {
|
||||||
|
14
src/mqtt.cpp
14
src/mqtt.cpp
@ -87,18 +87,8 @@ void mqtt_callback(char* original_topic, byte* pl, unsigned int length) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
boolean mqtt_connect() {
|
boolean mqtt_connect() {
|
||||||
char client_id[30];
|
LOG("MQTT * Connecting to MQTT server with client id "); LOGln(hostname);
|
||||||
int chipid;
|
if (mqtt_client.connect(hostname, MQTT_USER, MQTT_PASS, MQTT_TOPIC "status", 0, true, "OFFLINE", true)) {
|
||||||
#if defined( ESP8266 )
|
|
||||||
chipid = ESP.getChipId();
|
|
||||||
#elif defined( ESP32 )
|
|
||||||
chipid = ESP.getEfuseMac() & 0xFFFFFF;
|
|
||||||
#else
|
|
||||||
#error Neither ESP32 nor ESP8266 set.
|
|
||||||
#endif
|
|
||||||
snprintf(client_id, 30, HOSTNAME, chipid);
|
|
||||||
LOG("MQTT * Connecting to MQTT server with client id "); LOGln(client_id);
|
|
||||||
if (mqtt_client.connect(client_id, MQTT_USER, MQTT_PASS, MQTT_TOPIC "status", 0, true, "OFFLINE", true)) {
|
|
||||||
LOGln("MQTT * Connected.");
|
LOGln("MQTT * Connected.");
|
||||||
mqtt_client.publish(MQTT_TOPIC "status", "ONLINE");
|
mqtt_client.publish(MQTT_TOPIC "status", "ONLINE");
|
||||||
mqtt_client.subscribe(MQTT_TOPIC "+");
|
mqtt_client.subscribe(MQTT_TOPIC "+");
|
||||||
|
16
src/ota.cpp
16
src/ota.cpp
@ -1,9 +1,9 @@
|
|||||||
#include <ArduinoOTA.h>
|
#include <ArduinoOTA.h>
|
||||||
|
|
||||||
#include "my_wifi.h"
|
#include "my_wifi.h"
|
||||||
|
|
||||||
#include <ArduinoOTA.h>
|
#include <ArduinoOTA.h>
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#include "prototypes.h"
|
||||||
|
|
||||||
void ota_setup() {
|
void ota_setup() {
|
||||||
ArduinoOTA.onStart([]() {
|
ArduinoOTA.onStart([]() {
|
||||||
@ -30,19 +30,9 @@ void ota_setup() {
|
|||||||
else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed");
|
else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed");
|
||||||
else if (error == OTA_END_ERROR) Serial.println("End Failed");
|
else if (error == OTA_END_ERROR) Serial.println("End Failed");
|
||||||
});
|
});
|
||||||
char client_id[30];
|
|
||||||
int chipid;
|
|
||||||
#if defined( ESP8266 )
|
|
||||||
chipid = ESP.getChipId();
|
|
||||||
#elif defined( ESP32 )
|
|
||||||
chipid = ESP.getEfuseMac() & 0xFFFFFF;
|
|
||||||
#else
|
|
||||||
#error Neither ESP32 nor ESP8266 set.
|
|
||||||
#endif
|
|
||||||
|
|
||||||
snprintf(client_id, 30, HOSTNAME, chipid);
|
LOG("OTA * Starting OTA with client_id "); LOGln(hostname);
|
||||||
LOG("OTA * Starting OTA with client_id "); LOGln(client_id);
|
ArduinoOTA.setHostname(hostname);
|
||||||
ArduinoOTA.setHostname(client_id);
|
|
||||||
ArduinoOTA.begin();
|
ArduinoOTA.begin();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,10 +17,20 @@ uint8_t starting_up = OTA_STARTUP_DELAY;
|
|||||||
int loop_timeouts = 0;
|
int loop_timeouts = 0;
|
||||||
long loop_started_at = 0;
|
long loop_started_at = 0;
|
||||||
uint8_t baseHue = 0; // defined as extern in prototypes.h
|
uint8_t baseHue = 0; // defined as extern in prototypes.h
|
||||||
|
char hostname[30]; // defined as extern in prototypes.h
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(74880);
|
Serial.begin(74880);
|
||||||
LOGln("Core * Starting");
|
LOGln("Core * Starting");
|
||||||
|
|
||||||
|
int chipid;
|
||||||
|
#if defined( ESP8266 )
|
||||||
|
chipid = ESP.getChipId();
|
||||||
|
#elif defined( ESP32 )
|
||||||
|
chipid = ESP.getEfuseMac() & 0xFFFFFF;
|
||||||
|
#endif
|
||||||
|
snprintf(hostname, 30, HOSTNAME, chipid);
|
||||||
|
|
||||||
setup_effects();
|
setup_effects();
|
||||||
wifi_setup();
|
wifi_setup();
|
||||||
ntp_setup();
|
ntp_setup();
|
||||||
|
Loading…
Reference in New Issue
Block a user