Приемник Bluetooth от Arduino с использованием Kotlin - PullRequest
0 голосов
/ 01 ноября 2019

Мне нужен учебник, который объясняет, как читать данные с Bluetooth в Android с помощью Kotlin

Я построил схему Arduino, которая берет некоторые показания датчиков и отправляет их через Bluetooth HC-05 в Android, поэтому я написалкод для подключения, и я написал код, ответственный за запись данных в Arduino, но я не мог понять, как получить, и я все еще новичок в Android и Kotlin.

private fun sendCommand(input: String){
        if(m_bluetoothSocket !=null){
            try {
                m_bluetoothSocket!!.outputStream.write(input.toByteArray())
            }catch (e:Exception){
                e.printStackTrace()
            }
        }
    }

//this class responsable of connection
 private class ConnectToDevice(c:Context):AsyncTask<Void , Void , String>(){

        private var connectSuccess: Boolean = true
        private val context : Context

        init {
            this.context = c
        }
        override fun onPreExecute() {
            super.onPreExecute()
            m_progress= ProgressDialog.show(context,"Connecting...","Please wait")
        }
        override fun doInBackground(vararg p0: Void?): String? {
            try {
                if (m_bluetoothSocket == null || !m_isConnected) {
                    m_bluetoothAdapter= BluetoothAdapter.getDefaultAdapter()
                    val  device:BluetoothDevice = m_bluetoothAdapter.getRemoteDevice(m_address)
                    m_bluetoothSocket = device.createInsecureRfcommSocketToServiceRecord(m_myUUID)
                    BluetoothAdapter.getDefaultAdapter().cancelDiscovery()
                    m_bluetoothSocket!!.connect()
                }
            }catch (e:Exception){
                connectSuccess=false
                e.printStackTrace()
            }
            return null
        }

        override fun onPostExecute(result: String?) {
            super.onPostExecute(result)
            if (!connectSuccess){
                Log.i("data","Could not connect")
            }else{
                m_isConnected=true
            }
            m_progress.dismiss()
        }

    }
}

любая помощь будет оценена.

...