-
Notifications
You must be signed in to change notification settings - Fork 26
/
Copy pathtest_imei_retrieving.py
63 lines (49 loc) · 1.7 KB
/
test_imei_retrieving.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/usr/bin/python3
from test_shared import *
COMPORT_NAME = "com22"
#logging levels
CONSOLE_LOGGER_LEVEL = logging.INFO
LOGGER_LEVEL = logging.INFO
SIM_MODULE_PIN = "1111"
def main():
"""
Test IMEI (serial number) retrieving from SIM 900 module.
:return: true if everything was OK, otherwise returns false
"""
#adding & initializing port object
port = initializeUartPort(portName=COMPORT_NAME)
#initializing logger
(formatter, logger, consoleLogger,) = initializeLogs(LOGGER_LEVEL, CONSOLE_LOGGER_LEVEL)
#class for general functions
gsm = SimGsm(port, logger)
#opening COM port
logger.info("opening port")
if not gsm.openPort():
logger.error("error opening port: {0}".format(gsm.errorText))
return False
#initializing session with SIM900
logger.info("initializing SIM900 session")
if not gsm.begin(5):
logger.error("error initializing session: {0}".format(gsm.errorText))
return False
logger.debug("checking PIN state")
if gsm.pinState != SimGsmPinRequestState.NOPINNEEDED:
logger.debug("PIN needed, entering")
if gsm.pinState == SimGsmPinRequestState.SIM_PIN:
if not gsm.enterPin(SIM_MODULE_PIN):
logger.error("error entering PIN")
else:
logger.debug("PIN OK")
#retrieving IMEI
sim = SimImeiRetriever(port, logger)
logger.info("retrieving IMEI")
imei = sim.getIMEI()
if imei is None:
logger.error("error retrieving IMEI: {0}".format(sim.errorText))
return False
logger.info("IMEI = {0}".format(imei))
gsm.closePort()
return True
if __name__ == "__main__":
main()
print("DONE")