python-3.x - Python:多个应用程序/服务同时尝试访问资源,Sysfs GPIO
问题描述
我试图让不是多线程的系统能够共享 Sysfs GPIO 资源(即 LED)。应用程序像服务一样运行,作为单个系统没有main()
所有这些应用程序的入口点,因此我无法创建资源对象然后在初始化时与它们所有人共享它。
例如,一个应用程序想要为某种事件闪烁红色 LED。与此同时,另一个应用程序出现故障并希望 LED 保持亮起。
什么是threading.Lock()
or的等价物mutex
,但跨多个应用程序/服务?
我现在拥有它的方式任何想要访问的人都可以使用它,但在上面的场景中我似乎可能会遇到 GPIO 错误。如果一个应用程序想要显示故障,而另一个应用程序收到中断并想要闪烁,则在另一个应用程序完成闪烁后,故障 LED 将被清除。
另一种理论是让 LEDController 作为自己的应用程序运行,任何想要使用它的人都使用客户端,该客户端将套接字/MQTT 数据发送到处理 LED 队列/优先级的控制器。
操作系统:mendel(debian Linux)
解决方案
推荐阅读
- python - 为什么带有 Scikit-learn 的 Sagemaker 不起作用,给出 ParamValidationError?
- javascript - 反应:点击按钮更新表单
- php - 如何使用 Sendgrid 调用动态 html 文件中的姓名和邮件地址?
- oracle - 如何使用 sql loader 将 10k 以上的字符加载到单个 oracle 库
- c# - Xaml 岛 - 第 3 方控件
- maven - 无法使用 maven Fabric8 将 Spring Boot 应用程序部署到 openshift 集群:TLS 内部错误
- python - 从字典中随机选择变量
- reactjs - HttpMessageNotReadableException:缺少所需的请求正文
- azure - 如何将 Azure SQL 托管实例连接到 Azure 应用服务(使用 .NET Core 2.2 编写)
- multithreading - 使用 cmake 和 make 编译时出现“Boost”库问题-“未定义的引用错误”