Chcę być w stanie wykryć, kiedy czujnik peryferyjny NIE jest podłączony do mojego Raspberry Pi 3.Jak mogę sprawdzić, czy urządzenie peryferyjne jest podłączone do GPIO?
Na przykład, jeśli mam pasywny czujnik podczerwieni GPIO.
mogę uzyskać wszystkie porty GPIO jak to:
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);
}
Następnie można podłączyć do portu jak ten:
try {
Gpio pir = new PeripheralManagerService().openGpio("BCM4")
} catch (IOException e) {
// not thrown in the case of an empty pin
}
Jednak nawet jeśli pin jest pusty mogę jeszcze połączyć to (, co technicznie ma sens, ponieważ gpio jest tylko binarne włączone lub wyłączone). Wygląda na to, że nie ma żadnych api, i nie mogę logicznie myśleć o tym, jak odróżnić pin z podłączonym czujnikiem peryferyjnym od "pustego".
W tej chwili nie ma możliwości, aby programowo potwierdzić, że moje czujniki i obwód są poprawnie skonfigurowane.
Ktoś ma jakieś pomysły? Czy to nawet możliwe z elektronicznego punktu widzenia?
odniesienia docs:
https://developer.android.com/things/sdk/pio/gpio.html