「組み込みーモバイルークラウド
をオープンな形でつなぐ」
Kansai Open Forum 2013
2013/11/09(土)
吉田 研一
http://bit.ly/kof2013jagkobe
Excuse;-<
• 実は、組み込みーモバイルークラウド接続に
ついてはベータ段階が多く、現状、じゅうぶん
にオープンであるとはいえないかな…
– 株式会社データ変換研究所, Derimo
– マインドフリー株式会社 , Real Socket Framework
– ソニーコンピュータサイエンス研究所(Sony CSL),
appiot

• Xively(ザイブリー)は本格的なモバイル・組み
込みークラウド接続サービス
CONTENTS
1. 自己紹介と日本Androidの会神戸支部ハード
ウェア倶楽部の紹介
2. 組み込み-モバイル-クラウドをつないでみたら
3. 「オープン」な何か
4. 本題「組み込みーモバイルークラウドをオープ
ンな形でつなぐ」
– 2つの論理的な接続形態
– それに付随する物理的な接続形態
– 取り組みを見る

http://bit.ly/kof2013jagkobe
自己紹介
•
•
•
•
•
•
•
•

吉田研一 (よしだけんいち) 46歳
奈良出身・姫路在住・大阪勤務
ECCコンピュータ専門学校専任教員
日本Androidの会神戸支部メンバー
GDG神戸メンバー
姫路IT系勉強会メンバー
Android日本橋でんもく会主宰
オープンハードセミナー主宰
神戸支部メンバーで共著
• AndroidとArduinoを接続する技術「ADK」を書
いています。学校で授業に使ってます。

http://www.amazon.co.jp/exec/obidos/ASIN/4883378098/
soccoltd-22/ref=nosim
日本Androidの会神戸支部とKOF
• 実は去年のKOFには展示していました
(2012/11/10(土)のみ)。今年はナシ(残念)
日本Androidの会神戸支部とKOF
• 昨年は、MUGNET(Macユーザ会)の魚井先
生が入手されたSurfaceをいじってましたw

MacとAndroidはそっちのけ!?
日本Androidの会神戸支部
ハードウェア倶楽部
Androidと組み込みハードの接続性などを検討
する集まり

2013年3月
NT京都にて
日本Androidの会神戸支部
ハードウェア倶楽部メンバー

• @yishiiさん
• 2013年8月OSC京都
にてRaspberry-Pi UG
で発表
• なんでもロボカーにす
るのが得意^^
http://www.slideshare.net/YasuhiroIshii/20130804-osc-raspberrypi
日本Androidの会神戸支部
ハードウェア倶楽部メンバー
• @ksksueさん
• UART(シリアル通
信)で様々な組み
込み機器とAndroid
が接続する
“Physicaloid”の開
発を行っている。
http://www.physicaloid.com/

等々
Android日本橋でんでんタウンもくもく会
• 神戸支部ハードウェア倶楽部メンバーで開催
• 3ケ月に1回開催 (3,6,9,12月)
• 次回は12月中旬です(まだ日程未定orz)
2011年8月の
第1回の様子
秋葉原支部
の江口さん
日本橋ROBOBAでもくもくしています。
日本橋でんもく会の
「イチからはじめる」シリーズ
• Androidとマイコン等の接続性について初心
者レベルから解説していくシリーズ
• 接続技法ADK, MicroBridge, USB Host APIなど
• 対象:マイコン(Arduino, PICなど)、FPGA
(Xilinx, ALTERA)
• Androidアプリは開発できるがマイコンは
ちょっととか、マイコンはできるけどFPGAはわ
かんないとか、その逆とか
• 知らなかったことを知り、技術力の向上へ
オープンハードセミナーとは
• 日本橋でんもく会の「イチからはじめる」のオ
ンラインセミナーシリーズから発展
• もくもく会は「黙々」したいので、「しゃべる」オ
ンラインセミナーを分離しオープンハードセミ
ナーとした。
• 3ケ月に1回開催 (1,4,7,10月)
• 次回は2014年1月11日(土)大阪イノベーショ
ンハブで開催
東京・大阪・福岡でハングアウト中継
• 日本Androidの会のイベントABC(Android
Bazaar and Conference)で各支部から集まっ
た「ロボットサミット」のつながり(2011年夏~)
神戸支部
福岡支部
秋葉原支部
ロボ部
オープンハードセミナー第1回の様子
• プロジェクタを対面式に配置
発表者の@yishiiさん
と発表スライド

東京・福岡会場の様子
とオーディエンス

http://atnd.org/events/40461
7/13(土) ECCコン専
オープンハードセミナー第2回の様子
• プロジェクタを2面に配置

左が博多図工室(福岡)
右がMONO(東京)

発表者の@ksksue
さんが発表

http://atnd.org/events/43428
10/12(土) 大阪イノベーションハブ
オープンハードセミナー第2回にて(1)
vinclu(ウィンクル)チーム
• 東京会場のMONOにて合宿中のvincle(ウィ
ンクル)チームの自己紹介もあったり
オープンハードセミナー第2回にて(1)
vinclu(ウィンクル)とは
• クラウドファウンディングで資金を集めたアプ
セサリ(appcessory:アプリ+アクセサリ)
• 11/7(木)0時にSUCCESSでフィニッシュした!

http://camp-fire.jp/backers/index/804/
オープンハードセミナー第2回にて(2)
大阪イノベーションハブより
• 大阪イノベーションハブの中の人が、大阪市
+シャープ(株)共催のハッカソンをYoutubeラ
イブで宣伝したり

http://www.innovation-osaka.jp/ja/
オープンハードセミナー第2回にて(2)
ハッカソン”CoCreation Jam”
• 11/16(土)アイデアソン 11/17(日)ハッカソン
• 応募は11/14(木)まで

http://www.innovation-osaka.jp/ja/events/2491
オープンハードセミナー第2回は
• 録画アーカイブがあります
http://www.youtube.com/user/openHardSeminar/videos

ちょっと観る http://youtu.be/L4xQzCFN7yk
オープンハードセミナーのねらい
• Androidはじまり、Androidつながりだが
• Androidにこだわらない
• Androidはもともと様々なデベロッパー文化の
集まりだった(ソフト、ハード、組み込み、基幹
システム、Web)
• さまざまなオープンソースハードウェアにかか
わる事柄を議論していきたい
• 興味のある方・団体は参加お願いします!
CONTENTS
1. 自己紹介と日本Androidの会神戸支部ハード
ウェア倶楽部の紹介
2. 組み込み-モバイル-クラウドをつないでみたら
3. 「オープン」な何か
4. 本題「組み込みーモバイルークラウドをオープ
ンな形でつなぐ」
– 2つの論理的な接続形態
– それに付随する物理的な接続形態
– 取り組みを見る

http://bit.ly/kof2013jagkobe
つないでみたら ~ イメージPV
• Real Socket Frameworkのプロモーションビデオ

ちょっと観る http://vimeo.com/78353018
時と場所を超えてモノが連動するコト
• 技術的な問題(テクノロジーとスキル)を考慮しな
がら最適解を検討する
MindFree株式会社のMFT展示
• Make Faire Tokyo 2013の展示物

http://www.lifehacker.jp/2013/11/131103figurestage_mft2013.html
http://ascii.jp/elem/000/000/839/839835/index-2.html
MFT終了後話を聞いてきた
• 鏡面仕上げの木材の箱にLEDテープやサーボ

Arduino ADKが内蔵されている。
MFT前日に完成したそう…
もうひとつガジェット
• 協調して光るアイス?

Arduino Pro Miniが内蔵。
RGB LEDが状況に応じて変化
自分も出展してもらいました。
• おもちゃの車とAndyロボカーの連動
説明スライドです
Real Socket Frameworkは
まだまだクローズドβバージョン
• Android-Arduino接続のバリエーション
– Bluetooth
– ADK UHS2.0ライブラリ…Android端末を選ぶ
– Yaoadkベースへのポート

• BLE接続ができないか
– iOSとの連携も視野に入る

• UART接続ができないか
– Physicaloidとの連携
– UARTだとほとんどすべての組み込みデバイスと
接続可能
Real Socket Frameworkは
まだまだ検討が必要
• Android-Arduinoデータ通信
– JSON … Arduinoとクラウドの直接接続が可能
• ただしライブラリが重厚(デカい)

– バイナリ … データプロトコルの検討が必要
• JAG神戸のメモリマップ・プロトコルなど使えないか
Real Socket Frameworkは
いろいろ検討が必要
• クラウドーAndroidの接続
– AWS上にnode.jsサーバを立てて、WebSocketによ
るPUSH通信を行っている
– APIキーを用いてセッションを管理。16個の同時
通信が可能としている。
– タイムラグ
– 展示会場の無線混信状況の回避
• ノートパソコンにサーバを立てて運用
RSFにご興味のある方は
• コンタクトを取ってみてください。
CONTENTS
1. 自己紹介と日本Androidの会神戸支部ハード
ウェア倶楽部の紹介
2. 組み込み-モバイル-クラウドをつないでみたら
3. 「オープン」な何か
4. 「組み込みーモバイルークラウドをオープンな
形でつなぐ」
– 2つの論理的な接続形態
– それに付随する物理的な接続形態
– 取り組みを見る

http://bit.ly/kof2013jagkobe
さまざまな”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%8
3%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_Databas
e_License
ODbL(オープンデータベースライセンス)
• CC(クリエイティブ・コモンズライセンス)は創
作性のある著作物の権利
• データ自体は創作ではなく事実情報で著作
権でカバーされない
• 相応のコストをかけて収集されたデータの集
合をデータベース権として取り扱い一定の権
利を認める
20120729 ODbL勉強会より
http://www.slideshare.net/higa4/20120729-odbl
オープンデザイン
• WebでもFabでもオープン
デザインの考え方が言わ
れているようだ
• 個人的にはAndy(教材ロ
ボット)のアクリル板その
他の設計デザインや教育
コンテンツをオープン化し
てFabLabなどの場で使うと
か希望^^
Make: Japan 『オープンデザイン――参加と共
創から生まれる「つくりかたの未来」』
Andyのプロジェクト
• 神戸支部設立直後(2011年3月ごろから)言っ
ているAndroid操作のロボット製作の活動

部品の購入リストを整備し、車体をアクリル板で作成
レーザーカッターでカットしてみた
• 大阪イノベーションハブでやってみる
• 3Dプリンタより早くてカンタンだが、ノウハウ
は必要。
オープンガヴァメント
• 情報公開型からオープンデータ型へ
– 《70~80年代》機密文書の情報公開を求める動き
– 《現在》オープンデータを活用するエコシステム

• 政府や自治体がもつオープンデータ
• シビックテック
– 「公共サービスをコーディング」する開発者

• 普及しているWeb・スマホ・タブレットを用いて
公共サービスを市民が利用
Code for X
• Code for Japanの
各地域版
– Code for Sabae
– Code for Kanazawa

• Code for Americaの取
り組みを参考に
• 10/11(金)のミーティ
ングにちょっとだけ参
加してきました。
オープンっていろいろ
• いろんなオープンなできごとをよくみつめてい
きたいと思います
• OSHWとの関わりも
• WIRED 9月号が参考
になります
http://wired.jp/magazine/?id=9
CONTENTS
• 自己紹介とオープンハードセミナーまわりの
紹介
• 「オープン」な何か
• 本題「組み込みーモバイルークラウドをオー
プンな形でつなぐ」
– 2つの論理的な接続形態
– それに付随する物理的な接続形態
– 取り組みを見る
http://bit.ly/kof2013jagkobe
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(土)にBLEの勉強会をECCコン専で行い
ました
Bluetooth Low Energy+すまべん
• スマートフォン勉強会@関西開催

①
②

http://sumaben.jp/?KansaiSpecial05BLE
Blurtooth Low Energyの基礎知識
• BLEに関してよくある誤解
• Bluetooth Low Energyでは大容量データは送れ
ない。
• 音声データを送りたい、高速通信を行いたい場合は、ク
ラシックBTを使う。
– 以下の違いを理解しておくことは基本:
– BT 3.0 + Low Energy -> デュアルモード・デバイス
(Bluetooth Smart Ready)
– BT Low Energy
-> シングルモード・デバイス
(Bluetooth Smart)
ブリリアントサービスのたくまさんのブログ
http://brilliantlab.blogspot.jp/2013/11/blog-post.html
組み込みーモバイルークラウドの
仕組み・取り組み
• Xively(ザイブリィ)
• 株式会社データ変換研究所
– Derimo

• マインドフリー株式会社
– Real Socket Framework

• ソニーコンピュータサイエンス研究所(Sony
CSL)
– appiot
Xively(ザイブリー)
https://xively.com/

• 2013年5月ごろまでCosm(コスム)という名称
のサービス
• それ以前はPachube(パッチベイ)という名称
だった。
– 小林茂さんのガイガーカウンターのマップ
• http://www.yapan.org/main/2011/03/measure_radiati
on_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

送信…ボディ部分は例えば
「Temprature,31.5」と送られると…

¥n¥nまたは¥r¥rで空の行が来たらその
次の行はボディ部(受信したいデータ)

この部分が「Channel」になる。
Cosm以前は「DataStream」と呼
ばれていた
Xivelyサーバ側にエントリされる
https://xively.com/feeds/66335/ を確認してみて
(動いてない時もあるw)
この部分が「Channel」になる。

以上スケッチ CosmClientTemp.ino
https://gist.github.com/yoshidaken1/5941636
ベタで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の概念)
Device 装置名?
Feed 観測ポイント?
Channel 測定データ群

https://xively.com/feeds/1449775682

Feed
Xivelyスケッチの例
MultipleDataStreamsUpload.ino
API Key

Channel 名称
Channelをひとまとめに
(Cosm時代のDataStreamが
使われている)

Feed ID
メインループ処理
Channel データ群
デベロッパーコンソール画面
Device

Feed関連情報

Channel データ群

HttpReq.メッセージも
ロギングされる
デベロッパーコンソールで
更に良いのは…
• Channelをクリックして直接データを書き込め
ること!!
「Sensor1」のChannelをクリッ
クして現在値を入力!

Arduinoにテストデータ
値を直接読み込ませる
際に活用できる
Xivelyスケッチの例
Arduinoからデータ取得
• JSONなどのキー・バリューも簡単なメソッドで
値を取得できる
DataStreamsDownload.ino Feed配列から取るやり方

DataStreamsUpload.ino channel配列から取るやり方
組み込みーモバイルークラウドの
仕組み・取り組み(1 of 3)
• 京都 デ変研 「Derimo」
– クローズドサーバ⇔Android⇔Arduino
– USB Host API
– LongPollingによるプッシュ
– ソースはCD-ROMにて購入者に提供
– サーバーは1ケ月無料のユーザIDでアクセス
• その後は有料

– 10/20(日)のABC 2013 Autumでは講演
– 2013年11月19日(火) 大阪ROBOBA「ロボット連
絡会11月例会」でDerimoのセミナを行います
http://www.derimo.net/archives/2121
組み込みーモバイルークラウドの
仕組み・取り組み(1 of 3 つづき)
• M2M(Machine to Machine)の学習向けの
「Derimoの教科書」とセットにした「Derimoの
OSS」を11月に予定されています

http://www.derimo.net/wp-content/uploads/2013/11/Derimo_LocationKit.pdf

ただし注意書き
組み込みーモバイルークラウドの
仕組み・取り組み(2 of 3)
• 大阪 MindFree 「RSF(Real Socket Framework)」
–
–
–
–
–
–
–

AWS⇔Android⇔Arduino ADK
ADK (UHS2.0ベース),Bluetooth接続
Websocketによるプッシュ APIキーによる制御
クローズドβテスト中です
10/20(日)のABC 2013 Autumnで展示
11/3(日),11/4(月・祝)のMFT 2013で展示
現時点でAndroidアプリはapkファイル(=バイナリ)提
供のみ…AndroidのUIは使えない。今後に期待。
組み込みーモバイルークラウドの
仕組み・取り組み(3 of 3)
• Sony appiot
– 当初は クラウド⇔Android
– 将来的に「クラウド⇔Android⇔Arduino」を示唆
– ベータテスターとして触ってみました!
– 「メーカー」の本気が出て欲しい

http://appiot.jp/
まだまだこれから
• クラウドーガジェット連携はまだまだ黎明期
• オープンなムーブメントと結び付けて、面白く
便利なサービスを考えていきたい

• 同時に、様々なジャンルのテクノロジーを横
断的に理解・活用できる必要がある
• ハードウェア関連のジャンルは、IT業界でも人
によって得意・不得意が分かれる
• 自分はこれを教育する仕組みを考えたい
ご清聴ありがとうございました
Kansai Open Forum 2013
2013/11/09(土)
http://bit.ly/kof2013jagkobe

組み込みーモバイルークラウドをオープンな形でつなぐKOF2013