Difference between revisions of "Help with Server FAQ"

From Wiki Knowledge Base | Teltonika GPS
 
(24 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{| class="nd-othertables"
+
This page is dedicated to quickly find most commonly faced issues or questions when trying to create an IoT data platform which supports Teltonika Telematics devices.
Here are some tips for solving the most common issues with CAN adapters.
+
 
 +
=='''Pre-Requisites for server implementation'''==
 +
{| class="wikitable mw-collapsible mw-collapsed" role="presentation"
 +
|<strong>What are the pre-requisites for deploying devices on my server?</strong>
 +
|-
 +
|To develop the platform, below are the requirements:
 +
{| class="wikitable"
 +
|+
 +
!Requirement
 +
!Comment
 +
|-
 +
|Hardware
 +
|A high CPU count promotes better cloud tiering throughout because although object storage can be slow in I/O operations per thread, object storage can support many threads. Any standard x86 64-bit servers can be ideally used.
 +
|-
 +
|Memory Requirements
 +
|Cloud services demand a large amount of memory, which is why the minimum recommended memory size is 8GB.
 +
|-
 +
|Hard disk
 +
|For a medium-sized (up to a 1000 devices) server, 300GB RAID1 disks can be recommended.
 +
|-
 +
|Database
 +
|A database is required to store the records/messages incoming from multiple devices.
 +
Further, this data must be assigned to its appropriate device ( recognized by IMEI ). MySQL can be used for the database.
 +
|-
 +
|Security
 +
|Teltonika devices support TLS Encryption which can be implemented.
 +
[[How to generate TLS certificates (Windows)?]]
 +
|-
 +
|Programming Skills
 +
|Knowledge about programming language is a must. Teltonika Telematics is a hardware production company, we do not provide software programming services and cannot help with writing code for the server. Only consult on the logic and algorithms of device features and possible issues in data interpretation from the server side.
 +
|-
 +
|Hardware Knowledge
 +
|It can be found on our Teltonika WIKI: https://wiki.teltonika-gps.com/view/Main_Page
 +
To understand the devices, their use cases and how they send data.
 +
|-
 +
|Protocol Implementation
 +
|Teltonika Telematics device protocols need to be implemented for the server to understand and parse the received data correctly.
 +
[[Teltonika Data Sending Protocols]]
 +
|-
 +
|Socket Programming
 +
|Sockets and the socket API are used to send messages across a network. For Teltonika devices to make connection to your server, the server needs to have an application socket programmed to accept these connection request.
 +
'''Note:'''
 +
 
 +
Each socket should be dedicated to one device, this will allow the server to differentiate the devices when more than 1 device is sending data at the same time.
 
|-
 
|-
! style="color: white;" | Occurring problem
+
|Network Considerations
! style="color: white;" | Possible cause
+
|Cloud storage supports storing cold data on a public cloud object storage service,such as Amazon S3. When using a public cloud, the connection is over a WAN.
! style="color: white;" | Solution
 
 
|-
 
|-
! style="text-align: left;" | Can't set the program number indicated on the scheme
+
|Bandwidth Requirements
|| No program number in the CAN adapter module memory. || A software update of CAN adapter module is required.  
+
|Bandwidth speed requirements are based on the amount of data transfer per month. It can be calculated using some online tools such as: https://www.calculator.net/bandwidth-calculator.html.
Module software can be updated using a Teltonika CAN adapter updater with a special Bootloader adapter. Please ask your sales manager for more information.
 
CAN adapter can be updated only from software version – '''2013-03-18''' and revision - '''91'''. Module software and revision version can be checked via SMS command - [[FMB lvcangetinfo|'''lvcangetinfo''']]
 
 
|-
 
|-
! style="text-align: left;" rowspan="6" | CAN adapter does not generate data
+
|IP Address Requirements
|| LED diode does not blink – wrong program number. || Make sure that the correct program number was introduced (look the connection scheme of CAN adapter).
+
|Static IP or a dedicated port and domain is required otherwise device configuration would need to be updated constantly with a new IP or a new Port.  
|-
 
|rowspan="3"| LED diode does not blink – wrong CAN bus connection. || Make sure that the correct CAN bus is connected in the vehicle (look the connection scheme of the CAN adapter).  
 
 
|-
 
|-
| Make sure that the CAN1 and CAN2 buses are not mixed (look at the connection scheme of the CAN adapter).
+
|}
 +
 
 +
|}
 +
 
 +
{| class="wikitable mw-collapsible mw-collapsed" role="presentation"
 +
|<strong>How to open ports in my computer for virtual testing?</strong>
 
|-
 
|-
| Make sure that the lines CAN-H and CAN-L are not mixed (look at the connection scheme of CAN adapter).
+
|
 +
The step by step instructions to open a TCP/UDP port can be found here: https://wiki.teltonika-gps.com/view/Opening_TCP/UDP_port
 +
|}
 +
 
 +
{| class="wikitable mw-collapsible mw-collapsed" role="presentation"
 +
|<strong>What ports should i use to keep connection with the server?</strong>
 
|-
 
|-
| LED diode does not blink - CAN adapter power cables are not connected || Make sure that CAN adapter power cables are properly connected to +12...24V DC power source and ground.
+
|
 +
Any Non-reserved ports on the server side, which are not being blocked and used by server's firewall and services respectively.
 +
|}
 +
 
 +
=='''Documentation'''==
 +
{| class="wikitable mw-collapsible mw-collapsed" role="presentation"
 +
|<strong>Does Teltonika offer any homologation or server implementation documents which we can use to see how the data is sent, received, and parsed?</strong>
 
|-
 
|-
| Wrong connection between CAN adapter and Teltonika tracker || Make sure that CAN adapter is properly connected to the Teltonika tracker. FMB1YX, FM36YX devices connect to CAN adapters via INPUT 5 and INPUT 6 cables. FM11YX, FMA1YX, FM6YXX, FMB6YX devices connect to CAN adapters via Mini-USB cable.
+
|Regarding the documents/sources, here's what we offer:
Check answer to SMS command - [[FMB lvcangetinfo|'''lvcangetinfo''']]
+
# The wiki link on data sending protocols: https://wiki.teltonika-gps.com/view/Teltonika_Data_Sending_Protocols
 +
# The parsing toolkit containing the TCP/UDP Listener, source code and other related documents. It can be downloaded from here: https://wiki.teltonika-gps.com/view/Universal_Device_Test_Guide#Protocols_implementation
 +
|}
 +
 
 +
{| class="wikitable mw-collapsible mw-collapsed" role="presentation"
 +
|<strong>What are the supported Network Protocols for Teltonika devices which I need to implement on my server</strong>
 
|-
 
|-
! style="text-align: left;" rowspan="4" | CAN adapter returns part of the data
+
|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. More information on MQTT ( based on AWS ) can be found here: https://wiki.teltonika-gps.com/view/Getting_Started_with_AWS_IoT_Core.
| rowspan="2" | LED diode blinks – wrong connection of the CAN2. Sometimes two different CAN buses have similar color wires (for example VW PASSAT). || Make sure that in the vehicle is connected to the correct CAN2 bus, the connection indicated in the CAN adapter scheme should be used including the PINs number in the connector.
+
|}
|-
+
 
| Make sure that the lines CAN2-H and CAN2-L are not mixed (look at the connection scheme of CAN adapter).
+
{| class="wikitable mw-collapsible mw-collapsed" role="presentation"
 +
|<strong>Is there any ID/Value available corresponding to the paramters that Teltonika devices offer? </strong>
 
|-
 
|-
| Some parameters declared on the supported vehicle list are available depending on the car's equipment and can be reduced. These parameters also aren't available from, for example, the diagnostic computer level. (For example, OPEL VECTRA C car with Z22SE engine has available the "Fuel level" in the car parameter but in the car, with Z22YH engine this parameter is not available). || Can't solve the problem.
+
|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'''==
 +
{| class="wikitable mw-collapsible mw-collapsed" role="presentation"
 +
|<strong>How does device communicate with the server?
 +
</strong>
 
|-
 
|-
| Quick Splice / Fast connectors are being used to connect to CAN bus lines. || Sometimes connection places must be soldered because the vehicle CAN bus wires are very thin and CAN adapter wires should be connected directly without using fast connectors.
+
|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.
 +
|}
 +
 
 +
{| class="wikitable mw-collapsible mw-collapsed" role="presentation"
 +
|<strong>How to setup records sorting from protocols Codec? </strong>
 
|-
 
|-
! style="text-align: left;" | CAN adapter LED diode still blinks/flashes
+
|Records can be sorted by using timestamp as a record sorting method, as it allows us to know what record was received early.
|| In some vehicles the vehicle's module is active for a long time and they don't enter in the sleeping mode. The CAN adapter can interpret this as the engine is turned on, which may mean that a wrong program number was selected. || Make sure that the correct program number was introduced (look the connection scheme of CAN adapter).
+
|}
 +
 
 +
{| class="wikitable mw-collapsible mw-collapsed" role="presentation"
 +
|<strong>How to setup the answer to the Codec protocols in C#, Java, C++ from the server side, while counting records?</strong>
 
|-
 
|-
! style="text-align: left;" rowspan="4" | CAN adapter generates errors in the vehicle
+
|You can write script in your preferred language ( C#, JAVA or Python ) which can extract the number of records received from device and send it as a ACK packet to the device.
|| CAN adapter was installed in a different car and has been programmed with incorrect program numbers.
+
|}
|| Make sure that the correct program number was introduced (look the connection scheme of CAN adapter).
+
 
 +
=='''Troubleshooting Data'''==
 +
{| class="wikitable mw-collapsible mw-collapsed" role="presentation"
 +
|<strong>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?
 +
</strong>
 
|-
 
|-
|rowspan="3"| Wrong CAN bus connection
+
|
|| Make sure that the correct CAN bus is connected in the vehicle (look the connection scheme of the CAN adapter).
+
#We can always check the Device Status->GSM info page on the Teltonika Configurator. If device' GPRS status is "Activated" and  Sent Records count is above zero and the Sent Records count is increasing that means device is sending data to the server. Thereafter, the server has to accept the data and send back response.
 +
#If the server has the Codec 8 protocol integerated properly, it will send the response in HEX as number of records received by server. On Teltonika Configurator under Status->GSM info, we can check the "Received Data", Socket and Last server Response time to confirm when was the last connection happened with server and its response hour.
 +
|}
 +
 
 +
{| class="wikitable mw-collapsible mw-collapsed" role="presentation"
 +
|<strong>How to make multiple session separation from the server side from different devices?</strong>
 
|-
 
|-
| Make sure that the CAN1 and CAN2 buses are not mixed (look at the connection scheme of the CAN adapter).
+
|Multiple devices can be separated by recognizing the IMEIs of the devices on the server side. The very first step by the device is to send the IMEI on the server and server receives IMEI and sends ACK packet back to the module. All the modules have different IMEI which can be used as a point of differenciation.
 +
|}
 +
 
 +
{| 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>
 
|-
 
|-
| Make sure that the lines CAN-H and CAN-L are not mixed (look at the connection scheme of CAN adapter).
+
|Acknowledgment is made depending upon the "Record Settings":
 +
#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.
 +
|}
 +
 
 +
=='''Common Mistakes'''==
 +
{| class="wikitable mw-collapsible mw-collapsed" role="presentation"
 +
|<strong>I am getting the error on the server side saying"Protocol Mismatch". What could possible be wrong in this case?</strong>
 
|-
 
|-
! style="text-align: left;" rowspan="2" | The connection scheme does not match the car – an absence of the wires indicated in the vehicle indicated in the connection scheme
+
|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.
|| On the east market older models of the vehicles are still produced (for example IVECO EUROCARGO 2008 EURO 3 while on the west market the vehicle meets the EURO 4 standard).
+
|}
|| Look at the connection scheme of the vehicle's older models.
+
 
|-  
+
=='''Communication over GPRS '''==
| Sometimes the wire colors on the scheme are different from the wire colors in the vehicle. || Please connect to the wires indicated in the connection scheme paying attention to the number of the PINs. The number of the PINs of the diagnostic connector is compatible with the OBD2 standard.
+
{| class="wikitable mw-collapsible mw-collapsed" role="presentation"
 +
|<strong>How can my device communicate over GPRS messages?</strong>
 
|-
 
|-
 +
|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.
 +
#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.
 +
#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
 
|}
 
|}
  
[[Category: Frequently Asked Questions - FAQ]]
+
=='''RAW Data Example'''==
 +
{| class="wikitable mw-collapsible mw-collapsed" role="presentation"
 +
|<strong>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?</strong>
 +
|-
 +
|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
 +
|}

Latest revision as of 10:03, 14 February 2024

This page is dedicated to quickly find most commonly faced issues or questions when trying to create an IoT data platform which supports Teltonika Telematics devices.

Pre-Requisites for server implementation

Documentation

Communication with server

Troubleshooting Data

Common Mistakes

Communication over GPRS

RAW Data Example