Датчик BME280 с ошибкой ввода / вывода Android Things (код 5) - PullRequest
0 голосов
/ 22 ноября 2018

В настоящее время я тестирую платформу Android Things с Raspberry Pie 3b и датчиком BME280 Соединение BME с Raspberry Pie

Простой код, который использует драйвер Bmx280 и должен возвращать значение температуры:

class DataReader: Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    try {
        Log.d("Sensor", "All ok")
        val sensor = Bmx280("I2C1", 0x77)
        sensor.temperatureOversampling = Bmx280.OVERSAMPLING_1X
        val temperature_value = sensor.readTemperature()
        Log.d("S*ensor", "Current temperature: " + temperature_value)

        sensor.pressureOversampling = Bmx280.OVERSAMPLING_1X
        val pressure_value = sensor.readPressure()
        Log.d("Sensor", "Current temperature: " + pressure_value)
    } catch (error: Exception) {
        Log.d("Sensor", "Error: " + error)
    }
}

Вот сообщение об ошибке, которое я получаю все время:

Error: com.google.android.things.pio.PioException: android.os.ServiceSpecificException: I/O error (code 5)

Пробовал много разных способов (с BME280, подключенным к 3,3 В и 5 В), проверял мою схему подключения много раз.

Также пытались использовать разные адреса, такие как:

val sensor = Bmx280("I2C1", 0x77)
val sensor = Bmx280("I2C1", 0x76)

Вот выходные данные инструмента PIO CLI при попытке прочитать данные:

rpi3:/ $ pio list i2c
I2C1
rpi3:/ $ pio i2c I2C1 0x12 read-reg-byte 0x24
[WARNING:client_errors.cc(35)] error 5: I/O error
5|rpi3:/ $ pio i2c I2C1 0x12 read-raw size
[ERROR:cli_command.cc(74)] Invalid size.

Решено: Проблема былав соединении между проводами и штекерами на датчике.После пайки все вместе датчик работает как положено

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...