「パソコンと同様に動作確認」でスマホ内にあるセンサのデータを取得する話を予告していました。簡単なコードで取得し、トレンドグラフを描けることがことを確認しました。
資料はこちら → motion
pythonにある「motion」というモジュールを使えば、簡単にスマホ内にある種々のセンサの計測値を取得できます。「motion.get_」の後に「attitude( )」で、デバイスの向いている方向(ピッチング、ローリング、ヨーイング)、「gravity()」で、重力のベクトル(x, y, z)、「user_acceleration()」で、重力ベクターとユーザーの加速度を足したもの、そして「magnetic_field()」で、磁界のベクトル(x, y, z, accuracy)の計測値を取得できます。左側のコードをご覧ください。今回は、スマホの傾斜を「attitude( )」を計測して取得するコードです。x:ピッチング y:ローリング z:ヨーイングとして、先ず空の入れ物x=[]、y=[]及びz=[]を作っておきます。「motion.start_updates( )」で計測開始し、「motion.stop_updates( )」で計測終了します。「motion.get_attitude( )」で取得した値は、ax、ay及びazで、順次x、y及びzの入れ物に「append」を用いてデータを追加します。「for」文で0~9秒まで1秒毎に計測を繰返し、その後x、y及びzの計測値をプロットします。こんなに簡単なコードでスマホ内センサの計測値が取得でき、グラフ化できることを確認しました。これらのデータはいろいろなことに応用できます。すでに、ゲームなどにも使用しているようです。
今回用いたコードは→ 傾斜センサ