Difference between revisions of "Iridium Edge Communication Protocol"
(17 intermediate revisions by 4 users not shown) | |||
Line 27: | Line 27: | ||
* Timestamp – Indicates when record was generated | * Timestamp – Indicates when record was generated | ||
* Longitude - encoded in 3 bytes data. Server which gets this data should divide result from 46603,375 and subtract 180 in order to get actual longitude value. This coefficient is got in following way: 16777215(maximum 3 bytes value) divided from 360 (maximum longitude value then 180 is added). This calculation is used to fit negative and positive values to 3 bytes width variable. | * Longitude - encoded in 3 bytes data. Server which gets this data should divide result from 46603,375 and subtract 180 in order to get actual longitude value. This coefficient is got in following way: 16777215(maximum 3 bytes value) divided from 360 (maximum longitude value then 180 is added). This calculation is used to fit negative and positive values to 3 bytes width variable. | ||
− | + | * Latitude - Latitude is calculated in same way as longitude but since latitude maximum value is two times smaller than longitude it can produce a bit more accurate data. Coefficient for latitude is 93206,75. This coefficient is got in following way: 16777215(maximum 3 bytes value) divided from 180 (maximum latitude value then 90 is added). This calculation is used to fit negative and positive values to 3 bytes width variable. | |
− | *Latitude - Latitude is calculated in same way as longitude but since latitude maximum value is two times smaller than longitude it can produce a bit more accurate data. Coefficient for latitude is 93206,75. This coefficient is got in following way: 16777215(maximum 3 bytes value) divided from 180 (maximum latitude value then 90 is added). This calculation is used to fit negative and positive values to 3 bytes width variable. | + | * SBD AVL ID and flags – Custom id that will indicate what caused the record to be generated (as only periodic records are generated, id is not used) |
− | *SBD AVL ID and flags – Custom id that will indicate what caused the record to be generated (as only periodic records are generated, id is not used) | + | * Din/Dout info - Displays configured IO elements in parameter id 99422 |
− | *Din/Dout info - Displays configured IO elements in parameter id 99422 | + | * Reserved - Not used anywhere, but left due to compatibility with fm6 project. |
− | *Reserved - Not used anywhere, but left due to compatibility with fm6 project. | + | * Speed – Indicates the speed of the vehicle if configured. If not (or in case of no gps) – will display 255 |
− | *Speed – Indicates the speed of the vehicle if configured. If not (or in case of no gps) – will display 255 | ||
==Data Sending Parameters== | ==Data Sending Parameters== | ||
Line 63: | Line 62: | ||
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |SBD IO source | | rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |SBD IO source | ||
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0 | | rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0 | ||
− | | rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" | | + | | rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |6 |
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0 | | rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0 | ||
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |SBD IO elements which when enabled are included into the SBD record | | rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |SBD IO elements which when enabled are included into the SBD record | ||
Line 84: | Line 83: | ||
==SBD IO source== | ==SBD IO source== | ||
− | Configures IO source which can trigger SBD record saving. | + | Configures IO source which can trigger SBD record saving. 9 elements can generate Alarm for SDB sending. These elements are: |
− | * | + | * Digital input 1 |
− | * | + | * Digital input 2 |
− | * | + | * Digital output 1 |
− | + | * Speed | |
− | + | <br></br> | |
− | |||
− | |||
− | |||
− | * | ||
− | |||
− | |||
− | <br><br> | ||
Configurator parameter IDs and their explanation: | Configurator parameter IDs and their explanation: | ||
{| class="nd-othertables_2" style="width:100%;" | {| class="nd-othertables_2" style="width:100%;" | ||
|- style="font-weight:bold; text-align:center;" | |- style="font-weight:bold; text-align:center;" | ||
− | !'''Parameter ID'''<br /> | + | ! '''Parameter ID'''<br /> |
− | !'''Parameter name''' | + | ! '''Parameter name''' |
− | ! colspan="3" |'''Values''' | + | ! colspan="3" | '''Values''' |
− | !'''Explanation''' | + | ! '''Explanation''' |
|- style="font-weight:bold; text-align:center;" | |- style="font-weight:bold; text-align:center;" | ||
− | | style="font-weight:normal;" | | + | | style="font-weight:normal;" | |
− | | style="font-weight:normal;" | | + | | style="font-weight:normal;" | |
− | |'''Min''' | + | | '''Min''' |
− | |'''Max''' | + | | '''Max''' |
− | |'''Default''' | + | | '''Default''' |
− | | style="font-weight:normal;" | | + | | style="font-weight:normal;" | |
|- | |- | ||
− | |99420 | + | | 99420 |
− | |Iridium Edge | + | | Iridium Edge |
− | |0 | + | | 0 |
− | |1 | + | | 1 |
− | |0 | + | | 0 |
− | |This parameter enables or disables Iridium Edge functionality | + | | This parameter enables or disables Iridium Edge functionality |
|- | |- | ||
− | |99421 | + | | 99421 |
− | |Save/Send period | + | | Save/Send period |
− | |0 | + | | 0 |
− | |1440 | + | | 1440 |
− | |1440 | + | | 1440 |
− | |This parameter lets to configure Iridium Edge sending period | + | | This parameter lets to configure Iridium Edge sending period |
|- | |- | ||
− | |99422 | + | | 99422 |
− | |SBD IO source'''*''' | + | | SBD IO source'''*''' |
− | |0 | + | | 0 |
− | | | + | | 8 |
− | |0 | + | | 0 |
− | |SBD IO elements which when enabled are included into the SBD record | + | | SBD IO elements which when enabled are included into the SBD record |
|- | |- | ||
− | |99423 | + | | 99423 |
− | |SBD UploadLimit | + | | SBD UploadLimit |
− | |0 | + | | 0 |
− | |30000 | + | | 30000 |
− | |8000 | + | | 8000 |
− | |Limit to save user from exceeding the monthly plan. Max limit of 30000 due to 30KB plan. If set to 0 – limit will be off. | + | | Limit to save user from exceeding the monthly plan. Max limit of 30000 due to 30KB plan. If set to 0 – limit will be off. |
|- | |- | ||
− | |99424 | + | | 99424 |
− | |Power control DOUT | + | | Power control DOUT |
− | |1 | + | | 1 |
− | |5 | + | | 5 |
− | |0 | + | | 0 |
− | |Device DOUT which can control ON/OFF pin of the Iridium Edge | + | | Device DOUT which can control ON/OFF pin of the Iridium Edge |
|- | |- | ||
− | |151 | + | | 151 |
− | |RS232 Mode | + | | RS232 Mode |
− | |0 | + | | 0 |
− | |23 | + | | 23 |
− | |0 | + | | 0 |
− | |RS-232 mode selection. "Satellite backup" - 15 | + | | RS-232 mode selection. "Satellite backup" - 15 |
|} | |} | ||
− | <br><br> | + | <br></br> |
− | + | '''*''' SBD IO source parameter is configured with bitmasks (used for configuring I/O source elements via SMS/GPRS command) : | |
− | * | + | *Disabled = 0x00, |
− | * | + | *Din1 = 0x01, |
− | * | + | *Din2 = 0x02, |
− | + | *Dout1 = 0x10, | |
− | + | *Speed = 0x100 | |
− | * | + | <br></br> |
− | + | For example: to enable Din1, Din2 and Dout1: 0x01 + 0x02 + 0x10 = 0x13. | |
− | |||
− | |||
− | |||
==SDB record structure== | ==SDB record structure== | ||
Line 171: | Line 160: | ||
{| class="nd-othertables_2" style="width:100%;" | {| class="nd-othertables_2" style="width:100%;" | ||
− | |- style="text-align:center" | + | |-style="text-align:center" |
− | !Timestamp | + | !Timestamp |
− | !Longitude | + | !Longitude |
− | !Latitude | + | !Latitude |
− | !SDB AVL ID and flags | + | !SDB AVL ID and flags |
− | !DIN/DOUT info | + | !DIN/DOUT info |
− | !Reserved | + | !Reserved |
− | !Speed | + | !Speed |
|- style="font-weight:normal;" | |- style="font-weight:normal;" | ||
|4B | |4B | ||
Line 190: | Line 179: | ||
'''''Timestamp''''' - Indicates when record was generated. | '''''Timestamp''''' - Indicates when record was generated. | ||
− | <br><br> | + | <br></br> |
'''''Longitude''''' - In this packet is encoded in 3 bytes data. The server that gets this data should divide the result from 46603,375 and subtract 180 to get the actual longitude value. This coefficient is got in the following way: 16777215(maximum 3 bytes value) divided by 360 (maximum longitude value then 180 is added). This calculation is used to fit negative and positive values to 3 bytes width variable. | '''''Longitude''''' - In this packet is encoded in 3 bytes data. The server that gets this data should divide the result from 46603,375 and subtract 180 to get the actual longitude value. This coefficient is got in the following way: 16777215(maximum 3 bytes value) divided by 360 (maximum longitude value then 180 is added). This calculation is used to fit negative and positive values to 3 bytes width variable. | ||
− | + | <br></br> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
'''''Latitude''''' - Is calculated in the same way as longitude but since latitude maximum value is two times smaller than longitude it can produce a bit more accurate data. The coefficient for latitude is 93206,75. This coefficient is got in the following way: 16777215(maximum 3 bytes value) divided by 180 (maximum latitude value then 90 is added). This calculation is used to fit negative and positive values to 3 bytes width variable. | '''''Latitude''''' - Is calculated in the same way as longitude but since latitude maximum value is two times smaller than longitude it can produce a bit more accurate data. The coefficient for latitude is 93206,75. This coefficient is got in the following way: 16777215(maximum 3 bytes value) divided by 180 (maximum latitude value then 90 is added). This calculation is used to fit negative and positive values to 3 bytes width variable. | ||
− | + | <br></br> | |
− | + | '''''SBD AVL ID and flags''''' – Custom ID that will indicate what caused the record to be generated (final ID will (as only periodic records are generated, ID is not used)). | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | '''''SBD AVL ID and flags''''' – Custom ID that will indicate what caused the record to be generated | ||
This byte is divided in two parts of four bits, as shown in table below: | This byte is divided in two parts of four bits, as shown in table below: | ||
− | + | {| class="nd-othertables_2" style="width:100%;" | |
− | {| class="nd-othertables_2" style="width:100%;" font-weight:bold; vertical-align:middle;" | + | |- |
− | ! style="font-weight:bold;" |<br />ID | + | ! colspan="4" style="font-weight:bold;" | <br />Flags (not used yet) |
− | !<br />0 | + | ! colspan="4" style="font-weight:bold;" | <br />SBD AVL ID |
− | !<br />1 | + | |- style="color:#fe0000;" |
− | !<br />2 | + | | <br />Bit 7 |
− | !<br /> | + | | <br />Bit 6 |
− | !<br /> | + | | <br />Bit 5 |
− | !<br /> | + | | <br />Bit 4 |
+ | | style="color:#3531ff;" | <br />Bit 3 | ||
+ | | style="color:#3531ff;" | <br />Bit 2 | ||
+ | | style="color:#3531ff;" | <br />Bit 1 | ||
+ | | style="color:#3531ff;" | <br />Bit 0 | ||
+ | |} | ||
+ | <br></br> | ||
+ | SBD AVL ID is used to show which IO element generated the Panic element. The list of currently implemented possible values is described below: | ||
+ | <br></br> | ||
+ | {| class="nd-othertables_2" style="width:100%;"font-weight:bold; vertical-align:middle;" | ||
+ | ! style="font-weight:bold;" | <br />ID | ||
+ | ! <br />0 | ||
+ | ! <br />1 | ||
+ | ! <br />2 | ||
+ | ! <br />3 | ||
+ | ! <br />4 | ||
+ | ! <br />5 | ||
+ | ! <br />6 | ||
+ | ! <br />7 | ||
+ | ! <br />8 | ||
+ | ! <br />9 | ||
|- | |- | ||
− | | style="font-weight:bold;" |<br />IO element | + | | style="font-weight:bold;" | <br />IO element |
− | |<br />Periodic rec. | + | | <br />Periodic rec. |
− | |<br />Digital Input 1 | + | | <br />Digital Input 1 |
− | |<br />Digital input 2 | + | | <br />Digital input 2 |
− | |<br /> | + | | <br />Digital output 1 |
− | |<br /> | + | | <br />Speed |
− | |||
|} | |} | ||
− | <br><br> | + | <br></br> |
− | + | Data from Bit 7 to Bit 4 are not used at the moment. The server should ignore this data part. | |
− | + | <br></br> | |
− | ''' | + | '''''DIN/DOUT info''''' - Displays configured IO elements values of enabled IO elements in SBD IO source settings - (parameter ID 99422). Since digital inputs can contain only logic 1 or 0 they are bit masked in one byte. |
− | + | {| class="nd-othertables_2" style="width:100%;"font-weight:bold; vertical-align:middle;" | |
− | + | |- | |
− | + | ! <br />DIN1 | |
− | + | ! <br />DIN2 | |
− | + | ! <br />DOUT1 | |
− | + | |- style="font-weight:normal;" | |
− | + | | <br />Bit 7 | |
− | + | | <br />Bit 6 | |
− | + | | <br />Bit 5 | |
− | + | | <br />Bit 4 | |
− | + | | <br />Bit 3 | |
− | + | | <br />Bit 2 | |
− | + | | <br />Bit 1 | |
− | + | | <br />Bit 0 | |
− | + | |} | |
− | + | <br></br> | |
− | + | '''''Reserved''''' - Not used. | |
− | + | <br></br> | |
− | + | '''''Speed''''' – Indicates the speed of the vehicle if configured. If not (or in case of no GPS) – it will display 255. | |
− | + | <br> </br> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | <br><br> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 07:42, 14 March 2023
Main Page > Accessories > Iridium Edge > Iridium Edge Communication ProtocolCommunication Protocol
SBD Packet structure | ||||||
---|---|---|---|---|---|---|
Timestamp | Longitude | Latitude | SBD AVL ID and flags | DIN/DOUT info | Reserved | Speed |
4 bytes | 3 bytes | 3 bytes | 1 bytes | 1 bytes | 1 bytes | 1 bytes |
Definitions
- Timestamp – Indicates when record was generated
- Longitude - encoded in 3 bytes data. Server which gets this data should divide result from 46603,375 and subtract 180 in order to get actual longitude value. This coefficient is got in following way: 16777215(maximum 3 bytes value) divided from 360 (maximum longitude value then 180 is added). This calculation is used to fit negative and positive values to 3 bytes width variable.
- Latitude - Latitude is calculated in same way as longitude but since latitude maximum value is two times smaller than longitude it can produce a bit more accurate data. Coefficient for latitude is 93206,75. This coefficient is got in following way: 16777215(maximum 3 bytes value) divided from 180 (maximum latitude value then 90 is added). This calculation is used to fit negative and positive values to 3 bytes width variable.
- SBD AVL ID and flags – Custom id that will indicate what caused the record to be generated (as only periodic records are generated, id is not used)
- Din/Dout info - Displays configured IO elements in parameter id 99422
- Reserved - Not used anywhere, but left due to compatibility with fm6 project.
- Speed – Indicates the speed of the vehicle if configured. If not (or in case of no gps) – will display 255
Data Sending Parameters
Information here includes the data sending parameters which identifies the naming of the parameter in accordance to it's number.
Parameter ID | Parameter name | Min values | Max values | Default values | Description |
---|---|---|---|---|---|
99420 | Iridium Edge | 0 | 1 | 0 | This parameter enables or disables Iridium Edge functionality |
99421 | Save/Send period | 0 | 1440 | 1440 | This parameter lets to configure Iridium Edge sending period |
99422 | SBD IO source | 0 | 6 | 0 | SBD IO elements which when enabled are included into the SBD record |
151 | RS232 Mode | 0 | 26 | 0 | Implement ability to select "Sattelite backup" |
99423 | SBD Upload Limit | 0 | 30000 | 8000 | Limit to save user from exceeding the monthly plan. Max limit of 30000 due to 30KB plan. If set to 0 – limit will be off. |
SBD IO source
Configures IO source which can trigger SBD record saving. 9 elements can generate Alarm for SDB sending. These elements are:
- Digital input 1
- Digital input 2
- Digital output 1
- Speed
Configurator parameter IDs and their explanation:
Parameter ID |
Parameter name | Values | Explanation | ||
---|---|---|---|---|---|
Min | Max | Default | |||
99420 | Iridium Edge | 0 | 1 | 0 | This parameter enables or disables Iridium Edge functionality |
99421 | Save/Send period | 0 | 1440 | 1440 | This parameter lets to configure Iridium Edge sending period |
99422 | SBD IO source* | 0 | 8 | 0 | SBD IO elements which when enabled are included into the SBD record |
99423 | SBD UploadLimit | 0 | 30000 | 8000 | Limit to save user from exceeding the monthly plan. Max limit of 30000 due to 30KB plan. If set to 0 – limit will be off. |
99424 | Power control DOUT | 1 | 5 | 0 | Device DOUT which can control ON/OFF pin of the Iridium Edge |
151 | RS232 Mode | 0 | 23 | 0 | RS-232 mode selection. "Satellite backup" - 15 |
* SBD IO source parameter is configured with bitmasks (used for configuring I/O source elements via SMS/GPRS command) :
- Disabled = 0x00,
- Din1 = 0x01,
- Din2 = 0x02,
- Dout1 = 0x10,
- Speed = 0x100
For example: to enable Din1, Din2 and Dout1: 0x01 + 0x02 + 0x10 = 0x13.
SDB record structure
SDB Record which will be sent through the Iridium satellites network will be different than the regular record. It will contain 4 bytes timestamp, 3 bytes longitude, 3 bytes latitude, 1 byte record generation info, 1 byte DIN,DOUT info, 1 byte Speed value.
Timestamp | Longitude | Latitude | SDB AVL ID and flags | DIN/DOUT info | Reserved | Speed |
---|---|---|---|---|---|---|
4B | 3B | 3B | 1B | 1B | 1B | 1B |
Timestamp - Indicates when record was generated.
Longitude - In this packet is encoded in 3 bytes data. The server that gets this data should divide the result from 46603,375 and subtract 180 to get the actual longitude value. This coefficient is got in the following way: 16777215(maximum 3 bytes value) divided by 360 (maximum longitude value then 180 is added). This calculation is used to fit negative and positive values to 3 bytes width variable.
Latitude - Is calculated in the same way as longitude but since latitude maximum value is two times smaller than longitude it can produce a bit more accurate data. The coefficient for latitude is 93206,75. This coefficient is got in the following way: 16777215(maximum 3 bytes value) divided by 180 (maximum latitude value then 90 is added). This calculation is used to fit negative and positive values to 3 bytes width variable.
SBD AVL ID and flags – Custom ID that will indicate what caused the record to be generated (final ID will (as only periodic records are generated, ID is not used)).
This byte is divided in two parts of four bits, as shown in table below:
Flags (not used yet) |
SBD AVL ID | ||||||
---|---|---|---|---|---|---|---|
Bit 7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
SBD AVL ID is used to show which IO element generated the Panic element. The list of currently implemented possible values is described below:
ID |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
---|---|---|---|---|---|---|---|---|---|---|
IO element |
Periodic rec. |
Digital Input 1 |
Digital input 2 |
Digital output 1 |
Speed |
Data from Bit 7 to Bit 4 are not used at the moment. The server should ignore this data part.
DIN/DOUT info - Displays configured IO elements values of enabled IO elements in SBD IO source settings - (parameter ID 99422). Since digital inputs can contain only logic 1 or 0 they are bit masked in one byte.
DIN1 |
DIN2 |
DOUT1 | |||||
---|---|---|---|---|---|---|---|
Bit 7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
Reserved - Not used.
Speed – Indicates the speed of the vehicle if configured. If not (or in case of no GPS) – it will display 255.