标签: virtual-serial-port

Linux的虚拟串行端口

我需要在Linux上测试串口应用程序,但是,我的测试机只有一个串口.

有没有办法向Linux添加虚拟串口并通过shell或脚本模拟设备来测试我的应用程序?

注意:我无法重新映射端口,它在ttys2上硬编码,我需要在编写时测试应用程序.

linux serial-port virtual-serial-port

111
推荐指数
9
解决办法
15万
查看次数

伪造RS232串口

我正在开发一个项目,其中有许多硬件传感器通过RS232串口连接到部署机器.

但是......我正在开发一台没有物理RS232串口的机器,但是我想制作一些可以连接的假串口,并输出数据,目的是伪造硬件传感器的输入.

有谁知道在Windows XP上创建假串口并控制它的方法?

windows serial-port virtual-serial-port mocking hardware-interface

76
推荐指数
4
解决办法
11万
查看次数

PuTTY串口通讯

我正在尝试使用PuTTY通过计算机的串行线进行通信.我已经配置了正确的串行线,波特率,数据位数,停止位,奇偶校验和流量控制,并建立了连接.当我单击"确定"打开连接时,我显示一个黑屏,并且每次按键都被发送而没有在屏幕上显示(窗口保持黑色).如何配置PuTTY,以便在按Enter键后它只发送我的命令或操作码?

我在大学期间使用PuTTY进行Telnet/SSH,它总是显示我的命令,只有在我按下回车键后输入它们,所以我有点困惑.

putty serial-port virtual-serial-port

44
推荐指数
1
解决办法
11万
查看次数

Python中的虚拟串行设备?

我知道我可以使用例如pySerial与串口设备通信,但如果我现在没有设备但仍需要为它编写客户端怎么办?如何在Python中编写"虚拟串行设备"并与pySerial通信,就像我会说,运行本地Web服务器?也许我只是不好好搜索,但我一直无法找到有关此主题的任何信息.

python serial-port virtual-serial-port pyserial

41
推荐指数
5
解决办法
3万
查看次数

使用C++在Windows中检测USB插入/删除事件

我正在为需要处理USB插入/删除事件的现有应用程序编写扩展.我知道感兴趣的设备的VID/PID.但是,我没有访问窗口句柄,所以我不知道是否RegisterDeviceNotification会有很多用处,除非有办法通过获取句柄WINAPI.使用C++检测USB插入/移除事件的最佳方法是什么?

Microsoft网站上的此示例代码显示了如何通过WMI接收事件通知:

如何修改以接收USB插入/移除事件?或者,我还有另一种方法吗?我正在使用Visual Studio 2008.谢谢.

附加信息

这是我到目前为止(减去错误处理):

DEFINE_GUID(GUID_INTERFACE_CP210x, 0x993f7832, 0x6e2d, 0x4a0f, 0xb2, 0x72, 0xe2, 0xc7, 0x8e, 0x74, 0xf9, 0x3e);

MyClass::MyClass()
{
    // Generate message-only window
    _pWndClassEx = (WNDCLASSEX *)malloc( sizeof(WNDCLASSEX) );
    memset( _pWndClassEx, 0, sizeof(WNDCLASSEX) );
    _pWndClassEx->cbSize = sizeof(WNDCLASSEX);
    _pWndClassEx->lpfnWndProc = (WNDPROC)WndProc; // function which will handle messages
    _pWndClassEx->hInstance = GetCurrentModule();
    _pWndClassEx->lpszClassName = pClassName;
    atom = RegisterClassEx( _pWndClassEx );
    _hWnd = CreateWindowEx( 0, pClassName, pWindowName, 0, 0, 0, 0, 0, HWND_MESSAGE, NULL, NULL, NULL ); …
Run Code Online (Sandbox Code Playgroud)

c++ usb events asynchronous virtual-serial-port

21
推荐指数
3
解决办法
4万
查看次数

通过TCP创建虚拟串行端口连接

我正在开发一个应该能够写入虚拟串行端口并通过网络从远程客户端通过同一端口接收数据的应用程序.

该应用程序在Linux服务器上运行.我是使用串口的新手,我对这个主题有一些疑问.

客户端

客户端可以建立到服务器的TCP连接.当我们设置客户端时,我们必须提供服务器的IP地址,tcp端口(通常为8080)和虚拟COM端口.

然后,客户端将自动尝试连接到服务器.

服务器

服务器有一个虚拟的COM端口,我们在客户端配置中设置相同(例如COM1).当服务器上的应用程序将数据写入此端口时,应将数据发送到通过tcp连接的所有客户端.来自客户端的响应通过TCP发送回服务器,服务器可以通过虚拟串行端口读取它.

在Windows上,我使用了一个虚拟串口连接器http://www.eterlogic.com/Products.VSPE.html来完成大部分工作.但是我想在linux机器上解决这个问题.

我的问题是,如何创建一个连接了虚拟串口的TCP服务器,并通过TCP端口向侦听客户端发送/接收数据?

sockets linux tcp serial-port virtual-serial-port

13
推荐指数
2
解决办法
5万
查看次数

通过注册表,命令行或软件更改COM端口?

有人知道如何更改Windows映射到USB虚拟COM端口的COM端口号吗?您可以通过"设备管理器"更改此设置并单击"高级"按钮..但是如何通过API,注册表更改或命令行操作执行此操作?

有什么想法吗?

serial-port virtual-serial-port

9
推荐指数
3
解决办法
4万
查看次数

如何在Linux中创建一个虚拟io设备,将数据代理到真实设备?

我有一个有趣的问题.我正在研究一个嵌入式盒子,其中有多个Linux实例在ARM处理器上运行.它们通过内部1GBps网络连接.我有一个连接到处理器A的串行端口设备节点(假设Linux-A正在运行).我有一个在处理器B上运行的程序(让我们说在Linux-B上)访问串口设备,好像它本地连接到Linux-B一样.
我的程序调用设备节点上的术语i/o类型api调用来控制tty echo,字符模式输入.我想知道的是,是否有办法创建一个可在Linux-B上使用的虚拟串行设备以某种方式通过内部网络与Linux-A上的真实串行设备进行通信.

我正在考虑以下几点:Linux-B有/ dev/ttyvirtual.任何写入它的内容都会通过网络套接字传输到Linux-A serialserver.串行服务器在真实设备上解析api调用,比如/ dev/ttys0.等待ttys0的任何数据都会被传输回/ dev/ttyvirtual.

完成这项工作所涉及的所有事情是什么?

谢谢
Videoguy

更新:我在http://fixunix.com/bsd/261068-network-socket-serial-port-question.html上发现了一个很棒的讨论 .
另一个有用的链接是http://blog.philippklaus.de/2011/08/make-rs232-serial-devices-accessible-via-ethernet/

linux serial-port virtual-serial-port pipe

9
推荐指数
2
解决办法
2万
查看次数

Pyserial与虚拟端口不兼容

动机

我想开始学习如何使用python库pyserial.它似乎是一个非常好的图书馆,适用于很多人.我想将它用于即将开展的项目,我必须自动进行串行通信.

环境

我正在运行Ubuntu 15.04.我正在使用Python 2.7.

设置虚拟端口

我目前没有可以通过串口与之通信的设备.我正在使用socat应用程序创建两个相互连接的虚拟端口,波特率为9600.

$ socat -d -d pty,raw,echo=0,b9600 pty,raw,echo=0,b9600
2016/01/16 12:57:51 socat[18255] N PTY is /dev/pts/2
2016/01/16 12:57:51 socat[18255] N PTY is /dev/pts/4
2016/01/16 12:57:51 socat[18255] N starting data transfer loop with FDs [5,5] and [7,7]
$ echo "hello" > /dev/pts/2
$ cat /dev/pts/4
hello
Run Code Online (Sandbox Code Playgroud)

大!好像港口有效!

一个简单的pyserial脚本

我使用pip安装pyserial

$ sudo pip install pyserial
Run Code Online (Sandbox Code Playgroud)

然后我写了一个小的serialtest.py

#!/usr/bin/env python
import serial

ser = serial.Serial('/dev/pts/2', 9600)
Run Code Online (Sandbox Code Playgroud)

这是serialtest.py的全部内容

运行脚本并遇到错误

$ python serialtest.py 
Traceback (most recent call …
Run Code Online (Sandbox Code Playgroud)

python serial-port virtual-serial-port pyserial socat

9
推荐指数
1
解决办法
6267
查看次数

CP2102设备未在macOS 10.13上的/ dev中列出

我有带有Silicon Labs CP2102控制器的ESP32板.当我将它连接到我的MacBook时,我可以使用该命令获取有关此设备的详细信息system_profiler SPUSBDataType,但它未/dev作为虚拟串行端口列出- 因此我无法与之通信.

    CP2102 USB to UART Bridge Controller:

      Product ID: 0xea60
      Vendor ID: 0x10c4  (Silicon Laboratories, Inc.)
      Version: 1.00
      Serial Number: 0001
      Speed: Up to 12 Mb/sec
      Manufacturer: Silicon Labs
      Location ID: 0x14200000 / 5
      Current Available (mA): 500
      Current Required (mA): 100
      Extra Operating Current (mA): 0
Run Code Online (Sandbox Code Playgroud)

我正在使用从https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers下载的官方驱动程序.

任何想法如何让它可见/dev?我也在同一台计算机上安装了Windows,它工作正常,因此硬件和USB线都可以.

hardware macos virtual-serial-port driver iot

9
推荐指数
2
解决办法
7747
查看次数