Приложение предоставляет возможность при подключенном через USB-кабель шумомере передавать показания на удаленный сервер, на интерфейс PushGateway. В данной разделе даются ссылки на вспомогательные библиотеки, которые понадобятся для работы приложения, а также описан алгоритм работы. Приложение запускается из командной строки с указанием параметров подключения.
Компания Октава-Электрондизайн предоставляет бесплатную библиотеку для работы с телеметрией данных - OctavaSignal.dll. А также вспомогательная библиотека FTD2XX.dll. Данные библиотеки должны быть размещены в директории приложения для обеспечения его работы. Скачать архив библиотек можно по ссылке OctavaSignal.zip.
USB-драйвер шумомеров Октава-Электрондизайн входит в комплект приложения Signal+3G Light. Архив c USB-драйвером шумомера можно скачать по ссылке USB-Device-Driver.zip.
Также на компьютере под управлением Windows Vista может понадобиться установка библиотек Microsoft Visual C++ 2015-2019 Redistributable. Для 32-битной версии Windows скачать можно по ссылке VC_redist.x86.exe.
Также вам должен быть известен URL сервиса Prometheus PushGateway.
Создайте директорию приложения, например, c:\OctavaPusher\ .
Из архива OctavaSignal.zip распакуйте файлы FTD2XX.dll, OctavaSignal.dll, OctavaSignal.lib и TeleDescFile.bin в директорию c:\OctavaPusher\ .
Скачайте и разместите в директории приложения файлы MidOctava.dll и OctavaPusher.exe, которые являются частью поставки OctavaPusher.
Приложение готово к работе.
При запуске файла OctavaPusher.exe на экране выводится версия приложения, а также подсказка о параметрах командной строки.
c:\OctavaPusher>OctavaPusher.exe
v1.7R x86 Usage: OctavaPusher.exe -url=http://<gateway-host>:<gateway-port> [-user=<username>] [-pass=<password>] [-delay=<time in seconds>] [-reset=<time in seconds>] [-zone=<zone>] [-csvout=<file>] [-debug]
Usage of OctavaPusher.exe:
-csv string
-debug
-delay int
(default 10)
-pass string
-reset int
(default 10)
-url string
-user string
-zone string |
| Ключ командной строки | Возможное значение | Описание |
|---|---|---|
| -url | http://pushnoise.alpol.su:80 | Указывается известный URL сервиса PushGateway, который опубликован и доступен через интернет. На данный URL будут отправляться все значения всех параметров, которые снимает шумомер в единицу времени. |
| -user | pusher | В случае, если PushGateway защищен паролем, в параметрах -user и -pass указываются имя пользователя и пароль для подключения. |
| -pass | octavapusher | |
| -delay | 2 | Пауза в секундах между отправками метрик в сервис PushGateway. |
| -reset | 600 | В случае длительных замеров шумомерам свойственно накопление эквивалентного значения уровня шума Leq. Например, проезд машины или подача сигналов вызывает резкий всплеск уровня шума в единицу времени, в результате корректность дальнейших замеров может показывать некорректные значения. Данная настройка эмулирует нажатие кнопки "Сброс" через указанный период времени, в данном случае 600 секунд, 10 минут. Также при нажатии кнопки "Сброс" можно заметить всплеск показаний, поэтому после выполнения команды Reset предусмотрена 3-секундная задержка перед продолжением передачи показаний. |
| -zone | kv147 | В данном параметре задается то значение, которое будет доступно из выпадающего списка "Размещение" на Dashboard замеров Шума и Инфразвука. |
| -csvout | <не реализовано> | Предполагается реализовать вывод всех метрик в csv-файл. |
| -debug | Данный флаг указывается без параметров. В случае его указания на экран выводится служебная информация по работе с драйвером устройства. |
c:\OctavaPusher>OctavaPusher.exe -url=http://pushnoise.alpol.su:80 -delay=2 -reset=600 -zone=kv83 2021/04/25 22:57:29 Octava Push Prometheus start 2021/04/25 22:57:29 Debug mode: false 2021/04/25 22:57:29 Use gateway: http://pushnoise.alpol.su:80 with delay: 2 reset: 600 2021/04/25 22:57:29 Zone: kv83 2021/04/25 22:57:29 Found devices: 1 2021/04/25 22:57:29 VIN: 00123456 2021/04/25 22:57:29 Device DateTime: 2021-04-25T22:57:28 MSK |
При запуске приложения выводится информация о введенных параметрах, выводится VIN-номер устройства, дата на устройстве и начинается процесс передачи метрик.
С периодичностью в количество секунд, которые указаны в параметре delay, на PushGateway передаются следующие метрики, которые снимаются с показаний шумомера через библиотеку телеметрии.
Согласно описанию библиотеки OctavaSignal.dll вызывается процедура GetData, которой передаются параметры для получения значений согласно таблицам "Таблица 1. Возвращаемые функцией O110_GetAverName названия типов усреднения" и "Таблица 2. Возвращаемые функцией O110_GetBandName названия полос".
Для прибора "Экофизика" значения, которые берутся из этих таблиц, будут следующие.
Второй параметр, передаваемый в функцию GetData, определяет тип данных:
Третий параметр, передаваемый в функцию GetData. Приведен список для прибора Экофизика (БФ).
| Значение | Описание |
|---|---|
| 0 | Slow |
| 1 | Slow min |
| 2 | Slow max |
| 3 | Fast |
| 4 | Fast min |
| 5 | Fast max |
| 6 | Leq |
| 7 | Imp |
| 8 | Imp min |
| 9 | Imp max |
| 10 | Peak |
| 11 | LE |
| 12 | 1 сек пик |
| 13 | 1 сек скз |
| 14 | 1 сек min |
| 15 | 1 сек max |
Четвертый параметр, передаваемый в функцию GetData.
| Прибор | Октавы | 1/3-октавы | Корректированные уровни |
|---|---|---|---|
| Экофизика | |||
| ЭкоЗвук | 2, 4, 8, 16, 31.5, 63, 125, 250, 500, 1000, 2000, 4000, 8000, 16000 Гц | 25, 31.5, 40, 50, 63, 80, 100, 125, 160, 200, 250, 315, 400, 500, 630, 800, 1000, 1250, 1600, 2000, 2500, 3150, 4000, 5000, 6300, 8000, 10000 | C, A, AU, Z, G, Fi |
| Название метрики | Вызываемая функция | Возвращаемое значение |
|---|---|---|
| DbOn.Fast.31Hz | GetData(0, 0, 3, 4) | Тип усреднения Fast для октавы 31.5 Гц |
| DbOn.Fast.63Hz | GetData(0, 0, 3, 5) | Тип усреднения Fast для октавы 63 Гц |
| DbOn.Fast.125Hz | GetData(0, 0, 3, 6) | Тип усреднения Fast для октавы 125 Гц |
| DbOn.Fast.250Hz | GetData(0, 0, 3, 7) | Тип усреднения Fast для октавы 250 Гц |
| DbOn.Fast.500Hz | GetData(0, 0, 3, 8) | Тип усреднения Fast для октавы 500 Гц |
| DbOn.Fast.1kHz | GetData(0, 0, 3, 9) | Тип усреднения Fast для октавы 1000 Гц |
| DbOn.Fast.2k5Hz | GetData(0, 0, 3, 10) | Тип усреднения Fast для октавы 2500 Гц |
| DbOn.Fast.4kHz | GetData(0, 0, 3, 11) | Тип усреднения Fast для октавы 4000 Гц |
| DbOn.Fast.8kHz | GetData(0, 0, 3, 12) | Тип усреднения Fast для октавы 8000 Гц |
| DbOn.Fast.16kHz | GetData(0, 0, 3, 13) | Тип усреднения Fast для октавы 16000 Гц |
| Название метрики | Вызываемая функция | Возвращаемое значение |
|---|---|---|
| DbOn.Slow.2Hz | GetData(0, 0, 0, 0) | |
| DbOn.Slow.4Hz | GetData(0, 0, 0, 1) | |
| DbOn.Slow.8Hz | GetData(0, 0, 0, 2) | |
| DbOn.Slow.16Hz | GetData(0, 0, 0, 3) | |
| DbOn.Slow.31Hz | GetData(0, 0, 0, 4) | |
| DbOn.Slow.63Hz | GetData(0, 0, 0, 5) | |
| DbOn.Slow.125Hz | GetData(0, 0, 0, 6) | |
| DbOn.Slow.250Hz | GetData(0, 0, 0, 7) | |
| DbOn.Slow.500Hz | GetData(0, 0, 0, 8) | |
| DbOn.Slow.1kHz | GetData(0, 0, 0, 9) | |
| DbOn.Slow.2k5Hz | GetData(0, 0, 0, 10) | |
| DbOn.Slow.4kHz | GetData(0, 0, 0, 11) | |
| DbOn.Slow.8kHz | GetData(0, 0, 0, 12) | |
| DbOn.Slow.16kHz | GetData(0, 0, 0, 13) |
| Название метрики | Вызываемая функция | Возвращаемое значение |
|---|---|---|
| DbOn.SlowMin.2Hz | GetData(0, 0, 1, 0) | |
| DbOn.SlowMin.4Hz | GetData(0, 0, 1, 1) | |
| DbOn.SlowMin.8Hz | GetData(0, 0, 1, 2) | |
| DbOn.SlowMin.16Hz | GetData(0, 0, 1, 3) | |
| DbOn.SlowMin.31Hz | GetData(0, 0, 1, 4) | |
| DbOn.SlowMin.63Hz | GetData(0, 0, 1, 5) | |
| DbOn.SlowMin.125Hz | GetData(0, 0, 1, 6) | |
| DbOn.SlowMin.250Hz | GetData(0, 0, 1, 7) | |
| DbOn.SlowMin.500Hz | GetData(0, 0, 1, 8) | |
| DbOn.SlowMin.1kHz | GetData(0, 0, 1, 9) | |
| DbOn.SlowMin.2k5Hz | GetData(0, 0, 1, 10) | |
| DbOn.SlowMin.4kHz | GetData(0, 0, 1, 11) | |
| DbOn.SlowMin.8kHz | GetData(0, 0, 1, 12) | |
| DbOn.SlowMin.16kHz | GetData(0, 0, 1, 13) |
| Название метрики | Вызываемая функция | Возвращаемое значение |
|---|---|---|
| DbOn.SlowMax.2Hz | GetData(0, 0, 2, 0) | |
| DbOn.SlowMax.4Hz | GetData(0, 0, 2, 1) | |
| DbOn.SlowMax.8Hz | GetData(0, 0, 2, 2) | |
| DbOn.SlowMax.16Hz | GetData(0, 0, 2, 3) | |
| DbOn.SlowMax.31Hz | GetData(0, 0, 2, 4) | |
| DbOn.SlowMax.63Hz | GetData(0, 0, 2, 5) | |
| DbOn.SlowMax.125Hz | GetData(0, 0, 2, 6) | |
| DbOn.SlowMax.250Hz | GetData(0, 0, 2, 7) | |
| DbOn.SlowMax.500Hz | GetData(0, 0, 2, 8) | |
| DbOn.SlowMax.1kHz | GetData(0, 0, 2, 9) | |
| DbOn.SlowMax.2k5Hz | GetData(0, 0, 2, 10) | |
| DbOn.SlowMax.4kHz | GetData(0, 0, 2, 11) | |
| DbOn.SlowMax.8kHz | GetData(0, 0, 2, 12) | |
| DbOn.SlowMax.16kHz | GetData(0, 0, 2, 13) |
| Название метрики | Вызываемая функция | Возвращаемое значение |
|---|---|---|
| DbOn.Third.Slow.25Hz | GetData(0,1,0,0) | Тип усреднения Slow для третьоктавы 25 Гц |
| DbOn.Third.Slow.31d5Hz | GetData(0,1,0,1) | Тип усреднения Slow для третьоктавы 31.5 Гц |
| DbOn.Third.Slow.40Hz | GetData(0,1,0,2) | Тип усреднения Slow для третьоктавы 40 Гц |
| DbOn.Third.Slow.50Hz | GetData(0,1,0,3) | Тип усреднения Slow для третьоктавы 50 Гц |
| DbOn.Third.Slow.63Hz | GetData(0,1,0,4) | Тип усреднения Slow для третьоктавы 63 Гц |
| DbOn.Third.Slow.80Hz | GetData(0,1,0,5) | Тип усреднения Slow для третьоктавы 80 Гц |
| DbOn.Third.Slow.100Hz | GetData(0,1,0,6) | Тип усреднения Slow для третьоктавы 100 Гц |
| DbOn.Third.Slow.125Hz | GetData(0,1,0,7) | Тип усреднения Slow для третьоктавы 125 Гц |
| DbOn.Third.Slow.160Hz | GetData(0,1,0,8) | Тип усреднения Slow для третьоктавы 160 Гц |
| DbOn.Third.Slow.200Hz | GetData(0,1,0,9) | Тип усреднения Slow для третьоктавы 200 Гц |
| DbOn.Third.Slow.250Hz | GetData(0,1,0,10) | Тип усреднения Slow для третьоктавы 250 Гц |
| DbOn.Third.Slow.315Hz | GetData(0,1,0,11) | Тип усреднения Slow для третьоктавы 315 Гц |
| DbOn.Third.Slow.400Hz | GetData(0,1,0,12) | Тип усреднения Slow для третьоктавы 400 Гц |
| DbOn.Third.Slow.500Hz | GetData(0,1,0,13) | Тип усреднения Slow для третьоктавы 500 Гц |
| DbOn.Third.Slow.630Hz | GetData(0,1,0,14) | Тип усреднения Slow для третьоктавы 630 Гц |
| DbOn.Third.Slow.800Hz | GetData(0,1,0,15) | Тип усреднения Slow для третьоктавы 800 Гц |
| DbOn.Third.Slow.1000Hz | GetData(0,1,0,16) | Тип усреднения Slow для третьоктавы 1000 Гц |
| DbOn.Third.Slow.1250Hz | GetData(0,1,0,17) | Тип усреднения Slow для третьоктавы 1250 Гц |
| DbOn.Third.Slow.1600Hz | GetData(0,1,0,18) | Тип усреднения Slow для третьоктавы 1600 Гц |
| DbOn.Third.Slow.2000Hz | GetData(0,1,0,19) | Тип усреднения Slow для третьоктавы 2000 Гц |
| DbOn.Third.Slow.2500Hz | GetData(0,1,0,20) | Тип усреднения Slow для третьоктавы 2500 Гц |
| DbOn.Third.Slow.3150Hz | GetData(0,1,0,21) | Тип усреднения Slow для третьоктавы 3150 Гц |
| DbOn.Third.Slow.4000Hz | GetData(0,1,0,22) | Тип усреднения Slow для третьоктавы 4000 Гц |
| DbOn.Third.Slow.5000Hz | GetData(0,1,0,23) | Тип усреднения Slow для третьоктавы 5000 Гц |
| DbOn.Third.Slow.6300Hz | GetData(0,1,0,24) | Тип усреднения Slow для третьоктавы 6300 Гц |
| DbOn.Third.Slow.8000Hz | GetData(0,1,0,25) | Тип усреднения Slow для третьоктавы 8000 Гц |
| DbOn.Third.Slow.10000Hz | GetData(0,1,0,26) | Тип усреднения Slow для третьоктавы 10000 Гц |
| Название метрики | Вызываемая функция | Возвращаемое значение |
|---|---|---|
| Leq.Slow.2Hz | GetData(0, 0, 6, 0) | |
| Leq.Slow.4Hz | GetData(0, 0, 6, 1) | |
| Leq.Slow.8Hz | GetData(0, 0, 6, 2) | |
| Leq.Slow.16Hz | GetData(0, 0, 6, 3) | |
| Leq.Slow.31Hz | GetData(0, 0, 6, 4) | |
| Leq.Slow.63Hz | GetData(0, 0, 6, 5) | |
| Leq.Slow.125Hz | GetData(0, 0, 6, 6) | |
| Leq.Slow.250Hz | GetData(0, 0, 6, 7) | |
| Leq.Slow.500Hz | GetData(0, 0, 6, 8) | |
| Leq.Slow.1kHz | GetData(0, 0, 6, 9) | |
| Leq.Slow.2k5Hz | GetData(0, 0, 6, 10) | |
| Leq.Slow.4kHz | GetData(0, 0, 6, 11) | |
| Leq.Slow.8kHz | GetData(0, 0, 6, 12) | |
| Leq.Slow.16kHz | GetData(0, 0, 6, 13) |
| Название метрики | Вызываемая функция | Возвращаемое значение |
|---|---|---|
| Leq.Third.Slow.25Hz | GetData(0,1,6,0) | |
| Leq.Third.Slow.31d5Hz | GetData(0,1,6,1) | |
| Leq.Third.Slow.40Hz | GetData(0,1,6,2) | |
| Leq.Third.Slow.50Hz | GetData(0,1,6,3) | |
| Leq.Third.Slow.63Hz | GetData(0,1,6,4) | |
| Leq.Third.Slow.80Hz | GetData(0,1,6,5) | |
| Leq.Third.Slow.100Hz | GetData(0,1,6,6) | |
| Leq.Third.Slow.125Hz | GetData(0,1,6,7) | |
| Leq.Third.Slow.160Hz | GetData(0,1,6,8) | |
| Leq.Third.Slow.200Hz | GetData(0,1,6,9) | |
| Leq.Third.Slow.250Hz | GetData(0,1,6,10) | |
| Leq.Third.Slow.315Hz | GetData(0,1,6,11) | |
| Leq.Third.Slow.400Hz | GetData(0,1,6,12) | |
| Leq.Third.Slow.500Hz | GetData(0,1,6,13) | |
| Leq.Third.Slow.630Hz | GetData(0,1,6,14) | |
| Leq.Third.Slow.800Hz | GetData(0,1,6,15) | |
| Leq.Third.Slow.1000Hz | GetData(0,1,6,16) | |
| Leq.Third.Slow.1250Hz | GetData(0,1,6,17) | |
| Leq.Third.Slow.1600Hz | GetData(0,1,6,18) | |
| Leq.Third.Slow.2000Hz | GetData(0,1,6,19) | |
| Leq.Third.Slow.2500Hz | GetData(0,1,6,20) | |
| Leq.Third.Slow.3150Hz | GetData(0,1,6,21) | |
| Leq.Third.Slow.4000Hz | GetData(0,1,6,22) | |
| Leq.Third.Slow.5000Hz | GetData(0,1,6,23) | |
| Leq.Third.Slow.6300Hz | GetData(0,1,6,24) | |
| Leq.Third.Slow.8000Hz | GetData(0,1,6,25) | |
| Leq.Third.Slow.10000Hz | GetData(0,1,6,26) |
| Название метрики | Вызываемая функция | Возвращаемое значение |
|---|---|---|
| DbA.Fast | GetData(0, 2, 3, 1) | |
| DbA.FastMin | GetData(0, 2, 4, 1) | |
| DbA.FastMax | GetData(0, 2, 5, 1) | |
| DbA.Slow | GetData(0, 2, 0, 1) | |
| DbA.SlowMin | GetData(0, 2, 1, 1) | |
| DbA.SlowMax | GetData(0, 2, 2, 1) | |
| DbA.Imp | GetData(0, 2, 7, 1) | |
| DbA.ImpMin | GetData(0, 2, 8, 1) | |
| DbA.ImpMax | GetData(0, 2, 9, 1) | |
| DbA.Leq | GetData(0, 2, 6, 1) | |
| DbA.LE | GetData(0, 2, 11, 1) | |
| DbA.Pk | GetData(0, 2, 10, 1) |
| Название метрики | Вызываемая функция | Возвращаемое значение |
|---|---|---|
| DbAU.Fast | GetData(0, 2, 3, 2) | |
| DbAU.FastMin | GetData(0, 2, 4, 2) | |
| DbAU.FastMax | GetData(0, 2, 5, 2) | |
| DbAU.Slow | GetData(0, 2, 0, 2) | |
| DbAU.SlowMin | GetData(0, 2, 1, 2) | |
| DbAU.SlowMax | GetData(0, 2, 2, 2) | |
| DbAU.Imp | GetData(0, 2, 7, 2) | |
| DbAU.ImpMin | GetData(0, 2, 8, 2) | |
| DbAU.ImpMax | GetData(0, 2, 9, 2) | |
| DbAU.Leq | GetData(0, 2, 6, 2) | |
| DbAU.LE | GetData(0, 2, 11, 2) | |
| DbAU.Pk | GetData(0, 2, 10, 2) |
| Название метрики | Вызываемая функция | Возвращаемое значение |
|---|---|---|
| DbC.Fast | GetData(0, 2, 3, 0) | |
| DbC.FastMin | GetData(0, 2, 4, 0) | |
| DbC.FastMax | GetData(0, 2, 5, 0) | |
| DbC.Slow | GetData(0, 2, 0, 0) | |
| DbC.SlowMin | GetData(0, 2, 1, 0) | |
| DbC.SlowMax | GetData(0, 2, 2, 0) | |
| DbC.Imp | GetData(0, 2, 7, 0) | |
| DbC.ImpMin | GetData(0, 2, 8, 0) | |
| DbC.ImpMax | GetData(0, 2, 9, 0) | |
| DbC.Leq | GetData(0, 2, 6, 0) | |
| DbC.LE | GetData(0, 2, 11, 0) | |
| DbC.Pk | GetData(0, 2, 10, 0) |
| Название метрики | Вызываемая функция | Возвращаемое значение |
|---|---|---|
| DbF.iFast | GetData(0, 2, 3, 5) | |
| DbF.iFastMin | GetData(0, 2, 4, 5) | |
| DbF.iFastMax | GetData(0, 2, 5, 5) | |
| DbF.iSlow | GetData(0, 2, 0, 5) | |
| DbF.iSlowMin | GetData(0, 2, 1, 5) | |
| DbF.iSlowMax | GetData(0, 2, 2, 5) | |
| DbF.iImp | GetData(0, 2, 7, 5) | |
| DbF.iImpMin | GetData(0, 2, 8, 5) | |
| DbF.iImpMax | GetData(0, 2, 9, 5) | |
| DbF.iLeq | GetData(0, 2, 6, 5) | |
| DbF.iLE | GetData(0, 2, 11, 5) | |
| DbF.iPk | GetData(0, 2, 10, 5) |
| Название метрики | Вызываемая функция | Возвращаемое значение |
|---|---|---|
| DbG.Fast | GetData(0, 2, 3, 4) | |
| DbG.FastMin | GetData(0, 2, 4, 4) | |
| DbG.FastMax | GetData(0, 2, 5, 4) | |
| DbG.Slow | GetData(0, 2, 0, 4) | |
| DbG.SlowMin | GetData(0, 2, 1, 4) | |
| DbG.SlowMax | GetData(0, 2, 2, 4) | |
| DbG.Imp | GetData(0, 2, 7, 4) | |
| DbG.ImpMin | GetData(0, 2, 8, 4) | |
| DbG.ImpMax | GetData(0, 2, 9, 4) | |
| DbG.Leq | GetData(0, 2, 6, 4) | |
| DbG.LE | GetData(0, 2, 11, 4) | |
| DbG.Pk | GetData(0, 2, 10, 4) |