Windows IoT Raspberry Pi 3 USB-подключение к Arduino в фоновом приложении C #

Я пытаюсь установить последовательную связь через USB между Arduino Nano и Raspberry Pi 3. На Raspberry установлен Windows IoT с фоновым приложением, которое должно считывать входящие данные.

Моя проблема в том, что я не могу найти подключенный Arduino. Я написал простое приложение для перебора всех устройств, но я не получаю DeviceInformation для подключенного Arduino.

public sealed class StartupTask : IBackgroundTask
{
    public void Run(IBackgroundTaskInstance taskInstance)
    {
        while (true)
        {
            var devices = DeviceInformation.FindAllAsync(SerialDevice.GetDeviceSelector()).AsTask();
            devices.Wait();

            foreach (var dev in devices.Result)
            {
                Debug.WriteLine(dev.Name);
            }
        }
    }
}

Кто-нибудь знает, что не так? Может надо вручную ставить драйвера?

Примечание. Я также не могу найти устройство в веб-интерфейсе. Список подключенных устройств на веб-интерфейсе

Заранее спасибо.

РЕДАКТИРОВАТЬ:

  • Я узнал, что имя всегда одно и то же, поэтому изменил его, чтобы распечатать идентификатор.

  • Я вставил узел DeviceCapability и теперь получаю кучу информации. Я предполагаю, что идентификатор, начинающийся с USB, интересен. Но я всегда получаю одно и то же, независимо от того, подключен ли Arduino или нет.

  • Вот один пример: \? \ USB # VID_0424 & PID_EC00 # 5 & 3753427a & 0 & 1 # {ad498944-762f-11d0-8dcb-00c04fc3358c} {2697A3B2-2715-443C-8A9F-B050D699B775}

  • Текущая версия ОС: 10.0.14393.448


person Dirnei    schedule 12.11.2016    source источник


Ответы (2)


Arduino Nano использует микросхему FTDI USB-To-Serial для связи с Хост-компьютер и в вашем случае Raspberry Pi с Windows IoT Core.

Мой опыт работы с чипом FT232RL в Windows IoT заключается в том, что он изначально поддерживается некоторыми последними версиями (вероятно, 10.0.10586 и выше), поэтому сначала убедитесь, что у вас есть версия ОС выше. И используйте команду «devcon status xxxxxxx», чтобы убедиться, что драйвер устройства работает правильно.

Если вы не уверены, как выглядит идентификатор устройства, подключите arduino nano к ПК и в свойстве устройства проверьте идентификаторы оборудования. Например, мой показывает  введите описание изображения здесь

Во-вторых, проверьте, есть ли у вас возможность связи через com-порт, заявленная в файле манифеста вашего проекта, это должно быть примерно так, как показано ниже:

 <DeviceCapability Name="serialcommunication">
   <Device Id="any">
     <Function Type="name:serialPort" />
   </Device>
 </DeviceCapability>

Наконец, убедитесь, что USB-порт вашего RP3 имеет достаточно питания для Arduino nano, я не думаю, что это должно быть проблемой, но лучше проверьте и это.

person Jackie    schedule 14.11.2016
comment
Спасибо за помощь, я отредактировал свой пост. Есть ли у вас другие предложения? Эта UWP сводит меня с ума :( - person Dirnei; 16.11.2016
comment
@Dirnei, подключите свой arduino к ПК и проверьте идентификаторы оборудования, поищите их в выходных данных отладки rp3. Я обновил свой ответ. - person Jackie; 17.11.2016
comment
Я пробовал ваши предложения, но это не сработало :( Идентификатор оборудования не указан. Я также безуспешно пробовал разные arduinos. Между прочим. 2A Powersupply тоже должно быть достаточно, я думаю. Вы уверены, что есть встроенная поддержка для этого устройства? - person Dirnei; 25.11.2016

Возможно, вы можете попробовать установить Arduino IDE при установке Windows, поскольку она включает драйверы Arduino USB:

Параметры установки Arduino

person Todd Sewell    schedule 13.11.2016
comment
Не могли бы вы объяснить отрицательный голос? Как я могу улучшить свой ответ? - person Todd Sewell; 19.11.2016
comment
Я подозреваю, что кто-то проголосовал против этого, потому что речь идет о Windows IoT Core, где вы не можете просто установить приложения Windows Desktop. - person N8allan; 15.05.2019