Как я могу передавать данные в режиме реального времени на мой компьютер с помощью скрипта Python через модуль Arduino Bluetooth? - PullRequest
0 голосов
/ 29 мая 2018

В моей схеме есть резистор, чувствительный к силе (FSR), и я хотел бы, чтобы мой Arduino передавал эти данные на мой компьютер, используя скрипт на Python, через Bluetooth.

Вот блютуз-щит, который я использую для этого проекта: Bluetooth-щит

Я пытался повторить приведенные здесь примеры, но ни один из сценариев не включал ситуацию, когдаArduino Bluetooth взаимодействует с Bluetooth на ПК, и код даже не загружался, когда я использовал их эскиз.

Операционная система: Windows 10

Вот код для моей FSR:

const int fsrAnalogPin = A0;
int fsrReading;

void setup(void) {
  // put your setup code here, to run once:
  Serial.begin(9600);
}

void loop(void) {
  // put your main code here, to run repeatedly:
  fsrReading = analogRead(fsrAnalogPin);
  int num = fsrReading/3;
  Serial.print("Analog reading = ");
  Serial.println(num);
  delay(50);
}

Вот мой код для скрипта Python (Bluetooth еще не реализован):

import serial

serialArduino = serial.Serial('COM4', 9600)

while True:
    while (serialArduino.inWaiting() == 0):
        pass
    valueRead =(serialArduino.readline())
    print(valueRead)

Что я могу изменить в своем коде FSR и коде Python для отправки и получения данных через Bluetooth?

1 Ответ

0 голосов
/ 29 мая 2018

В вашем коде вы не инициализировали последовательное соединение с вашим щитом.

В зависимости от используемой платы Arduino, вы должны выбрать последовательный порт, который используется.

Если вы используете Uno yoнеобходимо использовать SoftwareSerial Library для связи с вашим кодом, как в этом примере

#include <SoftwareSerial.h>  
#define RxD 7
#define TxD 6
SoftwareSerial BlueToothSerial(RxD,TxD);
void setup()
{
   Serial.begin(38400);     
   BlueToothSerial.begin(38400); 
   delay(500);
}
void loop()
{
    if(BlueToothSerial.available())
    {
      Serial.print(char(BlueToothSerial.read()));
    }
    if(Serial.available())
    {
      BlueToothSerial.print(char(Serial.read()));
    }       
}

Если вы используете Mega - проверьте серийный номер, используемый щитом, и переделайте код выше.

Вы не сказали, какойОС работает на вашем ПК. В зависимости от ОС вы должны выбрать способ связи.Для Windows, если вы хотите использовать COM-порты, вы должны сначала выполнить сопряжение с arduino.Затем добавьте COM-порт для услуги, предоставляемой щитом (это SPP один раз).

Получив номер COM, вы можете использовать его в своем скрипте на стороне ПК и читать данные из Arduino.

Лучше всего общаться с устройством Bluetooth без COM-портов.Если вы используете Windows, это можно сделать с помощью Bluetooth Framework

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...