linux嵌入式设备串口日志重定向到网络远程调试

前言

    对于在外的嵌入式产品,如果设备出现故障,需要去现场调试找问题,这会很麻烦,也会很耗时间;如果设备具有4G或者上网功能,通过编写一个应用程序,利用网络把设备的串口信息重定向到你自己电脑的TCP工具,就可以通过TCP工具远程调试设备了。

一、嵌入式设备可以上网

    要想把设备的串口数据传到你电脑,首先最重要的一点,设备必须可以上网;无论是4G模块,无线WIFI,还是有线网络,只要其中一种方式可以上网,就可以实现;

二、嵌入式程序的编写

1、建立一个TCP客服端:

    sock= socket( AF_INET, SOCK_STREAM,0);

2、把串口的标准输出重定向到sock:

    dup2(sock, 1);

3、接收数据,使用system()函数执行:

    ret = recv(sock, recvBuf, 1024, 0);

    system(recvBuf);

4、应用程序代码下载:https://download.csdn.net/download/u012478275/11168219

三、创建TCP服务器:

    通过windows电脑下载一个TCP工具,创建TCP服务器,这里有一个问题,怎么能让你自己电脑的TCP工具通过外网连接成功,需要在你路由器下进行端口映射的设置,你电脑的IP是路由器分配,路由器下有一个公网IP,这个公网IP也是上面应用程序建立TCP客服端创建时设置的IP,端口就是路由器映射端口;这里举个例子:你电脑通过ipconfig查到IP是路由器给你电脑分配的IP,一般是192.168.100.111这种;公网IP可以通过电脑浏览器中百度查询IP;一般就可以查出公网IP:113.100.196.18 ,如果你对这些概念不是很清楚,直接可以找公司的网管,要他给你电脑映射一个端口就行;

TCP工具下载:https://download.csdn.net/download/u012478275/11168175;

至此,你就可以通过TCP工具查看远程设备的打印日志,而且可以通过输入指令去查看远程设备的状态信息,

 

你可能感兴趣的:(linux,C语言开发,日志重定向,远程调试,TCP网络)