Мой сценарий следующий: Android действует как главный Bluetooth, и у меня есть 2+ устройства shimmer2r в качестве подчиненного режима, отправляющих мне данные, например данные акселерометра.
У меня есть Android в режиме, в котором мое устройство Android прослушивает RFCOMM через BluetoothAdapter, который открывает BluetoothSocketServer, а мой разъем Bluetooth для каждого подчиненного устройства открывает разные BluetoothSocket.Но я хотел бы знать, если я поставлю таким образом, мое устройство Android будет работать как обычный сервер, как в TCP, т.е. мой подчиненный должен подключиться к моему серверу Bluetooth или с моего сервера Bluetooth должен начать связь с каждым ведомым устройством.Таким образом, у меня есть два открытых метода в моем классе BluetoothServer: запуск и остановка, и у меня есть два закрытых метода для подключения и подключения, аналогичных ChatBluetooth.
class BluetoothServer private constructor() {
/** Log tag, apps may override it. */
private var TAG = "BluetoothServer"
private val NAME: String = "BLUETOOTH_SERVER"
private val MY_UUID: UUID = UUID.fromString("a86de605-7069-41dc-96a3-83e9dabec5b3")
private val mAdapter: BluetoothAdapter
// Variables to check out the states of the conections
private var currentState: Int = 0
// Threads
private var mAcceptThread: AcceptThread? = null
private var mConnectThread: ConnectThread? = null
private var mStreamThread: StreamThread? = null
// Constants that indicate the current connection state
private val STATE_NONE = 0 // we're doing nothing
private val STATE_LISTEN = 1 // now listening for incoming connections
private val STATE_CONNECTING = 2 // now initiating an outgoing connection
private val STATE_CONNECTED = 3 // now connected to a remote device
//List of clients
var clientList: ArrayList<BluetoothDevice>
get() {
return this.clientList
}
init {
mAdapter = BluetoothAdapter.getDefaultAdapter();
clientList = ArrayList()
currentState = STATE_NONE
}
private object GetInstance {
val INSTANCE = BluetoothServer()
}
companion object {
val instance: BluetoothServer by lazy { GetInstance.INSTANCE }
}
Мой Android-приложение прослушивает, но я создал приложение Pythonв режиме клиента и с этого клиента я не смог добраться до моего сервера srv bluetooth.Так что я понятия не имею, что не так.