「ラズベリーパイ(ラズパイ)」「Bluemix(ブルーミックス)」と聞いて食べ物を思い浮かべずに、ピンと来た人はおそらくコンピュータに深く関わっている人たちでしょう。
9月8日に開催されたのは、そのラズパイとBluemixを使った、女性による女性のための女性のイベントです。主催はWomen Who Code Tokyo(WWCT)。Women Who Codeは、IT業界で働く女性のためのコミュニティで、世界14カ国1万8000人以上の女性が参加しています。WWCTは2014年に設立されたもので東京を中心に活動しており、ITに興味のある女性たちが集まり、勉強会やイベントを開催、今回のイベントもその一環として行われています。今注目されているIoT関連で活躍できる女性育成が目標のひとつになっているそうです。
今回の講師陣はBluemixユーザー会からIBM関連のみなさんが登場。クラウドで利用できるワークフローソフトウェアのBluemixでラズパイの持つ機能を利用し、IoTアプリ開発につなげようという試みを行いました。
テーマに掲げられたIoTは、Internet of Thingsの略称で、いろいろなものをインターネットにつなぎ、生活の効率を高めようという考え方です。家電や住宅設備をネットとつなぎ、スマホで利用できるようにするのもその一例。IT業界のみならず、ようやく多くの人々にも知られるようになってきましたが、有効な利用法の開発には「女性」の視点が重要ともされています(だって家の中を一番使って、一番良く知っているのは女性だから)。WWCTでIoTに取り組むのはそんな狙いもあります。
では、そもそもそのラズパイ、Bluemixとは何でしょうか。
カード型のワンボードPCと思ってください。もともとは教育用に開発されましたが、一般の認知度は決して高くはありません。しかし、接続できるデバイスが多いことから汎用性は高く、さまざまな利用法が考えられます。今回のイベントも、その点に注目してのことでしょう。
しかし、もちろん、工作の延長に位置付けて純粋に楽しむことも可能です。その楽しみの中から、生活に生かすシステムになれば、それもIoTのひとつです。
Bluemixとは
IBMが開発・提供しているプログラム開発環境です。クラウドを利用しているのでPCへの負荷が少なく、さまざまな処理系にマルチに対応する優れもの。プログラミングもビジュアルで用意された機能をドラッグ&ドロップで行うことができ、処理の流れは、選んだ機能を線でつないでいくだけ。デバッグ処理のモジュールなどを挟み込んでおけば、作成しているプログラムの処理が正しく行われているかどうかもリアルタイムで確認できるようになっています。
参加者は講師陣を除けば女性だけ。5つのテーブルに4人ずつで、20人ほどが集まりました。今回のテーマは「ラズパイとBluemixでIoTアプリを作ってみよう!」ということで、ラズベリーパイをネットワークにつなぎ、クラウドで利用できるBluemixをプログラミング環境としてIoTアプリを作ろうというもの。
このテーマに沿って、この日はBluemixの開発環境に慣れ、そのなかで、どのような開発が可能なのかを実感してもらうことが中心になります。会場では、参加者それぞれに行き渡るようにラズパイとパソコンが用意され、それぞれがインターネットに接続し、講習に入って行きました。しかし、ネットワーク環境にはよく魔物が潜んでいます。いつもと異なる使い方をすると、その魔物が突然姿を現し、使う人を困らせます。
この日もそうでした。いつもより20台も多くのパソコンがつながり、加えてラズパイも20台以上つながっています。そして参加者が一斉にネットワークにアクセス。これには会場のWi-Fiもびっくりしたことでしょう。なかなかすんなりとはつながってくれませんでした。しかし、この日の目的であるBluemixの機能に慣れ、ラズパイ活用の一端は多くの参加者が実感できたようでした。
最初に行ったのは、BluemixがラズパイのCPU温度をネットワークを介して取得し、それをグラフ表示するというもの。温度情報の取得にはBluemixがもっている機能の1つであるIoT Foundationを使います。IoT Foundationを介することでネットワークにつながった機器のさまざまな情報を取得でき、その中の温度のデータを使ったわけです。これだけでも、温度センサー的なIoTを実現する入口を体験できたことになります。参加者の多くはネットワークの不調に惑わされながらも次々と温度グラフをディスプレイに表示していました。
次に行ったのが、Bluemixがもっているグラフィカルなプログラミング環境の体験です。今回はNode-REDというさまざまな処理系に対応できるワークフロー機能を使いました。
Node-REDでプログラミングするにはFlowエディタを使い、処理のワークフローを作ります。エディタ画面は大きく縦3つに分かれていて、左側が機能パレットになっています。そこから必要な機能を拾い出し、中央シートにドラッグ&ドロップするだけという簡便さです。ドロップした機能の設定は別ウインドウを開いて行います。実際のプログラムの処理は選択した機能を順番につなげて行いますが、その指定は各機能を線で結ぶこだけ、これまた簡単です。プログラムのデバッグ機能も同様に選択し、処理の中に挟み込んでいきます。
このとき右側の欄には関連するインフォメーションが表示されています。実行されたときのデータ表示なども行われるので、正しい機能選択・設定が行われているかどうかの確認も、即座に可能にしています。
今回の講習では、最終的なアプリの作成まで行き着けませんでしたが、その入口を体験しただけでも、IoTアプリ開発に向けた期待が高まったようでした。
今日の講習では、Wi-Fiが重要でした。クラウドベースで動くBluemixはネットワークが機能しないと、その優れた開発環境を実感できません。その点、この日の講習はやや不満の残るものだったでしょう。
しかし、参加者はこうしたネットワークの不調もなんのその。経験豊富な猛者が中心になってネットワーク不調の原因を自分たちで探り、解決しようとします。講師陣はIBMの現役エンジニアたちですが、最初は彼らに頼ることなく、ネットワークの接続の確認を繰り返していました。
会場のWi-Fiの電波が一様でなく、あるテーブルではつながり、他のテーブルではつながらないという状況がありました。不調の原因はWi-Fiだけでなく、ラズベリーパイ側にも問題があったようです。これはラズベリーパイそのものの問題ではなく、Wi-Fi子機の問題。Wi-Fi子機には接続するネットワーク機器との相性の良しあしが、よく指摘されます。それだけでなく、接続部のゆるみなども今回はネットワーク不調の原因になっていたようです。
しかし、IT関連の開発現場にトラブルはつきもの。どんなに整備されていても、思いがけない事態に遭遇し、その課題に挑む必要が生じます。こうした課題解決もIT技術者に求められるスキルの1つではないでしょうか。この日参加した女性たちはいつも開発に関わっている人たちばかりではありませんが、課題に向かっていく姿勢は、まさにIT技術者そのものであったようにも思えます。女性たちの頼もしさが印象的な講習でした。
WWCTのファウンダーHimi氏は「参加されたみなさんがプログラムで"こんなこともできる"と感じ、考えることができるようになること、ITも何かの解決法、選択肢のひとつになること」が、WWCTが目指す目標のひとつであるとしています。女性目線でのIoT、アプリ開発には、多くの企業も注目しており、IBM、千趣会、リクルートライフスタイルなどがサポートを提供しています。プログラムやネットといえば男社会のイメージですが、だからこそ女性が重要です。過去、WWCTからママが欲しがる保育園のマップアプリが開発、ローンチされた事例もありますが、これなどはまさに女性ならでは。
WWCTでは定期的に自主勉強会を開催しており、しかもそのほとんどは自然発生的なものなので、肩肘張らずに参加できるのもいいところ。「プログラムなんて」と言わずに、ぜひ気軽に参加してみてほしいものです。