android-things – 如何判断外围设备是否连接到GPIO?

android-things – 如何判断外围设备是否连接到GPIO?,第1张

概述我希望能够检测到外围传感器何时没有连接到我的Raspberry Pi 3. 例如,如果我有一个GPIO被动红外传感器. 我可以得到这样的所有GPIO端口: PeripheralManagerService manager = new PeripheralManagerService();List<String> portList = manager.getGpioList();if (port 我希望能够检测到外围传感器何时没有连接到我的RaspBerry Pi 3.

例如,如果我有一个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

解决方法 有许多方法可以在电气上进行“存在检测”,但在SoC中你没有任何内在的发现.你通常不会问一个GPIO引脚是否有附件 – 它无法告诉你.

额外的GPIO引脚通常用于检测外设是否连接到连接器.例如,用于某些传感器的插头可能包括短路接地的“检测”线,并在连接传感器时将GPIO拉低. USB和Sdio通过接口中的某些专用电路执行类似 *** 作.

您还可以使用电流感应等方法构建更精细的检测电路,但它们不可避免地需要输出通过专用GPIO捕获的二进制信号.

这对于串行外设来说更容易实现,因为您通常可以发送基本命令并验证您是否得到了响应.

总结

以上是内存溢出为你收集整理的android-things – 如何判断外围设备是否连接到GPIO?全部内容,希望文章能够帮你解决android-things – 如何判断外围设备是否连接到GPIO?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1130706.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存