樵-Kikori:
WebSensorServerSW

Kikori(樵)
現在、Kikoriで対応しているシステムは Mac, Linux (RasPi)です。Windowsはサポートしていません。有志の方のサポートをお待ちしております。

  • はじめに
     Groovy-IoTと同様のシステム、つまりMCP2221Aを活用したGroove Systemを接続するためのインターフェイスは他社からも出ています。Groovy-IoTと他社製との違いはGroove-IoT Server(樵-Kikori)を自社開発している点にあります。ハードの設計とそれに伴うソフト開発、ソフト開発からのフィードバックをハード開発に生かしています。コネクタ形状と役割が定義されたGrove SystemをIoTのエッジデバイスとしてセンサデータを収集するPoCに使うのは論を待ちません。ただそれらを使いこなすソフトウェアの環境を整えるのはWebやアプリの開発ばかりしてきたITエンジニアにとっては努力が必要です。一方、組込み出身のエンジニアから見ると、電源供給が確保出来ていてサンプリングレートが秒単位と言うのは相当にヌルイシステムです。ただ、Webとは?と考えると有る程度の学習コストがかかる事も事実です。

  • KIkoriの特徴
    1. Webとの親和性
       Kikori の特徴として、Webアプリと同様のインターフェイスで動作を設定出来、使い慣れたWeb形式でのデータ出力(JSON, WebSocket)でセンサデータを取得出来る事にあります。これによりWebやアプリのITエンジニアでも容易に取り扱う事が可能です。

    2. MCP2221Aに特化
       PoCで使うセンサの種類はそれほど多くありません。WebMasterの経験上、4つほどのGroveコネクタがあれば充分です。一部はI2Cによるバス構成でセンサの数を増設する事も可能です。コネクタ自体もマルチロールになっているので使う機能をダイナミックに割り当てる事が出来ます。つまりMCP2221Aの機能でことたりるわけです。KikoriはこのMCP2221Aをデバイスレベルでアクセスし機能を最大限に引きだすように設計・実装されています。

    3. 可搬性
       Clojureで実装されているのでJVMが動作している環境であれば動作可能です。ラズパイとの親和性はその形状からでも分かる事ですが、Mac, Linux-PCなどでも動作が可能です。JVMの動作が出来るのであれば、デスクトップPCのUSBに差し込み豊富なGroveセンサを試す事が出来ます。

    4. 適度な抽象化と隠蔽
       1とも被りますが、i2Cのセッションを内部表記することにより隠蔽します。これによりアプリなどの上位レイヤーを作る場合は複雑なI2Cのコマンド文字列を気にする事なく設計と実装に注力出来ます。