我有一个项目,我必须连接电路的蓝牙。首先,我必须连接HC-06模块然后发送数据,如" red"," green"和"蓝"。我已经编写了电路,它适用于windows(C#)应用程序,但我想制作android应用程序。
总之,用户在Android设备上选择一种颜色。 Android设备会将该颜色的名称发送到HC-06模块,电路将运行正确的彩色电机。
我已经尝试了不同的方法来成功,但Android应用程序关闭。我的最后一个代码在这里:
BluetoothAdapter bt;
OutputStream outputStream;
BluetoothSocket soket;
StringBuilder sb;
private static final UUID uuid_kodu = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
private static String mac_adres = "00:15:FF:F2:19:5F";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_anasayfa);
bt = BluetoothAdapter.getDefaultAdapter();
bt_control();
}
private void bt_control() {
if(bt==null) {
Toast.makeText(Anasayfa.this, "Bt doesnt supports on this device", Toast.LENGTH_SHORT).show();
} else {
if (!bt.isEnabled()) {
Toast.makeText(Anasayfa.this, "Bt is opening", Toast.LENGTH_SHORT).show();
//Prompt user to turn on Bluetooth
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, 1);
}
}
}
我该如何解决这个问题?
答案 0 :(得分:1)
这是一个非常简单的库,可将您的Android连接到HC-06模块:
<强> https://github.com/omaflak/Bluetooth-Library 强>
要安装它,请添加到您的gradle app依赖项:
compile 'me.aflak.libraries:bluetooth:1.2.4'
这是一个简短的样本:
Bluetooth bluetooth = new Bluetooth(this);
bluetooth.enableBluetooth();
bluetooth.setCommunicationCallback(new Bluetooth.CommunicationCallback() {
@Override
public void onConnect(BluetoothDevice device) {
// device connected
bluetooth.send("message");
}
@Override
public void onDisconnect(BluetoothDevice device, String message) {
// device disconnected
}
@Override
public void onMessage(String message) {
// message received (it has to end with a \n to be received)
}
@Override
public void onError(String message) {
// error occurred
}
@Override
public void onConnectError(BluetoothDevice device, String message) {
// error during connection
}
});
// three options
bluetooth.connectToName("name");
bluetooth.connectToAddress("address");
bluetooth.connectToDevice(device);