从Python通过串口发送文件

时间:2015-12-15 21:31:12

标签: python raspberry-pi

我正在尝试通过串口发送文件(本例中为.jpg图像)。

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

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

其中sendFile.sh是:

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

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

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

您可以使用os.open直接打开开发者:

f = os.open('/dev/ttyAMA0', os.O_RDWR)
f.write(open("myImage.jpg").read))
f.close()