xmodemを用いた送信

ラズパイで撮影した動画をxbeeを使って送信したい。xmodemを使おうということでネットで調べたところ、良さげなプログラムを発見。

ところが。

エラー出まくり。。。

ネットで拾ったプログラムなんだもの。しょうがない。夜な夜なプログラムを修正することはや3日。

ついに送信できたー!!というわけで、以下のプログラムが完成版。

import serial
from xmodem import XMODEM

<200b>ser = serial.Serial('/dev/ttyUSB0',115200) 
'''USBの名前と通信速度を記述。USBの名前は接続するたびに変わるので、コマンドで確認。 ls /dev/ttyUSB*と打ち込めば確認できる。'''

def getc(size, timeout=1):
	return ser.write(data) or None
def putc(data, timeout=1):
	return ser.write(size) or None

modem = XMODEM(getc,putc)

<200b>stream = open('ファイル名','rb')
modem.send(stream)

(追記:なぜか<200b>という文字が勝手に出てくる。これは消して扱う。)

次に。ラズパイにxmodemモジュールをインストールする。

コマンドに、pip3 install xmodem
と打ち込めばインストールできる。

あとは実行するだけ。

xmodemでは通信速度が遅いのでzmodemもやってみたところ、インストールしたzmodemプロトコルが未完成のようで実行できなかった。残念。

ちなみに今回使ったマイコンxbeeがこちら。

スイッチサイエンス XBee S2C / ワイヤアンテナ型

価格:2,521円
(2020/9/10 14:02時点)
感想(0件)

ラズベリーパイ3 A コンピュータボード

価格:3,829円
(2020/9/10 14:06時点)
感想(0件)