Как исправить Устройство I2c не существует для шины ID1 (ядро GrovePi .net) - PullRequest
0 голосов
/ 11 июля 2019

Я делаю API ядра .net для управления светодиодными лампами от моего пи, но я сталкиваюсь со следующей ошибкой: System.ArgumentException: не существует устройства I2C для идентификатора шины 1.

Iпытался найти какую-то информацию о том, как найти занятое grovepi, но не зашел далеко.Пробовал также цифры с 1 по 5. тоже не дошли.

Это мой код: [1] https://gyazo.com/aa01ab3068201360c3ece14f125b1c45

Моя ошибка: [2] https://gyazo.com/6bf3215e4466b02643b6a9eb92d12e52

Я ожидал включить свет и получить страницу с текстом, но я продолжаю получать ту же ошибку.

1 Ответ

0 голосов
/ 12 июля 2019

Я могу воспроизвести эту проблему. Я отслеживал исключение, оно выбрасывается здесь . Я опубликовал проблему ( # 590 ) в GitHub.

    public Windows10I2cDevice(I2cConnectionSettings settings)
    {
        _settings = settings;
        var winSettings = new WinI2c.I2cConnectionSettings(settings.DeviceAddress);

        string busFriendlyName = $"I2C{settings.BusId}";
        string deviceSelector = WinI2c.I2cDevice.GetDeviceSelector(busFriendlyName);

        DeviceInformationCollection deviceInformationCollection = DeviceInformation.FindAllAsync(deviceSelector).WaitForCompletion();
        if (deviceInformationCollection.Count == 0)
        {
            throw new ArgumentException($"No I2C device exists for bus ID {settings.BusId}.", $"{nameof(settings)}.{nameof(settings.BusId)}");
        }

        _winI2cDevice = WinI2c.I2cDevice.FromIdAsync(deviceInformationCollection[0].Id, winSettings).WaitForCompletion();
        if (_winI2cDevice == null)
        {
            throw new PlatformNotSupportedException($"I2C devices are not supported.");
        }
    }

Как мы знаем, .net core 3.0 для IoT - это предварительный просмотр. Могу ли я знать, почему вы не решили использовать традиционный способ сделать это? Обходное решение: вы можете разместить веб-сервер в приложении UWP и добавить светодиодный элемент управления в приложение UWP. Пожалуйста, обратитесь к IoTWeb .

...