A series of projects exploring secure ZeroMQ connections and SoundTouch event data collection. Result is the live SoundTouch event data visualization seen below.
-
- ./go/src/github.com/redsofa/
soundtouch
- Project that connects to Bose SoundTouch over WebSocket and pushes event notification messages to a secure ZeroMQ TCP PULL socket
- ./go/src/github.com/redsofa/
-
- ./python/
publisher
.py - Project that connects to secure TCP PUSH socket, receives SoundTouch notifications and broadcasts them to subscribers.
- ./python/
-
- ./python/
cache
.py - Project that connects to ZeroMQ TCP PUB socket, creates a cache containing a list of recent SoundTouch notification messages and makes them available over a ZeroMQ Router socket.
- ./python/
-
- ./go/src/github.com/redsofa/
collector
- Project that connects to ZeroMQ TCP PUB socket, receives notification messages and passes them on to WebSocket clients. Project also connects to ZeroMQ Router socket to get a list of most recent messages. In addition, it serves static web content.
- ./go/src/github.com/redsofa/
Project contains a Vagrantfile with centos7. Before proceeding install Vagrant on your local machine: https://www.vagrantup.com/downloads.html
You will now create a virtual machine and us it develop and run the code. To install all the dependencies and get the machine ready, do this:
git clone [email protected]:redsofa/zmq-soundtouch.git
- Navigate to root directory of the project:
cd zmq-soundtouch
. - Create a vagrant vm:
vagrant up
- Ssh into vm:
vagrant ssh
.
You can find the src
directory shared in the vagrant vm under the /usr/local/src
path. You can find the root directory itself shared under `/vagrant'.
This project is licensed under AGPL V3. See COPYING file for a copy of the included license or visit http://www.gnu.org/licenses/.