Micro:bitとMATLABでメール着信アラートをつくる


1.はじめに

Raspberry piなどのワンボードコンピュータがいろいろ出回っている今日この頃ですが、世間の人から見ると「あんなものを買って何に使うのだろう?」というのが不思議らしいです。
「音声リモコンなどを作ることができますよ」というと、必要以上に驚かれます。
(世間の人が何を考えているのかは、よくわかりません)。
しかし、残念なことに「Lチカ」(発光ダイオードを点滅させる)というのは、世間的に言うと目的ではないようです(光ったから何?、という)。
ということで、今回は世間の人でも目的が納得できるように、機能を連結させてみます。

2.Micro:bitをBluetooth Low Energy(BLE)で使う

BLEを使えるようにして、MATLABから文字を送ることについては、
@motorcontrolman さんのこの記事を参照にしていただければと思います。
Micro:bitにはMakecodeで下記のようにプログラムしておきます。

3.MATLABの実行プログラム

これも上記の記事を参考に書いてみると、このようになります。
デバイス名(もしくはアドレス)とUUIDは適宜変えてください。

matlab microbitTest.m
function microbitTest
% BLE接続
b = ble("BBC micro:bit [vozet]"); 

% micro:bitに所定の文字を流すためのUUIDを設定
ledTextCharacteristic =  characteristic(b,"E95DD91D-251D-470A-A062-FA1922DFA9A8", "E95D93EE-251D-470A-A062-FA1922DFA9A8");

% 文字を流す
write(ledTextCharacteristic,"YouGotMail!");
pause(1);
clear b;
quit;

最後のquitはMATLABを終了させるコマンドです。
MATLABで作業している場合はquitさせると作業中のものも終わってしまうので注意が必要です。やってみたところ、2つめのMATLABが起動するようです。
このプログラムを実行ファイル化させるには、MATLAB Compilerを使う手があります(Compilerを使って、非MATLABユーザに配布しなければならない何かがあるということで、私は持っています)。

mcc -e microbitTest.m

'-e'オプションでコマンドウィンドウなしで実行できます。

Compilerがない場合は、バッチファイルを作成します。
バッチファイルには、

matlab -r "microbitTest"

というように書いて、"microbitTest.bat"というように名前を付け、matlabのpathを通しておきます。
pathの設定は、ここから(基本設定の歯車の下)してください。

4. メーラーの設定

ここでは、outlookでの設定を示します。
「移動」の中にある「ルール」を開きます。

「仕分けルールと通知の管理」を開きます。

「新しい仕分けルール」をクリックします。

「受信メールにルールを適用する」を選択し、「次へ」。

「このコンピュータで送受信を行なった場合のみ」をクリックします。

「アプリケーションを開始する」にチェックを入れ、ステップ2の青字の「アプリケーション」をクリックします。

「アプリケーションを開始する」が見つからなかった場合は、この辺のページ を見て、なんとかしてください。

青字の「アプリケーション」をクリックしたら、先ほどの実行ファイルを選択します。
バッチファイルの場合は「すべてのファイル」にしないと選択できません(というかファイルが見えないはず)。

メーラーの設定はここまでです。

5. デモ画像

インライン動画でなくてすみませんが。

こんな感じです。

ということで。
おつかれさまでした。