Difference between revisions of "Teltonika DualCam"

From Wiki Knowledge Base | Teltonika GPS
 
(186 intermediate revisions by 13 users not shown)
Line 1: Line 1:
__TOC__
+
'''Teltonika DualCam''' solution is perfect for capturing videos or pictures of the events that might occur on the road, e.g. crash. Mounted on the vehicle front window, two cameras are used, front and rear, to record videos before and after the events, take photos periodically or by request and send all data to the server.
==Introduction to the product==
 
Teltonika DualCam is connected to FMX125 and FMU126 devices using the RS232 interface. <br><br>
 
[[image:DualCam1.png|400px]] <br>
 
  
==How to insert microSD cards==
+
'''Also the possibility to connect two cameras, DSM and DashCam or DualCam, to one device, FMC650'''. By utilizing the two RS232 ports on the FMC650, you can connect the DSM camera for driver status monitoring to one port and the DualCam or DashCam camera for road and cargo monitoring to the second port. '''[https://wiki.teltonika-gps.com/view/DualCam_Configuration#Connecting_two_cameras_simultaneously_for_FMx650 Configuration]'''
  
Teltonika DualCam can hold 2 x microSD cards, which are inserted on both sides of the camera (front and rear). <br>
+
DualCam is connected to '''FMB125, FMC125 and FMB225, FMC225 and FMC650''' devices using the RS232 interface.
When the card is inserted correctly, it locks in with a "click". How the cards are inserted is depicted in the photos.
 
  
[[image:Dual_camera_MicroSD_card_insert_1.png|400px]]
+
[[File:471085 DualCam-2022-02-08 (1).png|alt=|right|500x500px]]
[[image:Dual_camera_MicroSD_card_insert_2.png|400px]]
 
  
==Basic characteristics==
+
*[[First Start]]
<br>
+
*[[Camera Manual]]
<table class="nd-othertables" style="width: 68%;">
+
*[[DualCam Configuration]]
        <th style="width: 10%; text-align:left; vertical-align:middle; color:black">Technical data</th>
+
*[[Data image/video review]]
        <th style="width: 20%; text-align:center; vertical-align:middle; color:black">Description</th>
+
*[[DualCam Communication Protocol]]
    </tr>
+
*[[DualCam Data Sending Parameters ID]]
<tr>
+
*[[DualCam SMS commands]]
        <td style="width: 8%; text-align:left;">Supported by</td>
+
*[[DualCam Certifications & Approvals]]
        <td style="width: 8%; text-align:left">FMC125, FMM125, FMU125, FMU126, FMB125</td>
+
*[[DualCam Troubleshoot]]
    </tr>
+
*[[DualCam Firmware errata]]
<tr>
+
*[[DualCam Product Change Notifications]]
        <td style="width: 8%; text-align:left">Day & Night Vision Effect</td>
+
*[[DualCam FAQ]]
        <td style="width: 8%; text-align:left">Day (Color), Night (Black & White)</td>
+
*[[DualCam Integration on platfroms]]
    </tr>
+
*[[DualCam EAN]]
<tr>
+
*[[Dualcam Testing|DualCam Testing guide]]
        <td style="width: 8%; text-align:left">Angle of View</td>
+
*[[CloudView Platform]]
        <td style="width: 8%; text-align:left">Horizontal 120°, Vertical 70°</td>
+
==Downloads==
    </tr>
+
'''Manual & Documentation'''<br>
<tr>
 
        <td style="width: 8%; text-align:left">Dual Camera</td>
 
        <td style="width: 8%; text-align:left">Front and Rear (equal characteristics)</td>
 
    </tr>
 
<tr>
 
        <td style="width: 8%; text-align:left">Camera casing dimensions</td>
 
        <td style="width: 8%; text-align:left">126.2 x 36.6 x 36.6 mm</td>
 
    </tr>
 
<tr>
 
        <td style="width: 8%; text-align:left">Camera mounting</td>
 
        <td style="width: 8%; text-align:left">Sticky tape (3M) or screws</td>
 
    </tr><tr><td>Supported microSD card sizes</td><td>16 GB, 32 GB, 64 GB</td></tr><tr><table class="nd-othertables" style="width: 68%;">
 
  
        <th style="width: 10%; text-align:left; vertical-align:middle; color:black">Electrical parameters</th>
+
[[File:pdf_icon.png|32px|link=]]
        <th style="width: 20%; text-align:center; vertical-align:middle; color:black">Description</th>
+
[[Media:631370 Datasheet Teltonika DualCam V1.2.pdf|DualCam Datasheet (EN)]]
    </tr>
+
<small>(Updated on: 2024-01-02)</small>
<tr>
+
==External links==
        <td style="width: 8%; text-align:left;">Input voltage range</td>
+
https://teltonika-gps.com/lt/product/dualcam/
        <td style="width: 8%; text-align:left">9 ~ 36 V</td>
 
    </tr>
 
<tr>
 
        <td style="width: 8%; text-align:left">Working temperature and humidity</td>
 
        <td style="width: 8%; text-align:left">Temperature: 30 °C ~ 85 °C
 
Humidity: <90%
 
</td>
 
    </tr>
 
<tr>
 
        <td style="width: 8%; text-align:left">Stand-by electric current</td>
 
        <td style="width: 8%; text-align:left">60 mA</td>
 
    </tr>
 
<tr></table>
 
<br>
 
<table class="nd-othertables" style="width: 68%;">
 
        <th style="width: 10%; text-align:left; vertical-align:middle; color:black">Function parameters</th>
 
        <th style="width: 20%; text-align:center; vertical-align:middle; color:black">Description</th>
 
    </tr>
 
<tr>
 
        <td style="width: 8%; text-align:left;">Real time clock (RTC) synchronization</td>
 
        <td style="width: 8%; text-align:left">Available over FM (via NTP, NITZ or GNSS)</td>
 
    </tr>
 
<tr>
 
        <td style="width: 8%; text-align:left">Picture resolution</td>
 
        <td style="width: 8%; text-align:left">1280 x 720 (default) (50KB transfer period 18 sec), Configurable: 160 x 120; 320 x 240; 640 x 480; 1920 x 1080</td>
 
    </tr>
 
<tr>
 
        <td style="width: 8%; text-align:left">IR Distance</td>
 
        <td style="width: 8%; text-align:left">2 Meters</td>
 
    </tr>
 
<tr>
 
        <td style="width: 8%; text-align:left">Cable length</td>
 
        <td style="width: 8%; text-align:left">RS232 (3.5 m)</td>
 
    </tr>
 
<tr>
 
        <td style="width: 8%; text-align:left">Video compression</td>
 
        <td style="width: 8%; text-align:left">H.265</td>
 
    </tr>
 
<tr>
 
        <td style="width: 8%; text-align:left">Video resolution</td>
 
        <td style="width: 8%; text-align:left">720P (20 sec. – 6MB, transfer period ~ 320 sec.)</td>
 
    </tr>
 
<tr>
 
        <td style="width: 8%; text-align:left">Video storage</td>
 
        <td style="width: 8%; text-align:left">2psc. MicroSD card (Max 64GB up to 72 hours of video)</td>
 
    </tr>
 
</table>
 
  
== Certifications & Approvals ==
+
==Video presentation about DualCam==
  
* [[Teltonika Dualcam REACH|Teltonika DualCam REACH]]
+
<youtube>https://www.youtube.com/watch?v=1ccD4Yo1zFA&ab_channel=TeltonikaTelematics</youtube><br><br>
  
==Installation==
+
[[Category:Video Solutions]]
To connect the DualCam to a supported device, you have to make sure to connect 4 PINs of the camera to the PINs of your device correctly.
 
[[Image:Dual_camera-wiring_scheme.png|{{{general|size}}}|center]]
 
{| class="wikitable"
 
|+
 
! style="width:10%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: left;" |PIN NUMBER
 
! style="width:15%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: left;" |PIN NAME
 
! style="width:25%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: left;" |
 
DESCRIPTION
 
|-
 
| style="border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;" |1
 
| style="border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;" |<span style="color:#008000">'''RS232-Tx'''</span>
 
| style="border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;" |DualCam output for data transmission through RS232
 
|-
 
| style="border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;" |2
 
| style="border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;" |<span style="color:#D8D800">'''RS232-Rx'''</span>
 
| style="border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;" |DualCam input for data reception through RS232
 
|-
 
|-
 
| style="border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;" |3
 
| style="border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;" |<span style="color:#FF0000">'''VCC(9-36V)''' </span>(+)
 
| style="border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;" |Power supply for the DualCam
 
|-
 
| style="border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;" |4
 
| style="border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;" |<span style="color:#000000">'''GND''' </span>(-)
 
| style="border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;" |Ground
 
|}
 
<br>
 
 
 
==DualCam RS232 camera support==
 
DualCam camera support was introduced from firmware version 03.27.00.Rev.100. A new RS232 mode "DualCam"
 
was added with parameters for setting control. The details of the RS232 mode parameter are provided in the table below.
 
{| class="wikitable"
 
|+
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Parameter name'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Parameter ID'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Parameter value'''
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |RS232 Mode
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |151
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |18
 
|}
 
[[Image:DualCamCFG.PNG|{{{general|size}}}|right]]
 
Configuration version 8.1.6.0 has to be used if configuration is being made in offline mode.
 
<br>
 
<br>
 
<br>
 
<br>
 
 
 
==Camera Feature Settings==
 
[[Image:CameraFeatureSettings.PNG|{{{general|size}}}|right]]
 
Once this mode is enabled, new tab “Camera Settings” appears on the left sidebar. This will contain the main parameters for configuring the camera settings The parameter IDs and values are provided in the table below. Once configuration is
 
saved to device, these parameters are updated.
 
<br>
 
{| class="wikitable"
 
|+
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Parameter name'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Parameter ID'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Parameter values'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Default values'''
 
|-
 
| colspan="1" rowspan="6" style="text-align: center; style=" width: 150px; background: white; color: black;" |Camera Picture Resolution
 
| colspan="1" rowspan="6" style="text-align: center; style=" width: 150px; background: white; color: black;" |66000
 
|-
 
| rowspan="1" style="text-align: center; vertical-align: center;" |0 - 160 x 120
 
| colspan="1" rowspan="5" style="text-align: center; style=" width: 150px; background: white; color: black;" |3
 
|-
 
| rowspan="1" style="text-align: center; vertical-align: center;" |1 - 320 x 240
 
|-
 
| rowspan="1" style="text-align: center; vertical-align: center;" |2 - 640 x 480
 
|-
 
| rowspan="1" style="text-align: center; vertical-align: center;" |3 - 1280 x 720
 
|-
 
| rowspan="1" style="text-align: center; vertical-align: center;" |4 - 1920 x 1080
 
|-
 
| colspan="1" rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |Camera Picture Compression
 
| colspan="1" rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |66001
 
| rowspan="1" style="text-align: center; vertical-align: center;" |[0 - 100] (%)
 
| colspan="1" rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |50
 
|-
 
| colspan="1" rowspan="2" style="text-align: center; style=" width: 150px; background: white; color: black;" |OSD Display
 
| colspan="1" rowspan="2" style="text-align: center; style=" width: 150px; background: white; color: black;" |66002
 
| rowspan="1" style="text-align: center; vertical-align: center;" |0 - Disabled
 
| colspan="1" rowspan="2" style="text-align: center; style=" width: 150px; background: white; color: black;" |0
 
|-
 
| rowspan="1" style="text-align: center; vertical-align: center;" |1 - Enabled
 
|-
 
| colspan="1" rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |Video Frame Rate
 
| colspan="1" rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |66003
 
| colspan="1" rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |[1-30] (frames per second)
 
| colspan="1" rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |30
 
|}
 
'''OSD display''' - On Screen Display feature displays date and time in the upper left corner of the photo. This feature can be enabled or disabled.
 
<br>
 
 
 
==Camera Scenario Settings==
 
[[Image:CameraScenarioSettings.PNG|{{{general|size}}}|right]]
 
"Camera settings" tab also contains scenario settings that trigger camera video/photo capture when specific condition is met.
 
<br>
 
{| class="wikitable"
 
|+
 
! rowspan="1" style="width: 350px; background: #0054A6; color: white;" |'''Parameter name'''
 
! rowspan="1" style="width: 350px; background: #0054A6; color: white;" |'''Parameter ID'''
 
! rowspan="1" style="width: 350px; background: #0054A6; color: white;" |'''Parameter values'''
 
! rowspan="1" style="width: 350px; background: #0054A6; color: white;" |'''Default values'''
 
|-
 
| colspan="1" rowspan="2" style="text-align: center; style=" width: 150px; background: white; color: black;" |Periodic Image sending
 
| colspan="1" rowspan="2" style="text-align: center; style=" width: 150px; background: white; color: black;" |66006
 
| rowspan="1" style="text-align: center; vertical-align: center;" |0 - Disabled
 
| colspan="1" rowspan="2" style="text-align: center; style=" width: 150px; background: white; color: black;" |0
 
|-
 
| rowspan="1" style="text-align: center; vertical-align: center;" |1 - Enabled
 
|-
 
| colspan="1" rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |Sending interval
 
| colspan="1" rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |66007
 
| colspan="1" rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |[10-1800] (seconds)
 
| colspan="1" rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |600
 
|-
 
| colspan="1" rowspan="5" style="text-align: center; style=" width: 150px; background: white; color: black;" |Video sending trigger
 
| colspan="1" rowspan="5" style="text-align: center; style=" width: 150px; background: white; color: black;" |66008
 
|-
 
| rowspan="1" style="text-align: center; vertical-align: center;" |0 - None
 
| colspan="1" rowspan="4" style="text-align: center; style=" width: 150px; background: white; color: black;" |0
 
|-
 
| rowspan="1" style="text-align: center; vertical-align: center;" |1 - DIN1
 
|-
 
| rowspan="1" style="text-align: center; vertical-align: center;" |2 - DIN2
 
|-
 
| rowspan="1" style="text-align: center; vertical-align: center;" |3 - Crash
 
|-
 
| colspan="1" rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |Video duration before trigger
 
| colspan="1" rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |66009
 
| colspan="1" rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |[1-10] (seconds)
 
| colspan="1" rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |5
 
|-
 
| colspan="1" rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |Video duration after trigger
 
| colspan="1" rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |66010
 
| colspan="1" rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |[1-10] (seconds)
 
| colspan="1" rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |5
 
|-
 
|}
 
<br>
 
===Periodic image sending scenario===
 
Periodic image sending triggers photo capture from a front camera, whenever the timeout is reached (sending interval parameter). If a camera has not finished uploading picture to a server, then the photo capture is skipped.
 
 
 
'''Note:''' Data sending from camera to server works only when ignition status is on.
 
<br>
 
<br>
 
 
 
===Video sending by trigger===
 
Video sending by trigger scenario monitors the selected trigger (video sending trigger parameter) and captures video before and after the event (video duration before trigger and video duration after trigger parameters). If the previously captured video has not finished downloading, then a new video capture is skipped until the old one has been sent. When this scenario is triggered, high priority eventual record is generated with the value corresponding to what triggered the scenario. See the table below.
 
{| class="wikitable"
 
|+
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Parameter name'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Parameter ID'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Parameter value'''
 
|-
 
| rowspan="4" style="text-align: center; style=" width: 150px; background: white; color: black;" |SOS trigger
 
| rowspan="4" style="text-align: center; style=" width: 150px; background: white; color: black;" |499
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0 - Server request
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |1 - DIN1
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |2 - DIN2
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |3 - Crash
 
|}
 
<br>
 
 
 
===Camera request command===
 
A new camera request has been added, which allows server to request files from a camera. The format is as provided below in the table:
 
{| class="wikitable"
 
|+
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Command'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Arguments'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Explanation'''
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |camreq:
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |<file_type>,<file_source>,<timestamp>,<duration>
 
| rowspan="1" style="text-align: left; style=" width: 150px; background: white; color: black;" |Captures appropriate file with the provided details. If the connection to server is opened, them files immediately become available for download. If not, then connection is tried to be made.
 
|}
 
The arguments are as follows:
 
 
 
*<file_type>
 
**0 - Video
 
**1 - Photo
 
*<file_source>
 
**1 - Front camera
 
**2 - Rear camera
 
**3 - Both cameras
 
*<timestamp>
 
**Unix timestamps in decimal (not required for photo download)
 
*<duration>
 
**Video duration in seconds from provided timestamps (not required for photo download), (max 30 sec)
 
 
 
{| class="wikitable"
 
|+
 
! rowspan="1" style="width: 600px; background: #0054A6; color: white;" |'''Conditions'''
 
! rowspan="1" style="width: 600px; background: #0054A6; color: white;" |'''Command response'''
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |Arguments are invalid
 
| rowspan="1" style="text-align: left; style=" width: 150px; background: white; color: black;" |Invalid argument in camera request cmd!
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |Photo requested
 
| rowspan="1" style="text-align: left; style=" width: 150px; background: white; color: black;" |Request for photo from source <1-3> received
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |Video requested
 
| rowspan="1" style="text-align: left; style=" width: 150px; background: white; color: black;" |Request for video from source <1-3> received for  <1-30> seconds since YYYY-MM-DDHH:MM:SS
 
|}
 
<br>
 
 
 
==Camera ping transmission and TF status checking==
 
Camera pinging was implemented to periodically check if a camera is connected to a device. This is done via “Get TF status” command for both front and rear camera every 20 seconds when ignition is on. The received result from this command is stored in two corresponding AVL elements “Front camera state” and “Rear camera state”. The following do not only store TF status, but also if response from the camera was received or not.
 
{| class="wikitable"
 
|+
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Parameter name'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Parameter AVL ID'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Parameter values'''
 
|-
 
| rowspan="2" style="text-align: center; style=" width: 150px; background: white; color: black;" |Front camera state:
 
| rowspan="2" style="text-align: center; style=" width: 150px; background: white; color: black;" |498
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0 - Camera not detected
 
|-
 
|-
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |1 - No card
 
|-
 
| rowspan="4" style="text-align: center; style=" width: 150px; background: white; color: black;" |Rear camera state:
 
| rowspan="4" style="text-align: center; style=" width: 150px; background: white; color: black;" |497
 
|-
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |2 - Card mount failed
 
|-
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |3 - Card mounted
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |4 - Card faulty
 
|-
 
|}
 
<br>
 
 
 
==Camera RTC synchronization==
 
Camera RTC synchronization is done anytime the device itself is synchronized (via NTP, NITZ or GNSS).
 
<br>
 
 
 
== How to read camera data from SD card ==
 
The software for reading camera data can be downloaded [https://wiki.teltonika-gps.com/wikibase/images/e/ed/TF_CardVideoPlayer_v1.14.zip here]
 
 
 
Data reading steps:
 
 
 
# Double-click “VideoPlayer.exe” to open the player
 
# When the software starts, first select the directory where the TF card files are located. Once located, click "OK". The software starts analyzing the pictures and videos existing in the TF card files.
 
# Software will automatically detect the video and picture in the TF card files, which will last for a few seconds and then enter the software, as shown.,
 
The upper part of the software is a calendar. You can choose to view whether there is a
 
video in the current month according to the year and month. The number of the year/month can be entered by keyboard after selecting it, and then press the “Enter” key to jump to the entered year/month. You can press [[File:Button1.png|frameless|21x21px]] to view the previous year/month and [[File:Button2.png|frameless|21x21px]] to view the next year/month. The date of the recorded video in the current month will be marked in blue. The lower part of the software is the preview interface, divided into two parts: "'''Video''' '''View'''" and "'''Image View'''".
 
 
 
[[File:Tfimage.png|alt=|frameless|512x512px]]
 
 
 
=== '''Video View''' ===
 
Video view shows the video information. Left click on the date of the video in the calendar, then the following "Video View" section will show which time period there is a video, as shown. For video recording, the time period during which the video is recorded will be marked in blue.
 
 
 
[[File:Vplayertime.png|alt=|frameless|506x506px]]
 
 
 
Click on the blue part of the timeline to get the time you clicked, and the video thumbnail of the current time will be displayed in the middle of the screen. The timeline length is 24 hours and it is difficult to locate the exact number of seconds. Hold down the timeline with the left mouse button and then swipe to the right to zoom in on the timeline. For example, we need to carefully view the video at 05:00-07:00. Then, the left mouse button is pressed at the 05:00 position and slide to the right to the position of 07:00, so that this part of time can be enlarged to the entire timeline.
 
 
 
'''Note''': ''If you need to restore, then left-click and hold the time axis to slide left.''
 
 
 
[[File:Vplayertime2.png|alt=|frameless|499x499px]]
 
 
 
=== Video Playback ===
 
Left click on the timeline will view the video thumbnail of the clicked time point, and double click the left mouse button to start playing the video from the current time. By default, the video will be played for two minutes from the selected time. If you click to find the location you want to play, you don't need to move the mouse, double click again will pop up the play form.
 
 
 
[[File:Vplayback.png|frameless|494x494px]]
 
{| class="wikitable"
 
|+
 
! colspan="4" |Video playback interface contains
 
|-
 
|[[File:Stopp.png|left|frameless]]
 
|Stop button
 
|[[File:Speediup.png|left|frameless]]
 
|Speed up
 
 
 
play button
 
|-
 
|[[File:Pause.png|left|frameless]]
 
|Pause button
 
|[[File:Screenshot.png|left|frameless]]
 
|Screenshot
 
button
 
|-
 
|[[File:Slowdown.png|left|frameless]]
 
|Slow down
 
play button
 
|[[File:Fullscreen.png|left|frameless]]
 
|Full screen
 
 
 
button
 
|}
 
 
 
'''Note''': ''Closing the current playback interface does not exit the player software.''
 
 
 
=== Image view ===
 
"Image View" displays the image information (the camera saves the image in the TF card after the person takes the initiative to take the photo, here you can see the photo taken by the camera). We first click on "Image View" to switch the software to the image page.
 
 
 
After switching to the picture interface, you can view when the photo is taken according to the directory. As shown below, after expanding the index, we can see how many pictures in total were taken.
 
[[File:Imageview1.png|left|frameless|564x564px]]
 
[[File:Imageview2.png|right|frameless|566x566px]]
 
 
 
 
 
 
 
 
 
 
 
After the expansion, click the time of the image generation to see the preview on the left side. Clicking on the preview image will pop up the image viewing window. The size of the window is the size of the image itself. The scroll wheel zooms in and out of the picture. You can right click on the preview to save the original image to your hard disk.
 
[[File:Imageviwe.png|frameless|436x436px]]
 
 
 
=== Export MP4 ===
 
Click the "Convert" button [[File:Convert.png|frameless|27x27px]] to convert the video in the TF card to MP4 and export it.
 
 
 
Then first select the folder you want to export to, enter the MP4 start time and end time to be exported, and then click Export, if you need, cancel the export.
 
[[File:Exporting.png|frameless|546x546px]]
 
 
 
Then wait for the export to complete. The time of export is not certain. Depending on the performance of the computer, it takes about 1 to 5 minutes for each 1-hour duration video.
 
 
 
==Other camera related functionality==
 
Camera is configured if all of these conditions are met:
 
 
 
#'''RS232 mode is selected (DualCam)'''
 
#'''Camera was not configured since startup or one of the related parameters were changed (compression, framerate or OSD)'''
 
#'''Camera file transfer is not active'''
 
 
 
Active camera reconfiguration is accompanied by two consecutive camera shutter clicks.
 
If camera is disconnected and later reconnected, a device will detect it by periodic camera ping packet. Once camera is detected, the device will reissue the reconfiguration procedure.
 
<br>
 
===Camera file transfer reconnection===
 
If FMU1YX device has bad reception, server is not reachable or wrong server details are configured, then the device tries to open a link to a camera server few consecutive times. If no connection was possible to be established, then the connection is postponed for 30 minutes and tried again (or tried every configured sending interval if periodic image sending is enabled).
 
<br>
 
 
 
==DualCam camera file transfer support==
 
[[Image:CameraServerSettings.PNG|{{{general|size}}}|right]]
 
Once camera has at least one file captured, it starts connection to a remote server, which is configured by parameters “Domain” and “Port” found in the “Camera Settings” tab.
 
<br>
 
 
 
==Initialization packet==
 
On connection, a device sends an initialization packet.
 
{| class="wikitable"
 
|+
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Header(0x0000)'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Protocol ID'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''IMEI'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Settings'''
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |2 bytes
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |2 bytes
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |8 bytes
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |4 bytes
 
|}
 
Protocol ID – just a reference for the protocol version that is running on a device (for server cross compatibility with older versions). Firmware FMB.Ver.03.27.00.Rev.100 and up have protocol ID 5.
 
Settings flag contains information on what is available for download. Structure is provided below:
 
{| class="wikitable"
 
|+
 
! colspan="32" rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Settings, 4 B'''
 
|-
 
! colspan="8" rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Byte 3'''
 
! colspan="8" rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Byte 2'''
 
! colspan="8" rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Byte 1'''
 
! colspan="8" rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Byte 0'''
 
|-
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |1
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |2
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |3
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |4
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
! rowspan="1" style="width: 400px; background: background: white; color: black;" |
 
|}
 
 
 
#Video, rear (%videor)
 
#Video, front (%videof)
 
#Photo, rear (%photor)
 
#Photo, front (%photof)
 
 
 
If identifier sent to a server is not valid, device disconnects.
 
<br>
 
 
 
==General command structure==
 
General communication packet structure is as in the table bellow. It consist of CMD_ID (2 bytes), Data length of a command and a payload.
 
{| class="wikitable"
 
|+
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Command ID'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Data length'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Data'''
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |2 bytes
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |2 bytes
 
| rowspan="1" style="text-align: left; style=" width: 150px; background: white; color: black;" |[data length] bytes
 
|}
 
<br>
 
==Communication protocol==
 
'''Close a session command (CMD ID 0x0000)'''<br>
 
In case when a device connects to a server, but the server does not expect it to connect, server will respond by sending a CLOSE command after which the connection will be terminated. This command is also used when device connects to a server for a custom file sending and server finishes to send all custom files to the device.
 
{| class="wikitable"
 
|+
 
! rowspan="1" style="width: 600px; background: #0054A6; color: white;" |'''Command ID'''
 
! rowspan="1" style="width: 600px; background: #0054A6; color: white;" |'''Data length'''
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0x0000
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0x0000
 
|}
 
<br>
 
'''Start file transfer command (CMD ID 0x0001)'''<br>
 
After device received file request command from the server (0x0008) device sends START command with file data (packet count).
 
{| class="wikitable"
 
|+
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Command ID'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Data length'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''File Packets (4 bytes)'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Blank field (2 bytes)'''
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0x0001
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0x0006
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0x12345678
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0x0000 (always same value)
 
|}
 
<br>
 
'''File request command (CMD ID 0x0008)'''<br>
 
After device is connected for a file upload, server initiates file transfer by sending a FILE REQ command.
 
{| class="wikitable"
 
|+
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Command ID'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Data length'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''File Identifier'''
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0x0008
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |2 bytes
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |''See the table below''
 
|}
 
Device should answer with a START command described above indicating a size and CRC of the requested file.
 
{| class="wikitable"
 
|+
 
! rowspan="1" style="width: 600px; background: #0054A6; color: white;" |'''File source, type'''
 
! rowspan="1" style="width: 600px; background: #0054A6; color: white;" |'''Identifier (ASCII chars)'''
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |Photo from camera, rear
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |%photor
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |Photo from camera, front
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |%photof
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |Video from camera, rear
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |%videor
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |Video from camera, front
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |%videof
 
|}
 
<br>
 
'''Resume file transfer command (CMD ID 0x0002)'''<br>
 
In a response to the START command a RESUME command must be sent from server.
 
{| class="wikitable"
 
|+
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Command ID'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Data length'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Packet offset (4 bytes)'''
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0x0002
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0x0004
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0x00000001
 
|}
 
To begin file transfer from the start, offset should be set to 1 (4 bytes value). In case when the file transfer was interrupted, to resume file transfer, offset can be set to the desired value (1 ≤ [offset] ≤ [file packets]).
 
<br>
 
<br>
 
'''Synchronize file transfer command (CMD ID 0x0003)'''<br>
 
In a response to the RESUME command a SYNC command is sent from device.
 
{| class="wikitable"
 
|+
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Command ID'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Data length'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''File offset (4 bytes)'''
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0x0003
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0x0004
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0x00000001
 
|}
 
By sending SYNC command it is ensured that next data command will contain file data starting from the specified offset.
 
<br>
 
<br>
 
'''File data transfer command (CMD ID 0x0004)'''<br>
 
After sending a SYNC command, a file data transfer is started by sending DATA commands.
 
{| class="wikitable"
 
|+
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Command ID'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Data length'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''File data (up to 1024 bytes)'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Data CRC (2 bytes)'''
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0x0004
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0x0402
 
| 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;" |...
 
|}
 
A File data is split into 1024 byte parts, each part wrapped into a DATA command and is sent. <br>
 
Note: ''if a command with a bad CRC is received, RESUME command should be sent with the last valid file offset, after receiving a RESUME command, server will stop sending DATA commands and continue communication from'' '''“Resume file transfer”''' ''step.''<br>
 
CRC polynomial expression: 0x8408
 
Initial value, when calculating CRC, is previously received packet (CMD ID 0x0004) CRC value.
 
<br>
 
<br>
 
'''File transfer status command (CMD ID 0x0005)'''<br>
 
After a file transfer is completed and no more files are required from the device, a server should send a COMPLETED command to the device (this command does not work after executing repeat init command0 x0009 – in this case the server should send a CLOSE SESSION 0x0000 command mentioned before).
 
{| class="wikitable"
 
|+
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Command ID'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Data length'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Status (4 bytes)'''
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0x0005
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0x0004
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0x00000000
 
|}
 
In case of the server using invalid arguments, commands or not following the file request flow, the device will send this command with a Status field set to one of the few possible error codes. List of possible ones is provided below.
 
{| class="wikitable"
 
|+
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Status value (hexadecimal)'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Description'''
 
! rowspan="1" style="width: 400px; background: #0054A6; color: white;" |'''Notes'''
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0x00000000
 
| rowspan="1" style="text-align: left; style=" width: 150px; background: white; color: black;" |File transfer process completed
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |Sent from server
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0x00000002
 
| rowspan="1" style="text-align: left; style=" width: 150px; background: white; color: black;" |Failed to close GPRS
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |Sent from device
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0x00000003
 
| rowspan="1" style="text-align: left; style=" width: 150px; background: white; color: black;" |Failed to close socket
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |Sent from device
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0x00000005
 
| rowspan="1" style="text-align: left; style=" width: 150px; background: white; color: black;" |Invalid response from server to init packet
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |Sent from device
 
|-
 
| rowspan="1" style="text-align: center; style=" width: 150px; background: white; color: black;" |0x00000011
 
| rowspan="1" style="text-align: left; style=" width: 150px; background: white; color: black;" |This error code forces the device to disconnect from server
 
| rowspan="1" style="text-align: left; style=" width: 150px; background: white; color: black;" |Sent from device. Possible causes:
 
 
 
*Camera is not configured
 
*The requested file is not available by camera
 
|}
 
After a COMPLETED command device should disconnect from the server.
 
<br>
 
<br>
 
'''Initialization packet repeat command (CMD ID 0x0009)'''<br>
 
When sent, the initialization packet is repeated. This is used, when all of the files are downloaded and additional check is carried out for any additional files, that may have been captured during the download operation.
 
<br>
 
 
 
==File transfer visual flow==
 
[[Image:FileTransferVisual.PNG|{{{general|size}}}|center]]
 
[[Category:Accessories]]
 

Latest revision as of 11:12, 14 February 2024

Main Page > Video Solutions > Teltonika DualCam

Teltonika DualCam solution is perfect for capturing videos or pictures of the events that might occur on the road, e.g. crash. Mounted on the vehicle front window, two cameras are used, front and rear, to record videos before and after the events, take photos periodically or by request and send all data to the server.

Also the possibility to connect two cameras, DSM and DashCam or DualCam, to one device, FMC650. By utilizing the two RS232 ports on the FMC650, you can connect the DSM camera for driver status monitoring to one port and the DualCam or DashCam camera for road and cargo monitoring to the second port. Configuration

DualCam is connected to FMB125, FMC125 and FMB225, FMC225 and FMC650 devices using the RS232 interface.

Downloads

Manual & Documentation

Pdf icon.png DualCam Datasheet (EN) (Updated on: 2024-01-02)

External links

https://teltonika-gps.com/lt/product/dualcam/

Video presentation about DualCam