Cellular RAW data

To locate a device using Cellular network the following information are required

Note: CloudLocate supports Cell ID location for 2G, LTE-M and LTE Radio Access Technology.

Every modem has the capability to provide in output these information by using some dedicated AT commands. Since the data might be reported in different standards, some simple manipulations might be needed before sending the data to CloudLocate service. 

{

  "RequestId": "82cb34c9-88c9",

  "CellMeasurements": {

    "HomeMCC": 234,

    "HomeMNC": 50,

    "IMEI": "517334473528130",

    "RAT": "LTE",

    "NetworkCells": [

      {

        "CellIdentifier": 137788526,

        "AreaCode": 14354,

        "SignalStrength": -98,

        "Code": 201,

        "Frequency": 6400,

        "IsServingCell": true

      },

      {

        "SignalStrength": -90,

        "Code": 393,

        "Frequency": 6400

      }

    ]

  }

}

Network information

The first set of data  is represented by the network information:

Network Cells

This is an array containing at least the data of one serving cell and eventually one or more neighbor cells. 

Serving cell

The serving cell is the  cellular cell to which the modem is connected. The modem can be connected to only on cell at  a time, but it can receive from the Base Station also the information about other neighbor cells around it. The information to be provided to  CloudLocate Service:

This parameter is mandatory.

Neighbor cells

For neighbor cell, a limited set of parameter are required with the same format described above:


In the next section  you can find a detailed description on how to obtain the meaningful values for u-blox modules. If you need instruction on how to proceed with NOT u-blox modems, please send a support request to support@thingstream.io, so that we can directly assist you. 

Using u-blox cellular SARA-R5 module - LTE-M

Serving cell

When using u-blox SARA-R5 module, the command the command to get the cells information is:

AT+UCELLINFO? 

The response from this command is as following: 

AT+UCELLINFO=<mode>,<type>,<MCC>,<MNC>,<CI>,<PhysicalCellID>,<TAC>,<RSRP>,<RSRQ>,<TA> 

From the given response, relevant information can be extracted and passed in to the Cell measurement section of CloudLocate.  For example, the AT command gives a response as:

+UCELLINFO: 0,5,234,10,129659000,114,1B0,44,12,1,96,"HISTORIC",0,0,0,0

In the response the second output indicates which type of cells it is: type 5 represents serving cell, while type 6 represents neighbor cells

To get the Frequency information (EARCFN) for serving cell the following commands can be used: 

AT+UCGED=2

AT+UCGED? 

The response to this command is:

+UCGED: <mode>

<rat>,<svc>,<MCC>,<MNC>

<EARFCN>,<Lband>,<ul_BW>,<dl_BW>,<TAC>,<LcellId>,<P-CID>,<mTmsi>,<mmeGrId>,<mmeCode>,<RSRP>,<RSRQ>,<Lsinr>,<LTE_rrc>,<RI>,<CQI>,<avg_rsrp>,<totalPuschPwr>,<avgPucchPwr>,<drx>,<l2w>,<volte_mode>,<meas_gap>,<rai_support>

For example: 

+UCGED:2,

6,4,234,10,

6400,20,50,50,1b0,7ba7078,114,d70abbf7,fffc,80,46,16,13.68,1,255,255,46,255,255,0,255,255,0

For all the information gathered from the commands,  mapping can be done to formulate input for cell measurement section of the CloudLocate request.  The sample mapping is given below: 

Note: remind that these considerations are valid only for this u-blox modem. Other vendors and other modems might need different transformations, therefore you are kindly suggested to look at the AT Command interface of the Cellular modem. 

Using u-blox cellular SARA-R422 module

GSM Radio Access Network

For SARA-R422, you can proceed in a similar way as of SARA-R5. By enable reporting (AT+UCGED=2) and then read the report (AT+UCGED?) you get automatically the list of serving and neighbor cells if available. A typical output is:

+UCGED: 2


2,410,6

81,0,9c4b,11,0091,91,30,-1,22,22,1,1

N1: 410,6,79,9d28,22,0091,26,18,18

N2: 410,6,70,9d27,21,0091,19,11,11

N3: 410,6,86,6421,13,0091,14,6,6

N4: 410,6,77,8ea0,2b,0091,13,5,5

N5: 410,6,68,9d29,31,0091,12,4,4

N6: 410,6,72,74a5,06,0091,13,5,5

OK

that complies to the format

+UCGED: 2

<rat>,<MCC>,<MNC>

<arfcn>,<band1900>,<GcellId>,<BSIC>,<Glac>,<Grac>,<RxLev>,<t_adv>,<C1>,<C2>,<NMO>,<channel_type>

[N1: <MCC>,<MNC>,<arfcn>,<GcellId>,<BSIC>,<Glac>,<RxLev>,<C1>,<C2>

...

For all the information gathered from this AT command,  mapping can be done to formulate input for cell measurement section of the CloudLocate request.  The sample mapping is given below: 

The  next service payload corresponds to to sample output listed above, but limited to the first 3 neighbor cells.

{

  "CellMeasurements": {

    "HomeMCC": 410,

    "HomeMNC": 6,

    "RAT": "GSM",

    "NetworkCells": [

      {

        "CellIdentifier": 40011,

        "AreaCode": 145,

        "SignalStrength": -80,

        "Code": 17,

        "Frequency": 81,

        "IsServingCell": true

      },

      {

        "SignalStrength": -84,

        "Code": 34,

        "Frequency": 79

      },

      {

        "SignalStrength": -91,

        "Code": 33,

        "Frequency": 70

      },

      {

        "SignalStrength": -96,

        "Code": 19,

        "Frequency": 86

      }

    ]

  }

}

LTE-M Radio Access Network

For LTE- M you need first to get the Cell Identifier by using the command

AT+CREG?

the reply is in the format

+UCREG:<stat>, <lac>,<CI>,<AcTStatus>

To get the remaing values of the serving cell, and the information about neighbor cells, similarly to what explained in the previous section , you should enable the reporting (AT+UCGED=2) and read the report (AT+UCGED?); the typical output when using LTE-M network is in the format

+UCGED: 2

<rat>,<MCC>,<MNC>

<EARFCN>,<Lband>,<ul_BW>,<dl_BW>,<TAC>,<P-CID>,<RSRP_value>,<RSRQ_value>,<NBMsinr>,<esm_cause>,<emm_state>,<tx_pwr>,<drx_cycle_len>,<tmsi>

N1: <MCC>,<MNC>,<EARFCN>,<PCID>,<RSRP_value>,<RSRQ_value>

N2: <MCC>,<MNC>,<EARFCN>,<PCID>,<RSRP_value>,<RSRQ_value>

OK


These values can be mapped to the service JSON payload  as below:


Using u-blox cellular LENA-R8 module

When using LENA-R8, you can retrieve a one-shot report of visible cells using the command AT+CCED=0,x (the value x defines if you want the serving or neighbor cells information)

Serving cell

AT+CCED=0,1 

The output for LTE is 

+CCED:LTE current cell:<MCC>,<MNC>,<imsi>,<roamingFlag>,<bandInfo>,<bandwidth>,<dlEarfcn>,<cellid><rsrp>,<rsrq>,<tac>,<SrxLev>,<pcid>

while the output for GSM is

+CCED:GSM current cellinfo:<MCC>,<MNC>,<lac>,<cellid>,<bsic>,<rxlev>,<RxLevSub>,<Arfcn>

As a brief summary,  is the correspondences with the service JSON payload are as follow:


Neighbor cells

AT+CCED=0,2

The report is in the following format:

+CCED:LTE neighbor cell:<MCC>,<MNC>,<frequency>,<cellid>,<rsrp>,<rsrq>,<tac>,<SrxLev>,<pcid>

+CCED:GSM neighbor cellinfo:<MCC>,<MNC>,<lac>,<cellid>,<bsic>,<rxlev>

As for the Serving cell you need to fill the JSON payload with the following parameters:

Using third party modems

If you are using modems not belonging to u-blox, feel free to contact the support so that we can help you. We already have the instruction on how to obtain the relevant information from multiple third-party modem and how to do thee conversion before submitting the data to CloudLocate service.