首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同时从两个进程管理串口

同时从两个进程管理串口
EN

Stack Overflow用户
提问于 2015-05-12 09:54:23
回答 3查看 2K关注 0票数 1

我有以下情况:

  • 通过串口连接到设备上的Rasperry pi
  • 与覆盆子相连的3g接线器(具有打/接电话的能力)
  • 从串口读取数据并将其重定向到服务器的一个进程(使用3g)
  • 另一个等待来电的进程,当有人打电话时,程序从串口接收数据,并使用AT命令(如传真呼叫)通过3g接口重定向数据。当有人调用时,调用是使用AT命令进行的,调用方应该能够与连接到串口的最终设备“通话”。

问题是这两个进程不能共存,因为它们使用的是相同的串口,而当一个进程已经启动时,另一个进程无法从串口读取数据(端口繁忙)。

有办法做到这一点吗?我能做一个“假的”串行端口,或者重定向数据的东西吗?

非常感谢

EN

回答 3

Stack Overflow用户

发布于 2015-05-12 09:59:18

您可以编写一个与实际串行端口通信的服务,但提供两个虚拟串行端口,如下所述:Virtual Serial Port for Linux

票数 1
EN

Stack Overflow用户

发布于 2015-05-12 11:09:17

就像所有优秀的GSM产品一样,也有一个规范:)

GSM 07.10是规范,在一段时间内有一些库可以支持您。有些是可以构建到服务器系统中的库,有些是实际的守护进程。

一个快速的谷歌"gsm复用“将使您的开始,我相信。

票数 1
EN

Stack Overflow用户

发布于 2020-08-22 14:29:35

我在管理一些独立进程之间的串行端口时也遇到了类似的问题。最后,我最好的解决方案是使用Redis来侦听对端口的调用。

想要发送一些东西的进程,通过redis发布,在通道'uart_request‘中,一个带有参数的json,用于调用串口,以及一个带有时间戳的散列('hash_message')。在发布json之前,进程订阅‘散列_消息’。

最后,进程侦听'uart_request‘中的帖子。当一个帖子到达时,从json中取出'hash_message‘,对串口进行调用,等待响应,并在’散列_message‘中发布响应。

关键是只有一个进程控制串口,所以不需要打开和关闭。效果真的很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30187375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档