Tôi muốn có thể phát hiện khi cảm biến ngoại vi KHÔNG được kết nối với Raspberry Pi của tôi 3.Làm cách nào để biết thiết bị ngoại vi có được kết nối với GPIO không?
Ví dụ, nếu tôi có cảm biến hồng ngoại thụ động GPIO.
tôi có thể nhận được tất cả các cổng GPIO như thế này:
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);
}
Sau đó, tôi có thể kết nối tới một cổng như thế này:
try {
Gpio pir = new PeripheralManagerService().openGpio("BCM4")
} catch (IOException e) {
// not thrown in the case of an empty pin
}
Tuy nhiên ngay cả khi pin rỗng tôi vẫn có thể kết nối với nó (có ý nghĩa về mặt kỹ thuật, vì gpio chỉ là nhị phân bật hoặc tắt). Dường như không có bất kỳ api nào, và tôi không thể nghĩ một cách logic về cách bạn có thể phân biệt giữa một pin có cảm biến ngoại vi được kết nối và một cảm biến "trống".
Do đó, tại thời điểm này, không có cách nào để tôi xác nhận theo lập trình rằng các cảm biến và mạch của tôi được thiết lập chính xác.
Bất kỳ ai có ý tưởng nào? Liệu nó có thể có được từ quan điểm điện tử không?
tham khảo tài liệu:
https://developer.android.com/things/sdk/pio/gpio.html