Changed from ESP8266 to ESP32. Works much better.

HTTP server is disabled (for now).
This commit is contained in:
2019-11-11 05:32:41 +01:00
parent 2ea2ec479a
commit d799448c97
15 changed files with 273 additions and 204 deletions

View File

@ -1,8 +1,7 @@
#include <Arduino.h>
#include <SPI.h>
#include <SD.h>
#include <Wire.h>
#include <Adafruit_MCP23017.h>
#include <WiFi.h>
#include "config.h"
#include "controller.h"
#include "player.h"
@ -13,8 +12,7 @@
Controller* controller;
Player* player;
Adafruit_MCP23017* mcp;
HTTPServer* http_server;
//HTTPServer* http_server;
FtpServer* ftp_server;
MQTTClient* mqtt_client;
unsigned long last_mqtt_report = 0;
@ -22,7 +20,7 @@ unsigned long last_mqtt_report = 0;
void setup() {
delay(500);
Serial.begin(74880);
/*Serial.println("Starting...");
Serial.println("Starting...");
Serial.println("Started.");
INFO("Starting.\n");
#ifdef VERSION
@ -32,30 +30,10 @@ void setup() {
#endif
INFO("Initializing...\n");
DEBUG("Setting up MCP...\n");*/
Wire.begin();
Wire.setClock(1700000);
uint8_t addr = MCP23017_ADDRESS + MCP_I2C_ADDR;
while(true) {
Wire.beginTransmission(addr);
byte status = Wire.endTransmission();
if (status==0) {
DEBUG("I2C device found.");
break;
}
DEBUG("No I2C device found.");
delay(100);
}
mcp = new Adafruit_MCP23017();
mcp->begin(MCP_I2C_ADDR);
INFO("MCP initialized.\n");
DEBUG("Setting up SPI...\n");
SPI.begin();
SPI.setHwCs(false);
SPIMaster* spi = new SPIMaster(mcp);
SPIMaster* spi = new SPIMaster();
INFO("SPI initialized.\n");
DEBUG("Setting up SD card...\n");
@ -68,8 +46,8 @@ void setup() {
spi->select_sd(false);
DEBUG("Initializing Player and Controller...\n");
player = new Player(mcp, spi);
controller = new Controller(player, mcp, spi);
player = new Player(spi);
controller = new Controller(player, spi);
INFO("Player and controller initialized.\n");
DEBUG("Connecting to wifi \"%s\"...\n", WIFI_SSID);
@ -83,12 +61,12 @@ void setup() {
INFO("WiFi connected.\n");
mqtt_client = new MQTTClient();
MDNS.begin("esmp3");
//MDNS.begin("esmp3");
controller->set_mqtt_client(mqtt_client);
DEBUG("Setting up WiFi and web server...\n");
http_server = new HTTPServer(player, controller);
//http_server = new HTTPServer(player, controller);
ftp_server = new FtpServer();
ftp_server->begin("user", "pass");
@ -101,7 +79,7 @@ void loop() {
if (more_data_needed) return;
controller->loop();
http_server->loop();
//http_server->loop();
ftp_server->handleFTP();
mqtt_client->loop();
if ((last_mqtt_report + 10000 < millis()) || last_mqtt_report > millis()) {