首页 > 解决方案 > 从两个程序中读取一个串行端口:Python 3

问题描述

这已经被问了几种方法。没有找到有用的答案。我正在运行 Windows,但最终版本将在 Linux 上运行。

我正在创建一个 RFID 阅读器门禁系统。我有 2 个单独的 python 程序。

程序 1 持续监控通过串行端口 (COM27) 连接的阅读器。当阅读器读取徽章时,在数据库中查找用户,门打开,记录数据,关闭。

程序 2 将新人员添加到数据库中。它仅在添加新卡时从串行端口读取。(需要扫卡取号)用于数据库)

显然,程序 2 尝试打开串行端口并失败。程序 1 已经打开。

我尝试创建一个处理串行通信的程序 3,但将其导入其他 2 个程序会创建单独的实例,所以同样的问题。

如何创建程序的一个实例并将读取信息发送到两个程序?

标签: linuxpython-3.xwindowsserial-port

解决方案


情况很奇怪,但是,我认为,也许你不能改变你的软件架构。我认为可以解决您的程序的唯一方法是编写一个守护程序来获取串行端口并为每个 python 实例提供 2 个文件或 2 个套接字或其他东西。我可以使用 c++ 来做到这一点,但这不是强制性的。


推荐阅读