私のラップトップのBluetoothデバイスからBlueSMiRF Bluetoothチップにデータを送信します。私は前にブルートゥースのプログラミングを扱ったことがないので、私はどのように起動し、何を使用するかについてのガイダンスが必要です。私はJavaで作業していますが、より良い選択肢があれば、私はそれに取り組んでいます。PCからBluetoothチップにデータを送信するBlueSMiRF with java
1
A
答えて
0
これは古い投稿ですが、私は最近、arduinoでbluetoothモジュールを設定し、Ubuntu上で実行されているJavaプログラムとインターフェイスしていました。だから私が助けてくれたリンクをいくつか共有してみましょう。
デフォルトでは、BlueSMiRF BluetoothモジュールはSPP(シリアルポートプロトコル)モードで動作します。新しいSoftwareSerialライブラリを使用して、ブルートゥース通信用のarduinoコードを記述することができます。このライブラリを使用すると、ブルートゥース経由でシリアルポート経由でデータを送受信できます。 http://arduino.cc/en/Reference/SoftwareSerial多くの例が用意されています。
コンピュータで実行されているJavaプログラムでは、RXTXライブラリまたはjava.commライブラリを使用できます。これは、RXTXライブラリを使用したさまざまな例を含むリンクです:http://rxtx.qbang.org/wiki/index.php/Examples。 RXTXライブラリを使用すると、シリアルポート経由でデータを送受信できます。
Javaコード、シリアルポート経由でデータを送信するためにRXTXライブラリを使用して:(私はそれをテストしていない)
import gnu.io.CommPort;
import gnu.io.CommPortIdentifier;
import gnu.io.SerialPort;
import java.io.FileDescriptor;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class TwoWaySerialComm
{
public TwoWaySerialComm()
{
super();
}
void connect (String portName) throws Exception
{
CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(portName);
if (portIdentifier.isCurrentlyOwned())
{
System.out.println("Error: Port is currently in use");
}
else
{
CommPort commPort = portIdentifier.open(this.getClass().getName(),2000);
if (commPort instanceof SerialPort)
{
SerialPort serialPort = (SerialPort) commPort;
serialPort.setSerialPortParams(57600,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);
//InputStream in = serialPort.getInputStream();
OutputStream out = serialPort.getOutputStream();
//(new Thread(new SerialReader(in))).start();
(new Thread(new SerialWriter(out))).start();
}
else
{
System.out.println("Error: Only serial ports are handled by this example.");
}
}
}
/** */
/*public static class SerialReader implements Runnable
{
InputStream in;
public SerialReader (InputStream in)
{
this.in = in;
}
public void run()
{
byte[] buffer = new byte[1024];
int len = -1;
try
{
while ((len = this.in.read(buffer)) > -1)
{
System.out.print(new String(buffer,0,len));
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
}*/
/** */
public static class SerialWriter implements Runnable
{
OutputStream out;
public SerialWriter (OutputStream out)
{
this.out = out;
}
public void run()
{
try
{
int c = 0;
while ((c = System.in.read()) > -1)
{
this.out.write(c);
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
public static void main (String[] args)
{
try
{
(new TwoWaySerialComm()).connect("COM3");
}
catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
(再びテストしていない)データを受信するためのArduinoのコードを対応:
#include <SoftwareSerial.h>
int bluetoothTx = 2; // TX-O pin of bluetooth mate, Arduino D2
int bluetoothRx = 3; // RX-I pin of bluetooth mate, Arduino D3
SoftwareSerial bluetooth(bluetoothTx, bluetoothRx);
void setup()
{
Serial.begin(9600); // Begin the serial monitor at 9600bps
bluetooth.begin(115200); // The Bluetooth Mate defaults to 115200bps
bluetooth.print("$$$"); // Enter command mode
delay(100); // Short delay, wait for the Mate to send back CMD
bluetooth.println("U,9600,N"); // Temporarily Change the baudrate to 9600, no parity
// 115200 can be too fast at times for NewSoftSerial to relay the data reliably
bluetooth.begin(9600); // Start bluetooth serial at 9600
}
void loop()
{
if(bluetooth.available()) // If the bluetooth sent any characters
{
// Send any characters the bluetooth prints to the serial monitor
Serial.print((char)bluetooth.read());
}
/*if(Serial.available()) // If stuff was typed in the serial monitor
{
// Send any characters the Serial monitor prints to the bluetooth
bluetooth.print((char)Serial.read());
}*/
}
関連する問題
- 1. WP7からPCにデータを送信
- 2. iOSからBlueSMiRFデバイスと通信する
- 3. Movilizer - Bluetoothプリンタにデータを送信する
- 4. PCからAndroid端末にデータを送信する
- 5. Java bluetooth OBEX(bluecove api)を使用してPCからモバイルにSMSを送信するには?
- 6. アンドロイドからPCにMatフレームを送信
- 7. 携帯電話からBluetooth経由でデータを送信する
- 8. チップからBluetooth経由でデータを転送するにはどうすればよいですか?
- 9. JavaScriptを使用してiPhoneアプリからBluetoothチップにデータを通信する方法はありますか?
- 10. iPhone 4SからBluetoothデバイスにデータを送信
- 11. unityからjava androidにデータを送信
- 12. PHPからjavaアプリケーションにデータを送信
- 13. サーバ(java)からアンドロイドクライアントにデータを送信
- 14. TCPソケットを使用してAndroidデバイスからESP8266 Wi-Fiチップにデータを送信
- 15. Bluetooth-javaでマウスの位置を送信
- 16. Bluetoothを使用してファイルを受信 - 携帯からPCへ
- 17. Bluetoothを使用してArduinoからAndroidにデータを送信する
- 18. Bluetoothにfinger.fingerIDを送信
- 19. PC(Java)とAndroidの間のBluetooth転送が遅い
- 20. JavaアプリケーションからBluetooth経由でAndroidアプリケーションにオブジェクトを送信しますか?
- 21. J2ME - PCとモバイル間のBluetoothシリアルポート通信
- 22. AndroidデバイスからBluetoothにコマンドを送信する
- 23. Windows Phone 7からPCに画面を送信するツール
- 24. ラズベリーパイからスマートフォンにファイルを送信するBluetooth
- 25. ipソケットからBluetoothソケットにデータを転送します。 c#
- 26. C#クライアント。 C#クライアントからJavaサーバーにデータを送信する
- 27. JAVA:データをデータベースからエクスポートしてExcel側に送信する
- 28. FlaskからJava Serverにデータを送信する
- 29. PCからFPGAへのデータ転送
- 30. 1つのアクティビティから別のアクティビティへデータを送信する方法。 (Bluetooth)