みなさんこんにちは、ソラコムの熊崎 (ニックネーム: nao) です。
先日開催した、IoTの試作で話題となる「ラズパイ、M5Stack、Arduino」といったデバイスの特長や選び方を学ぶイベント『SORACOM Device Meetup#8』のレポートをお届けします。動画(YouTube内)も公開しています。併せてご覧ください。
SORACOM Device Meetupは、IoTデバイスの概要や技術情報、活用事例を通じて、IoTで何ができるのか?どんなことに使えそうか?を皆さんと考えていく勉強会です。IoTデバイスの利活用や開発方法を学んだり、購入前の情報収集として参加いただけるイベントです。
今回のイベントでは、様々な電子部品を接続でき、産業用から教育用途まで幅広く利用されている「Raspberry Pi (通称: ラズパイ)」、液晶ディスプレイ・ケース・バッテリー搭載の「M5Stack(エムファイブスタック)」、基板に最小限の電子部品を取り付けたシンプルなマイコンボード「Arduino(アルディーノ)」といった、3種類のIoTでよく使われるデバイスの特徴、選び方をご紹介しました。
IoTとは?3つの構成要素
最初は、ソラコム テクノロジー・エバンジェリストの松下(ニックネーム: max)より、IoTを構成する3つの要素を解説しました。
IoTとは、モノやコトのデジタル化を実現する技術です。現場の状況を収集するセンサーやデバイス、収集したデータを活用するクラウド、そしてそのデバイスとクラウドを繋げるネットワークの3つの要素で構成されています。
そのうち、今回紹介するラズパイ等は「デバイス」に該当します。具体的には、センサーやロボットアームなどの制御と、通信モジュールによるクラウド連携を仲立ちする位置づけです。
ソラコム松下の資料は公開しています。また動画でもご覧いただけます。いただくことができます。
マイコン・プロセッサの特徴と違いを解説
続いては、Seeedの松岡氏にご登壇いただき、マイコンとプロセッサの違いやデバイスの選び方を紹介いただきました。
まず、モノづくりには①実験フェーズと②量産フェーズの2種類があり、それぞれ目的やアプローチが異なります。
- 実験フェーズ:実現性を確認することを目的。可能性の模索のため、汎用的なものを使い手早くたくさん試す。
- 量産フェーズ:デバイスを大量に作ることが目的。後戻りしづらいため、コストや品質といった慎重さが求められる。
各フェーズとも、プロダクトを作ることがゴールです。このゴールを達成するために必要なツールの使い方を早めに覚えて、慣れていくことが、どちらのフェーズでも重要です。例えば、家具を作るためにトンカチの使い方を覚えておくように、プロダクトを作るためのツールの使い方や特徴を知っておく、といったことになります。そうすることで、いざ必要になったときに、スムーズに進めることができるからです。
IoTにおいては、そのツールの一つとして「デバイス」があるわけです。このデバイスにも、マイコンとプロセッサといった分類があります。それぞれの特徴を紹介いただきました。
ラズパイは「プロセッサ」と(本セッションでは)分類しました。これは、処理性能が高くてデータやプログラムの保存容量も大きい上に、通信機能が最初から備わっている、いわゆる「高性能・汎用的」なものを指します。ArduinoやM5Stackは「マイコン」と分類しました。マイクロコンピュータの略称でもあるマイコンは、プロセッサに比較して処理性能や容量も少ない一方で、構成部品が少ないことから価格が安かったり、また、カスタムがしやすいといった利点があります。
実際にデバイスを選ぶ際には、そのハードウェアの仕様だけでなく、利用可能なソフトウェア(プログラミング環境)の違いにも注目することが大切です。プロセッサにはパソコンと同じようにOSがあり、例えばPythonというプログラミング言語が利用できるため、数行のプログラムでセンサー等の周辺機器を操作できます。マイコンは容量が少ないこともあり、メモリサイズを抑えたプログラミング手法(ベアメタル)や、RTOSというハードウェア組み込み用OSの上でプログラムすることになり、専門的な知識が必要です。
どんなものにも適した万能なデバイスは無い
いったいどのデバイスを選んだら良いの?という質問に対して、松岡氏は「すべての願いを叶えられる自動車が無いのと同様に、万能なデバイスは無い」とコメントをしています。
この背景には、セッション最初の解説にあったとおり、フェーズによって目的が異なるからと説明いただきました。
アイデアが実現可能なのかを知りたいフェーズの時には、多少ハードウェアの価格が高くともソフトウェアの生産性を考慮すべきですし、量産検討フェーズでは “どのような機能があれば事足りるか?” といった最小化=コスト低減を模索できることが求められます。
ただ、片方だけ知るのではなく「ツール」として、あらかじめ異なるデバイスを使い体験しておくことも重要と強調されていました。
松岡氏の資料は公開しています。また動画でもご覧いただけます。いただくことができます。
ライブデモで解説!3種類のデバイスで温湿度の可視化
ここまでの内容を基に、実際に「プロセッサとマイコンの違い」をご覧いたけるライブデモ3つを紹介しました。
目的は全て同じ「温湿度データをセンシングし可視化する」です。クラウド側は、SORACOMが持つデータ収集・蓄積サービス SORACOM Harvest と、ダッシュボード作成/共有サービス SORACOM Lagoonを利用しました。通信やクラウド側の条件を同じにすることで、デバイス側の違いを見ていただこうという試みです。
ラズパイで温湿度を可視化
最初は、ソリューションアーキテクトの小梁川(ニックネーム: koya)が、OMRON社の環境センサーからBLEでラズパイにデータを送り、SORACOM Harvestに送信しました。
小梁川のライブデモは0:27:32から始まります。動くものを見たい、という方はぜひご覧ください。
ラズパイからは数行のPythonプログラムでセンサーの値を読み出し、クラウド(SORACOM Harvest)に送信しています。
OMRONセンサーからは、温湿度/照度/UV指数/気圧/騒音/不快指数/熱中症警戒度といったセンサーデータが固定長のバイトデータで得られる仕様です。そこで、Pythonにてデータの取り出しや値の計算をするようにしています。今回はこのような処理を行いましたが、利用するセンサーによってデバイスに送信されるデータの形が異なるので、この点を理解することがとても重要と解説いただきました。
M5Stackで温湿度を可視化
続いては、同じくソリューションアーキテクトの松永(ニックネーム: taketo)が、M5Stackを使ったライブデモを紹介しました。
松永のライブデモは0:44:26から始まります。
利用したパーツは、M5Stack Basicと、3G通信機能を付けられる拡張ボード、温湿度気圧センサユニットです。M5Stackを見てみると、ラズパイと異なり画面やボタンがついている点がハードウェアの大きな特徴です。また、Groveコネクタというインターフェイスがあり、対応しているケーブルを繋げることで様々なセンサーを取り付けられます。
開発にはArduino IDEを利用してM5Stackにソフトウェアを書き込みます。Pythonと比較すると、C++という言語で書かれていることもありプログラムの量や難易度が高くなっているのがわかります。しかしながら、M5Stackの特徴でもある画面には、通信の接続情報や温湿度データが表示されるようにもなっており、ラズパイとは異なる使い方であることも紹介いただきました。
松永が紹介したM5Stackと温湿度センサーを使い、SORACOM Harvestにデータを送る手順書はこちらです。
ソラコムではM5Stack Basicと 3G拡張ボードのセットを販売しています。同セットSIMは付属していませんが、同じくオンラインでSIM(nanoサイズ)をお求めいただけるので、1式揃えるのも可能です。
Arduinoで温湿度を可視化
最後は、Arduinoを使った開発をソリューションアーキテクトの松本(ニックネーム: ysk)に解説いただきました。
動画は0:56:42から始まります。
Arduino自体には通信機能はありませんが、LTE-M通信ボードを取り付けることでクラウド連携が可能です。また、ソラコムではArduino本体(互換品)とLTE-M通信ボード、そして各種センサーがセットになったIoTスターターキット for Arduinoがあります。今回は本スターターキットを利用しました。
スターターキット内のセンサーには温湿度センサーもついているため、このセンサーを利用しています。温度や湿度は変化が乏しいこともあり、松本のセッションでは、センサーに息を吹きかけ、湿度が大きくジャンプした動きのあるデモとなりました。
松本が紹介した内容は、SORACOMユーザーサイトで手順書を公開しています。もし同じデバイスで、データの可視化を体験したい方は、下記を参考にしてください。
また、3名の構成やデモの内容は資料にまとめています。ご覧ください。
「ラズパイ、M5Stack、Arduino」を用いた実際の開発にむけた情報
ラズパイ活用向け書籍の紹介
前半でお話しいただいた松岡氏が、ラズパイを使った電子工作をする方に役立つ書籍「ラズパイ自由自在 電子工作パーツ制御完全攻略」を執筆されました。
ラズパイは実現性を模索するのに便利なデバイスであることは、先のセッションでも紹介した通りですが、具体的に電子部品の接続方法やセンサーの取り付け方について、より深く知りたい方に向いている書籍です。
「異なるデバイスを使った体験」を後押し!50種類のIoTの使い方を紹介 ~ IoT DIY レシピ
ソラコムでは本日ご紹介した温湿度可視化だけではなく、ラズパイ、M5Stack、Arduinoを使った「監視カメラ」「どこでも情報端末」「CO2計測で換気促進」等50を超えるIoTの手順書「IoT DIY レシピ」をご紹介しています。
デバイスの設定方法からセンシング、データの活用までステップごとにご案内しています。「異なるデバイスを使った体験」に役立つ手順書ですので、こちらもぜひご覧ください。
― ソラコム 熊崎 (nao)