linux命令行向串口发送数据

哦,在Linux命令行上谈论串行通信真是一个技术活。
我记得当我第一次遇到这个问题时,我感到非常困惑。
现在我们来谈谈如何使用echo或printf命令向串口发送数据。

首先,您必须决定要使用哪个串行设备。
通常这个串口隐藏在巨大的/dev目录中。
例如,您可以使用/dev/ttyS3 ,您可以找到/dev/ttyUSB0等等。
该设备的名称可能不是随机的。
这必须根据您的系统和硬件的实际情况来确定。

接下来我们用echo命令来试水一下。
例如,如果要发送类似“disvlann”的字符串,可以在命令行中键入以下行:echo -e "disvlann" > /dev/ttyS3 这个“-e”告诉 echo 解析反斜杠空白字符,例如换行符 n。
如果您不想添加换行符,请使用 -n 参数,如下所示:echo -n "1 " > /dev/ttyUSB0。

之后,如果你想尝试 printf,echo 命令会更简单、更奇特;好的。
用法与echo类似。
只需要在命令行中输入 printf "disvlann" > /dev/ttyS3 就可以了。

但是等等,我还没有讨论串行端口帧。
发送数据前数据位波特率;必须先设置串口的一些参数,如停止位和奇偶校验位。
这就像为通信设置密码以确保数据正确发送一样。
例如,您将波特率设置为9 6 00; 8 个数据位;如果要设置无奇偶校验位和1 个停止位,则在命令行中写入:stty -F /dev/ttyS3 9 6 00 cs8 cstopb parenb。
您需要根据您的设备和通信协议调整此设置。

回来 Linux 命令行上的串行通信说起来容易,也说难。
你必须一步一步地学习它并熟悉它。
总之,掌握了这些之后,与串口设备的静态通信就不难了。

请教关于linux curl的用法? 使用curl发送POST请求,但是数据是字典形式的字符串,

我记得上次我正在帮助一位同事调试他的 Facebook;他使用curl发送了一个POST。
那一刻,他很困惑。
由于数据位于字典中,因此它被转换为字符串。
结果服务器宕机了,日志里出现了很多苦苦挣扎的角色。
后来我告诉他,这要看服务器需要什么格式。
如果是JSON;您必须添加标题。
如果是普通格式数据;您需要手动对其进行 URL 编码。
他试过了,是对的。
然而他突然问我,特别是数据量很大,比如几个GB的文件。
怎样才能转移呢?当我考虑时,我认为我需要使用 --data-raw;但这需要足够的内存,对吗?等等还有一件事。
它仍然使用Python的urlib进行URL编码,效率不是很高。
后来他改用请求库并将其自动化。