大阪電気通信大学

PythonによるRaspberryPiの計測制御

Raspberry Pi と Enviro pHAT

 Raspberry Piとは、電子工作ができる小型のコンピューターのようなもので、イギリスのラズベリーパイ財団が開発元である。Raspberry PIには様々な種類があり、この研究では下の画像のRaspberry Pi Zero WHを使用している。

 計測に使用したセンサはEnviro pHAT(エンバイロ ピーハット)で、大きさは6.5cm × 3.0cmと小型であり、Raspberry Pi Zero WHと大きさは同じである。

 Enviro pHATは、加速度、磁気方位、気圧、気温、光量等を測定することができるセンサが搭載されているボードであり、これを2台用意し、それぞれの地点の温度を測定し、サーバであるもう1台にSocket通信を使用し、送受信を行なった。

Python

 PythonはRaspberry Piと相性の良いプログラミング言語であり、また、様々なライブラリが用意されている。これを用いて、様々な計測や通信を行う。
 また、数値解析に優れた言語であり、特に機械学習で大きく使われる。近年AIの発達から深層学習の需要が高まっている。組み込み開発、WEBアプリケーション、デスクトップアプリケーションなどの幅広い学習ができる。

研究内容

 本研究では、開発過程で、Raspberry Piの初期設定の手順や、WiFIの接続設定と共に、計測制御の前段階として、Socket、Threading、Pillow、Tesseract OCRの基本的な使用方法を記載している。
 使用したモジュールは、大きく分けて、Socket、Pillow、Tesseractを使用した。また、カメラを使用し、上記のモジュールと共に研究を行なった。
 macとRaspberry PiでSocket通信を行い、次にRaspberry Pi同士でのSocket通信を行なった。
 カメラを使用した制御では、Pillowを使用し、カメラの映像から定期的に画像を撮り、画面全体の色の変化が大きい場合に、サーバにその画像を送信をするシステムを作成した。

システムの構築

1) 集中パターン

 多数のクライアントから一つのサーバにデータを送信する構図である。実際にEnviro pHATを装着したRaspberry Piを8台用意し、ヒーターのつけた部屋で温度データを取った。外の気温は4度で、およそ午前9時30分から午前12時30分まで測定した。そのグラフが下の画像である。

2) 作業連携パターン

 一つのクライアントから、サーバにデータが送信され、そのデータをもとに他のクライアントを制御する。例えば、その一つのクライアントにカメラセンサを付け、反応があった場合にサーバにデータを送信し、サーバから周囲の複数のライトが点灯するよう指示をするような構図である。

作者プロフィール

山本 隼也

大阪電気通信大学 総合情報学部 デジタルゲーム学科 計測ハードウェア研究室
プログラミングを学び始めたいと思い、大学からPythonを学習してきた。

コメント