Thomas Lee
- This week I defined and fleshed out the major structural components of the Solution Approach & Implementation Plans for our Web App and the Main Raspberry Pi system in preparation for our Design Presentation. More specifically, I made important design decisions about which modules in the system diagram (such as the Request Receiver, Queue Structure manager, WebApp) would be coupled & communicate with which others, and in what order/priority data is forwarded throughout the User web app -> Internal System -> Spotify API -> Speaker & Lights pipeline, as well as for what functionality we would be exposing to the User on the web app side. To make these decisions I took into consideration the User experience (as they are the primary stakeholder) by making sure our system would feel intuitive, reactive (snappy), and powerful when interfacing with it. Please refer to our Design Presentation Slides (and accompanying writeup doc) for the specific design decisions and their exact User-focused justifications. Additionally I conducted more research into the specific party light fixture control protocols we would be capable of programming on and transmitting from our Raspberry Pi’s, and which actual pieces of hardware would accept those control signals within our budget. I have decided that our current plan would be to use the DMX mode on our lights, and transmit control signals using a USB to DMX cable from the Pi to the light fixture. The control signals would be generated by a Python server on the Main RPi and use the Open Lighting Architecture Framework to have our function calls actually transmit DMX encoded information along to the actual lights.
- Progress is on schedule, however in the upcoming week we need to be vigilant about starting to build our actual modules and to test if our toy examples will work with the actual runtime environment.
- Next week we hope to set up and test the basic functionality of each of the modules (besides the Recommender RPi), and possibly link them end to end. We will also begin writing lighting code for our LED controller and make final decisions about which lighting fixture and noise sensor we will use, and order them via the inventory form. Also next week we would be tinkering with the RPi to see how to manage various processes on the same core.