PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Навигация (http://pccar.ru/forumdisplay.php?f=13)
-   -   Franson GPSGate 2.6 (http://pccar.ru/showthread.php?t=21042)

Krysanov 08.09.2015 05:17

Lexx09, у тебя нет ошибок может быть из за того, что тв не пользуешься сном?

Lexx09 08.09.2015 12:22

Я проверял дома при выходе из сна. У тебя, вероятно, GpsGate не успевает инициализировать COM-порт до запуска этого скрипта.

Попробуй так:
Код:

#pragma compile(Icon, "C:\Program Files (x86)\AutoIt3\Icons\au3script_v9.ico")
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseUpx=y
#AutoIt3Wrapper_Run_AU3Check=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

#include
#include
#include
#include

; Настройки COM-порта... себе установил порт 6
$iPort  = 6
$iBaud  = 115200
$iBits  = 8
$iParity = 0
$iStop  = 1
$iFlow  = 0

$msgError = ''

While (True)

        ; Запускаем GpsGate, если не запущена
        If (Not ProcessExists("GpsGateXP.exe")) Then
                ShellExecute("C:\Program Files (x86)\Franson\GpsGate 2.0\GpsGateXP.exe")
                Sleep(500)
        EndIf

        ; Открываем порт
        $i = 0
        $portStatus = _CommSetPort($iPort, $msgError, $iBaud, $iBits, $iParity, $iStop, $iFlow)
        If ($portStatus <> 1) Then
                $i = $i + 1
                If ($i > 10) Then
                        MsgBox($MB_SYSTEMMODAL, 'Ошибка', 'Ошибка открытия порта COM' & $iPort)
                        Exit
                EndIf
                Sleep(500)
        EndIf

        $LastValidDateTime = _NowCalc()

        While (True)
                $sInString = _CommGetString()
                If (StringLen($sInString)) Then
                        $LastValidDateTime = _NowCalc()
                Else
                        $iDiff = _DateDiff('s', $LastValidDateTime, _NowCalc())
                        If ($iDiff > 3) Then
                                ExitLoop
                        EndIf
                EndIf
                Sleep(1000)
        WEnd

        ; Звук потери сигнала GPS
        SoundPlay('C:\Windows\Media\Windows Hardware Fail.wav')

        ; Если GpsGate аварийно завершилась, то будет ошибка при закрытии порта
        ; Поэтому проверяем наличие запущенного процесса
        If ProcessExists("GpsGateXP.exe") Then
                _CommClosePort()
        EndIf

        WinClose("Franson GpsGate")
        Sleep(250)

WEnd

Добавил 10 попыток подключения к COM-порту с периодичностью 0,5 сек.

Krysanov 08.09.2015 15:06

получилось вроде:secret:


Да, покатался, проверил в разных режимах сна (коротком и длинном, более 30 мин), все работает, вещает.. Спасибо!!

Подскажи, LEXX09, а как приспособить это все для другой программы? Пути подправить в этом скрипте на нужную программу не поможет ведь?:wink2::bye:

Krysanov 09.09.2015 11:17

Цитата:

Сообщение от Krysanov (Сообщение 337565)
получилось вроде:secret:


Да, покатался, проверил в разных режимах сна (коротком и длинном, более 30 мин), все работает, вещает.. Спасибо!!

Подскажи, LEXX09, а как приспособить это все для другой программы? Пути подправить в этом скрипте на нужную программу не поможет ведь?:wink2::bye:

постояла ночь машина, поспала.. при выходе из сна выдает
ошибку , что программа будет закрыта:shok:

120705 19.02.2016 09:26

Звуковое оповещение
 
Вопрос следующий. Как реализовать, чтобы при подключении GPSGate и определении спутников выдавалось голосовое оповещение "Соединение со спутниками установлено" или "Нет соединения со спутниками" ??. Звуковые файлы есть в формате MP3.

sirota 19.02.2016 09:30

Цитата:

Сообщение от 120705 (Сообщение 352168)
Вопрос следующий. Как реализовать, чтобы при подключении GPSGate и определении спутников выдавалось голосовое оповещение "Соединение со спутниками установлено" или "Нет соединения со спутниками" ??. Звуковые файлы есть в формате MP3.

Некоторые нави проги выдают это...например Навител.

120705 19.02.2016 10:16

Цитата:

Сообщение от sirota (Сообщение 352170)
Некоторые нави проги выдают это...например Навител.

Согласен, но Ситиги и 7Ways не выдают. Вот поэтому и вопрос....

Lexx09 19.02.2016 10:35

Цитата:

Сообщение от 120705 (Сообщение 352168)
Вопрос следующий. Как реализовать, чтобы при подключении GPSGate и определении спутников выдавалось голосовое оповещение "Соединение со спутниками установлено" или "Нет соединения со спутниками" ??. Звуковые файлы есть в формате MP3.

Вот парочка вариантов, но нужно попрограммировать немножко:
  1. Скрипт на Autoit (или другом языке программирования), который подключается к COM-порту GpsGate и получает оттуда координаты. При появлении/пропадании валидных координат - воспроизводится соответствующий звуковой файл.
  2. То же самое, но с подключением к TCP-порту GpsGate.

120705 19.02.2016 10:41

Цитата:

Сообщение от Lexx09 (Сообщение 352181)
Вот парочка вариантов, но нужно попрограммировать немножко:[/LIST]

Вот в этом и проблема. Я не силён в программировании:no:

Krysanov 19.02.2016 21:07

Цитата:

Сообщение от 120705 (Сообщение 352182)
Вот в этом и проблема. Я не силён в программировании:no:

я тоже поддержу...Идея классная... голос он и в Африке голос, если не заговрит, значит что то в системе не то....А то едешь себе едешь, думаешь, что все под контролем:yes4:, а тут :spiteful: бац и засада...


Часовой пояс GMT +4, время: 00:08.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot