c# - studio - Encuentra qué puerto Arduino está conectado
leer puerto usb c# (3)
Abra el Administrador de dispositivos, expanda "Puertos (COM y LPT)". Conecte la conexión USB Arduino, aparece un nuevo puerto COM con el nombre Arduino UNO (COMxx). Esto está en mi máquina ya que tengo un Arduino UNO.
Puede encontrar esta cadena usando WMI (Windows Management Instrumentation). Estoy utilizando el siguiente método en una clase, y tiene COMports como una lista pública
using System;
using System.Collections.Generic;
using System.Linq;
using System.Management;
using System.Text;
using System.Windows;
public void getCOMportsValues()
{
try
{
if (COMports.Count > 0) COMports.Clear(); // COMports is a List<string>
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root//CIMV2", "SELECT * FROM Win32_PnPEntity");
foreach (ManagementObject queryObj in searcher.Get())
{
string s = queryObj["Name"] as string;
if (s.Contains("(COM"))
COMports.Add(s);
}
}
catch (ManagementException e)
{
MessageBox.Show("An error occurred while querying WMI data: " + e.Message);
}
}
Sé cómo enumerar los puertos serie disponibles, pero ¿cuándo puedo encontrar el puerto COM correcto cada vez que conecto mi Arduino? El puerto COM debe imprimirse como MessageBox.Show(COMport);
Quiero leer / escribir datos de Arduino en una aplicación de Visual C #.
[ esto no funcionó para mí]
Para más detalles, los puertos se nombran: COM1, COM2, COM3, etc.
Por lo tanto, la codificación de un bucle que abre cada COMn y si el abierto tiene éxito envíe una secuencia en serie y vea si obtiene la respuesta correcta.
Finalmente, en C puede sprintf(port_name, "COM%d", port_nr);
para generar los nombres de los puertos para abrir.
Puede programar su Arduino para enviar un patrón específico a través de seriales y su C # escucha todos los puertos COM, buscando el patrón específico.