0

arduino と bluetooth モジュール HC-05 からデータを受信できません。PySerial と Pybluez でデータを受信しようとしましたが、うまくいきませんでした。誰かが私が間違っていることを確認していただければ幸いです。

これは StackOverflow で見つけましたが、機能しませんでした。 ArduinoとPyBluez間のBluetooth通信

これは私のarduinoコードです:

  #include <SoftwareSerial.h>

  #define RxD 10
  #define TxD 11

  SoftwareSerial BTSerial(RxD, TxD);

  void setup()
  {
    BTSerial.flush();
    delay(500);

    BTSerial.begin(9600);
    BTSerial.println("The controller has successfuly connected to the PC");

    Serial.begin(9600);
    delay(100);
  }

  void loop()
  {
    BTSerial.write("{Dato1: 545}");
  }

これは私がpyserialでテストした方法です:

import serial

device_handler = serial.Serial('COM6', 9600, timeout=1)
count = 0
while (count < 5):
    print device_handler.readline()
    count += 1

device_handler.close()

そして、これは、このリンクで説明されているように、pybluez で試した方法です: https://people.csail.mit.edu/albert/bluez-intro/x232.html

import bluetooth
import sys
bd_addr = "20:15:03:19:27:02"

port = 1
sock = bluetooth.BluetoothSocket( bluetooth.RFCOMM )
sock.connect((bd_addr, port))
print 'Connected'
sock.settimeout(1.0)

count = 0;
while (count < 10):
    data = sock.recv(12)
    print 'received: %s'%data

    count += 1


sock.close()

2つの形式はどれもうまくいきませんでした。Pyserial はエラーをスローせず、5 つの読み取りを実行します。どうやら何も得ていないようです。一方、pybluez は次の例外をスローします。

IOError: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

助けてくれてありがとう。私の英語が下手でごめんなさい。

4

1 に答える 1