Arduino IDE одновременно контролирует несколько USB-портов

Возможно ли одновременное отслеживание нескольких USB-портов в Arduino IDE при работе только с ОДНИМ экземпляром IDE?

Если нет, то какие альтернативные решения приходят на ум?

, 👍0

Обсуждение

Нет, это не так. Это слишком примитивно., @Majenko

спасибо Чад элегантно решил эту проблему с помощью скрипта на Python. легкий и простой в использовании., @tony gil


4 ответа


Лучший ответ:

2

Если вас интересует только мониторинг вывода, можно запустить простой скрипт Python для мониторинга порта. В этом примере вводится номер порта (при условии, что они называются ttyUSB1, ttyUSB2 и т. д.). Или вы можете изменить его, чтобы он был жестко запрограммированным портом. Также убедитесь, что скорость передачи данных соответствует тому, что работает на вашей Arduino (115200 в пример)

Затем вы можете запустить этот скрипт в двух отдельных терминалах, по одному для каждого порта

#!/usr/bin/env python3


import serial 
import sys

if len(sys.argv)<2:
    print("Please give serial port number")
    exit()
port=sys.argv[1]
ser= serial.Serial('/dev/ttyUSB'+port,115200,timeout=5)

while True:
    try:
        print(str(ser.readline().strip()))
    except:
        print(sys.exc_info())
        ser.close()
        exit()

Запустите программу так

python3 ./programName.py 1 (или ./programName.py 0 и т. д.)

Число указывает, какое из устройств ttyUSBx вы пытаетесь отслеживать (будет соответствовать тому, что вы видите в IDE arduino).

,

порт ставит меня в тупик. не прояснить? Я продолжаю получать «Пожалуйста, укажите номер серийного порта», @tony gil

запустите программу следующим образом: ./programName 1 или ./programName 0 число определяет, какое из устройств ttyUSBx вы пытаетесь отслеживать (будет соответствовать тому, что вы видите в arduino IDE), @Chad G

Точно! Идеально, элегантно, просто. ПРОГОЛОСОВАНО, ПРИНЯТО И ОБЕСПЕЧЕНО. :), @tony gil

@tonygil, чтобы скопировать ввод порта в вывод, вам не нужен python. скрипт python может отслеживать больше портов и печатать их другим цветом, @Juraj

это тоже очень полезно, спасибо @Juraj!, @tony gil


1

Короткий ответ: нет.

Длинный ответ: нееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееешееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееоееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееееет, так как одно окно может работать только с одним arduino.
При этом, если вы открываете другой файл или создаете новый файл (Ctrl + N) в существующем окне, он не запускает другой процесс.
Он по-прежнему находится в единственном процессе javaw.exe, работающем на вашем компьютере (если его убить, оба окна исчезнут навсегда.)

Для упрощения:

  • Дважды щелкните значок Arduino на рабочем столе, а затем еще раз дважды щелкните его, и он будет запущен как два отдельных процесса.
  • Дважды щелкните значок Arduino на рабочем столе, а затем используйте команду «Открыть файл» или «Новый файл». Это не приведет к созданию другого процесса.

Но я думаю, что неправильно понял ваш вопрос. Если вы просите Arduino с несколькими USB-портами, да, одна IDE может видеть, куда вы ее подключаете.

,

Попробовал ваше предложение: 2 окна - 1 процесс. К сожалению, Ubuntu создает второй процесс., @tony gil


1

Sloeber, открытый Исходная IDE, основанная на Eclipse, в создании которой я горжусь своим вкладом, имеет эту функцию, но IDE Arduino ее не имеет.

,

Я использую Слобер. Это очень хорошая интеграция инструментов и пакетов сборки Arduino в Eclipse., @Juraj


2

Вы можете запустить несколько экземпляров Arduino IDE для одновременной работы с несколькими платами. Запустите IDE во второй раз с помощью меню "Пуск" или ярлыка на рабочем столе.

Конечно, вы также можете контролировать порт COM/tty с помощью обычной программы последовательного терминала.

,

ПОДТВЕРЖДЕН, потому что он решает основную проблему мониторинга нескольких плат. НЕ ПРИНИМАЕТСЯ, потому что необходимое решение зависит от одного и только одного экземпляра IDE. Спасибо!, @tony gil