try to add sim info to fb
This commit is contained in:
@@ -7,9 +7,10 @@ import time
|
||||
from gsmmodem import GsmModem
|
||||
|
||||
from ModemPool import ModemPool
|
||||
from card_pool import CardPool, PORT
|
||||
from card_pool import CardPool
|
||||
from commandor import Commandor
|
||||
from db.DbManager import DataManager
|
||||
from params import MODEM_POOL_PORTS, CARD_POOL_PORT
|
||||
from pojo.ReserveResultPojo import ReserveResultPojo
|
||||
from utils.excel_reader import ExcelHelper
|
||||
from pojo.serial_modem import SerialModem
|
||||
@@ -20,32 +21,13 @@ BAUDRATE = 115200
|
||||
OTP_TIMEOUT = 60
|
||||
is_finished = False
|
||||
commandor = Commandor()
|
||||
timeout_contact_list = []
|
||||
|
||||
# ser = serial.Serial(PORT, BAUDRATE, timeout=1)
|
||||
|
||||
db_manager = DataManager()
|
||||
card_pool = CardPool(CARD_POOL_PORT)
|
||||
|
||||
|
||||
def get_devices_ports() -> list:
|
||||
return [
|
||||
"/dev/tty.usbmodem111101",
|
||||
"/dev/tty.usbmodem111103",
|
||||
"/dev/tty.usbmodem111105",
|
||||
"/dev/tty.usbmodem111107",
|
||||
"/dev/tty.usbmodem111201",
|
||||
"/dev/tty.usbmodem111203",
|
||||
"/dev/tty.usbmodem111205",
|
||||
"/dev/tty.usbmodem111207",
|
||||
"/dev/tty.usbmodem111301",
|
||||
## "/dev/tty.usbmodem111303",
|
||||
"/dev/tty.usbmodem111305",
|
||||
"/dev/tty.usbmodem111307",
|
||||
"/dev/tty.usbmodem111401",
|
||||
"/dev/tty.usbmodem111403",
|
||||
"/dev/tty.usbmodem111405",
|
||||
"/dev/tty.usbmodem111407"
|
||||
]
|
||||
return MODEM_POOL_PORTS
|
||||
|
||||
|
||||
def has_sim(ser) -> bool:
|
||||
@@ -58,11 +40,15 @@ def has_sim(ser) -> bool:
|
||||
return False
|
||||
|
||||
|
||||
def send_command(cmd: str, ser) -> bytes:
|
||||
print("send command {}".format(cmd))
|
||||
def send_command(cmd: str, ser, wait_time_in_s: int = 0) -> bytes:
|
||||
ser.write(cmd.encode())
|
||||
time.sleep(10)
|
||||
msg = ser.read(100)
|
||||
count = 0
|
||||
while 'OK' not in str(msg) and count < wait_time_in_s:
|
||||
time.sleep(1)
|
||||
count = count + 1
|
||||
msg = ser.read(100)
|
||||
# msg = ser.read(100)
|
||||
print(msg)
|
||||
return msg
|
||||
|
||||
@@ -95,7 +81,6 @@ def create_modem_for_port(port: str) -> SerialModem:
|
||||
|
||||
|
||||
def timeout_occurred(serial_modem: SerialModem):
|
||||
timeout_contact_list.append(serial_modem.contact)
|
||||
db_manager.save_timeout_contact(serial_modem.contact)
|
||||
|
||||
|
||||
@@ -134,6 +119,16 @@ def handle_sms(sms):
|
||||
is_finished = True
|
||||
|
||||
|
||||
def select_sim_storage(ser) -> bool:
|
||||
# use SIM Card storage
|
||||
cmd_sm = "AT+CPBS=\"SM\"\r"
|
||||
result = send_command(cmd_sm, ser)
|
||||
if "ERROR" in str(result):
|
||||
return False
|
||||
else:
|
||||
return True
|
||||
|
||||
|
||||
def init_modems() -> list:
|
||||
modems = []
|
||||
for port in get_devices_ports():
|
||||
@@ -169,12 +164,11 @@ def start_listen():
|
||||
|
||||
|
||||
def read_all_the_phone_number():
|
||||
card_pool = CardPool(PORT)
|
||||
slot_number = 1
|
||||
slot_sum = 28
|
||||
# card_pool.switch_to_slot(10)
|
||||
slot_sum = 3
|
||||
# card_pool.switch_to_slot(3)
|
||||
|
||||
for i in range(1, slot_sum + 1):
|
||||
for i in range(slot_number, slot_sum + 1):
|
||||
card_pool.reset()
|
||||
print("will switch to " + str(i))
|
||||
card_pool.switch_to_slot(i)
|
||||
@@ -183,25 +177,27 @@ def read_all_the_phone_number():
|
||||
modem_pool.get_raw_phone_number(i)
|
||||
|
||||
|
||||
def start_book():
|
||||
slot_number = 3
|
||||
slot_sum = 3
|
||||
for i in range(slot_number, slot_sum + 1):
|
||||
card_pool.reset()
|
||||
print("will switch to " + str(i))
|
||||
card_pool.switch_to_slot(i)
|
||||
modem_pool = ModemPool(get_devices_ports())
|
||||
modem_pool.reset_all_modems()
|
||||
modem_list = init_modems()
|
||||
# create listeners for chaque modem
|
||||
for modem in modem_list:
|
||||
if modem.contact:
|
||||
commandor.start_page(modem.contact)
|
||||
start_to_handle_sms(modem)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
init_logger()
|
||||
logger = logging.getLogger()
|
||||
logger.addHandler(logging.StreamHandler(stream=sys.stdout))
|
||||
read_all_the_phone_number()
|
||||
# start_listen()
|
||||
# reset the sim card pool
|
||||
# send_command("AT+SWIT01-0001\r", ser)
|
||||
|
||||
# enable verbose logs for all port
|
||||
|
||||
# # create modems for all the available port
|
||||
# modem_list = init_modems()
|
||||
# create listeners for chaque modem
|
||||
# for modem in modem_list:
|
||||
# commandor.start_page(modem.contact)
|
||||
# start_to_handle_sms(modem)
|
||||
# # save the timeout contacts
|
||||
# timeout_list = json.dumps(timeout_contact_list)
|
||||
# f = open("timeout_list.json", "a")
|
||||
# f.write(str(timeout_list))
|
||||
# f.close()
|
||||
# read_all_the_phone_number()
|
||||
start_listen()
|
||||
start_book()
|
||||
|
||||
Reference in New Issue
Block a user