![](/img/trans.png)
[英]Sending data from ultrasonic sensor from Arduino to Android via Bluetooth
[英]Android sending data to Arduino via Bluetooth
通过使用各种教程,我设法将Android手机连接到与Arduino连接的HC-05蓝牙模块。 我正在尝试做的是设置5个按钮,仅当按下按钮时,每个按钮才会发送一个唯一的整数;否则,当释放按钮时,它们将发送“ 0”。 ergo BUTTON1按下时发送“ 1”,松开时发送“ 0”,BUTTON2按下时发送“ 2”,释放时发送“ 0”。 目前,我无法弄清楚如何通过连接发送任何数据。 通过阅读和观看各种教程,我获得了一些了解,但似乎缺少了一些东西。
在公共void run()的代码底部,我为我的一个按钮设置了一个OnClickListener,以尝试发送...按一下按钮,以便查看是否可以向Arduino发送有用的东西。
这是我的OnClickListener所在的位置。 我相信我应该将“ T”发送给Arduino。
pUpBtn.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v) {
String testr="T:";
byte[] msgBuffer = testr.getBytes();
try {
mmOutStream.write(msgBuffer);
} catch (IOException e) {
e.printStackTrace();
}
}
});
第一
基本上,根据您的要求,您不能使用onClickListner而是使用onTouchListner
例
button.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN) {
//send integer value here.(pressed)
} else if (event.getAction() == MotionEvent.ACTION_UP) {
//Send zero here.(released)
}
}
};
这是用于从bluetoothSPP发送和接收数据的示例代码
此方法是将蓝牙设备连接到远程设备
private void connectToDevice(BluetoothDevice mBTDevice) {
try {
SPP_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
mBtSocket = mBTDevice.createRfcommSocketToServiceRecord(SPP_UUID);
mBtSocket.connect();
} catch (IOException e) {
Log.d("connectBT", "while connecting device");
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
用它来发送字节。
public void send(String data) {
byte[] buffer = data.getBytes();
try {
mOutputStream = mBtSocket.getOutputStream();
mOutputStream.write(buffer);
Log.d("message", data + " sent");
} catch (IOException e) {
e.printStackTrace();
}
}
使用此功能发送整数
public void send() {
byte[] buffer = new bytes[size];
buffer[0]=(byte)'1';//prepare data like this
..
..
try {
mOutputStream = mBtSocket.getOutputStream();
mOutputStream.write(buffer);
Log.d("message", " sent");
} catch (IOException e) {
e.printStackTrace();
}
}
希望这可以帮助 :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.