Я использую Microsoft Band разработки на Windows Phone 8.1. Пытаюсь выяснить все возможности УФ-датчика. Я нашел несколько примеров, которые находят уровень УФ. Они показывают, что можно использовать enum:
namespace Microsoft.Band.Sensors
{
public enum UVIndexLevel
{
None = 0,
Low = 1,
Medium = 2,
High = 3,
VeryHigh = 4,
}
}
Также хотелось бы знать, каков масштаб этих перечислений. Насколько я знаю, существует от 0 до 11+ уровней пользовательского интерфейса. Какие диапазоны эти перечисления?
Я в основном использую строку кода:
{
bandClient.SensorManager.UV.ReadingChanged += Ultraviolet_ReadingChanged;
await bandClient.SensorManager.UV.StartReadingsAsync();
*Later on code*
await bandClient.SensorManager.UV.StopReadingsAsync();
bandClient.SensorManager.UV.ReadingChanged -= Ultraviolet_ReadingChanged;
}
Асинхронный метод:
async void Ultraviolet_ReadingChanged(object sender, BandSensorReadingEventArgs<IBandUVReading> e)
{
IBandUVReading ultra = e.SensorReading;
UVIndexLevel potatoUV = ultra.IndexLevel;
}
Но по какой-то причине я не получаю индексы большую часть времени. Иногда я получаю показания от 8 до 10 миллионов (или тысяч) под прямыми солнечными лучами. Значения находятся в «int» (хотя иногда дают перечисления). Меня интересует, как я могу это измерить. Кроме того, какой именно УФ он читает? Я знаю, что есть много видов воздействия ультрафиолета. Но как я могу использовать эти данные? Если это диапазон, то, возможно, я могу указать значение диапазона, но мне нужно каким-то образом отобрать его, какой у него УФ-индекс, и предоставить эту информацию пользователю. И использовать индекс в последующих расчетах.
ТАКЖЕ... Случайно я столкнулся с ошибкой. Во время тестирования УФ, когда я стоял под прямым светом, показания не отображались. Только когда я перешел на другой уровень UV, он изменился (но никогда не вернулся к первому). Но похоже, что первое чтение либо не меняется (поскольку метод «чтение изменено»), либо является местоположением по умолчанию. Однако в этом есть смысл. Есть ли способ вызвать чтение при нажатии кнопки?
Если нужно, я могу поискать примеры, которые я использовал, для глубины режима кода. Но большая часть здесь.