From b77537954016b76f0e03f3f8f2a90d68c6e3a76a Mon Sep 17 00:00:00 2001 From: Adhidarma Hadiwinoto <me@adhisimon.org> Date: Tue, 3 Sep 2019 18:57:36 +0700 Subject: [PATCH] queryIMSI --- lib/modem-commands.js | 18 ++++++++++++++++++ modem-tester.js | 6 +++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/lib/modem-commands.js b/lib/modem-commands.js index 740c82b..2237f43 100644 --- a/lib/modem-commands.js +++ b/lib/modem-commands.js @@ -73,3 +73,21 @@ exports.queryIMEI = function queryIMEI() { await writeToPort('AT+CGSN\r'); }); }; + +exports.queryIMSI = function queryIMSI() { + return new Promise(async (resolve) => { + const parser = new ParserRegex({ regex: parsers.PARSER_WAIT_FOR_OK_OR_ERROR_REGEX }); + parser.on('data', (data) => { + logger.verbose('INCOMING', { parser: 'parserIMSI', data: data.toString() }); + port.unpipe(parser); + mutex.unlock(MUTEX_COMMAND, 'queryIMSI'); + modemInfo.imsi = data.toString().trim(); + resolve(modemInfo.imsi); + }); + + await mutex.lock(MUTEX_COMMAND, 'queryIMSI'); + + port.pipe(parser); + await writeToPort('AT+CIMI\r'); + }); +}; diff --git a/modem-tester.js b/modem-tester.js index 49f4ad1..a36ac49 100644 --- a/modem-tester.js +++ b/modem-tester.js @@ -51,7 +51,6 @@ port = new SerialPort(config.modem.device, { baudRate: 115200 }, async (err) => const commands = [ 'AT&FE0\r', - 'AT+CIMI\r', 'AT+CMGF=0\r', 'AT+CNMI=1,2,0,1,0\r', ]; @@ -75,8 +74,13 @@ port = new SerialPort(config.modem.device, { baudRate: 115200 }, async (err) => const imei = await modemCommands.queryIMEI(); logger.info(`**** IMEI: ${imei}`); + + const imsi = await modemCommands.queryIMSI(); + logger.info(`**** IMSI: ${imsi}`); + const cops = await modemCommands.queryCOPS(); logger.info(`**** COPS: ${cops}`); + const signalQuality = await modemCommands.querySignalQuality(); logger.info(`**** Signal Quality: ${signalQuality}`); -- 1.9.0