Как получить доступ к устройству и отправить на него данные?

Мне удалось определить диски и последовательные порты в Visual C# Express, но я все еще не могу получить доступ к определенному устройству (RepRap Printer). Я хотел бы отправить массив строк к нему, но сначала мне нужно найти его, как я могу это сделать? Я использую Windows 7.

Чтобы получить диски:

using System.Linq;
using System.IO;
using System;

    class Program
    {
            static void Main(string[] args)
            {
                var drives = DriveInfo.GetDrives();
               DriveInfo[] allDrives = DriveInfo.GetDrives();
                     foreach(DriveInfo dv in drives)          
                     {              
                            Console.WriteLine("drive Name:{0}", dv.Name);      
                     }    
                    Console.ReadLine();
            }
        }

чтобы получить последовательные порты:

using System;
using System.IO.Ports;

namespace SerialPortExample
{
    class SerialPortExample
    {
        public static void Main()
        {
            string[] ports = SerialPort.GetPortNames();
            Console.WriteLine("The following serial ports were found:");
            foreach (string port in ports)
            {
                Console.WriteLine(port);
            }
            Console.ReadLine();
        }
    }
}

Спасибо заранее!

1 ответ

Решение

Я рекомендую вам сначала проверить эти два вопроса и ответы:

Получить имя устройства, подключенного к последовательному порту
Этот кратко объясняет, почему это сложно, но дает некоторые подсказки о том, как спросить Windows, что он знает об устройствах

Получение информации о последовательном порте
Вот еще несколько примеров кода.

Как правило, вы, вероятно, захотите найти устройство по его ИМЯ, которое присвоила ему система - вы, вероятно, знаете его имя и что-то вроде "reprap#1" и т. Д. Я просто догадываюсь. Возможно, стоит попросить отсканировать все имена COM-устройств и отобразить их пользователю, чтобы он мог выбрать подходящее.

если вы хотите автоматически обнаруживать, вы можете попытаться обнаружить их с помощью некоторых деталей более низкого уровня, таких как drivername и т. д., но обычно лучше оставить это пользователю.

Другие вопросы по тегам