シングルボードコンピュータの食品成分分析・環境測定への応用(1)

京都大学
大学院農学研究科 助教
小林 敬

1. 背景

近年、各種工業製品において、それらの機器をインターネットとつないで制御する機能が盛んに実装されるようになってきた。これらは一般にInternet of Things (IoT;もののインターネット)と呼ばれている。種々の機器がネットワークに対応することで、機器の制御がより容易になるとともに、機器間の通信による高機能化が図れるなど、様々なメリットがある。そして、今やIoTは家庭用電化製品(家電)からスマートハウスや社会基盤に至るまで、様々な機能を実装する際に必須のものとなりつつある。

一方、IoTで主に対象とされる機器に対してパーソナルコンピュータ(PC)などを適用することは、コストやサイズ、可搬性などを考慮すると不利である。そのような中、安価なシングルボードコンピュータ(SBC)が多種類・多数発売されるようになってきた。SBCはPCなどと比較して一般に小型で安価であり、ワンコイン程度で購入できるものもある。また、低消費電力のものもあり、バッテリ駆動が可能であるなど、IoTを指向する上では非常に都合のよいデバイスである。さらに近年のSBCは非常に高機能化してきており、かつてのPCを上回るパフォーマンスを有する機種も多数存在する。

一般的なSBCにはPC等とは異なり、GPIO(General-Purpose Input/Output、汎用入出力)を備えるものが多い。これはSBCをIoTデバイスとして使用するために非常に強力な武器となる。すなわち、これまでのPCでは非常にハードルの高かった、外部機器の直接制御が非常に簡単に行える。SBCがこのような特徴を有していることから、SBCの使用によりセンサなどの出力を容易に記録する一方、それを加工したり、表示やネットワーク配信したりすることも容易に実現できるようになってきた。このようにして、各種機器をSBC経由でネットワークにつないで連携させ、所望の機能を実現できることが期待されている。

次々に新製品が出る家電などでは広くIoTが普及している。一方、産業用機器などに目を向ければ、更新間隔が長いものが多く、その制御も旧式のPCによるレガシーな通信(RS-232Cなど)を利用するものが多い。そのような中、これらの機器を制御する新たな手段として、GPIOを有し、容易にカスタマイズ可能で、利用までの敷居が低い各種SBCは有望な選択肢である。

産業用機器の一つである化学分析機器についても、最新機器についてはネットワークを介した制御が可能となっている場合が多い。しかし、旧来の機器は専用のPCを用いてスタンドアローンで使用されることが多く、ネットワークを介した制御やデータの取得は事実上不可能な場合が多い。場合によっては、最新ソフトウェアを使用することでネットワーク制御に対応できるが、ソフトウェア導入などに新たなコストがかかる。そして、多くの場合、それらは非常に高価であり、中小企業などでは容易に導入できない。このような場面で、SBCを用いた安価な機器制御システムが開発・提供できれば、分析機器のローコストなネットワーク対応につながる。

本稿では、SBCの活用例として、高速液体クロマトグラフィ(High-Performance Liquid Chromatography、HPLC)記録システムおよび水晶振動子マイクロバランス(Quartz Crystal Microbalance、QCM)記録システムについて述べる。

2. 高速液体クロマトグラフィ記録システムの構築

HPLCは液体試料に溶解している各種化合物の分離・定量手段として幅広く用いられている1)。HPLC機器の制御および機器からのデータ出力を取り扱うソフトウェアは通常、何らかの形で用意されている。しかし、システムとして大がかりな場合もあり、一般に高価である。そこで、筆者は小型で安価なSBCを用いて、機器からのアナログ信号を記録するためのシステムを構築した(図1)。

図1 SBCを利用した分析機器のネットワークを介したデータ収集システム(HPLC、QCM)

アナログ信号をデジタル化し、データとして保存する際の流れは、本システムの場合、以下の通りである。①アナログ信号をデジタルデータに変換する。②SBCによりデジタルデータをネットワーク上でPCから配信する。③PC上でデータ処理ソフトウェアを用いて結果を解析する。

このシステムの詳細を以下に示す。まず、HPLC機器(示差屈折率検出器)からのアナログ出力をADコンバータ(ADC)によりデジタルデータに変換した。アナログ出力は、正または負の電圧である。そこで、これらの入力に対応できるADCを使用した(MAX186、12ビット、逐次比較型、8チャンネル、マキシム)。ADCの制御はSBC の1つであるRaspberry Pi Zero W(ラズベリーパイ財団)を用いて行った。ADCとSBC間の通信にはSPI(Serial Peripheral Interface)規格に準じたシリアル通信を利用した。通信プログラムはC言語で作成し、Wiring Pi(GPIO汎用ライブラリ)を使用して通信を行った。なお、本ADCは8チャンネルの入力が可能であるため、同時に最大8台のアナログ出力を記録できるが、12ビットの分解能でしかデジタルデータ化できない。より分解能の高い24ビット対応品を用いるなどすれば、より精細なクロマトグラムを取得できる。

次に、ADCによりデジタルデータとなった出力電圧をSBCによりネットワーク上で配信できるようにした。得られたデジタルデータをテキスト化し、Webサーバ(lighttpd)により配信し、HTTPプロトコルによりアクセスできる形とした。なお、データのフォーマットは
year month day hour minute second millisecond ch1 ch2 ch3 ch4 ch5 ch6 ch7 ch8 trigger
(chn はチャンネル n の変換結果、triggerはHPLCインジェクタからのスタート信号の入力”O” (open)または”S” (short))の並びとなるようにした。なお、本稿における機器ではデータの暗号化を特に行わなかったが、本格運用を考慮する場合には暗号化は必須である。このサーバを2台作製し、各サーバに複数のHPLC機器からのアナログ出力を接続した。

サーバから配信されたデータをPCで読み取り、クロマトグラムとして可視化した。このデータ処理を行うソフトウェア(以下、クロマトグラム処理ソフト)はWindows上で動作するものとして、C++ Builder 10.4 (エンバカデロ・テクノロジーズ)を用いて開発した。クロマトグラム処理ソフトの仕様として、クロマトグラムを取得し、表示するとともにピーク面積をマニュアル積分により計算できるようにした。

このようにしてHPLC用データ処理システムを構築し、食品成分の分析に供した。図2は、得られたクロマトグラムの一例である。HPLCのデータとして問題の無いレベルでデータ収集ができ、可視化することができた。Webサーバを通じてのデータのやりとりはLAN上で行ったが、サンプリング間隔を200 msに設定したため、データを取りこぼすことはなかった。またネットワーク負荷を測定したところ、0.1 Mbps以下であり、ほとんど問題にならないレベルであった。さらに、筆者所有のPC(Core i7-4790、3.60 GHz、24 GB RAM)を用いてPCへの負荷を計測したところ、CPUの使用率は0.1~0.2%程度、RAMの使用量も10 MB未満であった。一方、SBCのCPU使用率は常時20%前後とやや高かった。このように、データ取得とデジタル化をSBCに任せることができれば、PC側で重い処理を行う必要がなくなる。そして、文書作成などをこなしながらバックグラウンドでデータを収集する作業が可能になる。

図2 取得できたクロマトグラムの一例

本クロマトグラム処理ソフトはWebサーバから得たテキストデータを元にグラフを描くことが第一の目的である。すなわち、HPLCにとどまらず、他の出力形式でもテキストにできれば本ソフトウェアを汎用データロガーとして利用できる。そこで、同じクロマトグラフィの一種であるガスクロマトグラフィーの記録への適用を試みたところ、ソフトウェアに手を加えることなく容易にクロマトグラムを記録できた。このように、SBCベースのサーバとPCの間で単純にテキストが転送できれば、分析機器類を容易にIoTベースの機器に変えることができる。さらに、SBCと分析機器の間のインターフェースさえ整えられれば、旧式のハードウェアからでも容易にデータ取り込みができることにもなる。

次回に続く-



【著者紹介】
小林 敬(こばやし たかし)
京都大学 大学院農学研究科 助教

■略歴
1998年3月 京都大学農学部食品工学科 卒業
2000年3月 京都大学大学院農学研究科 修士課程修了
2003年3月 京都大学大学院農学研究科 博士後期課程修了
2003年4月 大阪市立工業研究所 研究員
2007年4月 京都大学大学院農学研究科 助教。現在に至る。
博士(農学)