MacOS X

俺のnecomimiがこんなにもAdvertiseするわけがない。

俺のnecomimiがこんなにもAdvertiseするわけがない。

この記事はmbed Advent Calendar 2014 - Adventarの6日目の記事です。
IMG_0362.png

mbed HRM1017とnecomimiを使用して、necomimiの脳波データをiPhoneへBLEで送り、iPhoneでグラフ化して表示しました。


こんな感じ。

IMG_0389.PNG

necomimiにはTGAM1というNeuroSkyのチップ基板が内臓されており、脳波(?)でネコミミが動く・・・というガジェットです。

necomimiは無線化されていないので、Bluetoothモジュールなどをくっ付けて無線化してやる必要があるのですが、今回はそれにHRM1017を使用しました。

IMG_0342.JPG IMG_0343.JPG IMG_0349.JPG IMG_0348.JPG

necomimi <-> HRM1017 は UARTで。
HRM1017 <-> iPhone は Bluetooth LEで送り、データそのままグラフとして表示してます。

necomimiのparserはこちらのページのものをそのまま使用させていただきました。

グラフ化する際に
「脳波の実データでは、このような(* レーダーチャート)波形には、なりません。折れ線グラフには、脳波に関して、意味があるとは思えません。
集中度 リラックス度は、チップ内でなんらかの計算をした結果の数値です。その計算のパラメーターが、公開されていないので、信用していません。単なる指標です。」
「信用するのは、POWERで、eegDeltaからeegMidGammaの8点です。これを棒グラフにしたら良いと思います。」
「データは、非連続データなので、棒グラフの方が、正確です。」
「Code 0x80 Raw Wave Value は、脳波の生データのようですね。」
「poorは、信号品質で、電極がおデコにピッタリくっついているかを示しています。電極がくっついていないと、電気抵抗が増加し、シグナルの強度が減少します。poorは、0から255の数値で、数値が低いほどシグナル強度が高く、200だとおデコにくっついていないことを示しています。」

というご指摘を頂けたので、取得するのは

    short raw; // 生データ
    unsigned char power;
    unsigned char poorSignal; //信号品質

    // 脳波データ
    unsigned int eegDelta;
    unsigned int eegTheta;
    unsigned int eegLowAlpha;
    unsigned int eegHighAlpha;
    unsigned int eegLowBeta;
    unsigned int eegHighBeta;
    unsigned int eegLowGamma;
    unsigned int eegMidGamma;

だそうです。面白いですよ〜。


7日目はtoyowataさんです。よろしくお願いします。

このページの先頭へ