Added MQTT client, better speaker handling, fixed bug in FTP server, ...
This commit is contained in:
23
src/main.cpp
23
src/main.cpp
@ -7,6 +7,7 @@
|
||||
#include "player.h"
|
||||
#include "spi_master.h"
|
||||
#include "http_server.h"
|
||||
#include "mqtt_client.h"
|
||||
#include <ESP8266FtpServer.h>
|
||||
|
||||
Controller* controller;
|
||||
@ -14,6 +15,8 @@ Player* player;
|
||||
MCP* mcp;
|
||||
HTTPServer* http_server;
|
||||
FtpServer* ftp_server;
|
||||
MQTTClient* mqtt_client;
|
||||
unsigned long last_mqtt_report = 0;
|
||||
|
||||
void setup() {
|
||||
delay(500);
|
||||
@ -25,6 +28,19 @@ void setup() {
|
||||
INFO("ESMP3, version unknown\n");
|
||||
#endif
|
||||
INFO("Initializing...\n");
|
||||
|
||||
DEBUG("Connecting to wifi \"%s\"...\n", WIFI_SSID);
|
||||
WiFi.mode(WIFI_AP_STA);
|
||||
WiFi.begin(WIFI_SSID, WIFI_PASS);
|
||||
if (WiFi.waitForConnectResult() != WL_CONNECTED) {
|
||||
ERROR("Could not connect to Wifi. Rebooting.");
|
||||
delay(1000);
|
||||
ESP.restart();
|
||||
}
|
||||
INFO("WiFi connected.\n");
|
||||
|
||||
mqtt_client = new MQTTClient();
|
||||
MDNS.begin("esmp3");
|
||||
|
||||
|
||||
|
||||
@ -48,7 +64,7 @@ void setup() {
|
||||
|
||||
DEBUG("Initializing Player and Controller...\n");
|
||||
player = new Player(mcp);
|
||||
controller = new Controller(player, mcp);
|
||||
controller = new Controller(player, mcp, mqtt_client);
|
||||
INFO("Player and controller initialized.\n");
|
||||
|
||||
DEBUG("Setting up WiFi and web server...\n");
|
||||
@ -67,4 +83,9 @@ void loop() {
|
||||
controller->loop();
|
||||
http_server->loop();
|
||||
ftp_server->handleFTP();
|
||||
mqtt_client->loop();
|
||||
if ((last_mqtt_report + 10000 < millis()) || last_mqtt_report > millis()) {
|
||||
last_mqtt_report = millis();
|
||||
mqtt_client->publish_status(controller->get_status_json());
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user