オーディオ、ビジュアル機器、料理のツール、キットの製作などを取り上げます。MathematicaからBME280を使うラズパイには無料で使えるMathematicaが用意されています。現在バージョン12です。数学ソフトですが、データをグラフ化する機能が多彩です。前回、MEMSセンサのBME280を利用できるように設定し、Pythonのプログラムで温度、湿度、気圧を随時読み出しました。ここでは、MathematicaでBME280の温度を読み出し、グラフ化します。Languageにありました。Pythonのプログラムを利用するには、ExternalSessions機能を使えば可能なことがわかりました。ExternalEvaluateでPythonファイルを実行する●BME280の温度を読み込んでグラフにするプログラムdataListは温度データを保存するリストです。Pythonのリストと同じように扱えるようです。10}で10回繰り返す指定をしています。StartExternalSession["Python"];は、外部関数でPythonを使うことを宣言します。ExternalEvaluate[]は、実行するPythonのプログラム本体です。ここにプログラムを記述してもいいですし、外に置いたxxx.pyを呼び出してもよいようです。内容は、前回の温度の読み出しプログラムを関数にして、戻り値がTempとしました。"temp()"];は、前記の関数を実行し、読み取った戻り値をvに代入しました。DeleteObject[session];で、一連の外部関数を呼ぶ作業を終了します。v]では、dataListのリストに、読んだデータvの値を追加しています。10回温度を読み取りした後の処理を次の二つで行います。dataListは、データの入ったリストを全部表示します。ListLinePlot[dataList]は、リストの内容を折れ線グラフにします。10}]dataListListLinePlot[dataList]実行結果です。読み取りには数秒かかっているようです。データを動的に表示する方法」を参考に、BME280の最新データの読み込みと、グラフの更新を同時に行うプログラムを作ります。実行をキーボードで中断する方法やエラー処理がわからなかったので、ループは50回に限定しています。グラフは最新の15個のデータを表示します。したがって、最初の14個のデータを読み出しているときは、エラーが表示されます。]]実行中のようすです。50回のループが繰り返されているとき、グラフは、ハーフトーンで見にくいときもあります。(※)普通にMathematicaを立ち上げると、グラフはMessagesのWindowに表示されます。mathematicaで立ち上げると、Out[x]=に表示されます。ライセンスで提供されています。