$15 Bluetooth med Python/Android (4 / 5 steg)
Steg 4: Hur det fungerar: Android
Låt oss få till bra grejer: Android-programmering. Det är lite mer komplex, av goda skäl: i stället för att enkelt skicka och ta emot funktioner, har du mer kontroll över hur data hanteras.
Funktioner:
setScanning: Denna funktion kontrollerar att vi inte är scanning eller redan ansluten, då kallar bluetoothAdapter.startLeScan.
scanCallback.onLeScan : Detta kallas när LE genomsökningen upptäcker en enhet. Kontrollerar om enheten matchar, och samtal ansluta om den gör.
ansluta: Denna kontroll krävs föremålen instansieras, som använder bluetoothGatt för att ansluta till enheten.
statusReceiver/responseReceiver/updateStatusIntent/updateResponseIntent : ScanCallback och gattCallback sker i egna trådar, så de inte kan interagera direkt med UI. I stället sänder vi intentioner att uppdatera anslutningsstatus och RFduino svar på skärmen.
gattCallback.onConnectionStateChange : Ganska uppenbart, detta kallas när anslutningsstatus ändras. Den uppdaterar connectionState variabel och våra UI.
gattCallback. onServicesDiscovered: Detta kallas när tjänster upptäcks på en ansluten bluetoothenhet. Det finner egenskaper behovet att kommunicera med RFduino och lagrar dem för senare användning.
gattCallback. onCharacteristicRead: Detta kallas när man läser från en Bluetooth-enhet. I echo-programmet skriver den Läs värdet till rätt textview.
writeDataToCharacteristic: Detta skriver data i edittext till RFduino.
readDataFromCharacteristic: Detta läser data från RFduino.