Здесь представлено небольшое web-приложение для использования датчика WT901BLECL (через USB и bluetooth) средствами react и TypeScript. Вся информация о датчике находится тут. Помимо этой документации, советую посмотреть документацию на используемый в датчике сенсор WT901.
Запуск программы осуществляется через npm. Приложение будет доступно в браузере по ссылке: http://127.0.0.1:3000/.
npm start
Для подключения через Bluetooth на Linux проверьте доступен/включен ли в Вашем браузере Web Bluetooth API. Для этого Вы можете воспользоваться следующими шагами:
- Откройте новую вкладку в браузере.
- В адресной строке введите "chrome://flags" (для Chrome) или "about:config" (для Firefox).
- Ищите параметр "Web Bluetooth" и убедитесь, что он включен (заменить default/disable на enable).
- Затем введите "chrome://bluetooth-internals" (для Chrome) или "about:bluetooth" (для Firefox).
- Если вы видите раздел "Devices" и "Services", значит, ваш браузер поддерживает Web Bluetooth API.
Если вы используете другой браузер, Вы можете проверить список поддерживаемых браузеров на сайте Web Bluetooth Community Group.
Если Вам необходимо изменить конфигурацию датчика, то советую сразу смотреть на документацию встроенного сенсора WT901. В "родной" документации много чего не хватает.
- Калибровка акселерометра и гироскопа происходит в течение 3-х секунд после отправки команды (никаких сложностей, просто не трогайте его).
- Калибровка магнитометра представляет из себя вращение датчика вокруг своих осей по 3 раза (см. видео)
У данного датчика (по умолчанию) позиционирование происходит путём считывания данных с 9-ти степеней (по осям XYZ: 3 акселерометра, 3 гироскопа, 3 магнитометра). До калибровки магнитометра угол oZ всегда давал одно значение. После калибровки угол oZ работает адекватно ДО ЛЮБОГО резкого линейного толчка (~ 1g) датчика. Брак это или нет, мне не известно. Настоятельно советую забыть про магнитометр и СРАЗУ переключать датчик на 6 степеней.
Помимо этого, существует репозиторий, где данное web-приложение реализовано на python и plotly dash.