https://github.com/reimertz/ebt
https://github.com/reimertz/ebt
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/reimertz/ebt
- Owner: reimertz
- Created: 2024-04-08T11:38:50.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-23T08:11:27.000Z (about 1 year ago)
- Last Synced: 2025-03-15T01:47:13.034Z (3 months ago)
- Language: JavaScript
- Size: 64.5 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Everything is becoming Techno
This is the full project integration for our Art Installation - Everything is Becoming Techno.
Please read the whole readme and make sure to follow the Touch Designer and Ableton Live Integration to enable full interaction between each platform.
## Arduino Sensor Server
This project establishes a server to interface with Arduino sensors through Johnny-Five, Express, and Socket.IO, facilitating real-time sensor data visualization and manual sensor value adjustments via a web interface. It also integrates with Touch Designer for dynamic visualizations based on Arduino sensor data, utilizing Socket.IO for instant communication between the server and Touch Designer.
### Getting Started
#### Prerequisites
- **Node.js**: Node.js version 18.x or higher is required. Download it from [nodejs.org](https://nodejs.org/).
- **npm**: Comes with Node.js and is used for installing dependencies.
- **Arduino Setup**: Install StandardFirmataPlus firmware on your Arduino board with the Arduino IDE to allow Johnny-Five to interact with a broader range of components.
#### Installation
1. **Clone the Repository**: Use `git clone` to clone this repository to your machine.
2. **Install Dependencies**: In the project directory (`EBT/arduino-server`), run `npm install` to install Johnny-Five and other dependencies.
3. **Configure Arduino**: Connect your Arduino board to your computer and upload the StandardFirmataPlus firmware.
#### Running the Server
##### With Arduino Connected
To operate the server with actual Arduino hardware, ensuring real sensor data interaction, execute:
```
npm start
```This "Normal Mode" requires the Arduino board to be connected and properly configured as described in the installation steps.
If everything works correctly, you should see sensor values updating in Touch Designer.
#### Emulation Mode

For situations where an Arduino board is not available or for testing purposes without hardware, the server can be run in "Emulation Mode". This mode simulates sensor values, allowing the server to function without a physical Arduino connection. To run the Emulation mode, run:
```
npm run emulation
```With emulation enabled, access the sensor value editor web interface at `http://localhost:3000`.
#### Arduino Server and Touch Designer
Sensor data events are emitted using Socket.IO, facilitating real-time data visualization in Touch Designer for interactive installations and performances.
### Dependencies
- **Johnny-Five**: A JavaScript Robotics & IoT Platform for various microcontroller and IoT devices, including Arduino.
- **Express**: A Node.js web application framework for building web and mobile applications.
- **Socket.IO**: Supports real-time, bidirectional, and event-based communication between web clients and servers. Essential for Touch Designer integration.### Ports
what ports shows up depends on which usb port you connect it to your mac but if you use the usb hub and have it connected to left side, upper most usb-c port, below values should be correct.
Here is in an image of how the box should be connected to the usb hub.

#### Using a active extension cable + usb hub
- LED - /dev/tty.usbmodem141201
- Humidity + light - /dev/tty.usbmodem141301
- Capacitive Sensor - /dev/tty.usbmodem141401#### Using a usb hub
- LED - /dev/tty.usbmodem1201
- Humidity + light - /dev/tty.usbmodem1301
- Capacitive Sensor - /dev/tty.usbmodem1401## Touch Designer Integration
To visualize the sensor data in Touch Designer, you need to open the `touch-designer/EBT.TouchDesigner.toe` file. Ensure you are using Touch Designer release 2023.11510 or newer for full compatibility.
1. Launch Touch Designer.
2. Navigate to `File` > `Open...` or press `Ctrl+O` (Windows) / `Cmd+O` (Mac).
3. Browse to the location of the `EBT.TouchDesigner.toe` file within your project directory.
4. Select the file and click `Open`.Once opened, the project will automatically start receiving and visualizing data from the Arduino server, provided it is running and configured correctly as per the previous steps.
## Ableton Live Integration
1. Make sure you have installed Ableton Live 12 and opened it once.
2. Make sure Ableton Live is Closed.
3. Open the Touch Designer-project.
4. Find the TDAbleton Component and press it
5. Press utils tab in the Component Property window
6. Select Ableton Live 11 and the location in the utiliy window.
7. Press the Install button
8. Once done, Open the Ableton Live project
9. Once opened, go to Ableton Live -> Settings -> Midi and Sync tab and add Touch Designer as a source in one of the empty drop down.
10. Play the track
11. If you have Touch Designer running, sensor values should change the bass track volume.### Random stuff
#### Ambient background track
Use this [ambient ljungle sound](https://www.youtube.com/watch?v=nZUMdnky11E) as a background track opened in a browser tab at 25% to create a great vibe inside the tent.