Upload
kenichi-yoshida
View
870
Download
1
Embed Size (px)
DESCRIPTION
オープンハードセミナー 2013 4Q
Citation preview
「組み込みーモバイルークラウドをオープンな形でつなぐ」
オープンハードセミナー2013 4Q
2013/10/12(土)
吉田 研一
Excuse;-<
• 最初というのもあるので…一般的な概要の説明とかを中心にします。
• 実は、組み込みーモバイルークラウド接続についてはベータ段階が多く、現状、じゅうぶんにオープンであるとはいえないかな – SONY , appiot
– MindFree , Real Socket Framework
–デ変研, Derimo
• なので最後にさらっと説明m(_ _)m
CONTENTS
• 自己紹介とオープンハードセミナーまわりの紹介
• 「オープン」な何か
• 本題「組み込みーモバイルークラウドをオープンな形でつなぐ」
– 2つの論理的な接続形態
–それに付随する物理的な接続形態
–取り組みを見る
自己紹介
• 吉田研一 姫路在住・大阪勤務
• 名刺できました
• 大阪イノベーションハブでは配ってます。
• オンラインでは配れ
ないので表示⇒
オープンハードセミナーとは
• 今回は2回目(2013年7月から開始)
• 大阪イノベーションハブでは初めて
• 日本橋でんもく会の「イチからはじめる」のオンラインセミナーシリーズから発展
• もくもく会は「黙々」したいので、「しゃべる」オンラインセミナーを分離しオープンハードセミナーとした。
• 3ケ月に1回開催 (1,4,7,10月)
• 次回は2014年1月初旬の予定
オープンハードセミナー第1回の様子
• プロジェクタを対面式に配置
http://atnd.org/events/40461 7月13日 ECCコン専
発表者の石井さんと発表スライド
東京・福岡会場の様子とオーディエンス
Android日本橋でんでんタウンもくもく会
• 9/20(日)に第12回を実施
• 3ケ月に1回開催 (3 ,6,9,12月)
• 次回は12月中旬です
日本橋ROBOBAでもくもくしています。
日本橋でんもく会の 「イチからはじめる」シリーズ
• Androidとマイコン等の接続性について初心者レベルから解説していくシリーズ
• 接続技法ADK, MicroBridge, USB Host APIなど
• 対象:マイコン(Arduino, PICなど)、FPGA(Xilinx, ALTERA)
• Androidアプリは開発できるがマイコンはちょっととか、マイコンはできるけどFPGAはわかんないとか、その逆とか
• 知らなかったことを知り、技術力の向上へ
東京・大阪・福岡って なんでこのメンバー?
• 日本Androidの会の全国イベントABC(Android Bazaar and Conference)で各支部から集まった「ロボットサミット」から(2011年夏~)
福岡支部
神戸支部
秋葉原支部
ちなみに来週はABC 2013 Autumn
• 「ロボットサミット」で出展します。
• 10月20日(日)東京電機大学
http://www.android-group.jp/conference/abc2013a/
オープンソースセミナーのねらい
• Androidはじまり、Androidつながりだが
• Androidにこだわらない
• Androidはもともと様々なデベロッパー文化の
集まりだった(ソフト、ハード、組み込み、基幹システム、Web)
• さまざまなオープンソースハードウェアにかかわる事柄を議論していきたい
• 興味のある方・団体は参加お願いします!
CONTENTS
• 自己紹介とオープンハードセミナーまわりの紹介
• 「オープン」な何か
• 本題「組み込みーモバイルークラウドをオープンな形でつなぐ」
– 2つの論理的な接続形態
–それに付随する物理的な接続形態
–取り組みを見る
さまざまな”Open”ムーブメント
• オープンソースソフトウェア(OSS)
• オープンソースハードウェア(OSHW)
• オープンデータ
• オープンデザイン
• オープンガヴァメント
オープンソースソフトウェア(OSS)
• 1998年 Webブラウザ・ Netscapeの公開プロセス上で生まれた言葉
• Netscapeは現在、Mozilla Firefoxとなり、オー
プンソース運動の代表的な成果物の一つに数えられる→Firefox OSにまで進化した
• ソフトウェア=コードはCD代程度で負担で流通する。インターネット社会ではそれも不要
http://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%BD%E3%83%BC%E3%82%B9
オープンソースハードウェア(OSHW)
• OSSと同じ形態で設計されるコンピュータや電子機器を指す
• ハードウェアは製造コストがかかるため、オープンソースのソフトウェアの定義がそのまま適用できるわけではない。
• FPGAのHDL(ハードウェア記述言語)コードを配布・共有したりする場合など新しい扱いも
http://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%BD%E3%83%BC%E3%82%B9%E3%83%8F%E3%83%BC%E3%83%89%E3%82%A6%E3%82%A7%E3%82%A2
オープンデータ
• 特定のデータを自由に利用してもOK、再掲載してもOKという考え
• インターネット上で大量のデータを扱うことができるときに効果がある
• オープンガヴァメントとの関連性が高い
–公共機関や企業が公開するビッグデータ
• 具体例を知りたくて、OpenStreetMapのマッピングパーティを地元で開いてみた。
OSMマッピングパーティin姫路城
姫路経済新聞 http://himeji.keizai.biz/headline/1045/
これは面白い
• マッピングした地理データをOSM上に入力し共有できる
• Googleマップと違い無料で自由に使える
• ハード系モノづくり系なことをやってるひとも割といるようだ
– mbedでGPSセンサをつないで自作GPSロガーを使っている人
– クワッドコプターで空中写真を撮っている人
ODbL(オープンデータベースライセンス)
• 2012年9月にオープンストリートマップ(OSM)
はクリエイティブ・コモンズライセンスからODbLにライセンスを移行している http://wiki.openstreetmap.org/wiki/JA:Open_Database_License
オープンデザイン
• WebでもFabでもオープンデザインの考え方が言われているようだ
• 個人的にはAndy(教材ロボット)のアクリル板その他の設計デザインや教育コンテンツをオープン化してFabLabなどの場で使うとか希望^^
Make: Japan 『オープンデザイン――参加と共創から生まれる「つくりかたの未来」』
オープンガヴァメント
• 情報公開型からオープンデータ型へ
– 《70~80年代》機密文書の情報公開を求める動き
– 《現在》オープンデータを活用するエコシステム
• 政府や自治体がもつオープンデータ
• シビックテック
– 「公共サービスをコーディング」する開発者
• 普及しているWeb・スマホ・タブレットを用いて公共サービスを市民が利用
Code for X
• Code for Japanの
各地域版 – Code for Sabae
– Code for Kanazawa
• Code for Americaの取り組みを参考に
• 昨日10/12(金)のミーティングにちょっとだけ参加してきました。
オープンっていろいろ
• いろんなオープンなできごとをよくみつめていきたいと思います
• OSHWとの関わりも
• WIRED 9月号が参考 になります
http://wired.jp/magazine/?id=9
CONTENTS
• 自己紹介とオープンハードセミナーまわりの紹介
• 「オープン」な何か
• 本題「組み込みーモバイルークラウドをオープンな形でつなぐ」
– 2つの論理的な接続形態
–それに付随する物理的な接続形態
–取り組みを見る
2つの論理的な接続形態
• クラウド⇔もの(ガジェット・デバイス)
• クラウド⇔スマホ⇔もの(ガジェット・デバイス)
IoT(Internet of Things)
• Things=モノ(やコト)のインターネット
• モノのインターネットの「本質的な」部分は
さまざまなガジェットなどがインターネットに直に接続されること
現時点で
• 中間にスマホが介在する形態が無くならない
–スマホ=とりあえずiPhoneやAndroidのこと
ADKなど触ってきた感覚では
• ADK:ArduinoとAndroidのUSBによる接続 – Androidにクラウド接続を肩代わりさせる
– Androidが中間に介在する余分な感覚
–本質的にAndroidは不要かなと感じていた
• だが逆に、スマホは非常に普及している –肌身離さず持つスマホのUX/UI性の高さ・利便性、通信能力の高さ
• スマホがあれば、ガジェットの軽量化・低コスト化が可能となる
物理的な接続形態
• クラウド⇔もの
– Ethernetによる有線接続
– Wi-Fiによる接続
• クラウド⇔スマホ⇔もの
– USBケーブルによる有線接続
– Audio(モデム・DTMF)による有線接続
– Bluetoothによる接続
– BLEによる接続
Wi-Fiによる接続
• メインのマイコンのほかにWi-Fi 用Linuxをもつ
– OSなしマイコンのI/OにOSを入れる逆転現象www
• Arduino Yún
• PQI Air Card
• Electric Imp
BLEによる接続
• 省電力でI/Oをもつ
• Konashi
• SBBLE(サブレ―)
• BLE112モジュール
• BLE600モジュール
モノとサービス連携のチャンス
• 小型化・省電力化
– SDカードサイズのWi-Fiモジュール
– コイン大のBLEモジュール
• 接続形態の違いをサービスに結び付けて新しいモノをつくるといいかな!
• 11/2(土)13:00~17:00にBLEの勉強会をECCコン専で行います。告知準備中。
組み込みーモバイルークラウドの 仕組み・取り組み
• Xively(ザイブリィ)
• 京都 デ変研 「Derimo」
• 大阪 MindFree 「RSF(Real Socket Framework)」
• Sony appiot
Xively(ザイブリー) https://xively.com/
• 2013年5月ごろまでCosm(コスム)という名称のサービス
• それ以前はPachube(パッチベイ)という名称だった。
–小林茂さんのガイガーカウンターのマップ
• http://www.yapan.org/main/2011/03/measure_radiation_dose.html
–菅工房の菅さんのウェザーステーション
• http://www.sugakoubou.com/doku/weatherstation
様々なデバイス・言語に対応
• ここではArduino+Ethernetシールドの説明を。
https://xively.com/dev/hardware/
Pachubeサンプルが参考になります
• ファイルースケッチの例ーEthernetにある
– PachubeClient
– PachubeClientString
APIキーを取得してREST APIを利用
送信(ヘッダ部分) 送信結果(200 OK)
送信部分(つづき)
¥n¥nまたは¥r¥rで空の行が来たらその次の行はボディ部(受信したいデータ)
¥n
¥n
送信…ボディ部分は例えば 「Temprature,31.5」と送られると…
この部分が「Channel」になる。 Cosm以前は「DataStream」と呼
ばれていた
Xivelyサーバ側にエントリされる https://xively.com/feeds/66335/ を確認してみて
(動いてない時もあるw)
以上スケッチ CosmClientTemp.ino https://gist.github.com/yoshidaken1/5941636
この部分が「Channel」になる。
ベタでPOSTメソッドを書くのも…
• イマイチいけてない。
• CSVデータを送信する程度ならいいが、受信するほうはベタ書きで面倒
• CSV, JSON, XMLなどはパーサが(多分)ないので力技は通用しない(Arduinoのメモリ容量もあるし…)
• で、Xivelyライブラリを使う!
https://xively.com/dev/libraries/
Arduinoライブラリに追加(2つ)
• https://github.com/xively/xively_arduino – ZIPファイルをダウンロードして解凍すると「xively_arduino-master」フォルダとなるのでエラーが出る。
– 「xively_arduino」フォルダとしてライブラリに追加する。
• https://github.com/amcewen/HttpClient – <Xively.h>ライブラリの前にこの<HttpClient.h>ライブラリも追加しておかないとコンパイルエラーになる!!
スケッチの例を参考にすればOK
ファイル-スケッチの例-xively_arduino にある3つ
DeviceとFeedとChannel(Xivelyの概念)
https://xively.com/feeds/1449775682
Feed 観測ポイント?
Device 装置名?
Channel 測定データ群
Feed
Xivelyスケッチの例 MultipleDataStreamsUpload.ino
Feed ID
Channel 名称
API Key
Channelをひとまとめに (Cosm時代のDataStreamが使われている)
メインループ処理 Channel データ群
デベロッパーコンソール画面
Channel データ群
Device
HttpReq.メッセージも ロギングされる
Feed関連情報
デベロッパーコンソールで 更に良いのは…
• Channelをクリックして直接データを書き込めること!!
「Sensor1」のChannelをクリックして現在値を入力!
Arduinoにテストデータ
値を直接読み込ませる際に活用できる
Xivelyスケッチの例 Arduinoからデータ取得
• JSONなどのキー・バリューも簡単なメソッドで値を取得できる
DataStreamsUpload.ino channel配列から取るやり方
DataStreamsDownload.ino Feed配列から取るやり方
組み込みーモバイルークラウドの 仕組み・取り組み(1 of 3)
• 京都 デ変研 「Derimo」
– クローズドサーバ⇔Android⇔Arduino
– USB Host API(Physicaloidライブラリ?)
– LongPollingによるプッシュ
– 10/20(日)のABC 2013 Autumでは講演有り
– ソースはCD-ROMにて購入者に提供
–サーバーは1ケ月無料のユーザIDでアクセス
• その後は有料
組み込みーモバイルークラウドの 仕組み・取り組み(2 of 3)
• 大阪 MindFree 「RSF(Real Socket Framework)」
– AWS⇔Android⇔Arduino ADK
– ADK (UHS2.0ベース),Bluetooth接続
– Websocketによるプッシュ APIキーによる制御
– クローズドβテスト中です
– 10/20(日)のABC 2013 Autumnで展示します
組み込みーモバイルークラウドの 仕組み・取り組み(3 of 3)
• Sony appiot
–当初は クラウド⇔Android
–将来的に「クラウド⇔Android⇔Arduino」を示唆
–ベータテスター募集中だそうです
– 「メーカー」の本気が出て欲しい
http://appiot.jp/
まだまだこれから
• クラウドーガジェット連携はまだまだ黎明期
• オープンなムーブメントと結び付けて、面白く便利なサービスを考えていきたい
• 同時に、様々なジャンルのテクノロジーを横断的に理解・活用できる必要がある
• ハードウェア関連のジャンルは、IT業界でも人によって得意・不得意が分かれる
• 自分はこれを教育する仕組みを考えたい
ご清聴ありがとうございました
オープンハードセミナー2013 4Q
2013/10/12(土)