我正在尝试使用此代码连接 Teltonika 设备 (FMB1xx):
import socket
port = 12050
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('', port))
s.listen(1)
conn, addr = s.accept()
print('Connected by ', addr)
imei = conn.recv(1024)
conn.send('\x01')
while True:
try:
data = conn.recv(1024)
if not data: break
print (data)
except socket.error:
print ("Error Occured.")
break
到目前为止,我发现 conn.send('\x01')
没有正常工作,并且设备不发送其余数据。有几个这样的问题,但没有一个有好的答案。 Here you can find documentation of this device .
最佳答案
如果您发送超过一个字节,则必须对其进行编码和排序(小端/大端)。使用这样的东西:
conn.send(struct.pack('!L', 1))
关于连接到 teltonika gps:https://github.com/Kein1945/GPS_Teltonika_Server/
关于python - 通过 TCP 使用 Python 连接 Teltonika 设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47128207/