Я хочу, чтобы определить, когда периферийный датчик НЕ подключен к моей малине Pi 3.Как узнать, подключено ли периферийное устройство к GPIO?
Например, если у меня есть пассивный инфракрасный датчик GPIO.
я могу получить все GPIO порты, как это:
PeripheralManagerService manager = new PeripheralManagerService();
List<String> portList = manager.getGpioList();
if (portList.isEmpty()) {
Log.i(TAG, "No GPIO port available on this device.");
} else {
Log.i(TAG, "List of available ports: " + portList);
}
Тогда я могу подключиться к порту, как это:
try {
Gpio pir = new PeripheralManagerService().openGpio("BCM4")
} catch (IOException e) {
// not thrown in the case of an empty pin
}
Однако даже если вывод пуст, я все еще могу подключиться к это (, что технически имеет смысл, поскольку gpio только двоичный вкл или выкл). Кажется, что нет api, и я не могу законно думать о логике того, как вы можете различать контакт, который имеет подключенный периферийный датчик, и тот, который «пуст».
Поэтому на данный момент для меня нет никакого способа утверждать, что мои датчики и схема установлены правильно.
У кого-нибудь есть идеи? Возможно ли это с точки зрения электроники?
Справочные документы:
https://developer.android.com/things/sdk/pio/gpio.html