直接セキュリティというわけではないですが、最近、組込機器といわれるものでもSDKが提供されることがり、独自にアプリ開発できるものが増えてきているように思います。
それらの例を挙げてみます。
RICOH THETA
360度、全天球カメラですね。
SDKはこちら。
v1ではPTP-IPでしたが、v2ではGoogle社のOpen Spherical Camera API Version 1.0(OSC)に変更されました。
OSCコマンド通信は、THETAが HTTPサーバとなり、HTTP + JSON での通信です。
余談ですが、OSCって聞くと普通はOpen Sound Controlだと思ってしまいませんかね?スマホのWi-Fi経由でも割とよく使われていると思うのですが、同じ名前にしてしまうと混乱の元ですよねぇ、と思ったり。
OLYMPUS AIR A01
スマホと連携ありきのレンズのみカメラ。
カメラとの通信仕様や、Android/iOS用ライブラリが公開されており、通信するアプリケーションが開発可能です。
以下のプロトコルで組み立てるようです。
- 基本のコマンド通信は、カメラがHTTPサーバとなり、HTTP + XML
- ライブビューの画像転送は RTP
- カメラからのイベント通知は TCP
FlashAir
FlashAirとは、無線LAN機能を搭載したSDHCメモリーカードです。
似たような製品にEyeFiもあり、クラウド側のAPIは公開されていますが、FlashAirは自身がHTTPサーバとなり、スマホからのHTTPアクセスによってファイルのダウンロードや設定変更が可能です。それだけではなく、なんとLuaスクリプトの実行ができたり、SDIOを通じてPIO制御までできてしまうというとんでもないSDカードです(褒め言葉)。
基本の通信は、SDカードがHTTPサーバとなりコマンド(URL)を受け付けます。
ソニー製カメラ、ブラビア、SmartEyeglass, SmartWatch2/3
いつの間にかSony製品では、いろいろ開発可能になってるようです。知らなかったわー。
PlayStationも入ってますね。へぇ。
こちらも基本のコマンド通信は、カメラやデバイスがHTTPサーバとなり、HTTP + JSONのようです。
HTTP + JSON 通信の未来
こうやって見てみると、SDKの提供されている組込機器と通信するには HTTPをベースに +JSON(XML)というあたりのプロトコルが使われることが多いようですね。(サンプル数が少ないですけど。)
最近は、カメラを始め、家電は何でもかんでもWi-Fiで接続できてスマホでコントロール可能になってきているように思いますが、それらも HTTP+JSON だったりするのかもしれませんね。
ただ、昨今、iOS開発でもHTTP通信から、HTTPSへの移行プレッシャーが強まっております。
Networking with NSURLSession in WWDC15
また、
を読むと、Let's Encryptの登場により、サーバ側もHTTPからHTTPSへの移行が一気に進みそうな気がします。
(ちなみに、Let's Encryptで使われているACMEというプロトコル自体も HTTP + JSON のようですね。)
とすると、スマホからはHTTPの通信はできなくなる(できなくさせる)という未来がくるかもしれません。それも意外に早く。
そうなったとき、これら組込機器への接続はどうなっていくのでしょうね?
組込機器との通信もやはりHTTPSが標準となっていくのでしょうか?
カメラ等はまだしも、FlashAirのような組込機器では暗号化の計算自体が苦しかったりするんじゃないですかね。
そんなことを思いつつ。
おわり。