Translate

2016年5月18日水曜日

Arduino "Ciao" のトップページだけ翻訳してみた

Arduino Yunのドキュメントを読んでいると、Arduino社はどうもCiao ライブラリを使うことを推奨しているように読めた。
でも、Ciaoについてよく理解せず使っているのはまずかろう
と、
arduino.orgの

CIAO
http://labs.arduino.org/ciao

を勝手翻訳してよんでみた。

#ほかの翻訳同様参考にする場合は at your own risk でお願いします。




----

Ciao とは?


Arduino Ciao は、Arduino sketchに直感的な"外界"との通信を可能にする使いやすく強力な技術です。
サードパーティサービスやソーシャルネットワークなどの、大部分の標準的なプロトコルを使った様々なマイクロコンピュータ・Linino OS間の相互間通信のためのインタラクションを単純化することを目的としています。

Arduino Ciao - 以降 "Ciao"と略す - は、Sketch上で使用される正式なライブラリの一つです。

Ciaoは、モジュールとして簡単に設定できるように設計・実装されました。
システムリソース(ファイルシステム、コンソール、メモリ)とアプリケーション(Jabber、WebChjat、Twitter、Facebookなど)とのインタラクション可能なないくつかのコネクタをサポートすることがゴールです。

Ciao はMITライセンス準拠のオープンソースです:コードをよんだり、改善の議論やフィードバックの提供、新機能の開発が自由です。ソースコードはGitHub上で公開されています。

Ciao は2つのパーツで構成されています:

 Ciao ライブラリ:C言語で開発されました
 Ciao コア:Pyhtonで開発されました

図→ http://labs.arduino.org/dl1263?display&x=900&y=636

Ciao ライブラリ


Ciao ライブラリは、MCUがデータを(シリアル通信経由で)送受信するためにSketch内部でシンプルかつ直感的に使うことができる軽量ライブラリです。

動作の仕組みや設定方法をより理解するには、次のページを参照してください。

Ciao コア


"外界"との通信のために、Ciaoライブラリは、MPU(マイクロプロセッサ)サイド上のCiaoテクノロジキーコンポーネントである、Ciaoコアと相互接続します。Ciao コアは、Linino OS上で実行します。Ciao コアは、pythonで実装されており、コネクタとよばれるいくつかのモジュール経由で、"外界"との通信を可能にするよう設計されています。CiaoコアのコネクタはTCPソケットによりJSON形式の文字列を使って通信します。


Ciao コアは、このスマートかつ効果的な設計により、次のことが可能です:
 
  • 開発者が可能だとイメージしていることと同等のコネクタを使ってのインタラクション
  • Linino OS上で使用可能な言語で実装されたコネクタのサポート

Ciao コアアーキテクチャについての詳細や設定方法は次のリンクを参照してください。

Ciao のセットアップ


Ciao のインストールはとても簡単で数ステップで完了させることができます。このページを参照してください。

コントローラのリスト


既に使用可能なコネクタを探したりそれらをセットアップする方法を学習する場合は、Ciaoコネクタのページを参照してください。

動作可能なボード


Linino OS が動作する全てのボードで動作します:
  •     Arduino Yun
  •     Arduino Yun Mini
  •     Linino One
  •     Arduino Tian
  •     Arduino Industrial 101

Linino OS上でAlljoyn準拠のpytthonプログラムが動いていて、その上でコネクタ(これもpython)がSketch側のCiaoクラスで指定したもの(コネクタで定義したname文字列)動くようになっている。  

Alljoynは常時動いていて、コネクタをサポートし、それぞれのコネクタは設定ファイル内でnameをhじめとした細かな通信先ホスト名、ポート番号、必要があればユーザIDやパスワード(APIキーやSecretキー)、プロトコルへの細かな設定(MQTTならQoSとか)を記述する。

フレームワークでよく使用されるGoFのAbstract Factoryパターンで実装されているのでSketch側に細かな接続先の情報をいちいち書かなくて良い。

これはSketchプログラムが、最終的にAVRマイコン上に焼き込むため、なかなか更新することが難しいので、通信先のホスト名の突然の変更などはLinino OS上の設定ファイル変更で対応させようとしている、オブジェクト指向デザインの基本"関心の分離"を行っているわけか..

一見するとCiaoは記述する箇所がLininoOS上までおよぶので手数が増えるだけで旨味がないようにみえるが、その実IoTデバイスとして本番機動作迄踏まえた設計であるといえる。

つまり Arduino社も IoT に本気になった、ということだろう。

0 件のコメント:

既存アプリケーションをK8s上でコンテナ化して動かす場合の設計注意事項メモ

既存アプリをK8sなどのコンテナにして動かすには、どこを注意すればいいか..ちょっと調べたときの注意事項をメモにした。   1. The Twelve Factors (日本語訳からの転記) コードベース   バージョン管理されている1つのコードベースと複数のデプロイ 依存関係 ...