Difference between revisions of "Help with Server FAQ"
Lohit.mahay (talk | contribs) |
|||
(11 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | + | Server Related Questions and Tips. | |
=='''Pre-Requisites for server implementation'''== | =='''Pre-Requisites for server implementation'''== | ||
Line 5: | Line 5: | ||
|<strong>What are the pre-requisites for deploying devices on my server?</strong> | |<strong>What are the pre-requisites for deploying devices on my server?</strong> | ||
|- | |- | ||
− | |To develop the platform, | + | |To develop the platform, it is required to have some sort of information/technical skills, such as device Data Sending Protocols, device data sending parameters, basic concepts of network communications, open and test IP and ports and how to parse the data received using source codes or the provide protocols. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
+ | =='''Server Requirements'''== | ||
{| class="wikitable mw-collapsible mw-collapsed" role="presentation" | {| class="wikitable mw-collapsible mw-collapsed" role="presentation" | ||
− | |<strong> | + | |<strong>What are the supported Network Protocols for Teltonika devices which I need to implement on my server</strong> |
|- | |- | ||
− | | | + | |Currently, the Teltonika devices works with 03 different protocols for Data Sending; TCP, UDP, and MQTT. Please keep a note that MQTT is supported only via AWS server or a custom server which should be implemented based on the AWS protocols. |
− | |||
|} | |} | ||
+ | =='''Data Sending'''== | ||
{| class="wikitable mw-collapsible mw-collapsed" role="presentation" | {| class="wikitable mw-collapsible mw-collapsed" role="presentation" | ||
− | |<strong>What | + | |<strong>What are the data sending protocols that I must implement on my server?</strong> |
|- | |- | ||
− | | | + | |All the Teltonika devices work on the Codec protocols. More information on the protocols can be found here: https://wiki.teltonika-gps.com/view/Teltonika_Data_Sending_Protocols. |
− | |||
|} | |} | ||
Line 81: | Line 31: | ||
|} | |} | ||
− | + | =='''Implementation'''== | |
− | |||
− | |||
− | |||
− | |||
− | |||
{| class="wikitable mw-collapsible mw-collapsed" role="presentation" | {| class="wikitable mw-collapsible mw-collapsed" role="presentation" | ||
|<strong>Is there any ID/Value available corresponding to the paramters that Teltonika devices offer? </strong> | |<strong>Is there any ID/Value available corresponding to the paramters that Teltonika devices offer? </strong> | ||
Line 101: | Line 46: | ||
For example, IMEI 356307042441013 would be sent as 000F333536333037303432343431303133. First two bytes denote IMEI length. In this case 0x000F means, that IMEI is 15 bytes long. | For example, IMEI 356307042441013 would be sent as 000F333536333037303432343431303133. First two bytes denote IMEI length. In this case 0x000F means, that IMEI is 15 bytes long. | ||
− | After receiving IMEI, server should determine if it would accept data from this module. If yes, server will reply to module 01, if not - 00. Note that confirmation should be sent as binary packet. I.e. 1 byte 0x01 or 0x00. Then module starts to send first AVL data packet. After server receives packet and parses it, server must report to module number of data received as integer (four bytes). If sent data number and reported by server | + | After receiving IMEI, server should determine if it would accept data from this module. If yes, server will reply to module 01, if not - 00. Note that confirmation should be sent as binary packet. I.e. 1 byte 0x01 or 0x00. Then module starts to send first AVL data packet. After server receives packet and parses it, server must report to module number of data received as integer (four bytes). If sent data number and reported by server doesn’t match module resends sent data. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
Line 126: | Line 59: | ||
|} | |} | ||
+ | =='''Common Mistakes'''== | ||
{| class="wikitable mw-collapsible mw-collapsed" role="presentation" | {| class="wikitable mw-collapsible mw-collapsed" role="presentation" | ||
− | |<strong> | + | |<strong>I am getting the error on the server side saying"Protocol Mismatch". What could possible be wrong in this case?</strong> |
|- | |- | ||
− | | | + | |This is because of mismatch in the selection of Network Protocol on the device and server side. It is possible that on the Device, TCP is selected and on the server side its UDP or vice-versa. Since the structure for both the protocols is different, this mismatch can restrict establishing a connection on the server. |
|} | |} | ||
+ | =='''ACK Requirements'''== | ||
{| class="wikitable mw-collapsible mw-collapsed" role="presentation" | {| class="wikitable mw-collapsible mw-collapsed" role="presentation" | ||
|<strong>How can we know if the acknowledgment is required on the server or not? Can we change this setting?</strong> | |<strong>How can we know if the acknowledgment is required on the server or not? Can we change this setting?</strong> | ||
Line 138: | Line 73: | ||
#If ACK Type, TCP/IP is selected then Server Acknowledgement is not required | #If ACK Type, TCP/IP is selected then Server Acknowledgement is not required | ||
#If ACK Type, AVL is selected then the Server must respond with the Acknowledgement. | #If ACK Type, AVL is selected then the Server must respond with the Acknowledgement. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
Line 154: | Line 82: | ||
#First, the Teltonika device opens the GPRS session and sends AVL data to the server (refer to device protocols). | #First, the Teltonika device opens the GPRS session and sends AVL data to the server (refer to device protocols). | ||
#Once all records are sent and the correct sent data array acknowledgment is received by the device then GPRS commands in Hex can be sent to the device. | #Once all records are sent and the correct sent data array acknowledgment is received by the device then GPRS commands in Hex can be sent to the device. | ||
− | #The ACK (acknowledgment of IMEI from server) is a one-byte constant 0x01. The acknowledgment of each data array sent from the device is four bytes integer | + | #The ACK (acknowledgment of IMEI from server) is a one-byte constant 0x01. The acknowledgment of each data array sent from the device is four bytes integer – a number of received records. |
Detailed information on the protocol can be found here: https://wiki.teltonika-gps.com/view/Teltonika_Data_Sending_Protocols#Codec_12 | Detailed information on the protocol can be found here: https://wiki.teltonika-gps.com/view/Teltonika_Data_Sending_Protocols#Codec_12 | ||
|} | |} |
Revision as of 23:05, 7 February 2024
Server Related Questions and Tips.
Pre-Requisites for server implementation
What are the pre-requisites for deploying devices on my server? |
To develop the platform, it is required to have some sort of information/technical skills, such as device Data Sending Protocols, device data sending parameters, basic concepts of network communications, open and test IP and ports and how to parse the data received using source codes or the provide protocols. |
Server Requirements
What are the supported Network Protocols for Teltonika devices which I need to implement on my server |
Currently, the Teltonika devices works with 03 different protocols for Data Sending; TCP, UDP, and MQTT. Please keep a note that MQTT is supported only via AWS server or a custom server which should be implemented based on the AWS protocols. |
Data Sending
What are the data sending protocols that I must implement on my server? |
All the Teltonika devices work on the Codec protocols. More information on the protocols can be found here: https://wiki.teltonika-gps.com/view/Teltonika_Data_Sending_Protocols. |
Documentation
Does Teltonika offer any homologation or server implementation documents which we can use to see how the data is sent, received, and parsed? |
Regarding the documents/sources, here's what we offer:
|
Implementation
Is there any ID/Value available corresponding to the paramters that Teltonika devices offer? |
Yes, there are several parameters that you can get from our devices and the AVL IDs corresponding to each one of them can be found here: https://wiki.teltonika-gps.com/view/FMM130_Teltonika_Data_Sending_Parameters_ID. |
Communication with server
How does device communicate with the server?
|
First, when module connects to server, module sends its IMEI. First comes short identifying number of bytes written and then goes IMEI as text (bytes).
For example, IMEI 356307042441013 would be sent as 000F333536333037303432343431303133. First two bytes denote IMEI length. In this case 0x000F means, that IMEI is 15 bytes long. After receiving IMEI, server should determine if it would accept data from this module. If yes, server will reply to module 01, if not - 00. Note that confirmation should be sent as binary packet. I.e. 1 byte 0x01 or 0x00. Then module starts to send first AVL data packet. After server receives packet and parses it, server must report to module number of data received as integer (four bytes). If sent data number and reported by server doesn’t match module resends sent data. |
Troubleshooting Data
How to know if the device is sending the data to server or not? And how to know if the server is accepting the data from device or not?
|
|
Common Mistakes
I am getting the error on the server side saying"Protocol Mismatch". What could possible be wrong in this case? |
This is because of mismatch in the selection of Network Protocol on the device and server side. It is possible that on the Device, TCP is selected and on the server side its UDP or vice-versa. Since the structure for both the protocols is different, this mismatch can restrict establishing a connection on the server. |
ACK Requirements
How can we know if the acknowledgment is required on the server or not? Can we change this setting? |
Acknowledgment is made depending upon the "Record Settings":
|
Communication over GPRS
How can my device communicate over GPRS messages? |
We have few CODEC protocols supporting GPRS communication: Codec 12,13,14,15. However the functionality basics remains the same and is explained below for Codec 12.
Detailed information on the protocol can be found here: https://wiki.teltonika-gps.com/view/Teltonika_Data_Sending_Protocols#Codec_12 |
RAW Data Example
I need to parse the data received on my end. Do you have any piece of code or examples that you can provide that I can use to develop my parser? |
Here's an example of the Data Received in the HEX Format and how to parse it:
Received data in the hexadecimal stream: 000000000000003608010000016B40D8EA30010000000000000000000000000000000105021503010101425E0F01F10000601A014E0000000000000000010000C7CF. The detailed parsing can be found in the wiki page, under the category Communication with server: https://wiki.teltonika-gps.com/view/Teltonika_Data_Sending_Protocols#Codec_8 |