4G 02: Get module info
This example shows how to get IMSI from SIM card and IMEI from 4G module
Required Materials
1 x Waspmote 1 x Battery 1 x 4G module 1 x 4G antenna 1 x SIM card
Notes
- The battery has to be connected. - This example can be executed in Waspmote v15
Code
/*
* ------ 4G 02 - Getting module info --------
*
* Explanation: This example shows how to get IMSI from SIM card and IMEI
* from 4G module
*
* Copyright (C) 2017 Libelium Comunicaciones Distribuidas S.L.
* http://www.libelium.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
* Version: 3.1
* Design: David Gascón
* Implementation: Alejandro Gállego
*/
#include <Wasp4G.h>
int temperature;
uint8_t error;
void setup()
{
USB.ON();
USB.println("Start program");
//////////////////////////////////////////////////
// 1. Switch on the 4G module
//////////////////////////////////////////////////
error = _4G.ON();
// check answer
if (error == 0)
{
USB.println(F("4G module ready\n"));
////////////////////////////////////////////////
// 1.1. Hardware revision
////////////////////////////////////////////////
error = _4G.getInfo(Wasp4G::INFO_HW);
if (error == 0)
{
USB.print(F("1.1. Hardware revision: "));
USB.println(_4G._buffer, _4G._length);
}
else
{
USB.println(F("1.1. Hardware revision ERROR"));
}
////////////////////////////////////////////////
// 1.2. Manufacturer identification
////////////////////////////////////////////////
error = _4G.getInfo(Wasp4G::INFO_MANUFACTURER_ID);
if (error == 0)
{
USB.print(F("1.2. Manufacturer identification: "));
USB.println(_4G._buffer, _4G._length);
}
else
{
USB.println(F("1.2. Manufacturer identification ERROR"));
}
////////////////////////////////////////////////
// 1.3. Model identification
////////////////////////////////////////////////
error = _4G.getInfo(Wasp4G::INFO_MODEL_ID);
if (error == 0)
{
USB.print(F("1.3. Model identification: "));
USB.println(_4G._buffer, _4G._length);
}
else
{
USB.println(F("1.3. Model identification ERROR"));
}
////////////////////////////////////////////////
// 1.4. Revision identification
////////////////////////////////////////////////
error = _4G.getInfo(Wasp4G::INFO_REV_ID);
if (error == 0)
{
USB.print(F("1.4. Revision identification: "));
USB.println(_4G._buffer, _4G._length);
}
else
{
USB.println(F("1.4. Revision identification ERROR"));
}
////////////////////////////////////////////////
// 1.5. Revision identification
////////////////////////////////////////////////
error = _4G.getInfo(Wasp4G::INFO_IMEI);
if (error == 0)
{
USB.print(F("1.5. IMEI: "));
USB.println(_4G._buffer, _4G._length);
}
else
{
USB.println(F("1.5. IMEI ERROR"));
}
////////////////////////////////////////////////
// 1.6. IMSI
////////////////////////////////////////////////
error = _4G.getInfo(Wasp4G::INFO_IMSI);
if (error == 0)
{
USB.print(F("1.6. IMSI: "));
USB.println(_4G._buffer, _4G._length);
}
else
{
USB.println(F("1.6. IMSI ERROR"));
}
////////////////////////////////////////////////
// 1.7. ICCID
////////////////////////////////////////////////
error = _4G.getInfo(Wasp4G::INFO_ICCID);
if (error == 0)
{
USB.print(F("1.7. ICCID: "));
USB.println(_4G._buffer, _4G._length);
}
else
{
USB.println(F("1.7. ICCID ERROR"));
}
////////////////////////////////////////////////
// 1.8. Show APN settings
////////////////////////////////////////////////
USB.println(F("1.8. Show APN:"));
_4G.show_APN();
////////////////////////////////////////////////
// 1.9. Get temperature
////////////////////////////////////////////////
error = _4G.getTemp();
if (error == 0)
{
USB.print(F("1.9a. Temperature interval: "));
USB.println(_4G._tempInterval, DEC);
USB.print(F("1.9b. Temperature: "));
USB.print(_4G._temp, DEC);
USB.println(F(" Celsius degrees"));
}
else
{
USB.println(F("1.9. Temperature ERROR"));
}
}
else
{
// Problem with the communication with the 4G module
USB.println(F("4G module not started"));
}
}
void loop()
{
// do nothing
}
Output
H#
Start program
4G module ready
1.1. Hardware revision: 1.00
1.2. Manufacturer identification: Telit
1.3. Model identification: LE910-EUG
1.4. Revision identification: 17.01.522
1.5. IMEI: 359852051017425
1.6. IMSI: 214075540117112
1.7. ICCID: 8934071600001042129
1.8. Show APN:
*****************************
APN: APN
LOGIN: user
PASSWORD: password
*****************************
1.9a. Temperature interval: 0
1.9b. Temperature: 27 Celsius degrees
Last updated