diff --git a/code/common.py b/code/common.py index 4aab77e..025d762 100644 --- a/code/common.py +++ b/code/common.py @@ -136,6 +136,7 @@ def __init_addr(self): self.__port == 8883 if self.__domain.startswith("https://") else 1883 try: addr_info = usocket.getaddrinfo(self.__domain, self.__port) + logger.debug("addr_info: %s" % str(addr_info)) self.__ip = addr_info[0][-1][0] except Exception as e: usys.print_exception(e) @@ -288,17 +289,13 @@ def __read(self, bufsize=1024): data = b"" if self.__socket is not None: try: + self.__socket.settimeout(None) while True: + data = self.__socket.recv(bufsize) + logger.debug("data: %s" % data) if data: - self.__socket.settimeout(0.5) - else: - self.__socket.settimeout(self.__timeout) - read_data = self.__socket.recv(bufsize) - logger.debug("read_data: %s" % read_data) - if read_data: - data += read_data - else: break + return data except Exception as e: if e.args[0] != 110: usys.print_exception(e) diff --git a/code/jt_message.py b/code/jt_message.py index a696813..5d58ccb 100644 --- a/code/jt_message.py +++ b/code/jt_message.py @@ -24,7 +24,10 @@ @copyright :Copyright (c) 2022 """ -import rsa +try: + import rsa +except ImportError: + rsa = None import usys import ustruct import ubinascii @@ -111,12 +114,12 @@ ], } -_RESERVATION_TERMINAL_PARAM_ID = list(range(0x0008, 0x0010)) + \ - list(range(0x0018, 0x001A)) + list(range(0x001E, 0x0020)) + \ - list(range(0x002A, 0x002C)) + list(range(0x0033, 0x0040)) + \ - list(range(0x004A, 0x0050)) + list(range(0x005F, 0x0064)) + \ - list(range(0x0066, 0x0070)) + list(range(0x0075, 0x0080)) + \ - list(range(0xF000, 0x10000)) +# _RESERVATION_TERMINAL_PARAM_ID = list(range(0x0008, 0x0010)) + \ +# list(range(0x0018, 0x001A)) + list(range(0x001E, 0x0020)) + \ +# list(range(0x002A, 0x002C)) + list(range(0x0033, 0x0040)) + \ +# list(range(0x004A, 0x0050)) + list(range(0x005F, 0x0064)) + \ +# list(range(0x0066, 0x0070)) + list(range(0x0075, 0x0080)) + \ +# list(range(0xF000, 0x10000)) def set_jtmsg_config(jtt808_version="2019", client_id=""): diff --git a/code/jtt808.py b/code/jtt808.py index e37a2ea..d446791 100644 --- a/code/jtt808.py +++ b/code/jtt808.py @@ -106,7 +106,9 @@ def __read_response(self): msg_indexs = [index for index, item in enumerate(msgs) if item == 0x7e] if msg_indexs[1] - msg_indexs[0] == 1: msg_indexs = msg_indexs[1:] + logger.debug("msg_indexs: %s" % str(msg_indexs)) range_num = len(msg_indexs) if len(msg_indexs) % 2 == 0 else len(msg_indexs) - 1 + logger.debug("range_num: %s" % str(range_num)) # Parse each packet in order for i in range(0, range_num, 2): msg = bytearray(msgs[msg_indexs[i]:msg_indexs[i + 1] + 1]).decode().encode() diff --git a/code/test_jtt808.py b/code/test_jtt808.py index 2a4df0c..2445cfa 100644 --- a/code/test_jtt808.py +++ b/code/test_jtt808.py @@ -24,7 +24,10 @@ @copyright :Copyright (c) 2022 """ -import rsa +try: + import rsa +except ImportError: + rsa = None import sim import modem import utime @@ -42,12 +45,16 @@ def test_init(): global jtt808_obj method = "TCP" - ip = "220.180.239.212" - port = 7611 + # ip = "220.180.239.212" + # port = 7611 + # domain = None + ip = None + domain = "d9760.iotchs.xyz" + port = 9760 client_id = "18888888888" - version = "2019" + version = "2013" - jtt808_obj = JTT808(ip=ip, port=port, method=method, version=version, client_id=client_id) + jtt808_obj = JTT808(ip=ip, port=port, method=method, domain=domain, version=version, client_id=client_id) def test_init_loction_data(): @@ -345,38 +352,38 @@ def test_jtt808(): auth_code = register_res.get("auth_code") print("auth_code: %s" % auth_code) - auth_code = "865306057798238" + # auth_code = "865306057798238" test_authentication(auth_code) - test_set_encryption() + # test_set_encryption() test_heart_beat() test_query_server_time() - test_upgrade_result_report() + # test_upgrade_result_report() test_loction_report() - test_event_report(0) + # test_event_report(0) - test_information_demand_cancellation(12, 1) + # test_information_demand_cancellation(12, 1) - test_electronic_waybill_report() + # test_electronic_waybill_report() - test_location_bulk_report() + # test_location_bulk_report() - test_can_bus_data_upload() + # test_can_bus_data_upload() - test_media_event_upload() + # test_media_event_upload() - test_media_data_upload() + # test_media_data_upload() - test_data_uplink_transparent_transmission() + # test_data_uplink_transparent_transmission() - test_data_compression_report() + # test_data_compression_report() - test_terminal_rsa_public_key() + # test_terminal_rsa_public_key() test_logout()