Я изучаю протокол Bluetooth и внедряю систему позиционирования, считывающую RSSI в дБм с некоторых устройств. Система будет реализована с 3 фиксированными станциями с известной широтой и долготой и мобильной станцией. Позиционирование будет выполняться на мобильной станции с мощностью, принимаемой в дБм от каждой фиксированной станции, и алгоритмом типичного определения местоположения.
Для повышения эффективности системы необходимо изменить некоторые параметры Bluetooth-устройств. Этими параметрами могут быть:
Время сканирования на ремонтных станциях для сокращения времени ответа на запросы.
Запрашивает коды доступа, чтобы получать ответы на запросы только от выбранных устройств (наши 3 фиксированные станции)
Некоторые другие.
Есть несколько сценариев, которые можно использовать для этого в зависимости от используемых технологий (некоторые из них ограничены):
Исправить станции с ОС Linux (без проблем изменить параметры), мобильную станцию с Android (кажется, что она обычно работает в своей библиотеке Bluetooth, но настройки Bluetooth трудно или невозможно изменить). См.: http://developer.android.com/reference/android/bluetooth/BluetoothAdapter.html
Все станции под управлением ОС Linux и C++ на мобильной станции (похоже, их легко запустить из сценариев оболочки hcitool для исправления станций, изменяющих наши настройки, но кажется сложным реализовать исходный код на C++, чтобы получить RSSI с нашими требуемыми значениями на дБм ссылок фиксировать станции на мобильной станции).
Гнусный способ. Все станции, работающие под управлением ОС Linux и сценариев оболочки, на мобильных станциях, работающих под управлением сценариев оболочки, анализируют значения из RSSI из перенаправления вывода hcidump после запросов обеда.
Кажется, очень сложно найти полезную информацию, связанную с этим сценарием. Возможно, кто-то из вас поможет выбрать лучший сценарий и описать, как его реализовать.
(Извините, если что-то не объяснил в лучшем виде.. мой английский ужасен..)
Спасибо.