4
我试图通过串行端口发送文件(在这种情况下是.jpg图像)。通过Python的串行端口发送文件
目前,它的工作原理是调用外部脚本:
subprocess.Popen(['./sendFile.sh','myImage.jpg']).communicate()
其中sendFile.sh
是:
cp /home/pi/$1 /dev/ttyAMA0
这种方法可行,但由于某种原因不稳定。有时我的Python程序在传输文件后停止。
我想知道是否有办法在Python中做到这一点,而不是调用脚本来获取帮助?我搜索了XMODEM,但似乎两端都必须安装它。我正在将图像发送到GPRS芯片,该芯片不允许我修改任何代码。所以安装东西到接收端是不可能的。
您是否尝试过打开设备特殊文件('的/ dev/ttyAMA0')和写作呢? – mpez0
我确实有一些初始化来设置端口和波特率,我可以用'serial.write(someString)'将字符串写入它。据推测,我可以像这样传输文件,但我无法找到语法。 – RRWW
'shutil.copyfileobj(打开('/ home/pi/myImage.jpg','rb'),serial_obj)'在你的情况下工作吗? (注意:使用'with'语句并关闭真实代码中的文件)。 – jfs