-
Notifications
You must be signed in to change notification settings - Fork 26
/
Copy pathtest_shared.py
81 lines (65 loc) · 2.26 KB
/
test_shared.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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import serial
import logging
import sys
from lib.sim900.gsm import SimGsm, SimGsmPinRequestState
from lib.sim900.imei import SimImeiRetriever
def initializeUartPort(
portName,
baudrate = 57600,
bytesize = serial.EIGHTBITS,
parity = serial.PARITY_NONE,
stopbits = serial.STOPBITS_ONE,
timeout = 0
):
port = serial.Serial()
#tuning port object
port.port = portName
port.baudrate = baudrate
port.bytesize = bytesize
port.parity = parity
port.stopbits = stopbits
port.timeout = timeout
return port
def initializeLogs(loggerLevel, consoleLoggerLevel):
#initializing logging formatter
formatter = logging.Formatter('[%(asctime)s] %(levelname)s: %(message)s')
#initializing logger
logger = logging.getLogger(__name__)
logger.setLevel(loggerLevel)
#initializing console handler for logging
consoleLogger = logging.StreamHandler(sys.stdout)
consoleLogger.setLevel(consoleLoggerLevel)
consoleLogger.setFormatter(formatter)
#adding console appender
logger.addHandler(consoleLogger)
return (formatter, logger, consoleLogger,)
def baseOperations(port, logger):
#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 None
#initializing session with SIM900
logger.info("initializing SIM900 session")
if not gsm.begin(5):
logger.error("error initializing session: {0}".format(gsm.errorText))
return None
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("1111"):
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 None
logger.info("IMEI = {0}".format(imei))
return (gsm, imei)