问题描述
我有一个RPi 4 + Sixfab Base HAT + Quectel EC25 4G LTE调制解调器+ Picam,我正在尝试开发一个程序以从picam拍摄图片并使用TCP / IP协议通过4G发送它们,然后接收并显示图片在Linux套接字服务器上。
我对此没有很多经验,并且看到了一些套接字编程信息,但是它并不完全适合我,因为我使用的是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)
解决方法
如何将EC25连接到rpi?如果您使用USB,则不必使用AT命令集,而pi通过4g调制解调器直接连接到Internet。