Commit Graph

54 Commits

Author SHA1 Message Date
Fabian Schlenz 8e15f87cd3 Moved index.html from SPIFFS to program memory. Removed dependencies to SPIFFS. Also, we can use a different partition scheme with much more program space instead of reserving some of it for SPIFFS. 2019-11-29 06:10:17 +01:00
Fabian Schlenz dd9e1538c8 Playlist: More defensive proramming for when trying to play an empty playlist. 2019-11-29 05:52:00 +01:00
Fabian Schlenz 001e275131 Include information about versions and WiFi connection to controller's json. 2019-11-29 05:46:26 +01:00
Fabian Schlenz 196021bef5 Try to (re)connect to WiFi every 5 minutes. (Only when not playing at the moment.) 2019-11-29 05:45:21 +01:00
Fabian Schlenz 5fe66fdaef Added a command `update` to run the update check. 2019-11-29 05:35:47 +01:00
Fabian Schlenz 6445dc0fb8 Unly call Updater on startup if the SPIFFS needs an update. 2019-11-29 05:32:22 +01:00
Fabian Schlenz b805d1b183 Updater: Better flow for performing updates; added MD5 validation. 2019-11-28 06:48:16 +01:00
Fabian Schlenz 07b1ea3a5c Added Updater to automatically perform OTA updates without user interaction. 2019-11-28 06:42:30 +01:00
Fabian Schlenz 8f19b990ff PlaylistManager: Only search for folders, don't try it with webstreams. 2019-11-28 06:29:51 +01:00
Fabian Schlenz 519ac0e3bd Playlist: Album title now gets handled better. 2019-11-28 06:20:57 +01:00
Fabian Schlenz fcbbdce118 Playlist: Initialization of PlaylistEntries now uses designators. 2019-11-28 06:19:11 +01:00
Fabian Schlenz 6f8683ba9d WIP: Lots of streaming stuff 2019-11-27 06:51:20 +01:00
Fabian Schlenz 710b8a2cdc Add UserAgent, remove superfluous form of location mapping. 2019-11-20 06:17:18 +01:00
Fabian Schlenz b989784fb9 You can now also play MP3s streamed from the internet. (Very rough & wonky code. More or less proof-of-concept right now.) 2019-11-20 06:13:15 +01:00
Fabian Schlenz 94489618ca Moved reading of SD card data into a dedicated class DataSource. 2019-11-20 05:04:27 +01:00
Fabian Schlenz 82d8f07eea Player: Only change volume and report a position if we are actually playing something. 2019-11-19 20:48:43 +01:00
Fabian Schlenz 20041dd483 Extended http_server to provide new endpoints:
/_mapping.txt, /player.json, /playlist_manager.json, /controller.json and /position.json to get the matching data as well as /cmd to send commands to.
2019-11-19 20:48:11 +01:00
Fabian Schlenz 4f9174d362 PlaylistManager: Extracted create_mapping_txt from _save_mapping. 2019-11-19 20:46:54 +01:00
Fabian Schlenz 68ecc05712 Made player and playlist_manager pubilc members of Controller. 2019-11-19 20:46:04 +01:00
Fabian Schlenz 37df309127 Removed MQTT client. Was more or less unused, anyways. 2019-11-17 17:38:41 +01:00
Fabian Schlenz e1dd004cf5 Reload folder mappings after modifying a mapping. 2019-11-17 14:26:23 +01:00
Fabian Schlenz b5ec78ab41 When chaging to another track, play it from the beginning. 2019-11-17 14:25:47 +01:00
Fabian Schlenz fff9d9bc61 Small fix. 2019-11-17 14:25:22 +01:00
Fabian Schlenz 9f442259e9 Worked on the upload stuff. It works, but the SD card seems to die after a few MB... :-/ 2019-11-17 14:23:17 +01:00
Fabian Schlenz 566068f7cd Increased the SD card speed from 4 MHz to 25 MHz for faster directory reading. 2019-11-17 00:35:55 +01:00
Fabian Schlenz 5c15a7d4cb index.html is now served from SPIFFS. You can add rfid tag -> folder mappings via the webinterface. And I've added the missing controller json data messages. 2019-11-17 00:35:23 +01:00
Fabian Schlenz b9a4770ff2 Massive changes. Added a quite nice webinterface with live data using WebSockets. Removed the FTP server (wasn't that useful anyways). JSON creating using ArduinoJson instead of String concatenation. Ans, and, and. 2019-11-16 23:03:13 +01:00
Fabian Schlenz e471a57578 Changed the playing code to use Playlists managed by a PlaylistManager. This allows you to have randomized playlists and stuff. Also, you can now access special functions via the contents of RFID tags. See the README for a list of available modes. 2019-11-14 20:42:02 +01:00
Fabian Schlenz 6e05900b5a More changes for the recording... It's still not working. -_- 2019-11-14 06:50:13 +01:00
Fabian Schlenz 15f6d78128 RFID reading now includes RFID data, enabling you to save additional data (still to come...) to the rfid card. 2019-11-14 06:48:21 +01:00
Fabian Schlenz b32f7d1228 Experimental code to read RFID card data. 2019-11-13 20:14:09 +01:00
Fabian Schlenz 45fef23bad Another try in getting the recording stuff to work... 2019-11-13 20:13:52 +01:00
Fabian Schlenz e20e6b7d3e Added serial command ids; id-to-folder mapping now works. 2019-11-13 06:51:38 +01:00
Fabian Schlenz a5751eec79 Merge branch 'master' of https://git.schle.nz/fabian/esmp3 2019-11-12 19:31:31 +01:00
Fabian Schlenz e02b8571f6 Tries to get the recording functionality to work. As of yet it's not working. :-/ 2019-11-12 19:31:26 +01:00
Fabian Schlenz 6d00474315 ID of album to play now comes from a file ids.txt within the folder. This is as of yet untested. 2019-11-12 19:29:55 +01:00
Fabian Schlenz 48c93ed043 Added recording mode to detect volumes. 2019-11-11 17:40:47 +01:00
Fabian Schlenz 2d1f049444 Changed from ESP8266 to ESP32. Works much better.
HTTP server is disabled (for now).
2019-11-11 05:32:41 +01:00
Fabian Schlenz c313f6eb72 Changed from MCP23S17 to MCP23017. Lots of changes.
Doesn't really work because of timing stuff.
2019-11-10 14:45:33 +01:00
Fabian Schlenz 429979c6d1 Start Wifi after initializing VS1053 - faster bootup when multiple tries setting up VS1053 are needed. 2019-09-03 06:06:51 +02:00
Fabian Schlenz 5f682c303f Added MQTT client, better speaker handling, fixed bug in FTP server, ... 2019-08-14 21:01:01 +02:00
Fabian Schlenz dcbb42f5ef Add code for switching the speaker respective their amps on or off. 2019-08-14 06:36:26 +02:00
Fabian Schlenz 235ef8c39d Added FTP server and automatic version generation. 2019-08-13 19:39:03 +02:00
Fabian Schlenz 4d59c66354 Format changes. 2019-08-13 06:16:08 +02:00
Fabian Schlenz 25fa963752 Added sleep mode for VS1053, HTTP server, tar upload, JSON status, RFID card removal debouncing, ... 2019-08-12 20:15:00 +02:00
Fabian Schlenz 7695e6196c Use correct actions for buttons. 2019-08-12 06:20:52 +02:00
Fabian Schlenz b5c29eaa38 Skip ID3 tags. They can get quite large... 2019-08-12 06:20:38 +02:00
Fabian Schlenz f29e38160a Added MCP23S17 support as well as changed some pins and added more de-bouncing for the buttons. 2019-08-11 17:15:22 +02:00
Fabian Schlenz 842d7becf0 You can now have INFO output, but not DEBUG output. Added support for commands via Serial. 2019-08-09 06:27:33 +02:00
Fabian Schlenz 417421ae31 Fixed RFID scanning and implemented calling actions on Player. 2019-08-08 06:49:35 +02:00