Документация
ОС Аврора 5.1.3

Эмуляция датчиков

На устройствах ОС Аврора имеются встроенные датчики, например, гироскоп, компас, акселерометр. Эмулятор ОС Аврора не имеет реальных датчиков, но может имитировать работу с ними. Средствами Аврора IDE можно запустить плагин управления эмуляцией, задать различные значения датчиков и проверить работу программы.

Управление эмуляцией в Аврора IDE

Эмуляция датчиков

Для взаимодействия с датчиками можно использовать три раздела:

Настройка датчиков
Содержит список переключателей для включения/выключения каждого из датчиков.
Установка датчиков
Содержит виджеты (ползунки, текстовые поля, выпадающие списки) для изменения значений конкретных датчиков.
Ориентация
Содержит виджеты для управления вращением и движением устройства.

Включение/выключение датчиков

Для управления состояниями датчиков (включения/выключения) необходимо перейти в раздел Настройка датчиков.

Эмуляция датчиков

Рабочая область данного раздела содержит список из переключателей, по одному для каждого датчика.

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

  1. Поставить или убрать галочки на переключателях тех датчиков, которые необходимо включить или выключить.
  2. Нажать кнопку Принять для применения изменений.

Для отмены изменений и возврата переключателей к предыдущему принятому состоянию следует нажать кнопку Сбросить.

После применения изменений виджеты датчиков, помеченных как выключенные, станут недоступными в разделах Установка датчиков и Ориентация.

После применения изменений необходимо перезапустить все приложения на эмуляторе, работающие с датчиками.

Зависимость датчиков друг от друга

Значения некоторых датчиков зависят от других. Компас зависит от акселерометра и магнитометра. Датчик ориентации зависит от акселерометра, Датчик поворота зависит от акселерометра и компаса, и от магнитометра.

Остальные датчики не являются ни зависимыми, ни теми, от которых зависят.

Изменение состояния датчиков будет влиять на состояние зависимых датчиков и наоборот:

  • При выключении акселерометра будут выключены компас, датчики ориентации и поворота, так как они зависят от него и не могут без него работать.
  • При выключении магнитометра будут выключены компас и датчик поворота, так как они зависят от него.
  • При включении компаса будут включены акселерометр и магнитометр, от которых он зависит.
  • При включении датчика ориентации будет включён акселерометр, от которого он зависит.
  • При включении датчика поворота будут включены акселерометр, компас и магнитометр, от которых он зависит.

Изменение значений датчиков

Для изменения значений датчиков необходимо перейти в раздел Установка датчиков. Рабочая область данного раздела содержит наборы виджетов для каждого из датчиков.

Эмуляция датчиков

Ползунки позволяют менять значения в рамках определённого диапазона значений. Они связаны с текстовыми полями, где указаны текущие установленные значения. При редактировании значений в текстовом поле изменения принимаются по нажатию на «Enter», либо при потере фокуса данным текстовым полем. Выпадающие списки позволяют выбрать одно из заранее определённых значений.

При изменении какого-либо значения какого-либо датчика будет выполнен запрос к эмулятору на установку данного значения.

Особенности значений датчиков

Значения акселерометра

Значения акселерометра задаются в долях g (ускорения свободного падения, взятого равным 9.80665).

Ползунки и текстовые поля для акселерометра позволяют вводить количество долей g, которые пользователь хочет задать. Справа от текстового поля указываются значения акселерометра в м/c², которое будет в результате установлено на эмуляторе.

Значения уровня калибровки магнитометра и компаса

Значения уровня калибровки магнитометра и компаса имеют диапазон [0:3], однако результирующие значения на эмуляторе будут иметь диапазон [0:1], так как они будут равны установленному значению, делённому на 3 (а именно, [0, 0.(3), 0.(6), 1]). Это связано с особенностями плагина Sensorfw для магнитометра.

Значения датчика освещённости

Датчик освещённости имеет шесть заранее определённых значений (в люксах):

Параметр Мин, лк Макс, лк
Undefined -1 -1
Dark 0 9
Twilight 10 79
Light 80 399
Bright 400 2499
Sunny 2500 3000

Значения датчика приближённости

Значение датчика приближённости задаётся как степень приближения и имеет диапазон [0:10], однако результирующее значение на эмуляторе будет иметь диапазон [0:1]. Это также связано с особенностями плагина Sensorfw, как и в случае с установкой уровня калибровки магнитометра.

Ориентация

Эмуляция датчиков

На вкладке Ориентация можно управлять вращением и движением модели устройства. Внизу расположены элементы для настройки:

  • радиокнопки для переключения между ползунками вращения или движения;
  • ползунки для трёх осей вращения или движения, значения которых влияют на значения акселерометра (справа), гироскопа и магнитометра;
  • кнопки для поворота устройства в одну из шести позиций, которые устанавливают значения датчика ориентации, а также значения ползунков и акселерометра.

Работа с датчиками

В проекте для работы с местоположением можно использовать компоненты QML Accelerometer, AmbientLightSensor, Compass, Gyroscope, LightSensor, Magnetometer, OrientationSensor, ProximitySensor, QTapSensor, RotationSensor, соотвествующие им C++-классы, а также другие классы и компоненты Qt Sensors.

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.