- Как работать с Bluetooth-датчиками, чтобы не было мучительно больно
- Поддерживаемые устройства:
- Какие действия мы можем производить по Bluetooth:
- Как работать с функционалом?
- Получать данные с датчиков
- Разбирать данные, полученные от любых устройств по Bluetooth
- Присваивать параметрам Bluetooth тэги и отправлять их на сервер мониторинга
- Отправлять данные в Exigner
- ВНИМАНИЕ. Обновите свой браузер! Наш сайт некорректно работает с IE 8 и более старыми версиями.
Как работать с Bluetooth-датчиками, чтобы не было мучительно больно
С появлением на рынке технологии Bluetooth появилась возможность создания периферии с беспроводными интерфейсами передачи данных. Преимущества очевидны: снижается трудоемкость монтажа, минимизируется риск повреждений – случайных или специальных – кабеля и разъемов, снимается проблема несовместимости оборудования по разъемам.
Применение BLE в транспортной телематике вызывает и определенные опасения: устойчивость соединения, срок автономной работы, вероятность случайного или преднамеренного «захвата» соединения «чужим» терминалом или мобильным телефоном. Как обезопасить себя и свою технику, расскажем в статье по применению Bluetooth-периферии с терминалами Galileosky.
Bluetooth поддерживает вся линейка терминалов Galileosky 7x, прибор 7х С — опционально, по желанию заказчика. Технология Easy Logic в свою очередь обеспечивает возможность подключения периферии и логику работы датчиков с прибором. Основной инструмент для работы с Bluetooth периферией — это Bluetooth Сканер. В нем производится поиск датчиков, реализован функционал назначения разным параметрам тегов, отправки данных в Exigner, а также управления основными действиями через скрипты Easy Logic.
Внутренний модуль Bluetooth DA14585-00000AT2 представлен такими параметрами:
— Рабочее напряжение питания с 900 mV до 3.6 V
— Чувствительность до — 93 dBm
Поддерживаемые устройства:
- Универсальные датчики TESLiOT BLE – температура, влажность, яркость, 3D акселерометр, магнитное поле, цифровые, дискретные, аналоговые входы
- ДУТ Эскорт TD-BLE
- Датчик температуры и влажности TH-BlE
- Датчик угла наклона DU BLE
- ДУТ Эскорт TD-150
- ДУТ Технотон DUT-E S7
- ДУТ Mechatronics Eurosens Dominator BT
- Расходомер Технотон DFM 100S7
- Расходомер Технотон DFM 250DS7
- Датчик нагрузки на оси Технотон GNOM DDE S7
- Датчик положения Технотон GNOM DP S7
- Датчики ELA – движения, температуры, влажности, ускорения, магнитный, цифровой вход
Какие действия мы можем производить по Bluetooth:
- Получать данные с датчиков
- Присваивать параметрам Bluetooth тэги и отправлять их на сервер мониторинга
- Разбирать данные, полученные от любых устройств по Bluetooth
- Отправлять данные в Exigner
Какие действия можно производить по Bluetooth? Это конечно же получение данных с датчиков, присваивать параметры и теги, отправлять их на сервер мониторинга, через Exigner отправлять данные по Bluetooth не используя GPRS. То есть оффлайн разбирать полученные данные любых устройств, даже к примеру от фитнес-трекеров.
Начиная с версии прошивки 39.0, в Конфигураторе на вкладке «Bluetooth» добавлен сканер исходных данных – он позволяет записывать произвольные данные из пакета BLE от устройства.
Как работать с функционалом?
Получать данные с датчиков
- Запустить конфигуратор версии 4.25.04 и выше.
- Обновить трекер на прошивку 39.0 и выше.
- Подключиться к трекеру удаленно или локально и перейти на вкладку “Настройки — Bluetooth”.
- Выбрать режим работы “Bluetooth – Sensors + EasyLogic” и нажать “Начать сканирование”.
- После старта сканирования появится список обнаруженных устройств.
- Требуется найти нужное устройство по MAC адресу либо имени устройства.
Разбирать данные, полученные от любых устройств по Bluetooth
- Работа с данными происходит по аналогии с CAN Сканером.
- Заходим на Bluetooth и сканируем датчики.
- Требуется развернуть список получаемых данных от устройства, для этого нажимаем на значок > — появится развернутый список получаемых данных.
- Если интеграция с устройством не выполнена со стороны прошивки терминала – среди известных параметров, кроме рекламного пакета от устройства, будет отображаться только параметр RSSI.
- Дальнейшая настройка выполняется уже с добавленной строкой.
- Есть возможность выбрать от 1 до 4 байт, путем нажатия на нужные байты левой клавишей мыши.
- После выбора нужного количества байт, есть возможность выбрать направления чтения данных, и тег, в который будет записано нужное значение.
Присваивать параметрам Bluetooth тэги и отправлять их на сервер мониторинга
- Для записи произвольных данных из рекламного пакета BLE от устройства, требуется добавить новую строку – это позволяет зафиксировать полученный пакет.
- Выбрать данные для записи в тег можно только в новой строке, работа с получаемым рекламным пакетом не доступна.
- Для сохранения выполненных настроек необходимо “Остановить сканирование”. И нажать “Применить” в нижней правой части Конфигуратора.
- Для передачи данных на ПО мониторинга необходимо выбрать тег на вкладке “Настройки — Протокол” в основном пакете и нажать “Применить” в нижней правой части Конфигуратора.
Отправлять данные в Exigner
- Принцип отправки данных в Exigner точно такой же как и при передаче в ПО Мониторинга.
- Однако, на вкладке вкладку “Настройки — Bluetooth” нужно выбрать режим работы “Exigner” и нажать “Начать сканирование”.
- После старта сканирования появится список обнаруженных устройств.
- Требуется найти нужное устройство по MAC адресу либо имени устройства.
- Далее выбираете нужные байты.
- Выбираете направления чтения данных, и тег.
- Далее вы сможете получать все данные как онлайн, так и оффлайн.
- Даже после перезагрузки устройства все данные сохранятся в Exigner Driver App.
Для получения любых данных с любых датчиков достаточно знать описание протокола. Его можно запросить у производителя датчиков. В Конфигураторе можно назначить до 64 тегов для Bluetooth датчиков. Для программирования скриптов в «Конфигураторе» используется скриптовый C-подобный язык, имеющий свои нюансы программирования и работы.
Более подробно язык программирования в алгоритмах описан в нашей Базе знаний.
Также на вебинаре “Настраиваем работу терминала Galileosky с Bluetooth-датчиками” инженер технической поддержки Роман Гимастеев на реальных примерах показал все тонкости применения BLE периферии.
Galileosky – российский вендор, один из ведущих разработчиков оборудования для цифровизации транспорта в России. У пермской компании более 500 партнеров (системных интеграторов) с проверенными компетенциями по внедрению продуктов компании во всех регионах РФ. Мощность производства составляет более 150 000 единиц приборов в год. «Галилеоскай» входит в топ-30 крупнейших российских компаний-разработчиков решений для цифровизации транспорта (CNews Analytics, 2021).
ВНИМАНИЕ. Обновите свой браузер! Наш сайт некорректно работает с IE 8 и более старыми версиями.
Передача данных датчика давления осуществляется протоколом BlueFlyVario
Тестировались три программы, установленные на телефоне XCSoar, KL8000 и XCTrack
Телефон Galaxy J2.
В результате
Все три программы работали с этим модулем и этим протоколом.
Программа XCSoar отрабатывала изменение давления с задержкой 5-6 секунд,
Программа KL8000 с задержкой 1 – 2 секунды и программа XCTrack с задержкой 2 – 3 секунды при минимальном уровне шума.
Результаты теста на видео
смотреть прямо тут или смотреть с сайта
А зачем изобретать велосипед, если есть много телефонов с барометрическим датчиком?
Лучше придумай, как подключить датчик и установить программу в читалку для книг.
Потому что есть много телефонов без датчиков давления. Их больше чем с датчиками.
Для читалок (Kobo) есть программы и датчики.
Пока вот так. Потом посмотрим.
Задержки связаны с зашитыми в программу алгоритмами расчета вертикальных скоростей. Разные программы и разные задержки. Сам Bluetooth передает данные давления в телефон с частотой 20 гц.
GPS что бы так работал: 2-3 секунды и чувствительностью в 1 метр по высоте? У меня не получилось. Я не знаю таких приборов.
Если вместо пары arduino Nano + HC-06 взять ESP8266 и заменить протокол на TCPIP, то предположительно можно организовать связку как на кобо, принимающем значение высоты/варио/ как в случае со смартфона, имеющем датчик давления.
Естественно надо уметь передавать все это.
Надеюсь понятно о чем я?
niknik рассказывал о настройке такой связки. Я пробовал (смарт с датчиком давления) передавать на кобо. Недолго работает. Долго еще не пробовал.
Вот идея вместо смарта организовать на отдельном модуле со датчиком давления по WiFi
У смарта WiFi есть, у кобо тоже.
Разница есть — это ток потребления. Для проекта с Blutooth + датчик + ардуино ток потребления 50 Ма. Потребления только модуля Wifi, например ESP8266 ,будет 250 Ма и от Ардуино его
не рекомендуют запитывать. Если батареек не жалко, то почему нет. Можно и Wifi.
ESP8266 — самостоятельный процессор, его не нужно запитывать от ардуино, всё устройство можно собрать на нём. Если взять ESP32, можно передавать и по блютуз без внешних модулей
Не признал ESP8266 на Соловки. Все верно. Сразу скажу, что ничего против ESP8266 я не имею. Дойдут руки и до него. Документацию почитал как Вы и велели.
Докладываю — в цифрах ошибся не сильно. Модуль потребляет и хорошо потребляет. Даже в режиме Bluetooth. Прочтите и Вы.
потребляет во время передачи. Сколько длится передача? На сколько увеличится потребление даже с предложенной вами частотой 20Гц? А если на стороне процессора вы не используете математику — остальное время можно спать. 32 битный процессор на частоте 80МГц выполнит вычисления давления и скорости за единицы микросекунд, дольше будете ждать внутреннего преобразования в датчике давления.
У меня еще свербела мысль кроме датчика давления дополнить датчиками температуры и оборотов (выхлопа) моторников для.
тогда на прибор все данные можно через «беспроволочный телеграф» пачкой посылать
Со стороны телефона должна быть программа, которая все это может обработать и отобразить. Пока речь идет о известных и часто используемых программах и , кстати, протоколах передачи.
Т.е как получить максимальный эффект с минимальными затратами? Я нашел как. А если ты посылаешь куда-то SOS, то с другой стороны проволки должно быть устройство (или человек), которое это SOS отобразит.
Делал такое же на BMP086 и ардуине. В XCTrack в настройках есть фильтр для входных данных, я ставил почти в ноль программный датчик, при наличии программного фильтра на ардуине, и быстродействие было в полне норм. Быстрее наверное только если акселерометр прикрутить, но мне стало лень, к тому же появился FFVario за сущие копейки и стало проще купить его чем возится. Полез к стати в настройки и обнаружил запись что внешний датчик не соответствует правилам FAI кто ни будь может пояснить, возникают ли сложности на соревнованиях? я не то что бы собирался, но на будующее.
Да я видел это сообщение. На всех внутренних соревнованиях ( FAI2) cейчаc есть только одно требование, что бы прибор был совместим с теми программами, которые
используют судьи. Это GPSDump. Если вопросы возникли лучше их обсуждать с организаторами.
Я думаю что требование к наличию внутреннего барического датчика скорее относится к рекордным полетам, когда Вы в FAI
предоставите трек и тогда прибор должен быть сертифицирован по требованиям FAI.
Это та же тема что и валидация трека. Как правило приборы, которыми мы пользуемся или не пишут контрольной суммы в файл или не предусматривают
передачу ключа для проверки в FAI. В FAI есть список приборов, данные которых принимаются на соревнованиях и список приборов файлы, которых они могут валидировать.
Сразу скажу, что смат фонов в этом списке нет.
Т.е если Вы не собираетесь на параплане облететь Землю, то забейте.
Использовал для соревнований треклог с Самсунг А5(2017) с внутренним Бародатчиком и программу XCTrack. Люди участвовавшие в Чемпионате России говорили, что судьи принимали логи с телефона.
приложение — скриншот из XCTrack при использовании внутреннего барометра появляется галочка, что прибор соответствует требованиям FAI CIVL. И примеры набора в термике с барометром.
У организаторов нет вопросов к телефонам с внутренними датчиками. С программ логеров данные принимаются, перечень программ они озвучивали. XCTrack входит в них