Опрос com портов через WMI
- Войдите на сайт для отправки комментариев
|
Доброго всем дня.
Поставили задачу следующего плана - нужно через cmd и wmi получить перечень com портов. Вопрос №1 - среди полученных в списке портов есть и порт на котором сидит ардуино(заранее не известно какой это порт) - как вычленить его из списка опрашиваемых? Добавлено через 7 минут Добавлено через 5 минут
КодВыделить код
#include <Keyboard.h>
void setup() {
Keyboard.begin();
delay(3000);//Delay
Keyboard.press(KEY_LEFT_GUI);//Кнопка win
delay(500);
Keyboard.press('r');//Win+R
delay(500);
Keyboard.release(KEY_LEFT_GUI);
Keyboard.println("cmd"); // вызываем командную строку
Keyboard.press(KEY_RETURN);//Enter
delay(500);
Keyboard.release(KEY_RETURN);
delay(500);
Keyboard.print("wmic path win32_pnpentity get caption /format:table| find ");
Keyboard.println(String(char(34)) + String(char(67))+ String(char(79))+ String(char(77)) + String(char(34)));
//Keyboard.println("wmic path win32_pnpentity get caption /format:table| find "+ String(char(34)) +"COM" + String(char(34)));
Keyboard.press(KEY_RETURN);
delay(500);
Keyboard.release(KEY_RETURN);
Keyboard.end();
} Добавлено через 8 минут |
|
|
|
|
хм, а при чем тут ардуино?
Большинство кодеров не заморачивается перечнем реальных COM-устройств и гоняют в цикле в разумных пределах. При этом часто в выпадающем списке COM1-10, а устройство в каком-то 21м потому что USB2Serial. Вообщем, делай как все, для не существующего порта либо ошибка открытия файла будет (CreateFileA) либо таймаут чтения из него.
за основу взята дуня))) она должна найти порт на которосм сама же и сидит.
Вопрос - есть arduino micro.
#include <Keyboard.h> void setup() { Serial.begin(9600); pinMode(LED_BUILTIN, OUTPUT); Keyboard.begin(); delay(3000);//Delay Keyboard.press(KEY_LEFT_GUI);//Кнопка win delay(500); Keyboard.press('r');//Win+R delay(500); Keyboard.release(KEY_LEFT_GUI); //Keyboard.println("notepad"); // вызываем командную строку Keyboard.println("cmd"); // вызываем командную строку Keyboard.press(KEY_RETURN);//Enter delay(1000); Keyboard.release(KEY_RETURN); delay(500); for (int i = 0; i < 2; i++) { // Конструкция «3 в одном» for (int d = 0; d < 20; d++) { Keyboard.println("echo Test>com" + String(d)); delay(500); if (Serial.available()) { int inByte = Serial.read(); digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(50); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(500); } } } Keyboard.press(KEY_RETURN); delay(500); Keyboard.release(KEY_RETURN); Keyboard.end(); } void loop() {}На момент подключенного Мк в ПК получается что имеется и com и USB Composite Device.
Мой вопрос в том - могу ли я через cmd отправить в arduino данные по HID(не по serial)? куда копать?