Main motivation for this project - i want to control Mopidy music server from my couch, especialy when i want to switch on the TV and therefore turn off music. And i have 50% or more out of my remote buttons unused. I mean what are those colorful buttons do? No idea. But this project fill them with purpose. Later i found aliexpress sourced remote laying around and decided to adopt it as well. This one gives more precise control over music server.
I use Sming framework for my esp8266 based project. I think this one is most handy for quick and convinient development.
I split unit's tasks in classes with following high level responsibilities:
wifimanager - tries to connect to known network and notifies application if connection established or lost. when no connection avalable - it starts AP point so you can connect to it and configure.
webserver - starts and provides basic interface for listing wifi networks and connecting to one.
mopidy - basic httpclient used for communication with mopidy music server using jsonrpc. Additionaly to basic operations like play and stop, it loads user stored playlist from mopidy server and provides possibility to start track by number.
ir - provides mapping between remore buttons and mopidy actions
aso IR library included with all protocols disabed apart from those that i need. This improves remote responsiveness dramaticaly.
I use vscode for development and basic build tasks for vscode are included
Originaly i had much more planned compared with final state, but luckily i can keep some components unsoldered and continue development with another instance of the same board, since i had them ordered in batch of 5 items. I did some small mistakes in first design (no surprise), therefore some fixes applied on top.
Unsodered: powerfull IR led to control my TV, this require transistor driver since led current well abovce 100mA. At this point this is tested and working great but unsoldered after
Unsoldered: RF433 sender and receiver - this comes handy to orchestrate smaller mcus (like attinys) but also out of scope of this project
Soldered: IR receiver as heart of this project.
Please be aware that schematics is fixed after i found some errors there, but pcb received no updates.