Отправьте один байт данных в модуль Bluetooth hc 05 arduino, используя python на компьютере под управлением Windows 10 с ноутбуком Jupyter. - PullRequest
0 голосов
/ 02 декабря 2019

Мне нужно сконструировать автомобиль, который может двигаться на основе полученного кода, поэтому я должен отправлять байт информации по bluetooth (используя модуль bluetooth Hc -05) в unsing python (в настоящее время используется ноутбук jupyter, python 3). Я пытался в течение нескольких дней без удачи. это код, который я использовал. с библиотекой сокетов

import socket

serverMACAddress = '00:00:00:00:00:00'
port = 4
s = socket.socket(socket.AF_BLUETOOTH, socket.SOCK_STREAM, socket.BTPROTO_RFCOMM)
s.connect((serverMACAddress,port))
s.send(bytes("A",'UT
AttributeError: module 'socket' has no attribute 'AF_BLUETOOTH'F-8'))
s.close()

И библиотекой серий и времени

import serial
import time


port="COM4" #This will be different for various devices,COM port.
bluetooth=serial.Serial(port, 9600)#Start communications with the bluetooth unit
bluetooth.flushInput() #This gives the bluetooth a little kick
bluetooth.write(b"A")#These need to be bytes not unicode
bluetooth.close() #Otherwise the connection will remain open until a timeout 

это код для arduino

#include <SoftwareSerial.h>
SoftwareSerial miBT(10,11);

void setup() {
  Serial.begin(9600);
  miBT.begin(38400);

  pinMode(6, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(3, OUTPUT);
}

void loop(){
  if (miBT.available()>0) {

    byte input=miBT.read();

    if(input == 'B'){          //FORWARD ---- 
        digitalWrite(6, HIGH);
        digitalWrite(5, LOW);
        digitalWrite(4, LOW);
        digitalWrite(3, HIGH);
    }

    if(input == 'A'){          //BACKWARD --- 
        digitalWrite(6, LOW);
        digitalWrite(5, HIGH);
        digitalWrite(4, HIGH);
        digitalWrite(3, LOW);
    }

    if(input == 'C'){          //LEFT --- 
        digitalWrite(6, LOW);
        digitalWrite(5, HIGH);
        digitalWrite(4, LOW);
        digitalWrite(3, LOW);
    }

    if(input == 'D'){          //RIGHT --- 
        digitalWrite(5, LOW);
        digitalWrite(4, HIGH);
        digitalWrite(3, LOW);
    }

    if(input == 'E'){          //STOP --- 
        digitalWrite(6, LOW);
        digitalWrite(5, LOW);
        digitalWrite(4, LOW);
        digitalWrite(3, LOW);
    }
  }
}

, пытающегося в течение нескольких дней, я неимеет большой навык кодирования.

для hc05 использует "COM4" или отправку и "COM5" для получения

HC-05             Arduino UNO
-----             -----------
RX       -->      Pin 11
TX       -->      Pin 10
+5v      -->      +5v
GND      -->      GND 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...