mirror of
https://github.com/kavishdevar/librepods.git
synced 2026-02-01 15:49:10 +00:00
69 lines
2.3 KiB
Markdown
69 lines
2.3 KiB
Markdown
# ALN - AirPods like Normal (Linux Only)
|
||
|
||

|
||
|
||
# Get Started!
|
||
## 1. Install the required packages
|
||
|
||
```bash
|
||
sudo apt install python3 python3-pip
|
||
pip3 install pybluez
|
||
```
|
||
|
||
If you want to run it as a daemon (Refer to the [Daemonizing](#Daemonizing) section), you will need to install the `python-daemon` package.
|
||
|
||
```bash
|
||
pip3 install python-daemon
|
||
```
|
||
|
||
## 2. Clone the repository
|
||
|
||
```bash
|
||
git clone https://github.com/kavishdevar/aln.git
|
||
cd aln
|
||
```
|
||
|
||
## 3. Preprare
|
||
Pair your AirPods with your machine before running this script!
|
||
:warning: **Note:** DO NOT FORGET TO EDIT THE `AIRPODS_MAC` VARIABLE IN `main.py`/`standalone.py` WITH YOUR AIRPODS MAC ADDRESS!
|
||
|
||
## 4. Run!
|
||
You can either choose the more polished version of the script, which currently only supports fetching the battery percentage, and in-ear status (but not actually controlling the media with that information), or the more experimental standalone version of the script, which supports the following features:
|
||
- Controlling the media with the in-ear status
|
||
- Remove the device as an audio sink when the AirPods are not in your ears.
|
||
- Try to connect with the AirPods if media is playing and the AirPods are not connected.
|
||
|
||
### Polished version
|
||
```bash
|
||
python3 main.py
|
||
```
|
||
|
||
### Experimental version
|
||
```bash
|
||
python3 standalone.py
|
||
```
|
||
|
||
## Daemonizing
|
||
If you want to run this as a deamon, you can use the `airpods_daemon.py` script. This creates a standard UNIX socket at `/tmp/airpods_daemon.sock` and listens for commands (and sends battery/in-ear info, soon!).
|
||
|
||
You can run it as follows:
|
||
|
||
```bash
|
||
python3 airpods_daemon.py
|
||
```
|
||
|
||
### Sending data to the daemon
|
||
You can send data to the daemon using the `send_data.py` script. Since it's a standard UNIX socket, you can send data to it using any programming language that supports UNIX sockets.
|
||
|
||
This package includes a demo script that sends a command to turn off the ANC. You can run it as follows:
|
||
|
||
```bash
|
||
python3 example_daemon_send.py
|
||
```
|
||
|
||
### Reading data from the daemon
|
||
Youhcan listen to the daemon's output by running the `example_daemon_read.py` script. This script listens to the UNIX socket and prints the data it receives. Currenty, it only prints the battery percentage and the in-ear status.
|
||
|
||
```bash
|
||
python3 example_daemon_read.py
|
||
``` |