Последовательная связь между python, arduino и безволосым MIDI - PullRequest
0 голосов
/ 20 октября 2019

Я хочу отправить сообщение из python через последовательный порт в arduino uno, а затем из arduino в безволосый MIDI для управления программным обеспечением LMMS. Проблема в том, что связь в обоих случаях идет через порт COM4. Возможно ли как-то получить данные из python через другой порт?

Код Python:

import serial

ser = serial.Serial('COM4', baudrate = 9600, timeout = 1)

def getValues(input):
    if(input == 'y'):
        ser.write(b'g')
    else:
        ser.write(b'h')


while(1):
    userInput = input('Get data point?')
    getValues(userInput)

Код Arduino:

char userInput;

void setup() {
  Serial.begin(9600);
}

void loop() {
  if(Serial.available()>0){
    userInput = Serial.read();
    if(userInput == 'g'){
      Serial.write(144);
    }
    else if(userInput == 'h'){
      Serial.write(0);
    }
  }
}

1 Ответ

0 голосов
/ 21 октября 2019

Python и Hairless MIDI не могут связываться с Arduino через один и тот же COM-порт одновременно.

Вам придется попеременно открывать и закрывать соединение в каждом программном обеспечении.

Я предлагаю вам использовать PythonMIDI-библиотека, которая заменяет функцию Hairless MIDI.

...