(Android Galaxy S3 4.0 RN-42 BT Arduino Uno)
Android Bluetooth Android RN-42 BT
( BlueTerm, )
, RN-42 BT Android.
: http://www.instructables.com/id/Missed-calls-and-SMS-Notifier-Accessory/
42 BT (SR, 3).
Android- BluetoothSerialService ( PhoneInfoServer) AcceptThread on: socket = mmServerSocket.accept();
, :
- Arduino,
Android
- Android BluetoothSerialService AcceptThread,
- logcat, ,
Google BluetoothChat , .
- Bluetooth. Google Play, bluetooth, .
- ?
,
Arduino, Android
void setup() {
Serial.begin(115200);
Serial.println("BEG setup");
static const char *initString0 = "$$$SR,04FE3144A0A4\r";
static const char initString1a[] = "$$$";
static const char initString1b[] = "R,1\r";
static const char initString2a[] = "$$$";
static const char initString2b[] = "SM,3\rSO,Z\r---\r";
static const char *initVector[] = { initString0, initString1a, initString1b, initString2a, initString2b, NULL };
int i;
for (i=0; initVector[i] != NULL; i++) {
Serial.print(initVector[i]);
delay(500);
}
Serial.println("Setup completed");
}
Android BluetoothSerialService AcceptThread,
private class AcceptThread extends Thread
{
static private final String TAG = "BluetoothSerialServiceAcceptThread";
private final BluetoothServerSocket mmServerSocket;
private String mSocketType;
public AcceptThread(boolean secure) {
Log.i(TAG, "BEG AcceptThread::AcceptThread");
BluetoothServerSocket tmp = null;
mSocketType = secure ? "Secure":"Insecure";
try {
Log.i(TAG, "AcceptThread constructor trying to create listening socket");
if (!secure) {
tmp = mAdapter.listenUsingInsecureRfcommWithServiceRecord(NAME_INSECURE, BT_SPP_UUID);
}
Log.d(TAG, "AcceptThread: Listening BT Socket " + mSocketType + " created");
}
catch (IOException e)
{
Log.e(TAG, "AcceptThread: Listening BT Socket Type: " + mSocketType + " listen() failed " + e.getMessage());
acceptProblem();
}
mmServerSocket = tmp;
Log.d(TAG, "mmServerSocket: " + mmServerSocket);
}
public void run() {
Log.i(TAG, "BEG BluetoothSerialService::run");
if (mmServerSocket == null)
{
Log.e(TAG, "AcceptThread.run: No server socket");
return;
}
Log.d(TAG, "AcceptThread.run: socket type:" + mSocketType);
setName("AcceptThread" + mSocketType);
BluetoothSocket socket = null;
Log.i(TAG, "mState: " + mState);
while (mState != STATE_CONNECTED)
{
Log.i(TAG, "socket before mmServerSocket.accept(): " + socket);
try
{
socket = mmServerSocket.accept();
Log.d(TAG, "AcceptThread.run: returned from accept");
}
catch (IOException e)
{
Log.e(TAG, "AcceptThread.run: Socket Type: " + mSocketType + "accept() failed " + e.getMessage());
break;
}
Log.i(TAG, "socket after mmServerSocket.accept(): " + socket);
logcat , ,
// ...
12-09 01:04:38.765: I/BluetoothSerialServiceAcceptThread(16175): BEG AcceptThread::AcceptThread
12-09 01:04:38.765: I/BluetoothSerialServiceAcceptThread(16175): AcceptThread constructor trying to create listening socket
12-09 01:04:38.765: V/BluetoothSocket.cpp(16175): initSocketNative
12-09 01:04:38.765: V/BluetoothSocket.cpp(16175): ...fd 49 created (RFCOMM, lm = 0)
12-09 01:04:38.765: V/BluetoothSocket.cpp(16175): initSocketFromFdNative
12-09 01:04:38.775: D/BluetoothUtils(16175): isSocketAllowedBySecurityPolicy start : device null
12-09 01:04:38.775: V/BluetoothSocket.cpp(16175): bindListenNative
12-09 01:04:38.775: V/BluetoothSocket.cpp(16175): ...bindListenNative(49) success
12-09 01:04:38.785: D/BluetoothSerialServiceAcceptThread(16175): AcceptThread: Listening BT Socket Insecure created
12-09 01:04:38.785: D/BluetoothSerialServiceAcceptThread(16175): mmServerSocket: android.bluetooth.BluetoothServerSocket@41af72c8
12-09 01:04:38.785: D/BluetoothReadService(16175): END start
12-09 01:04:38.795: I/BluetoothSerialServiceAcceptThread(16175): BEG BluetoothSerialService::run
12-09 01:04:38.795: D/BluetoothSerialServiceAcceptThread(16175): AcceptThread.run: socket type:Insecure
12-09 01:04:38.795: I/BluetoothSerialServiceAcceptThread(16175): mState: 1
12-09 01:04:38.795: I/BluetoothSerialServiceAcceptThread(16175): socket before mmServerSocket.accept(): null
12-09 01:04:38.795: V/BluetoothSocket.cpp(16175): acceptNative
12-09 01:04:38.855: I/MainActivity(16175): mBtStatus: android.widget.ImageView@41adc698
12-09 01:04:38.855: I/MainActivity(16175): In case: BluetoothSerialService.STATE_LISTEN
12-09 01:04:38.855: D/MainActivity(16175): Beg onCreateOptionsMenu
12-09 01:04:38.885: D/memalloc(16175): ion: Mapped buffer base:0x5d760000 size:3768320 offset:0 fd:57
12-09 01:04:38.925: D/CLIPBOARD(16175): Hide Clipboard dialog at Starting input: finished by someone else... !
// ...
, RN-42 BT , Android .
, RN-42 BT factory.
BlueTerm, Android RN-42 BT.
($$$ I\r), mac LG.
Bluetooth mac (0026e25d8a91). , RN-42 BT .
, , .
, MAC- Android, ( )
$$$SR,04FE3144A0A4\r
$$$R,1\r
$$$SM,3\rSO,Z\r---\r
, RN-42 BT - , BluetoothServerSocket Android .
BluetoothServerSocket listenUsingInsecureRfcommWithServiceRecord listenUsingRfcommWithServiceRecord.
, createInsecureRfcommSocketToServiceRecord. ?
.
,