Опрос com портов через wmi

Тема в разделе "Arduino & Shields", создана пользователем ossinc, 26 июн 2020.

Метки:
  1. ossinc

    ossinc Нерд

    Доброго всем дня.

    Поставили задачу следующего плана - нужно через cmd и wmi получить перечень com портов.
    Делаю след образом- wmic path win32_pnpentity get caption /format:table| find "COM" - тут все гуд.
    Далее каждый из полученных портов нужно прослушивать около 30 секунд и полученные данные отправлять на ком порт Ардуинки.

    Вопрос №1 - среди полученных в списке портов есть и порт на котором сидит ардуино(заранее не известно какой это порт) - как вычленить его из списка опрашиваемых?
    Вопрос №2 - каким собственно образом можно опрашивать каждый из портов?
    Вопрос №3- как через cmd\wmi допустим com17 переименовать в сom18?
    Вопрос№4- как прочитать настройки порта и отправить их в com ардуинки?

    К сожалению из возможных вариантов VBS\С# и тд. у меня есть только cmd.
    за основу взял вот такой подход
     
    Последнее редактирование модератором: 26 июн 2020
  2. Daniil

    Daniil Гуру

    можно ли плевать в ком-порт свои данные (если не ардуине придёт лажа по сом-порту это плохо)?
    Можно в каждый порт посылать запрос, ответ на который знает только ардуина, т.о. определить где она.
    У сом-порта есть 9 выводов, 4 из них - rx, tx, gnd и vpp, можно использовать оставшиеся 5 для определения наличия ардуины. (другое дело, что современные устройства эмулируют сом-порт, но иногда и остальныежвыводы тоже эмулируются)
    только перебором, запрос кодовой фразы должен возвращать заведомо известный ответ. Перебираем данные и шлём фразу до тех пор пока не получим данные.
    СОМ-порт не предназначен для работы с неизвестными парамктрами.
    Можно почитать про отличия UART от USART, но, мне кажется, что это решение будет схемотехнически сложнее.

    Можно сделать так:
    при появлении питания дуина шлет заранее известную фразу раз в секунду (к примеру).
    Программа на эвм перебирает порты и их прослушивает.
    Прослушивает перебирая параметры.
    Как только будет найден нужный сом-порт, т.е. получена заранее известная фраза, программа на эвм шлет команду "заткнись ардуина" и сохраняет этот порт как порт связи с дуиной.
    Дуина перестает спамить и переходит в нормальный режим работы.
    Эвм начинает прослушивать другие порты и слать дангые дцине.
    что значит "опрашивать" в вашем понимании? В простейшем случае, сом-порт для эвм это файл, в который можно читать или писать.
     
    Un_ka нравится это.
  3. ZAZ-965

    ZAZ-965 Гуру

  4. ossinc

    ossinc Нерд

    спасибо буду проверять