I am working with the Teltonika FMB920 device and have created a Python script to parse data packets over TCP on a socket server. So far, I am successfully receiving GPS data and IO elements like the ignition status.
Now, I want to implement a feature to turn the ignition on or off remotely. However, I am unsure about the best approach to achieve this.
Here are my specific questions:
What are the recommended methods to implement ignition control? Should I use TCP, GPRS, SMS, or another approach?
I found these commands online, but I am not confident about how to use them or if they are correct:
setigndigout 101 INFINITY 0 0
setigndigout 000 0 0 0
Could anyone guide me on how to properly use these commands or suggest better sources or documentation to achieve this functionality?
Any help, resources, or insights would be greatly appreciated.
1-
The device supports SMS and GPS commands. Please implement Code 12 format to enable sending GPRS commands from the server,
Follow the link for details Codec - Wiki Knowledge Base | Teltonika GPS
I am working with the Teltonika FMB920 and have successfully set up a Python script to parse incoming data packets over TCP. So far, I’ve been able to receive GPS data and I/O status updates (including ignition status).
Now, I’m looking to implement the ability to remotely control the ignition (turn it on/off) via GPRS TCP. Specifically, I need guidance on the following:
Can the ignition control (on/off) be implemented via GPRS TCP? If yes, what is the recommended method to send the command?
Will the command setdigout work for controlling the ignition? If not, what is the correct command format and approach?
How can I send an outgoing command to the device, especially after parsing incoming data packets?
Is there any documentation or examples on how to send a command back to the device (e.g., for turning the ignition on/off)?
If I want to use GPRS TCP method should I have to use Codec12 for GPRS Commands for sending to the device? Currently, I am parsing incoming data in Codec8.
Any assistance or resources you could provide would be greatly appreciated!
Can the ignition control (on/off) be implemented via GPRS TCP? If yes, what is the recommended method to send the command?
Could you clarify the purpose of remote ignition On/Off?
For remotely turning off a vehicle engine, the Immobilizer and SECO functionalities are available, which require proper installation to ensure command functionality , check details of features from link below FMB120 Features settings - Wiki Knowledge Base | Teltonika GPS Secure vehicle disabling - Wiki Knowledge Base | Teltonika GPS
Meanwhile It’s not possible to remotely turn a car’s ignition On or Off; you can only monitor the ignition status
Will the command setdigout work for controlling the ignition? If not, what is the correct command format and approach?
Yes , Even if the ignition is On, the car won’t move without authorization if the Immobilizer functionality is implemented correctly.
How can I send an outgoing command to the device, especially after parsing incoming data packets?
The protocol for GPRS commands differs from data sending protocol, You need to implement the Code 12 protocol for GPRS commands and send them from the server to the device, please check details from link Codec - Wiki Knowledge Base | Teltonika GPS
If I want to use GPRS TCP method should I have to use Codec12 for GPRS Commands for sending to the device? Currently, I am parsing incoming data in Codec8.
Codec 12 protocol is used for sending GPRS commands, while Codec 8 or Codec 8 Extended protocol is used for data transmission.
I’ve been following the codec 12 protocol and have tried sending the command setdigout 1 over TCP to turn on the ignition, but the command doesn’t seem to work over GPRS TCP. Additionally, I tested the cpureset command to reboot the device, but it isn’t functioning as expected either.
Below is the output of my Python script, which is sending the command to the device over TCP. I have logged the command payload for reference:
Upon establishing the TCP connection, I successfully parse and receive the device’s IMEI.
I then send the setdigout 1 command to the device over TCP to turn on the ignition.
Afterward, I parse the device’s response packet to log the output, specifically the ignition status, which always returns as 0, despite sending the command.
Interestingly, the ignition turns on correctly when I send the same setdigout 1 command via SMS to the device, but the command does not work over TCP.
Here are the configurations set on the device, in case they are relevant to the issue:
Please disable the deep sleep mode in system’s settings, as it will turn of the GSM /GPS modem while Ignition is OFF.
I will suggest you use the Teltonika listener / parser and source code for device testing
Download from link Universal Device Test Guide - Wiki Knowledge Base | Teltonika GPS
if you are following the accurate command structure for GPRS command then each command should be working without any issue , please read the documentation of code 12 before testing
The following figure shows how the GRPS command session /sending over TCP.