Changes

no edit summary
Line 1: Line 1: −
==RS-232 and RS-485 interfaces==
  −
The serial RS-232 interface supports full-duplex communication which means the data can be both sent and received at the same time as they use separate transmission lines.  When entering Sleep or Deep sleep RS-232 will be powered off.
  −
  −
Where serial RS-485 interface supports only half-duplex communication, which means data is transferred only one way at a time. When activated RS-485 driver chip draws constant 30mA current when entering Sleep or Deep sleep RS-485 will be powered off.
  −
   
==RS-232 / RS-485 modes==
 
==RS-232 / RS-485 modes==
 
Available modes for RS-232 and RS-485 interfaces:
 
Available modes for RS-232 and RS-485 interfaces:
Line 10: Line 5:  
|- style="text-align:left;"
 
|- style="text-align:left;"
 
! rowspan="2" style="text-align:center; vertical-align:middle; font-weight:bold; background: #0054A6; color: white;" | Interface
 
! rowspan="2" style="text-align:center; vertical-align:middle; font-weight:bold; background: #0054A6; color: white;" | Interface
! colspan="13" style="text-align:center; background: #0054A6; color: white;" | Mode
+
! colspan="16" style="text-align:center; background: #0054A6; color: white;" | Mode
 
|-
 
|-
 
| Log Mode
 
| Log Mode
Line 25: Line 20:  
| Mercury C4
 
| Mercury C4
 
| ULF202 Fuel Sensor
 
| ULF202 Fuel Sensor
 +
|[[Teltonika DualCam|DualCam]]
 +
|[[Teltonika ADAS|ADAS]]
 +
| Delimiter
 
|-
 
|-
 
| style="vertical-align:middle;" | RS-232
 
| style="vertical-align:middle;" | RS-232
 +
| ✔
 +
| ✔
 +
| ✔
 
| ✔
 
| ✔
 
| ✔
 
| ✔
Line 51: Line 52:  
| ✔  
 
| ✔  
 
| ✔  
 
| ✔  
 +
| ✔<sup>1</sup>
 +
| ✔<sup>1</sup>
 
|  
 
|  
 
|  
 
|  
 
|  
 
|  
 
|  
 
|  
 +
|
 +
|}
 +
<sup>1</sup> – available from FW version <b>03.28.XX</b>.
 +
<br />
 +
{|
 +
|[[File:Alert.png|left|link=|50px]]||<b>Do not under any circumstances connect RS485 A and B lines (or RS232 Tx and Rx) to power source.
 +
</b>
 
|}
 
|}
 +
 +
<br />
 +
<tr>
 +
        <td style="vertical-align:middle;">[[Image:Bw_nb.png|50px]]</td>
 +
        <td style="vertical-align:middle;">Swapping RS485 A and B lines (or RS232 Tx and Rx) of the external device and also not connecting common ground first - May cause irreparable damage.</td>
 +
</tr>
 +
</table>
 +
    
====Log mode====
 
====Log mode====
In this mode via RS-232 or RS-485 interface prints the [[{{{model|FMX125}}}]] device log and does not respond to commands.<br />
+
In this mode via RS-232 or RS-485 interface prints the {{{model|FMX125}}} device log and does not respond to commands.<br />
    
====GNSS NMEA mode====
 
====GNSS NMEA mode====
In NMEA mode via RS-232 or RS-485 interface [[{{{model|FMX125}}}]] prints GNSS NMEA log and does not respond to commands.<br />
+
In NMEA mode via RS-232 or RS-485 interface {{{model|FMX125}}} prints GNSS NMEA log and does not respond to commands.<br />
    
====LLS mode====
 
====LLS mode====
In LLS mode RS-232 supports one or RS-485 supports up to five [[{{{model|FMB125}}}_RS-232_and_RS-485#LLS_Sensor|LLS fuel level sensors]] each of which has a receiver ID.<br/>
+
In LLS mode RS-232 supports one and RS-485 supports up to five LLS sensors - each of which has a receiver ID.<br/>
 +
Up to 16 LLS sensors are supported with <b>03.28.XX</b> firmware version.
 +
Up to 8 passenger counter sensors "PP-01" can be connected each requiring 2 LLS addresses. The passenger counter sensor "PP-01" provides the possibility to count passengers getting either on or off public transport (bus, trolleybus, etc.).
    
====TCP (ASCII/Binary) modes====
 
====TCP (ASCII/Binary) modes====
Line 95: Line 115:  
|}
 
|}
 
''*If the Timestamp parameter is enabled, then Codec 13 is used for data sending. Otherwise, Codec 12 is used.''
 
''*If the Timestamp parameter is enabled, then Codec 13 is used for data sending. Otherwise, Codec 12 is used.''
 +
<br></br>
 +
 +
Short video explaining TCP binary mode:
 +
[[File:TCP Binary vid.mp4|1080px|none]]
 +
<br></br>
 +
Short video explaining TCP Ascii mode:
 +
[[File:TCP ASCII vid.mp4|1080px|none]]
    
=====TCP Binary settings=====
 
=====TCP Binary settings=====
Line 100: Line 127:  
To configure this setting a value from 0 to 255 in decimal has to be entered. The device will convert this value to HEX and compare the 1st, 2nd, or 3rd byte from incoming data. If the values do not match, the device will not accept incoming data.  
 
To configure this setting a value from 0 to 255 in decimal has to be entered. The device will convert this value to HEX and compare the 1st, 2nd, or 3rd byte from incoming data. If the values do not match, the device will not accept incoming data.  
   −
Example:<br>
+
Video explaining TCP Binary settings:<br>
Incoming packet through RS232/RS485 using TCP Binary/TCP Binary Buffered mode -  <font color="red">50</font> <font color="green">72</font> <font color="blue">65</font> 66 69 78 20 57 6f 72 6b 69 6e 67
+
[[File:TCP Binary prefixes.mp4|1080px|none]]
<ul>
  −
<li>If Prefix 1 is set to 80 in decimal, it is equal to <font color="red">50</font> in HEX.
  −
<ul><li>FMB device will then check the 1st byte of incoming data and compare to the set Prefix 1.</li></ul></li>
  −
<li>If Prefix 2 is set to 114 in decimal, it is equal to <font color="green">72</font> in HEX.<br>  
  −
<ul><li>FMB device will then check the 2nd byte of incoming data and compare to the set Prefix 2.</li></ul></li>
  −
<li>If Prefix 3 is set to 101 in decimal, it is equal to <font color="blue">65</font> in HEX.<br>
  −
<ul><li>FMB device will then check the 3rd byte of incoming data and compare to the set Prefix 3.</li></ul></li>
  −
</ul>
  −
When values match, data will be accepted and saved to Buffer (using TCP Binary Buffered mode) or sent to the server (using TCP Binary mode).<br>
  −
 
  −
Incoming packet through RS232/RS485 using TCP Binary/TCP Binary Buffered mode - <font color="red">50</font> <font color="green">0</font> <font color="blue">65</font> 66 69 78 20 57 6f 72 6b 69 6e 67
  −
<ul>
  −
<li>If Prefix 1 is set to 80 in decimal, it is equal to <font color="red">50</font> in HEX.
  −
<ul><li>FMB device will then check the 1st byte of incoming data and compare to the set Prefix 1.</li></ul></li>
  −
<li>If Prefix 2 is set to 114 in decimal, it is equal to <font color="green">72</font> in HEX.<br>
  −
<ul><li>FMB device will then check the 2nd byte <font color="green">0</font> of incoming data and compare to the set Prefix 2.</li></ul></li>
  −
</ul>
  −
Since Prefix 2 does not match the incoming 2nd byte, data will not be accepted.
      
=====Message Timestamp=====
 
=====Message Timestamp=====
Message Timestamp parameter is used to determine if it is necessary to include timestamp in RS232 TCP packet when sending to server. If parameter is Enabled, then Codec 13 is used for data sending. Otherwise, Codec 12 is used.
+
[[File:Timestamp.gif|right]] Message Timestamp parameter is used to determine if it is necessary to include timestamp in RS-232 TCP packet when sending to server. If parameter is Enabled, then Codec 13 is used for data sending. Otherwise, Codec 12 is used.
    
=====Codec 12/13 Packet Merge=====
 
=====Codec 12/13 Packet Merge=====
This additional option configures the device to merge RS-232 records into a single packet instead of sending many separate packets.
+
This additional option configures the device to merge RS-232 records into a single packet instead of sending many separate packets.[[File:MERGE.gif|right]] This functionality only affects '''TCP Binary Buffered''' or '''TCP Ascii Buffered''' RS232 modes.
This functionality only affects '''TCP Binary Buffered''' or '''TCP Ascii Buffered''' RS232 modes.[[File:MERGE.gif|right]]
+
 
When enabled, the device will merge saved RS-232 records together into a single data packet until it is able to send it to the server.<br />
+
When enabled, the device will merge saved RS-232 records together into a single data packet until it is able to send it to the server.  
This optimizes RS-232 data sending by not having to send each RS-232 record separately.
+
This optimizes RS-232 data sending by not having to send each RS-232 record separately. If the amount of saved RS-232 data exceeds the maximum 4 bytes of data in one Codec 12 packet, the device will start saving incoming RS-232 data into a new record.
If the amount of saved RS-232 data exceeds the maximum 4 bytes of data in one Codec 12 packet, the device will start saving incoming RS-232 data into a new record.<br />
      
===== RS-232 / RS-485  CMD ID=====
 
===== RS-232 / RS-485  CMD ID=====
This parameter is used when {{{model|}}} is sending RS232/RS485 packet to a server, it overrides command type value in Codec12/Codec13 with user defined CMD ID value (1 - 14). {{{model|}}} behavior when it receives different CMD ID (Type) values in GPRS packet from server:
+
This parameter is used when {{{model|}}} is sending RS232/RS485 packet to a server, it overrides command type value in Codec12/Codec13 with user defined CMD ID value (1 - 14). {{{model|}}} behavior when it receives different CMD ID (Type) values in GPRS packet from server.
[[File:CMDID.gif|right]]
+
[[File:CMD.gif|right]]
    +
When {{{model|}}} receives these CMD ID values in the GPRS packet it behaves accordingly:
    
{| class="wikitable" style="width:70%;"
 
{| class="wikitable" style="width:70%;"
Line 156: Line 165:  
|-
 
|-
 
|}
 
|}
<br></br>
  −
<br></br>
   
<br></br>
 
<br></br>
   Line 179: Line 186:  
[[Image:FMX125_GARMIN_BLOCK.png|900px|none]]
 
[[Image:FMX125_GARMIN_BLOCK.png|900px|none]]
    +
====RS-232 Delimiter mode====
 +
* This feature works from '''Ver.03.28.05.Rev.00+''' with Codec 8 Extended enabled.<br>
 +
'''Delimiter mode''' have two configurable delimiters to mark start and end of packet received from external device. Delimiter is configured as HEX string, max length 3 Bytes.
 +
 +
''Examples:''
 +
START delimiter param ‘3C’ and END delimiter param: ‘3E’ (3C = ASCII ‘<’ and 3E = ASCII ‘>’), <span style="color:red">'''<'''</span> payload <span style="color:red">'''>'''</span> (in ASCII) where ‘<’ and ‘>’ are the start and end delimiter
 +
START delimiter param: ‘02’ and END delimiter param: ‘0A 0D 03’,
 +
<span style="color:red">'''0x02'''</span> 0xFF 0xFF 0xFF 0xFF <span style="color:red">'''0x0A 0x0D 0x03'''</span> (hexadecimal) where ‘0x02’ and ‘0x0A 0x0D 0x03’ is a delimiter
 +
 +
''Note: If payload is empty. Record will be generated with empty payload.''
 +
 +
 +
{| class="wikitable"
 +
|- style="font-size:14px; background-color:#9CF;"
 +
! Name
 +
! ID
 +
! Min symbols
 +
! Max symbols
 +
! Description
 +
|- style="font-size:14px;"
 +
| Start delimiter
 +
| 167
 +
| rowspan="2" style="text-align:center;" | 0 (empty)
 +
| rowspan="2" style="text-align:center;" | 6 (3 bytes)
 +
| rowspan="2" | Dynamic HEX string value from 0 symbols (not  configured) to 6 symbols (delimiter 3 bytes). Configured value have to be  even number of symbols
 +
|-
 +
| style="font-size:14px;" | End delimiter
 +
| style="font-size:14px;" | 168
 +
|}
 +
<div style="text-align: center;">Table 1. START and END delimiters are configurable via SMS/GPRS Configurator</div>
 +
 +
{| class="wikitable" style="width:100%;"
 +
|- style="font-size:15px; background-color:#9CF;"
 +
! Start delimiter
 +
! End  delimiter
 +
! Description
 +
|- style="font-size:15px;"
 +
| rowspan="4" style="background-color:#C0C0C0;" | Empty
 +
| rowspan="4" style="background-color:#C0C0C0;" | Empty
 +
| style="font-size:14px;" | Packet received  from RS232 will be saved to record. If payload is bigger than 254 bytes it  will be separated to 2 or more records.
 +
|- style="font-size:15px;"
 +
| style="font-size:14px;" | Each record will be saved with incremented index starting from 0  index.
 +
|- style="font-size:15px;"
 +
| style="font-size:14px;" | 1 second of silence in the line is counted as the end of the  packet.
 +
|- style="font-size:15px;"
 +
| style="font-size:14px;" | After end detected FMB will generated record with collected data.
 +
|- style="font-size:15px;"
 +
| rowspan="4" style="background-color:#C0C0C0;" | Empty
 +
| rowspan="4" style="background-color:#CFC;" | Configured
 +
| style="font-size:14px;" | Packet received  from RS232 will be saved to record. If payload is bigger than 254 bytes it  will be separated to 2 or more records.
 +
|- style="font-size:15px;"
 +
| style="font-size:14px;" | Each record will be saved with incremented index starting from 0  index.
 +
|- style="font-size:15px;"
 +
| style="font-size:14px;" | After end detected FMB will generated record with collected data.
 +
|- style="font-size:15px;"
 +
| style="font-size:14px;" | After record was generated by detected end delimiter, FMB will  start collect data for next record right away.
 +
|- style="font-size:15px;"
 +
| rowspan="5" style="background-color:#CFC;" | Configured
 +
| rowspan="5" style="background-color:#C0C0C0;" | Empty
 +
| style="font-size:14px;" | Packet received  from RS232 will be saved to record. If payload is bigger than 254 bytes it  will be separated to 2 or more records.
 +
|- style="font-size:12px;"
 +
| style="font-size:14px;" | Each record will be saved with incremented index starting from 0  index.
 +
|- style="font-size:12px;"
 +
| style="font-size:14px;" | Data before Start delimiter will be discarded.
 +
|-
 +
| style="font-size:14px;" | 1 second of silence in the line is counted as the end of the  packet.
 +
|-
 +
| style="font-size:14px;" | After end detected FMB will generated record with collected data.
 +
|- style="font-size:15px;"
 +
| rowspan="4" style="background-color:#CFC;" | Configured
 +
| rowspan="4" style="background-color:#CFC;" | Configured
 +
| style="font-size:14px;" | Packet received  from RS232 will be saved to record. If payload is bigger than 254 bytes it  will be separated to 2 or more records.
 +
|-
 +
| style="font-size:14px;" | Each record will be saved with incremented index starting from 0  index.
 +
|-
 +
| style="font-size:14px;" | Data before Start delimiter will be discarded.
 +
|-
 +
| style="font-size:14px;" | After record was generated by detected end delimiter, FMB will  start searching for next payload in received packet right away.
 +
|}
 +
 +
<div style="text-align: center;">Table 2. Functionality description by delimiter configuration</div>
 +
'''Baudrate and parity configurable in base functionality'''
 +
* New IO element '''Serial Packet''' ID:109:
 +
When '''Delimiter mode''' is selected and packet is received via RS232 FMB will save record with added '''Serial Packet''' IO element with HIGH priority. If any other mode than
 +
 +
'''Delimiter''' is selected “Serial Packet” IO element will not be saved in records;
 +
 +
'''Serial Packet''' length will be variable, max length 257 bytes;
 +
 +
While no '''Serial Packet''' is received from external device FMB will save other periodic or eventual records without '''Serial Packet''' IO element.
 +
 +
 +
{| class="wikitable" style="text-align:center; font-size:15px;"
 +
|- style="background-color:#9CF;"
 +
! colspan="11" | Record with Serial Packet
 +
|-
 +
| rowspan="2" | Preamble  4 bytes
 +
| AVL  Data length
 +
| Timestamp
 +
| GPS element
 +
| Event ID,
 +
| IOs,
 +
| IO[109],
 +
| rowspan="2" | Index, 1 Byte
 +
| rowspan="2" | Data Length, 1 Byte
 +
| rowspan="2" | Payload,  255 Bytes
 +
| CRC
 +
|-
 +
| 4 Bytes
 +
| 8 Bytes
 +
| 15 Bytes
 +
| 2 Bytes
 +
| X Bytes
 +
| 2 Byte
 +
| 4 Bytes
 +
|}
 +
 +
<div style="text-align: center;">Table 3. Example of serial packet with Codec8 Extended Protocol</div>
 +
 +
'''Index:''' Indicates the number of generated payload. Starting from 0 index.
 +
 +
'''Data Length:''' Length of payload.
 +
 +
'''Payload:''' Data parsed by delimiter functionality.
 +
 +
'''Note:''' Delimiter IO element is string type. Each type of IO elements has identifier byte that identify how many IOs of that type stored in record.
 +
 +
'''IO Types:'''
 +
* 1byte IO elements
 +
* 2 bytes IO elements
 +
* 4 bytes IO elements
 +
* 8 bytes IO elements
 +
* String IO elements
 +
 +
{| class="wikitable" style="width:100%;"
 +
|-
 +
! style="background-color:#efefef;" | Event ID
 +
! 109 (delimiter)
 +
|-
 +
| style="background-color:#efefef;" | Total IO count
 +
| All configured +  1 (delimiter)
 +
|-
 +
| style="background-color:#efefef;" | 1 byte IO’s count
 +
| All configured 1  byte IO’s count
 +
|-
 +
| style="background-color:#efefef;" | 1 byte IOs
 +
| All configured 1  byte IOs
 +
|-
 +
| style="background-color:#efefef;" | 2 bytes IO’s count
 +
| All configured 2  bytes IO’s count
 +
|-
 +
| style="background-color:#efefef;" | 2 bytes IOs
 +
| All configured 2  bytes IOs
 +
|-
 +
| style="background-color:#efefef;" | 4 bytes IO’s count
 +
| All configured 4  bytes IO’s count
 +
|-
 +
| style="background-color:#efefef;" | 4 bytes IOs
 +
| All configured 4  bytes IOs
 +
|-
 +
| style="background-color:#efefef;" | 8 bytes IO’s count
 +
| All configured 8  bytes IO’s count
 +
|-
 +
| style="background-color:#efefef;" | 8 bytes IOs
 +
| All configured 8  bytes IOs
 +
|- style="background-color:#efefef;"
 +
| String type IO’s count
 +
| style="background-color:#FF9;" | All string type  IO’s count
 +
|-
 +
| style="background-color:#efefef;" | String type IOs
 +
| ID, index,  length, serial packet
 +
|-
 +
| style="background-color:#efefef;" | …
 +
| …
 +
|}
 +
 +
<div style="text-align: center;">Table 4. Record structure</div>
 +
 +
<br>
 +
 +
String type IO count byte will be added to the record only if record was generated with event ID equal to serial packet. Regular records that were generated not by Serial Packet will NOT have string type IO count identifier byte.
 +
 +
===== Configurable parameters =====
 +
 +
------------------
 +
 +
 +
[[File:RS232 delimiter.jpg|alt=|thumb|center|934x425px]]
 +
<div style="text-align: center;">''New RS232 mode '''Delimiter'''''</div>
 +
<br>
 +
 +
[[File:RS232 delimiter startstop.jpg|alt=|thumb|center|934x425px]]
 +
<div style="text-align: center;">''Start and Stop Delimeter for new RS232 mode '''Delimiter''' value in HEX''</div>
 +
<br>
 +
 +
 +
<br>
 
==Garmin protocols==
 
==Garmin protocols==
 
The following is a list of protocols supported and the corresponding list of features/benefits. {{{model|FMB125}}} can fully support Fleet Management Interface (FMI) versions up to 2.1. Other or higher versions may be supported, but Teltonika is not responsible for the changes made by Garmin, which may affect the function of {{{model|FMB125}}} and Garmin products. For more information about Garmin products and FMI versions, please refer to https://www.garmin.com/en-US/fleet-ready-navigators/. Notice that some Garmin products use different connection cables than others.
 
The following is a list of protocols supported and the corresponding list of features/benefits. {{{model|FMB125}}} can fully support Fleet Management Interface (FMI) versions up to 2.1. Other or higher versions may be supported, but Teltonika is not responsible for the changes made by Garmin, which may affect the function of {{{model|FMB125}}} and Garmin products. For more information about Garmin products and FMI versions, please refer to https://www.garmin.com/en-US/fleet-ready-navigators/. Notice that some Garmin products use different connection cables than others.