如何将实时数据流从linux无头系统传输到windows计算机?

如何将实时数据流从linux无头系统传输到windows计算机?,linux,windows,Linux,Windows,我最近一直在和。我们正试着连接到它,并做一些与机器人导航相关的实验。NAO在其geode系统上使用经过修改的2.6Linux内核。我已经设法让我的导航芯片在上面工作(需要编译LinuxCP210x内核模块等等)。因此,我可以运行导航芯片附带的C程序并从中收集数据。但是,数据只能记录在本地文件系统上。我想通过网络将这些数据传输到windows机器上,因为所有的处理都是基于MATLAB的。有人对我如何将这些数据从NAO发送到windows机器有什么建议吗 NAO的系统相当有限。它有ssh和一些常见的

我最近一直在和。我们正试着连接到它,并做一些与机器人导航相关的实验。NAO在其geode系统上使用经过修改的2.6Linux内核。我已经设法让我的导航芯片在上面工作(需要编译LinuxCP210x内核模块等等)。因此,我可以运行导航芯片附带的C程序并从中收集数据。但是,数据只能记录在本地文件系统上。我想通过网络将这些数据传输到windows机器上,因为所有的处理都是基于MATLAB的。有人对我如何将这些数据从NAO发送到windows机器有什么建议吗


NAO的系统相当有限。它有ssh和一些常见的实用程序,如cat等,但没有任何高级功能。

我不确定我是否正确理解了这个问题,但我认为您已经回答了您自己的问题,您提到安装了ssh,那么为什么不只安装scp文件呢?在windows机箱上使用一些ssh客户端远程连接和下载相关日志文件

如果确实需要将文件从远程主机推送到本地计算机(而不是连接到远程主机并下载到本地),则netcat应该可以工作。请参见此处:


另一方面,只需用C编写自己的socket程序,并通过管道传输文件accross(应该很简单)。

我不确定我是否正确理解了这个问题,但我认为您已经回答了您自己的问题,您提到的ssh已安装,那么为什么不只是scp文件呢?在windows机箱上使用一些ssh客户端远程连接和下载相关日志文件

如果确实需要将文件从远程主机推送到本地计算机(而不是连接到远程主机并下载到本地),则netcat应该可以工作。请参见此处:


另一方面,只需用C编写自己的socket程序,并通过管道传输文件accross(应该很简单)。

我可以使用netcat,但不幸的是,NAO没有它。我可以在文件仍在登录时对其进行scp吗?保存文件然后传输不是我想要做的。我可以用C写一个socket程序,我知道当我的两个系统都是linux时该怎么做。我不知道windows套接字规范是否与linux兼容。我将对此进行调查。为了澄清,我不想将数据记录到文件中,然后复制该文件。我想将传感器生成的数据实时发送到windows机器(用于实时处理)。啊,我现在理解了这个问题,它实际上与我的工作密切相关-我与工业控制系统合作,我们使用OPC从传感器(通常是热电偶、压力计等)实时发送数据,不幸的是,这只是Windows。根据日志文件的写入方式,您有几个选项,它是否仅针对特定的“事件”(即,如果传感器超过阈值写入日志文件)写入文件,或者它是一个恒定的数据流(在这种情况下是缓冲的,您是否必须发送命令将缓冲区刷新到磁盘?)“开始流式传输”命令:它有一些命令,用于设置数据包格式、数据/波特率和开始/停止流式传输等的寄存器)到我的传感器,它持续流式传输数据(直到我发送“停止流式传输”命令)。它似乎也没有缓冲。如果我必须使用简单的套接字编程将数据发送到另一个linux系统,我就可以这样做。但是,从linux到windows有点麻烦(因为我对windows真的知之甚少)不幸的是,我的Unix编程背景也不能真正帮助windows方面的工作。我知道有些程序,如Cygwin,可以在windows中为您提供posix环境,这可能会有所帮助。我可以使用netcat,但NAO没有,不幸的是。我可以在文件仍被记录到的情况下对其进行scp吗?保存文件,然后传输这不是我想要做的。我可以用C写一个套接字程序,我知道当我的两个系统都是linux时该怎么做。我不知道windows套接字规范是否与linux兼容。我将对此进行研究。为了澄清,我不想将数据记录到一个文件中,然后复制该文件。我想发送传感器生成的数据实时到windows机器(用于实时处理)。啊,我现在理解了这个问题,它实际上与我的工作密切相关-我与工业控制系统合作,我们使用OPC从传感器(通常是热电偶、压力表等)实时发送数据不幸的是,这仅限于Windows。根据日志文件的写入方式,您有几个选项,它是否仅在某些“事件”时写入文件(即,如果传感器超过阈值写入日志文件),或者它是一个恒定的数据流(在这种情况下是缓冲的,您是否必须发送命令将缓冲区刷新到磁盘?).在我向我的传感器发送一个特定的十六进制信号(“开始流式传输”命令:它有一些命令,用于设置数据包格式、数据/波特率和开始/停止流式传输等的寄存器)后,它会持续流式传输数据(直到我发送“停止流式传输”命令)。它似乎也没有缓冲。如果我必须使用简单的套接字编程将数据发送到另一个linux系统,我就可以这样做。但是,从linux到windows有点麻烦(因为我对windows真的知之甚少)不幸的是,我的Unix编程背景也不能真正帮助解决windows方面的问题。我知道有像Cygwin这样的程序可以在windows中为您提供posix环境,这可能会有所帮助。