Difference between revisions of "Bemix"

From SlugWiki
Jump to: navigation, search
(History)
 
(37 intermediate revisions by 7 users not shown)
Line 1: Line 1:
Bemix is a music system which plays user selected music in the [[Bemis]] bathroom. Residents can select music over a web interface and can turn the music on and off directly from the bathroom or remotely over the web.
+
[[Image:2006 0321Image0036.JPG|right|thumb|Mural in the [[Bemis]] bathroom]]
  
Information about the planned implementation of Bemix is available on the [[Bemix Notes]] page.
+
==Overview==
 +
[[Image:Bemix diagram.png|thumb|Diagram of Bemix]]
  
 +
Bemix is a complete music system designed to make music a community experience on [[Slugfest]]. This vision has been realized by installing speakers in public locations that can be controlled though a uniform interface on site or a single web interface.
  
==Bemix v1.0==
+
Bemix version 3.0 (the current version) has five touch switches embedded in the wall of each bathroom, arranged in a + configuration. The user may start and stop the music, increase and decrease the volume, and navigate through a playlist using the touch switches. Using a web interface, one may assemble playlists that can be played on any of the Bemix speakers as well as control all the players.
The original Bemix (Spring 2005) was designed to play music in the Bemis bathroom through speakers located above the drop ceiling. Users would select music through [http://glirnath.sourceforge.net/ Glirnath], a web interface.
+
  
Later, a touch switch was added to provide on/off control from the bathroom. The touch-switch was hidden in a towel rack in the Bemis bathroom.  When someone touched the towel rack and the faucet at the same time, the op-amp senses the change in voltage, compares it to an internal reference voltage, and amplifies it. This signal is sent to a flip flop which toggles power to the speakers.
+
Bemix 3.0 hardware and software is made to be easily modified, expanded, and adapted to other projects. The [[4E Network]] was developed as part of Bemix but is applicable to any project requiring a connection to a computer or another project. The bemix software can handle input from any user interface with only a small amount of work.
  
The success of Bemix led slugs to plan its expansion into other bathrooms. But, the v1.0 hardware and software had much room for technical improvement. The touch switch was finiky and there was no way to override the touch switch from the computer. Slugs designed new hardware and software for Bemix v2.0.
+
==How to Use Bemix==
 +
Bemix is currently installed in the Bemis (bemis) bathroom, the kitchen (classy), Goodale Lounge (donlanes), Walcott Lounge(cocoa), and Walcott hallway (wallcool). The music in either of these locations can be fully controlled over a web interface and partially controlled from the bathrooms (currently only Bemis).
  
 +
===Web Interface===
 +
Go to [http://bemix.mit.edu bemix.mit.edu]. Log on with MIT certificates. You should see a list of all available players. From here you can select playlists, start/stop the music, change the volume, etc.
  
==Bemix v2.0==
 
Bemix v2.0 is the current version of the Bemis bathroom music system. It will span the three central bathrooms: [[Bemis]], shallow [[Goodale]], and shallow [[Walcott]]. At present, we have all necessary hardware and software. It will be fully operational following the installation of [[Bemix#Cable_Trays | Cable Trays]] on 4E.
 
  
The hardware is very similar to v1.0 hardware. It consists of a touch switch in each bathroom and a central logic circuit. The touch switch uses a commercial IC (QT1013?) made for this purpose for improved reliablilty. The logic circuitry is built around flip flops, one for each bathroom. Each flip flop is toggled by the remote touch switch, the computer, and a [[control panel]] which has not yet been implemented. The output is sent to the computer so that it can play or stop the music in the appropriate bathroom.
 
  
On the computer side, we are using a 700MHz PIII with three sound cards to. It will be running custom software written in python.
+
===Touch Switches===
 +
Each bathroom has five touch switches arranged in a + pattern.The funtions are
 +
{| border="1"
 +
|-
 +
|'''Code'''
 +
| '''Position'''
 +
| '''Function'''
 +
|-
 +
| 1
 +
| Center
 +
| Play/pause
 +
|-
 +
| 2
 +
| Top
 +
| Volume up
 +
|-
 +
| 3
 +
| Bottom
 +
| Volume down
 +
|-
 +
|4
 +
| Left
 +
| Previous song
 +
|-
 +
|5
 +
| Right
 +
| Next song
 +
|}
 +
Lay your entire hand flat over the touch switch. They are not sensitive enough to detect your finger.  
  
 +
Currently, you can only load playlists from the computer.
  
==Bemix v3.0==
+
==To Do==
Bemix v3.0 will be a complete redesign of the v2.0 hardware. It will be [http://www.microchip.com PIC] based and will communicate with the computer over the [[4E Network]]. This will allow a virtually unlimited number of commands to be exchanged between the bathrooms and server. In order to keep the hardware simple, we will continue to transmit analog audio from the computer to speakers in each bathroom.
+
* Integrate with hbf/pants (Currently all music comes from hbf)
 +
* permanent housing for electronics (Electronics are still evolving, but in a classy box)
 +
* replace ceiling tile with grate
 +
* install bemix in goodale lounge and kitchen (touch switches would be cool)
 +
* transmit audio as differential signal improve sound quality. Use transformers or more likely DRV134PA (IC AUDIO DIFF LINE DRIVER 8-DIP) and INA137PA (IC AUDIO DIFF RCVR 8-DIP).
  
The user interface, however, will be largely unchanged. It will remain invisible though the use of touch switches. Two additional features will be volume control and song selection. It is unclear what kind of interface the later will use.
+
==Contributors For Version 1-3==
 +
*[[Walker Chan]] - Bemix hardware
 +
*[[Edwin Chen]] - Cruft alarm
 +
*[[Rob Crowell]] - Bemix software
 +
*[[David Harvison]] - system administration
 +
*[[Emily King]] - Bemis bathroom mural
 +
*[[Andrew Westerdale]] - assistant
 +
*Huy Nguyen - visualization software
 +
==Contributors For Version 4==
 +
* [[Jelle van den Hooff]] - Actually made bemix v4 happen. Wrote original backend and player.
 +
* [[Tim Mickel]] - Bemix software, especially the web interface, and twisted/push nodes.
 +
* [[Isaac Hero Gutenesque]] - Hype Bemix software and hardware research and development. Early vlc prototype. Rebuilding 4e network.
 +
* [[Robert Johnson]] - Bemix hardware and firmware. Rebuilding 4e network.
 +
* [[Adrian Mullings]]  - Has an account on hbf
  
 +
If you are interested in contributing or for technical assistance/help with bemix, ask bemixdevs@mit.
  
==Cable Trays==
+
==History==
All low voltage wiring Bemixmust be run in a cable trays, because messy wires start fires. Our cable trays are from [[Reuse]] and currently being installed.
+
===Version 1===
 +
Bemix version 1.0 was created in Spring 2005. It was designed to play music in the Bemis bathroom through speakers located above the drop ceiling. Users would select music through [http://glirnath.sourceforge.net/ Glirnath], a web interface.
  
 +
Later, a touch switch was added to provide on/off control from the bathroom. The touch-switch was hidden in a towel rack in the Bemis bathroom.  When someone touched the towel rack and the faucet at the same time, the op-amp senses the change in voltage, compares it to a referece voltage, and amplifies it. This signal is sent to a flip flop which toggles power to the speakers.
 +
 +
The success of Bemix led slugs to plan its expansion into other bathrooms. But, the v1.0 hardware and software had much room for technical improvement. The touch switch was finiky and there was no way to override the touch switch from the computer.
 +
 +
===Version 2===
 +
Bemix version 2.0 was planned but not implemented (by the time the cable trays were up, version 3 was nearly completed). It would have simply built on v1.0, expanding it to the three central bathrooms and making it more robust.
 +
 +
===Version 3===
 +
Version 3.0 is a complete redesign of version 2. It will be PIC based and will communicate with the computer over the [[4E Network]]. This will allow a virtually unlimited number of commands to be exchanged between the bathrooms and server. The user interface in the bathroom consists of five touch switches in a + configuration.
 +
 +
===Version 4===
 +
Version 4 has evolved from the original distributed mplayer system to use vlc, and currently a twisted-based socket system. The web interface is django based, uses certificates for authentication, stores a database using MongoDB, and runs on hbf. There are a couple git repositories for different parts of the project. Ask Isaac (igutek), Tim (tmickel), Jelle(jelle), or Rob (robj),  if you are interested in working on bemix, or seeing the source.  The touch switch is currently an Arduino sitting on an rs485 bus, sending commands which in turn are relayed to hbf which sends commands to the players. Rob and Isaac are developing a cheap ethernet-based board that will become the new 4e network.
 +
 +
===Version 5===
 +
It is a continuation of the version 4. It runs on raspberry pis and has youtube support.
 +
 +
==Cable Trays==
 +
All low voltage wiring Bemix must be run in a cable trays, because messy wires start fires. Our cable trays are from [[Reuse]] and currently being installed.
  
 
==See Also==
 
==See Also==
* [[Projects]]
+
* [[Bemix Hardware Notes]]
*[[Bemix Hardware Notes]]
+
* [[4E Network]]
 +
* [[Bemix Notes]]
 +
* [[Bemix PIC code]]
 +
* [[Bemix Machines]]
  
  
 
[[Category: Projects]]
 
[[Category: Projects]]

Latest revision as of 23:31, 1 September 2015

Mural in the Bemis bathroom

Overview

Diagram of Bemix

Bemix is a complete music system designed to make music a community experience on Slugfest. This vision has been realized by installing speakers in public locations that can be controlled though a uniform interface on site or a single web interface.

Bemix version 3.0 (the current version) has five touch switches embedded in the wall of each bathroom, arranged in a + configuration. The user may start and stop the music, increase and decrease the volume, and navigate through a playlist using the touch switches. Using a web interface, one may assemble playlists that can be played on any of the Bemix speakers as well as control all the players.

Bemix 3.0 hardware and software is made to be easily modified, expanded, and adapted to other projects. The 4E Network was developed as part of Bemix but is applicable to any project requiring a connection to a computer or another project. The bemix software can handle input from any user interface with only a small amount of work.

How to Use Bemix

Bemix is currently installed in the Bemis (bemis) bathroom, the kitchen (classy), Goodale Lounge (donlanes), Walcott Lounge(cocoa), and Walcott hallway (wallcool). The music in either of these locations can be fully controlled over a web interface and partially controlled from the bathrooms (currently only Bemis).

Web Interface

Go to bemix.mit.edu. Log on with MIT certificates. You should see a list of all available players. From here you can select playlists, start/stop the music, change the volume, etc.


Touch Switches

Each bathroom has five touch switches arranged in a + pattern.The funtions are

Code Position Function
1 Center Play/pause
2 Top Volume up
3 Bottom Volume down
4 Left Previous song
5 Right Next song

Lay your entire hand flat over the touch switch. They are not sensitive enough to detect your finger.

Currently, you can only load playlists from the computer.

To Do

  • Integrate with hbf/pants (Currently all music comes from hbf)
  • permanent housing for electronics (Electronics are still evolving, but in a classy box)
  • replace ceiling tile with grate
  • install bemix in goodale lounge and kitchen (touch switches would be cool)
  • transmit audio as differential signal improve sound quality. Use transformers or more likely DRV134PA (IC AUDIO DIFF LINE DRIVER 8-DIP) and INA137PA (IC AUDIO DIFF RCVR 8-DIP).

Contributors For Version 1-3

Contributors For Version 4

  • Jelle van den Hooff - Actually made bemix v4 happen. Wrote original backend and player.
  • Tim Mickel - Bemix software, especially the web interface, and twisted/push nodes.
  • Isaac Hero Gutenesque - Hype Bemix software and hardware research and development. Early vlc prototype. Rebuilding 4e network.
  • Robert Johnson - Bemix hardware and firmware. Rebuilding 4e network.
  • Adrian Mullings - Has an account on hbf

If you are interested in contributing or for technical assistance/help with bemix, ask bemixdevs@mit.

History

Version 1

Bemix version 1.0 was created in Spring 2005. It was designed to play music in the Bemis bathroom through speakers located above the drop ceiling. Users would select music through Glirnath, a web interface.

Later, a touch switch was added to provide on/off control from the bathroom. The touch-switch was hidden in a towel rack in the Bemis bathroom. When someone touched the towel rack and the faucet at the same time, the op-amp senses the change in voltage, compares it to a referece voltage, and amplifies it. This signal is sent to a flip flop which toggles power to the speakers.

The success of Bemix led slugs to plan its expansion into other bathrooms. But, the v1.0 hardware and software had much room for technical improvement. The touch switch was finiky and there was no way to override the touch switch from the computer.

Version 2

Bemix version 2.0 was planned but not implemented (by the time the cable trays were up, version 3 was nearly completed). It would have simply built on v1.0, expanding it to the three central bathrooms and making it more robust.

Version 3

Version 3.0 is a complete redesign of version 2. It will be PIC based and will communicate with the computer over the 4E Network. This will allow a virtually unlimited number of commands to be exchanged between the bathrooms and server. The user interface in the bathroom consists of five touch switches in a + configuration.

Version 4

Version 4 has evolved from the original distributed mplayer system to use vlc, and currently a twisted-based socket system. The web interface is django based, uses certificates for authentication, stores a database using MongoDB, and runs on hbf. There are a couple git repositories for different parts of the project. Ask Isaac (igutek), Tim (tmickel), Jelle(jelle), or Rob (robj), if you are interested in working on bemix, or seeing the source. The touch switch is currently an Arduino sitting on an rs485 bus, sending commands which in turn are relayed to hbf which sends commands to the players. Rob and Isaac are developing a cheap ethernet-based board that will become the new 4e network.

Version 5

It is a continuation of the version 4. It runs on raspberry pis and has youtube support.

Cable Trays

All low voltage wiring Bemix must be run in a cable trays, because messy wires start fires. Our cable trays are from Reuse and currently being installed.

See Also