As I Please

MTのいんすとーるの練習と、その他びぼうろく・・・

タグ「bluepy」が付けられているもの


CC2650STK sensor.tag の accelerometer のデータがおかしい件

  • 投稿日:
  • by

CC2650STKの加速度計、x,y,z軸のデータ(ベクトル)の絶対値が どうも 2Gになる。
これは bluepy を使った場合にだけ発生しているようで、iOSのアプリではちゃんと 1.0G 程度の値になる。
CC2650STKのTIの wikiの 当該の場所を見るとGATTの設定で、rangeを 2G,4G,8G,16G の4通りが選択できるようになっている。またおのおのの軸は2byte=16bitで、-32767 ~ 32768 (sigined int?) の間の値が返ってくるようだ。
bluepy 附属の sensortag.py では、144行あたりでinit しているところで、

    def __init__(self, sensor_):
        self.sensor = sensor_
        self.bits = self.sensor.ACCEL_XYZ | self.sensor.ACCEL_RANGE_4G
        self.scale = 8.0/32768.0 # TODO: why not 4.0, as documented?
と、self.bits で rangeは 4Gの設定をしているつもりになっている。
でもって、データをdecodeするところでは、8.0/32768 の係数をかけている。
wikiには、range 4Gの場合には、
  case ACC_RANGE_4G:
    //-- calculate acceleration, unit G, range -4, +4
    v = (rawData * 1.0) / (32768/4);
    break;
となっている。こちらが正しいような。
bluepy でも
# TODO: why not 4.0, as documented?
と書いているけど修正していないようだ。
勝手に修正して
self.scale = 4.0/32768.0

で利用することに・・・

CC2650STK sensor.tag の accelerometer のデータがおかしい件

  • 投稿日:
  • by

CC2650STKの加速度計、x,y,z軸のデータ(ベクトル)の絶対値が どうも 2Gになる。
これは bluepy を使った場合にだけ発生しているようで、iOSのアプリではちゃんと 1.0G 程度の値になる。
CC2650STKのTIの wikiの 当該の場所を見るとGATTの設定で、rangeを 2G,4G,8G,16G の4通りが選択できるようになっている。またおのおのの軸は2byte=16bitで、-32767 ~ 32768 (sigined int?) の間の値が返ってくるようだ。
bluepy 附属の sensortag.py では、144行あたりでinit しているところで、

    def __init__(self, sensor_):
        self.sensor = sensor_
        self.bits = self.sensor.ACCEL_XYZ | self.sensor.ACCEL_RANGE_4G
        self.scale = 8.0/32768.0 # TODO: why not 4.0, as documented?
と、self.bits で rangeは 4Gの設定をしているつもりになっている。
でもって、データをdecodeするところでは、8.0/32768 の係数をかけている。
wikiには、range 4Gの場合には、
  case ACC_RANGE_4G:
    //-- calculate acceleration, unit G, range -4, +4
    v = (rawData * 1.0) / (32768/4);
    break;
となっている。こちらが正しいような。
bluepy でも
# TODO: why not 4.0, as documented?
と書いているけど修正していないようだ。
勝手に修正して
self.scale = 4.0/32768.0

で利用することに・・・

CC2650STK 連続稼働(1)

  • 投稿日:
  • by

CC2650STKを新規のCR2032電池で連続稼働してみた。cactiでグラフ化。

  • CC2650STKから取得したデータは 30秒毎に取得、redisに送る。
  • cactiは redis に5分毎にpolling してデータ取得、グラフ化。
  • 各センサーは init時に enableにしてずっとそのまま。

cacti_graph_150.pngバッテリーは 当初 91%の値から、すぐに70%台に落ちて最後は57%になると、応答が無くなる。連続稼働は1日。

cacti_graph_159.pngIRtemerature は ambient(周辺温度?)のほうがコンスタントに高い(室内に普通に置いたとき)。

cacti_graph_158.png照度計はそこそこ動いているよう。

cacti_graph_157.png 気圧計、他のセンサーに比べて早く応答しなくなるように見える。

cacti_graph_153.png

湿度計はバッテリーに比べて早くおかしくなっている。バッテリーが70%を切って落ちてくるとこちらの値は100%ではりついていている。

cacti_graph_155.png CC2650STKは単に置きっぱなしなのに、ジャイロスコープの値が出る。1.0 degree/s は5分で 300度回転しているということ?キャリブレ-ションをちゃんとやらないとおかしな値が出る?あと、やはりバッテリーがへたってくると値が固定値になるように見える。

cacti_graph_156.png磁力計。静置しているのでまあこんなもんか?

cacti_graph_154.png加速度計。数値がおかしい。定常時で 2G ? 地球重力で 1Gじゃないの? あと電池がへたると 4Gの固定値。たぶんrangeいっぱいのデータになっている(湿度計と同じような挙動)。

cacti_graph_160.pngCC2650STKには、温度計が4つあるのでそれを表示。IRtemparatureのtarget だけが低い値でその他はほぼ同じ。湿度計の温度計は電源落ち始めるところくらいで異常値?になりその後復帰。これはなんだろう?

cacti_graph_151.pngこれはセンサーが出す情報じゃないけれど、CT2650STKのデータを取得した時刻(utime)を取得。データが取得出来ないときにはこのデータが 0 になる(通常は cactiは5分ポーリングなので300 sec 程度の時間)。

CC2650STK 連続稼働(1)

  • 投稿日:
  • by

CC2650STKを新規のCR2032電池で連続稼働してみた。cactiでグラフ化。

  • CC2650STKから取得したデータは 30秒毎に取得、redisに送る。
  • cactiは redis に5分毎にpolling してデータ取得、グラフ化。
  • 各センサーは init時に enableにしてずっとそのまま。

cacti_graph_150.pngバッテリーは 当初 91%の値から、すぐに70%台に落ちて最後は57%になると、応答が無くなる。連続稼働は1日。

cacti_graph_159.pngIRtemerature は ambient(周辺温度?)のほうがコンスタントに高い(室内に普通に置いたとき)。

cacti_graph_158.png照度計はそこそこ動いているよう。

cacti_graph_157.png 気圧計、他のセンサーに比べて早く応答しなくなるように見える。

cacti_graph_153.png

湿度計はバッテリーに比べて早くおかしくなっている。バッテリーが70%を切って落ちてくるとこちらの値は100%ではりついていている。

cacti_graph_155.png CC2650STKは単に置きっぱなしなのに、ジャイロスコープの値が出る。1.0 degree/s は5分で 300度回転しているということ?キャリブレ-ションをちゃんとやらないとおかしな値が出る?あと、やはりバッテリーがへたってくると値が固定値になるように見える。

cacti_graph_156.png磁力計。静置しているのでまあこんなもんか?

cacti_graph_154.png加速度計。数値がおかしい。定常時で 2G ? 地球重力で 1Gじゃないの? あと電池がへたると 4Gの固定値。たぶんrangeいっぱいのデータになっている(湿度計と同じような挙動)。

cacti_graph_160.pngCC2650STKには、温度計が4つあるのでそれを表示。IRtemparatureのtarget だけが低い値でその他はほぼ同じ。湿度計の温度計は電源落ち始めるところくらいで異常値?になりその後復帰。これはなんだろう?

cacti_graph_151.pngこれはセンサーが出す情報じゃないけれど、CT2650STKのデータを取得した時刻(utime)を取得。データが取得出来ないときにはこのデータが 0 になる(通常は cactiは5分ポーリングなので300 sec 程度の時間)。