# README
PiTooth
Go Bluetooth manager for Raspberry Pi devices.
Quickly enable simple Bluetooth connectivity and file transfer capabilities.
You can import it into your projects, or use it as a standalone tool.
Features
- Manage the bluetooth service on the Raspberry Pi.
- Accept incoming Bluetooth connections.
- Discover nearby and connected Bluetooth devices.
- Control the OBEX server to support file transfers.
Requirements
- Any Raspberry Pi device with Bluetooth
- Enable Bluez ObexD
Usage
CLI
## Build the tool
cd pitooth/cmd
go build -v -o pitooth
## Accept incoming connections with a specified window:
./pitooth -alias=PiToothDevice -acceptConnections -connectionWindow=60 -log=debug
## Enable OBEX server with a path to store received files:
./pitooth -enableObex -obexPath=/path/to/obex/files
## Disable OBEX server:
./pitooth -disableObex
Library
import (
"log"
"time"
"github.com/ztkent/pitooth"
)
// Validate bluetooth functionality, then create a new Bluetooth Manager
btm, err := NewBluetoothManager("YourDeviceName")
if err != nil {
log.Fatalf("Failed to create Bluetooth Manager: %v", err)
}
// Become discoverable, and accept incoming connections for 30 seconds
connectedDevices, err := btm.AcceptConnections(time.Second * 30)
if err != nil {
log.Fatalf("Failed to accept connections: %v", err)
}
// Enable the obexd server, and set the file transfer directory
if err := btm.ControlOBEXServer(true, "/home/sunlight/sunlight-meter"); err != nil {
log.Fatalf("Failed to start OBEX server: %v", err)
}
// At this point, any connected devices can send files to the Raspberry Pi.
# Packages
No description provided by the author
# Functions
No description provided by the author
WithAdapter configures a custom Bluetooth adapter that implements the Adapter1 interface.
WithLogger configures a custom logger for the Bluetooth manager.
# Interfaces
No description provided by the author
# Type aliases
No description provided by the author