try to add sim info to fb

This commit is contained in:
2022-02-28 20:09:02 +01:00
parent d910ec65a3
commit 96c5e26abd
10 changed files with 118 additions and 62 deletions
+12 -3
View File
@@ -3,9 +3,11 @@ import time
import serial
from serial import Serial
from db.DbManager import DataManager
from SIMError import SIMError
from error.SIMError import SIMError
from logs.LogSender import LogSender, LOG_ERROR
from pojo.SimInfoPojo import SimInfoPojo
from utils.excel_reader import ExcelHelper
@@ -19,6 +21,7 @@ class ModemPool:
self._serial_list = []
self._excel_helper = ExcelHelper()
self._log_sender = LogSender()
self._db_manager = DataManager()
for port in self._port_list:
ser = serial.Serial(port, self.BAUDRATE, timeout=1)
@@ -26,13 +29,15 @@ class ModemPool:
def reset_all_modems(self):
for ser in self._serial_list:
# may encontre exception here, multi-access to serial port
time.sleep(2)
self._send_command("AT+CFUN=1,1\r", ser)
# wait for 20 second, so that the modem can init all the sims
time.sleep(20)
def _generate_error_msg(self, slot_position, index, error: SIMError):
msg = "slot({}) SIM({}), error:{}".format(slot_position, index + 1,
error.value)
error.value)
self._log_sender.send_log(msg, subject=self.TAG, type=LOG_ERROR)
return msg
@@ -56,8 +61,12 @@ class ModemPool:
match = re.search(r'33\d{9}', str(msg))
phone_number = match.group(0)
print("phone is " + phone_number)
cmd = "AT+CCID\r"
response = str(self._send_command(cmd, ser))
ccid_group = re.search("[0-9F]+", response)
ccid = ccid_group.group(0)
if phone_number:
self._excel_helper.write_phone(phone_number)
self._db_manager.save_sim_info(SimInfoPojo(phone=phone_number, ccid=ccid))
# write the number to sim card's phonebook
cmd = f'AT+CPBW={self.phone_number_position},\"{phone_number}\"\r'
self._send_command(cmd, ser, wait_time_in_s=2)