我目前正在使用 Teltonika Codec 8 协议构建一个用于 GPS 跟踪的服务器。虽然我已阅读所有相关文档,但我面临一个问题,即我无法移动到记录 13 之外的下一条记录。我已成功收到IMEI和AVL数据包,但协议似乎停留在记录 13。
**代码:**
`def handle_client(conn, addr):
print(f"[NEW CONNECTION] {addr} connected.")
connected = True
while connected:
imei = conn.recv(1024)
print(imei)
try:
message = '\x01'
message = message.encode('utf-8')
conn.send(message)
connected = False
except socket.error as e:
print(f"Error sending reply. Maybe it's not our device {addr}: {e}")
connected = False
try:
data = conn.recv(1024)
recieved = binascii.hexlify(data)
print(data)
print(recieved)
decodethis(recieved)
record = getrecord(recieved)
message = "0000" + str(record).zfill(4)
print(record)
message = message.encode('utf-8')
conn.send(message)
conn.close()
connected = False
except socket.error as e:
print(f"Error receiving data from {addr}: {e}")
print("Error Occured.")
connected = False
break
conn.close()`
我查阅了文档,发现我需要发送“00000013”来通知协议我已经收到了第13条记录。但是,我不确定如何继续。有人可以为我提供一些指导或示例代码来帮助我转到记录 13 之外的下一条记录吗?
点击以下链接: https://community.teltonika-gps.com/4965/how-to-read-data-from-teltonika-fmb001-with-a-python-script https://wiki.teltonika-networks.com/view/VCode#Codec_8
设备: FMB110 FMB140
提前感谢您提供的任何帮助。
您是否询问设备收到 13 条记录后会发送什么响应? 可能您需要发送 4 个字节 0x0000000D,这意味着十进制 13。