diff --git a/README.md b/README.md index 56734b6..95222e5 100755 --- a/README.md +++ b/README.md @@ -1,29 +1,40 @@ -# KAM Alarm +# ESP Clicker for Companion -![Image of KAM alarms](docs/Images/Image2.jpg) +An **ESP Clicker** that connects via WiFi to the [Bitfocus Companion](https://bitfocus.io/companion) app using its Web API. This clicker is designed to enhance devices like stream decks by adding additional functionality. Additionally, it has Bluetooth capabilities to control PowerPoint presentations, making it versatile for various use cases, such as in churches with ProPresenter integration. + +## Features +- **WiFi Connectivity**: Connects to the Companion app over WiFi. +- **Bluetooth Mode**: Switch to Bluetooth mode by holding the bottom two buttons during power-on. In Bluetooth mode, the ESP clicker functions as a keyboard, allowing you to use the top buttons to navigate forward and backward in PowerPoint. +- **LED Indicators**: + - **Blue LED**: Bluetooth mode. + - **Green LED**: WiFi mode. +- **Layer Selection**: Choose from 99 Companion layers directly from the ESP clicker web interface. +- **Web Interface for WiFi Setup**: Set the WiFi credentials and Companion's IP address by connecting to the clicker's network and navigating to `192.168.4.1`. + +## How It Works + +### WiFi Mode: +1. **Startup**: Power on the ESP Clicker. It automatically connects to your local network and communicates with Companion over WiFi. +2. **Layer Selection**: Access the web interface by entering the ESP Clicker’s IP in your browser. Log in to choose a layer from 1-99. +3. **Control Companion**: The clicker sends commands via the Web API to Companion, enabling you to control your selected layer’s actions. + +### Bluetooth Mode: +1. **Switching to Bluetooth**: Hold down the bottom two buttons while powering on the device. The LED will turn blue, indicating Bluetooth mode is active. +2. **Use as Keyboard**: Pair the clicker with your computer like a Bluetooth keyboard. The top buttons function as navigation controls: + - **Forward**: Advances slides in PowerPoint. + - **Backward**: Reverts slides in PowerPoint. +3. **Switching Back to WiFi**: Hold down the bottom two buttons again while powering on, and the LED will turn green, indicating WiFi mode is restored. + +### Web Interface (WiFi Setup) +1. To configure the WiFi network, connect to the clicker’s WiFi network. +2. Open your browser and navigate to `http://192.168.4.1/`. +3. Enter the WiFi SSID, password, and the IP address of the computer running Companion. +4. You can view the battery percentage and voltage in the web interface. +5. There is also an option to configure which of the 10 buttons controls the laser pointer, or you can disable the laser if it's not needed. -The KAM Alarm system was born out of a need for efficient communication between the sound room and kids ministry at our church. The goal was to enable seamless updates on service progression, attendance counts, and worker presence. +## Use Cases +This device is perfect for churches, especially when using ProPresenter, as it integrates seamlessly with Companion to control slide switching. -**Key Features** - -- Wireless connectivity using ESP32 boards that store WiFi credentials persistently across resets -- Create an access point (AP) if no WiFi is available; connect to it with your phone or device -- Once connected to a network, login to set the remote IP address, which enables connection to another KAM Alarm devices - -**How It Works** - -1. Connect your device to the KAM Alarm's AP or existing WiFi network. -2. Log in and configure the remote IP address, linking the two devices. -3. Use the system to send updates on service progression, attendance counts, and worker presence between the sound room and kids ministry. - -**Technical Details** - -- Two ESP32 boards connect via WiFi to each other -- Sends GET requests to different URLs for data exchange - -**Get Started** - -Check out our [documentation](docs/documentation.md) for a detailed list of components used in this project. - -Check out our [BOM](docs/BOM.md) for a list of the parts used and the total cost. +# License +This project is licensed under the MIT License. See the [[LICENSE]] file for details. \ No newline at end of file