我有一个 RPi 4 + Sixfab Base HAT + Quectel EC25 4G LTE 调制解调器 + Picam,我正在尝试开发一个程序来从 picam 拍照并使用 TCP/IP 协议通过 4G 发送它们,然后在 Linux Socket 上接收和显示图片服务器。
我对此没有太多经验,并且看过一些 Socket 编程信息,但它并不完全适合我,因为我使用的是 Quectel 4G 调制解调器而不是 wifi 或以太网 - 这意味着我不能使用套接字。功能,但只有 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)