通过串行端口从 Python 发送文件
Send file over serial port from Python
我正在尝试通过串行端口发送文件(在本例中为 .jpg 图像)。
目前它通过调用外部脚本来工作:
subprocess.Popen(['./sendFile.sh','myImage.jpg']).communicate()
其中 sendFile.sh
是:
cp /home/pi/ /dev/ttyAMA0
此方法有效但不稳定。有时我的 Python 程序在传输文件后停止。
我想知道是否可以在 Python 中执行此操作而不是调用脚本寻求帮助?我搜索了XMODEM,但似乎两端都必须安装它。我正在将图像发送到 GPRS 芯片,它不允许我修改上面的任何代码。所以给接收端安装东西是不可能的。
import serial
s = serial.Serial("/dev/ttyAMA0")
s.write(open("target.txt","rb").read())
可以使用os.open
直接打开一个dev:
f = os.open('/dev/ttyAMA0', os.O_RDWR)
f.write(open("myImage.jpg").read))
f.close()
我正在尝试通过串行端口发送文件(在本例中为 .jpg 图像)。
目前它通过调用外部脚本来工作:
subprocess.Popen(['./sendFile.sh','myImage.jpg']).communicate()
其中 sendFile.sh
是:
cp /home/pi/ /dev/ttyAMA0
此方法有效但不稳定。有时我的 Python 程序在传输文件后停止。
我想知道是否可以在 Python 中执行此操作而不是调用脚本寻求帮助?我搜索了XMODEM,但似乎两端都必须安装它。我正在将图像发送到 GPRS 芯片,它不允许我修改上面的任何代码。所以给接收端安装东西是不可能的。
import serial
s = serial.Serial("/dev/ttyAMA0")
s.write(open("target.txt","rb").read())
可以使用os.open
直接打开一个dev:
f = os.open('/dev/ttyAMA0', os.O_RDWR)
f.write(open("myImage.jpg").read))
f.close()