IBM Cloud から見た Arm Mbed な IoT をまとめ 〜 IBM IoT Foundation

## IoT = Internet ＋ Things スターターキットの比較

### プロローグ
モノ＋インターネットなIoT。モノ（ハード）側から見た [Arm Mbed IoT スターターキットと IBM Cloud (ex-Bluemix) 〜 ボード３種類をチェックしてみた](https://qiita.com/nikosun/items/e6a594406fc275d2be5c) も書いたが、こちらはネット側から見たまとめ。
Arm Mbed のプロトタイピングから、旧 Bluemix のサービス IBM IoT Foundation に触れた時、作り込まれて上手く出来てるなと感じたが、いざ IBM のサイト内を見ると記事が多数ある反面、レシピもビジネスプランもブログも渾然と同時に出てきて、物量の多さに何をどう検索したらいいのか混乱…。
当初「まぁとりあえず後で時間とって見るかな」というパターンを繰り返していた。そんな経験から、ネット側のこと、少しまとめてみるのも意味があると思う。そのため、リンクと脚注は多めの構成になっている。

## 「IBM Cloud」側から見た「Arm Mbed」な IoT は
各社パブリッククラウドには、現在それぞれIoTスターター的なキットがある。
IBM「Bluemix（当時）」と、Arm「mbed（当時）」の組合せで、すぐ開発が始められる高速プロトタイピングキット「mbed IoT Starter Kit」 [^1] （2015年2月）の発表の後、それぞれに変化があった。

+ Bluemix → IBM Cloud [^2] （2017年11月）
+ ARM mbed → Arm Mbed OS [^3] （2016年8月）

2017年12月現在、IBMクラウドの名称とサービスの変更から約1ヶ月。
「IBM Cloud」＋「Arm Mbed」の組合わせで、現在もそのまま使えるのか？情報の整理をしつつ参照リンクや気付いた点など、当ページの[冒頭のリンク記事](https://qiita.com/nikosun/items/e6a594406fc275d2be5c) でチェックしてみた。
記事では、基本的に下記の組合せでテストしている。

[^1]: mbed IoT Starter Kit 参照：<br>[- Ethernet IoT Starter Kit（Arm）](https://os.mbed.com/platforms/IBMEthernetKit/)<br>[- ARM® mbed™ IoT Starter Kit（IBM）](https://developer.ibm.com/recipes/tutorials/arm-mbed-iot-starter-kit-part-1/)<br>[- Internet of things starter kit unveiled by ARM and IBM（BBC News）](http://www.bbc.com/news/technology-31584546)<br>[- mbed LPC1768 + IBM IoT Foundation = 5分でIoT（スイッチサイエンス）](http://mag.switch-science.com/2015/03/19/mbed-5min-iot/)
[^2]: IBM Cloud 参照：<br>[- IBM Cloudライト・アカウント（IBM）](https://www.ibm.com/cloud-computing/jp/ja/bluemix/lite-account/)<br>[- 日本IBM、「IBM Cloud」に無償プラン ─ WatsonやIoTなど25種類が対象（ZD Net JP）](https://japan.zdnet.com/article/35060823/)<br>[- 日本IBMがクラウドの「無料お試し」を無期限に、Watsonなど（ITPro日経BP）](http://itpro.nikkeibp.co.jp/atcl/news/17/102702548/)
[^3]: Mbed OS 参照：<br>[- Introducing mbed OS 5（Arm）](https://os.mbed.com/blog/entry/Introducing-mbed-OS-5/)<br>[- mbed OS 5でLEDを光らせてみる（スイッチサイエンス）](http://mag.switch-science.com/2016/08/12/mbed_os5_blinky/)

**IoT = Internet ＋ Things**
　**• Internet**　→ IBM Cloud の IoT Foundation を使う
　**• Things**　→ Arm Mbed OS 〜 ver.2 と 5 があるが、併用しつつ使う

<details><summary>Mbed OS ver.2 と 5 って？</summary>Mbed OS は、現在ver.2（classic/オンラインコンパイラ環境）またはver.5（CLI/オフライン）で [バージョン2の次が、2 + 3 = 5 になった経緯 ](https://os.mbed.com/blog/entry/Introducing-mbed-OS-5/) （つまりver.3と4は無い）</details>

---
## クラウドサービス比較一覧
一覧表（参考）：[Public Cloud Services Comparison](https://ilyas-it83.github.io/CloudComparer/) 
　• 各社特色が違い、単純比較は難しいと思うが、客観的な参考になると思う
　• IoT Development Solutions → AWSとAzureには有り、GCPとIBMの項目には無し（2017/12現在）
### • 主なクラウドサービスのIoTスターターキット的なもの（IBM Cloud以外）
　• Amazon US：[Getting Started with AWS IoT Core](https://aws.amazon.com/iot-core/getting-started/)
　• Amazon JP：[AWS IoT スターターキット](https://aws.amazon.com/jp/iot-platform/getting-started/#kits)（~~USに比べ情報少ない~~＊）
　• Microsoft：[Find your IoT device](https://catalog.azureiotsuite.com/kits)（JPは無し）
　• Google US：[Get Started with Cloud IoT Core](https://cloud.google.com/solutions/iot/kit/)
　• Google JP：[Google IoT デベロッパー プロトタイピング キット](https://cloud.google.com/solutions/iot/kit/?hl=ja)（~~JPは1点のみ~~＊）


上記３社の「この中からボード選んですぐIoT始めよう！」と集約した情報に対比するような IBM Cloud のページは見当たらない（からダメという意味ではない）が、IBM developerWorks にレシピが多数ある。
検索すると数多くヒットし、むしろどれを選ぶべきか迷うと思う。（ずばりオススメが知りたい）

（＊ 2018/02 追記：執筆時点ではAmazon JP、Google JP ともUSに比べ翻訳/情報が少なかった。その後、年明けすぐの頃チェックしたら「翻訳中です」メッセージが表示されていて、さらに後日JPサイトの情報はUS同様に整備された。そのため打ち消し線で修正した。）

### • IBM Cloud の IoTスターターキット（的なもの含む）
以下はグラフのデモ表示まであるもの。
　• IBM devWorks » Recipes » Tutorials：[ARM® mbed™ IoT Starter Kit](https://developer.ibm.com/recipes/tutorials/arm-mbed-iot-starter-kit-part-1/)
　• IBM devWorks » Recipes » Tutorials：[mBed C++ Client Library for IBM Watson IoT Platform](https://developer.ibm.com/recipes/tutorials/mbed-c-client-library-for-ibm-iot-foundation/)
　• IBM devWorks » Recipes » Tutorials：[Experiments with Bluetooth and Watson - ESP32/Arduino](https://developer.ibm.com/recipes/tutorials/experiments-with-bluetooth-and-watson/)
　• IBM devWorks » Recipes » Tutorials：[Connect FlyTag using Raspberry Pi 3 to Watson IoT ](https://developer.ibm.com/recipes/tutorials/connect-firefly-flytag-using-raspberry-pi-3-to-ibm-watson-iot-platfom/)
以下はカテゴリーまとめ。多種多様にたくさん出てくる。
　• IBM devWorks » Recipes：[Internet of Things (IoT)](https://developer.ibm.com/recipes/tutorials/category/internet-of-things-iot/)
　• IBM devWorks：[Internet of Things](https://www.ibm.com/developerworks/jp/learn/iot/)
　• IBM devWorks：[IoT Foundation Support](https://developer.ibm.com/recipes/author/iosuppor/)

## IBM Cloud
IBM のクラウドサービス、Softlayer が Bluemix に統合したのが2016年。そして翌2017年11月には、その Bluemix が IBM Cloud に名称とともにサービス内容も変更。

この期に、それまで60日間お試し期間に無償で使えた旧Bluemixのサービスが、「Lite アカウント」登録で期間限定なしに。もちろん容量とか一部有償など制限はあるものの、クレジットカード情報入れずにアカウント登録だけで使えることになった。

それに伴い、種々のサービスにも色々と変化がある。なお、以下のQiita記事が参考になる。
  → 新 IBM Cloud の登録はQiita [IBM Cloud (aka Bluemix) ライト・アカウント作成手順](http://ibm.biz/litecloud)

他にも多数、同様の記事があるので、それらを参考に。

## Arm Mbed
Arm Mbed は2017年にロゴが変わり、秋には Mbed Cloud に関する新たな発表があった。
2017の冬、ロードマップの中心に据えられているのは、Mbed Cloud のように見える。
なお [Mbed Connect 2017](https://www.mbed.com/en/about-mbed/mbed-connect/) で発表された、ユーザーを一部限定した [Cloudを模した雲形基板](https://os.mbed.com/platforms/mbed-Connect-Cloud/) があったりする。
末端のIoT機器からクラウドへのセキュアなネット接続については、実際に商用で使おうと考えている場合、この件には非常に大きな関心があると思われる。

今後の展開や発表に期待している、これは私だけではないと思う。

## まとめ
この数年、IoT のウネリが来ていると言われてからしばらく。これから世界に IoT が大きく広がり、クラウドやビッグデータの分析、新サービスの提供など、そこにビジネスチャンスも多くあると思われる。
その将来を見込み、クラウドベンダー各社とも新規の潜在的顧客の発掘を進めているところであるが、IBM Cloud としては新たに分かりやすい「IoTスターターキット」の提供が望まれる、と感じる。
さすが IBM、その研究機関としての役割、例えば Nord-RED とか MQTT や LoRA へのコミットなどかなり IoT に使われる基礎技術には貢献している。その反面、クラウドビジネス４強の中では、もっと力を発揮できるのではないかとも感じる。
スターターキットが無いと、つい「Raspberry Pi でハンズオン」になりがちだ。しかし、Linux 搭載の小型 PC、ラズパイの機能が豊富なのは当然で、多くの IoT アプリケーションで考慮されるべき消費電力の事が考えられているとは言えない。またあの低価格で販売できるのは、ラズベリーパイ財団によるものである。そんな理由から、一般向け商用の IoT に適しているか？とは何とも言えない。（もちろん、ラズパイを否定しているわけでは無いので、ご理解をいただければ幸い）

最初の一歩である Hello World! や LEDチカチカは大切だ。
まずとりあえず動く、というのは心理的にはとても大きい。ただ、そのLチカの後に続いて、開発を進めてみようと思う何か〜 それはオープンで、将来にわたり持続して行けそうなクラウドサービスであり、プラットフォームであることが望まれる。（ベンダーロックインしないことも大切かもしれない）

上記の[ARM® mbed™ IoT Starter Kit](https://developer.ibm.com/recipes/tutorials/arm-mbed-iot-starter-kit-part-1/) は、10分かからずにネットに繋いでグラフ表示まで行ける、ある意味で完成された製品だ。起動してから操作中にLCDに表示されるメッセージなど、作り込みは確かに素晴らしいと思う。しかし、もう次の世代が望まれているのではなかろうか。
完成されたスターターキットであるがゆえ、単体で完結してしまい、応用がしにくい（出来なくはないが）。当然、この手の製品としては高価な部類だ。でも出来ることは基本的な動作確認だけで、10分ほどで一通り終わってしまう！
もちろん IBM はスターターキット完結製品が売りたいわけでは無かろう。

総合的にみて IoT に広範に対応できるハードウェア開発プラットフォームの本命は、やはり Mbed だと思う。

IBM Cloud においては、あまり作り込まず価格を含め導入と応用のしやすいスターターキットが望まれる。あるいはそれは、Mbed がベースの [BBC micro:bit](http://microbit.org/) （のようなもの）かもしれないが。


（資料まとめは、かかる時間の割に目新しくない…次は何かストレートに技術記事を書こうと思った）

---
##### （脚注） #####