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