The aim is to provide an intuitive interface for control of a home theatre receiver. The provided physical remote and web interface is not intuitive or very user friendly. The aim is to make the selection of various inputs and controls automated so that the use of the product is easier for the users.
- [x]Receiver on
- [x]Input select
- Phono
- Tuner
- Airplay
- Audio1 (Optical)
- Audio2 (Analog)
- AV1(HDMI 1) [Bluetooth input]
- [x]Receiver off (Standby)
- Sub ON/OFF
- [x]Get state from the Reciver, in case of manual changes. (refresh UI)
- [x]Volume Up
- [x]Volume Down
- [x]Volume Mute
- [x]Power Status
- Run stand alone tests using the npm package for the above input selections and criteria.
- Build an Express API for the above endpoints
- [] Build a front-end that uses the API.
- Yamaha Node, (npm)
- bluebird, promise library
- body-parser, node json body parser
- chalk, colorful logging
- express, web framework for node
- helmet, security package
- ping, node wrapper for ping command
- systeminformation, host information provider
- tcp-port-used, host checker provider
- validate.js, validation library
- Move into the backend folder
cd backend
- Install backend packages
yarn install
- Start the backend
yarn start
- Optionally develop/run with nodemon (must be globally installed)
yarn dev
See ./backend/ENDPOINTS.md
- The manual testing file in Insomnia format file is in /backend/Audio_API_Insomnia.json
- Dockerise (docker-compose the front and backend together to a single container)
- Add support for front end advanced settings
- setting the ip address of the reciever
- setting the increment of the volume changes