从Python通过串口发送文件

我正在尝试通过串行端口发送文件(在这种情况下为.jpg图像).

目前它通过调用外部脚本来工作:

subprocess.Popen(['./sendFile.sh','myImage.jpg']).communicate()

其中sendFile.sh是:

cp /home/pi/$1 /dev/ttyAMA0

这种方法有效,但有些不稳定.有时我的Python程序在传输文件后停止.

我想知道是否有办法在Python中执行此操作而不是调用脚本来寻求帮助?我搜索了XMODEM,但似乎两端都必须安装它.我正在将图像发送到GPRS芯片,这不允许我修改它上面的任何代码.因此,在接收端安装一些东西是不可能的.

最佳答案

import serial
s = serial.Serial("/dev/ttyAMA0")
s.write(open("target.txt","rb").read())
点赞