Доброго всем дня. Поставили задачу следующего плана - нужно через 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. за основу взял вот такой подход
можно ли плевать в ком-порт свои данные (если не ардуине придёт лажа по сом-порту это плохо)? Можно в каждый порт посылать запрос, ответ на который знает только ардуина, т.о. определить где она. У сом-порта есть 9 выводов, 4 из них - rx, tx, gnd и vpp, можно использовать оставшиеся 5 для определения наличия ардуины. (другое дело, что современные устройства эмулируют сом-порт, но иногда и остальныежвыводы тоже эмулируются) только перебором, запрос кодовой фразы должен возвращать заведомо известный ответ. Перебираем данные и шлём фразу до тех пор пока не получим данные. СОМ-порт не предназначен для работы с неизвестными парамктрами. Можно почитать про отличия UART от USART, но, мне кажется, что это решение будет схемотехнически сложнее. Можно сделать так: при появлении питания дуина шлет заранее известную фразу раз в секунду (к примеру). Программа на эвм перебирает порты и их прослушивает. Прослушивает перебирая параметры. Как только будет найден нужный сом-порт, т.е. получена заранее известная фраза, программа на эвм шлет команду "заткнись ардуина" и сохраняет этот порт как порт связи с дуиной. Дуина перестает спамить и переходит в нормальный режим работы. Эвм начинает прослушивать другие порты и слать дангые дцине. что значит "опрашивать" в вашем понимании? В простейшем случае, сом-порт для эвм это файл, в который можно читать или писать.
@ossinc, PowerShell тоже нет? Какие версии Windows должны поддерживаться? №3 - change port https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/change-port №4 - mode COMxx > COMyy