我希望能夠檢測到外設傳感器未連接到我的Raspberry 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