私は RPi 4 + Sixfab Base HAT + Quectel EC25 4G LTE モデム + Picam を持っており、picam から写真を撮り、TCP/IP プロトコルを使用して 4G 経由で送信し、Linux Socket で写真を受信して表示するプログラムを開発しようとしています。サーバ。
私はこれについて多くの経験がなく、ソケットのプログラミング情報を見てきましたが、wifi やイーサネットの代わりに Quectel 4G モデムを使用しているため、完全には適合しません。つまり、ソケットを使用できないということです。機能しますが、AT コマンドのみです。
これまでのところ、4G を使用して Rpi から base64 でエンコードされた小さな 20x20 png を送信し、ソケット サーバーで受信することはできますが、小さな画像を再構築することはできません。
しかし、データが大きくなった場合は、プロトコル (ファイル サイズ、開始 - 終了など) を定義する必要があります。いくつかのカスタム プロトコルを見たことがありますが、それらはソケット サーバー専用であり、4G モデムの使用を組み込んでいません。誰かが私を正しい方向に導くことができれば幸いです。.
if ser.isOpen(): # if modem is open
try:
ser.flushInput()
ser.flushOutput()
BG96 = bg96_init() # initialize function for the Modem
i = 0
encoded = ""
#start = time.time()
while BG96:#
if i==0:# does something the first time but not relevant here <<
print(i)
encoded = base64.b64encode(open('testingimg.png', 'rb').read())
print("Data size to send to 4G module:" , sys.getsizeof(encoded))
print("The Image String: " , encoded)
bg96_msg(encoded) # This is a function that sends the data via TCP with AT commands
encoded=""
ser.flushInput()
ser.flushOutput()
i = i+
time.sleep(0.33)