わふうの人が書いてます。

iOSアプリケーション開発、BLEのファームウェアとハードウェア試作のフリーランスエンジニア。

BLE4.2勉強会に参加して

BLE4.2勉強会でのプレゼンテーション

BLE4.2勉強会 Maker Lab Nagoya に呼んでいただき、以下の資料でプレゼンをしていました。

参加された方々は、初めての方や、2013年にあったBLEの講演や2014年に大垣で開催されたiBeaconハッカソンに参加されたお久しぶりの方々で、
また名古屋以外から多く来られていました。

iOSと家電を統合するHomeKitというものがあるのですが、ラズペリーパイやESP8266などにホームキットを実装して、
Siriに”リビングは何度?”と温度を聞いたり、”照明をつけて”と指示を出したり、もう会話が成り立つレベルで使えること、
またその作ったものを見せていただくなどしました。

本音では、あんたらプロやん、むっちゃプロやん、っていうか知識もうあるやん勉強会とか必要ないやん、と心のなかではツッコミまくりです。

プレゼンの構成と内容

プレゼンの構成と内容は、すでにBLEをよく知っている方々と、基礎から知りたい方々のどちらにも役に立つものをと考えました。
前半はBLEを、後半はBLEに限らず今バズワードとなっているIoT系も含めて広く、ハードウェアが持つ意味をどう変化させていくのか、
その自分なりの考え方をまとめました。

BLE4.2の使い方、使われ方

BLEの内容は、2013年での講演のようにBLEの技術内容を物理層からボトムアップで詳細に語るのではなく、
その技術がどのような使われ方につながるのか、またその技術が世の中で使われるとどのような意味を帯びるのか、から構成しました。

ネットワーク・トポロジは、つながりかた、つまり通信で誰と誰が関われるか、その形を決めます。
4.0での単純なスター型でよい場面、また使えない場面。そして4.1で入った更新がもたらした変化を話しました。

パケットをやり取りするリンク層は、電池交換や商品価格や外形デザインに大きく影響する消費電力などに影響します。
ブロードキャスト、リンクした時の通信の特性を話しました。

Bluetoothは無線通信を通じてハードウェアを使うための技術と言ってもいいでしょう。通信を通じて、ハードウェアと関わるために
ATTおよびGATT層が持つ役割を、20世紀ではなく21世紀でのオブジェクト指向という視点で話しました。

セキュリティ・マネージメントは、表には見えにくい技術ですが、ハードウェアがネットワークに繋がる時代には、
そのセキュリティ・マネージメントこそがハードウェアの所有や利用の権利を管理する重要な核となります。
通信技術の視点でのセキュリティ・マネージメントは、利用者の大切なプライバシーやセキュリティを守るための技術ですが、
そこにハードウェアが関わることで、権利のための基盤技術となり、大きな意味を持ちます。

L2CAP connection oriented channel
は4.1で導入されたBLEでもL2CAPを直接ストリーミングとして使える仕組みです。IP系の技術などGATT/ATTとは全く生まれの違う技術でも、
GATT/ATTと共存させることができます。

無線通信は通信相手も同時に普及しなければならないために、通常は普及までに長い時間がかかります。BLEは、すでにほぼすべてのスマートホン
に採用されているBluetoothの規格一部であるため、Bluetoothブランドのもとで、またiPhoneにより短期間のうちに普及しました。

直接電波をやりとする物理層は、金物でしか実現できませんから、このチャンネルのような仕組みがあると、
電波をやり取りする部分は、スマートホンから直接使える利点もあり大量に製造されることでコストも下がりますから、BLEでよいのではないかとも思えます。

IoT系の話

インターネットを振り返りIoTを見通す

IoTという単語が話題になってきています。その話題の単語について語るのは、例えば2000年にインターネットという単語で、これから生まれていくる
新しい企業やサービスを議論するような、いくつもの分野にまたがるとても広い範囲の話となり、何時間でも話が尽きないことになります。

しかしインターネットという単語は、たしかに新しいサービスを生み出していますが、世界の価値生産からみてそれなりの割合を占める
新しい産業を生み出したのかといえば、自分の生活を見る限りは疑問です。
しかし、新しい技術で市場に参入することで、大きなシェアを占めることは、いろいろなところで起きそうです。

例えば、私は、商品購入や移動あるいは宿泊は全てネットを経由して提供されるサービスを利用しています。
ネットがなかった2000年以前とネット経由でサービスを利用している2016年では、利用している会社あるいは業者は全く違っていますが、
しかし消費活動それ自体は同じものです。
しかし、インターネットあるいはITという新しい単語で、ネット経由の旅行業を始めた会社は大きく成長しています。
アマゾンなどの通信販売会社は年々売上を伸ばしています。

IoTという単語で新しい消費は確かに生まれているはずですが、しかし個人の消費行動が大きく変わらないなら、
世界の価値生産の大きな部分を占めることはありません。
産業としてみれば人の消費活動それ自体は新しい物はなく、しかし新しいものとしてラベリングされることで、新しい物を提供する会社が
既存の需要/シェアを飲み込み、急速に成長する気がします。

見せかけのオープン

IoTという単語で、いくつかの企業が集まり新しい規格や団体を作り出しています。あまりに多くありすぎて、もはや、どれがどれかを認識することすら困難です。

今の時代的には、それが実用に足るのかを判断できる程度に、1つの規格を見ていくのも時間と手間がかかります。さらに、通信技術が使われるためには
既存分野の枠を超えた広がりなど、周囲の盛り上がりが注目をあつめるために必要でもあります。

技術仕様がオープンであれば、オープンソースプロジェクトなどで、使いやすいものが出てくる可能性もあります。
また、規格団体がオープンソースでプロジェクトを運用することもできます。もしもオープンでなければ、
規格団体がプロジェクトを運用するときに自身のオープンにはしない方針に縛られて、バイナリファイルの形でしか提供できない、あるいは
個別問い合わせでライセンスを締結しなければならないなど、活動の活発さを削ぎ落とすことにしかなりません。

また、仕様がオープンであっても、収益源として確保する方法が、今はいくらもあります。
事業をするならばライセンスが必要になる法的なユーザライセンスにしておいてもいいでしょうし、
事業規模で実施するには認証コードや暗号鍵のようなものの払い出しをうけなければならないような技術的な方法もあるでしょう。

もしも規格が、本当にオープンなのか、それとも今時の時代の流れに合わせて横並びになるためにオープンにしているだけなのかを判別するならば、
個人あるいは従業員数名の会社でも、規格に対して提案ができる仕組みがあるのか、また提案が取り込まれる可能性があるのか、を見てみるのがいいかもしれません。

もしも、規格は公開されてオープンになっているが、規格を決める手順や運用は公開されていないならば、形はオープンではあるが、その意味は、
我々の軍門にくだれ、これは軍門にくだるための手順書だ、という斜めからの見方も、できるのかもしれません。

オープンの意味

2000年にインターネットという単語が話題になり、ウェブ制作会社など今までなかった会社が生まれる一方、インターネットを活用した今では大きな会社がいくつか生まれています。
そのような会社は、システムは会社の根幹ですから、会社内部でシステムを作っています。

一方で、2010年以降は、iPhoneのアプリ市場の盛り上がりなど、ハードウェアとSDKそしてアプリ配信と課金システムがプラットホームとなり、その上で多種多様なサービスが
展開されています。いわゆる、エコシステムと呼ばれるものですが、日本でも1つのアプリで何千億円もの売上をあげるソーシャルゲームが誕生しています。

そう見ると、IoTでのオープンというのも、プラットホームとしてのオープンさ、エコシステムになるための必然としてのオープンさなど、いろいろ違うオープンがあるのかなと思います。
これからIoTで事業をする会社が外注することは、ありえないでしょう。IT系の投資は、初期はせいぜい人件費、1桁億円でしょう。
金額のちいささと事業の将来を決めるものととらえる重要性をちゃんと理解するなら、内部で閉じたチームでお仕事をされるだろうな、そう思います。

IoT系の本当に社会で運用されるニュースが表に出てくるのは、おそらく8年後くらい、例えばアマゾンのシステムを利用しているところが、アマゾンの宣伝のために講演に出てくださいと
促されて表にでてくるなど、そういう感じかなと思います。

どんづまりの悪あがき

ニュースでIoTという単語を目にした時は、それをニュースに出すことが利益になるものがいないか、を考えてしまいます。

前節の旅行業界の変化の振り返りから、IoTという単語は便利な道具ではなく、消費や決算あるいは流通経路が今までとは違うものにしうる何かとも言えます。
誰しもがそういった可能性を現実に起きうるものと感じるからこそ、IoTという単語は話題を集めるのでしょうが。

既存の大企業が、5年間の中期経営計画を立てるとき、IoTという単語を使うのは、流通などの経路の変化とはお金の流れの変化であり、それは大変化ですから、それはそうなる気がします。
しかし、ビジネスモデルそれ自体は全く変えずにネットを活用していますと外部にアピールするようなものであれば、
それはIoTという単語をただの便利な道具と誤解しているだけか、未来的な単語を取り入れることで株価に期待値を織り込みたいだけか、
なのでしょう。

自分が変化する気がなくて、現状からさらなる成長を探す努力に疲れて、
一振りすれば業績が10倍になる魔法の道具の渇望からIoTという単語が口から出るなら、もうその会社は寿命を迎えているのでしょう。

雑談のなかから

ウェブとハードウェアのエンジニアの、混じらなさ

BLEの開発でも経験しますが、アプリはアプリの会社、ハード(とBLEのファームウェア)はハードの会社と発注先が別れることが、
よくあります。そうすると、アプリとハードのエンジニアの所属会社は別ですから、勤務場所も別となり、アプリとハードの連携部分で、
うまく動かない、こういうものではないと、トラブルしか起きません。

IoT系の分野でも、プロジェクトをちゃんとマネージメントできる人がいなければ、そういう事態になるしかないだろうなと思います。

受託案件をしていて思うのは、3という数字が大事だと思います。発注と受注という1対1の関係性では、意識して対等の関係であろうとしても、
どうしても納期あるいは仕様などで、対等になりにくい部分が無意識に意識されて、それが見えないトラブルの原因となりかねません。
そのようなとき、発注-受注の関係ではなく、第3者的に、普段は別に仕事をしているわけではないが、客観的に流れを見ていて、
ときどき関与する人が、いるといいのかなと思います。

MQTTとかCoAPとか

IoT系のデモンストレーションとして、MQTTを使って、1つのハードウェアのボタンを押すと、ネットワークで繋がった別のハードウェアのLEDが点灯するデモンストレーションが、
よく行われます。

2000年前半にIPv6振興で公的機関が動いていた時期があります。その当時はブラウザから機器を操作する、いわば回りくどいリモコンがデモンストレーションとしてよく見かけました。
現代にブラウザから機器をオン・オフしても、それはそうだよねとしか思えません。ハードウェアの連携という姿を表わすのに、このようなデモンストレーションになるのかと思います。

その時によく使われているのがMQTTというプロトコルです。ブラウザではない何かのデモンストレーションをするときに、ツボにはまるのだろうと思います。

ただ、デモンストレーションの都合というしょうもない発端を一度忘れてみると、MQTTの仕組みをデータによるシステムの疎結合の結合点としてみると、いわゆるIoT的なものを構築するときの
1つのパターンと見てもいいかもしれません。

例えば、Suicaのシステムを構築した方が博士論文を出されています。
異種統合型情報サービスシステムにおける自律分散アシュアランス技術の研究

Suicaといえば、駅だけでなく、いまやバスや売店など広い範囲で使われている、まさに支払い手段のインフラといっていいまで普及したブランドです。
このSuicaを支えるシステムは、毎日大量の利用/決済データを全国各地で処理するだけではなく、システムの一部が故障や停止をしても全体として停止しないタフさをもたせる、
また異種のシステムの接続を受け入れていく必要がでてくるだろうなど、設計時点では想定できない事態に対処できる柔軟さをもたせるなどの、
実用から必要であり、まただからおもしろいと見える、発想から設計されいる、っぽいです。

このシステムの技術的な根っこは、
システム要素がバスに流れるデータに反応するデータ駆動の疎結合、
データの矛盾が発生した場合はSuicaの電子カードの記録をオリジナルデータとする矛盾発生の対処方針、にあると私は思いました。

そう思うとMQTTは、システムが時間とともに成長し変化していく柔軟さを持たせるために不可欠な、構成要素間の疎結合と要素間の連携動作の連結点、電気回路でいえばバスのようなイメージのなにかを、
IPの世界で提供する何かと見ておくと、いいのかもしれません。

その他

オフレコでしか話せない内容を話せて、個人的には満足しました。

なぜきぐるみを着たのかという話、集団から異種な存在である立場の持つ意味、
ニュースで見かける東京というか秋葉原発のハードウェア・スタートアップの内容が個人的にむちゃくちゃ嫌いな理由、
IoT系にも通じるボケとツッコミの大切さ、ハードウェアそれ自体に価値がなくなっていく時代の流れなど、
リアル世界で肉声で話してみて、自分にとって大きな収穫を得られた気がします。

また今後共。