Android API Guides---Environment Sensors


Environment Sensors
Androidプラットフォームには4つのセンサーがあり、異なる環境性能を監視できます.これらのセンサーを使用して、Androidデバイスの近くに相対的な環境湿度、照度、環境圧力、環境温度を監視できます.すべての4つの環境センサはハードウェアベースであり、デバイスメーカーがデバイスを構築した場合にのみ使用できます.光センサとは、ほとんどのデバイスメーカーが画面の明るさを制御するために使用している以外は、環境センサが常に利用可能なデバイスではない.そのため、実行時にデータを取得しようとする前に環境センサが存在するかどうかを検証することが重要です.ほとんどの動きセンサや位置センサとは異なり,各SensorEventセンサ値の多次元配列,環境センサが返す各データイベントの単一センサ値を返す.例えば、℃の温度または100℃の圧力で.さらに、動きセンサおよび位置センサとは、通常、ハイパスまたはローパスフィルタリングが必要であり、環境センサは、通常、データフィルタリングまたはデータ処理を必要としない.表1に,サポートされているAndroidプラットフォーム上の環境センサの概要を示す.サポートされているAndroidプラットフォームの表1.環境センサー
測定データ記述センサイベントデータ単位TYPE_AMBIENT_TEMPERATURE event.values[0]°C環境空気温度.TYPE_LIGHT event.values[0]LX照度.TYPE_PRESSURE event.values[0]100パまたはmbar環境空気圧力.TYPE相対湿度event.values[0]%環境相対湿度.型温度values[0]°C設備temperature.1
1デバイスからデバイスへの変更を実現します.このセンサーのAndroid 4.0(APIレベル14)は廃棄されています.光、圧力、温度センサを使用して光、圧力、温度センサから取得した元のデータは、通常、キャリブレーション、フィルタリング、または修正を必要としません.これにより、最も簡単なセンサの使用が可能になります.これらのセンサから初めて作成されたSensorManagerクラスを取得するには、物理センサの1つを得ることができます.インスタンスのインスタンスデータ.次に、onResume()メソッドセンサリスナーを登録し、onSensorChanged()コールバックメソッドで受信したセンサデータの処理を開始します.次のコードは、これを行う方法を示します.
public class SensorActivity extends Activity implements SensorEventListener {
  private SensorManager mSensorManager;
  private Sensor mPressure;

  @Override
  public final void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    // Get an instance of the sensor service, and use that to get an instance of
    // a particular sensor.
    mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
    mPressure = mSensorManager.getDefaultSensor(Sensor.TYPE_PRESSURE);
  }

  @Override
  public final void onAccuracyChanged(Sensor sensor, int accuracy) {
    // Do something here if sensor accuracy changes.
  }

  @Override
  public final void onSensorChanged(SensorEvent event) {
    float millibars_of_pressure = event.values[0];
    // Do something with this sensor data.
  }

  @Override
  protected void onResume() {
    // Register a listener for the sensor.
    super.onResume();
    mSensorManager.registerListener(this, mPressure, SensorManager.SENSOR_DELAY_NORMAL);
  }

  @Override
  protected void onPause() {
    // Be sure to unregister the sensor when the activity pauses.
    super.onPause();
    mSensorManager.unregisterListener(this);
  }
}
は、onAccuracyChanged()とonSensorChanged()のコールバックメソッドの実装を常に同時に含む必要があります.また、アクティブな停止時にセンサを常にログアウトすることを保証します.これにより、センサがリモートセンシングデータと排水バッテリから絶えずログアウトすることを防止できます.
湿度センサーの使用
元の相対湿度データは、湿度センサで使用される光、圧力、温度センサと同様の方法で得ることができる.しかしながら、デバイスが2つの湿度センサ(TYPE相対湿度)と温度センサ(TYPE_AMBIENT_TEMPERATURE)を有する場合、この2つのデータストリームを用いて露点および絶対湿度を計算することができる.
ろてん
露点とは、空気中の所定の体積が一定の気圧で水蒸気が凝縮した水の温度で冷却されなければならないことを意味する.次の式では、露点の計算方法を説明します.
                     ln(RH/100%) + m·t/(Tn+t)
td(t,RH) = Tn · ------------------------------------
                    m - [ln(RH/100%) + m·t/(Tn+t)
  ,


TD =        
T =        
RH =         (%)
M =17.62
TN=243.12
    
                    。      / 3                :
                          (RH/100%) · A · exp(m·t/(Tn+t)
dv(t,RH) = 216.7 · ------------------------------------
                                    273.15 + t
どこ、DV= g/meter 3 T= RH= パーセント(%)M=17.62 TN=24.12 A=6.112ヘクトパスカル