SlideShare une entreprise Scribd logo
1  sur  51
Télécharger pour lire hors ligne
Cordovaで作る!
センサと超小型BLEモジュールを用いた
簡単IoTアプリ開発
××
慶應義塾大学 増井俊之研究室 伊藤 輝
About me
慶應義塾大学 増井俊之研究室所属
Freelance DesignEngineer
伊藤 輝 (@Hikaru_Itou)
1995.08.16
Design
Engineering
×
Webデザイン UI/UXデザイン
モバイルアプリ開発Webアプリ開発
機械学習・自然言語処理 電子工作・ハードウェア制作
3Dモデリング
Cordova歴 約2年半
×
Swift・Obj-C/Java でアプリ開発を経験した上で
Cordovaを推している
数件のモバイルアプリ開発案件でCordovaを採用
×
ex ..
位置情報を用いたクーポンアプリ
外国語コミュニケーションSNSアプリ
ニュースアプリ
AppCubeの社内用プロトタイプ開発として採用
×
×
最先端Web技術によるモバイルアプリの
リッチアニメーションインターフェイスの実装研究
これからはWeb技術が
あらゆるデバイスのGUI標準技術になっていく
Web技術の構想やしくみ・技術規格は素晴らしい
スマホはもちろん、電車のサイネージやテレビのGUIもすべて
慶應義塾大学 増井俊之研究室
というよりは、なんでも研究会。
面白いと思ったことは何でもやる。
実世界インターフェイスの研究
温度センサ、湿度センサ、光センサ、
振動センサ、音センサ、圧力センサ、加速度センサ…
把握できないほどある。
研究室ではあらゆるセンサが動いている
Lindaとは、プロセス間の共有メモリ(Tuple Space)でデータ(Tuple)を
読み書きして並列・分散処理するしくみ
Node.js + Socket.IOによるLindaのタプル空間で
センサー値や処理命令が共有されている
https://github.com/node-linda
Tupleの書き込みがあると、
Arduinoに繋がっているサーボモーターが回転して
ドアの鍵を回して開けてくれる
研究室ドアサーバー
研究室内が盛り上がると、「わいわい」と言い出す
slackにも投稿される
わいわいセンサシステム
わいわいシステム写真
TupleはSlackのhubotに読ませる
ドアももちろん解錠できる
センサーなどの電子部品を利用し
インターネットやコンピュータでそれを操作する
実世界とコンピュータの融合
工夫次第で生活が圧倒的に便利に、楽しくなる
実世界コンピューティング
Internet of Things
モノのインターネット
IoT
リアル世界をデータ化して応用
モノとコンピュータをインターネットなどの通信で連携させる
センサ
センサのセンシング値をBLE通信でCordovaに送信するしくみの
簡単なおもちゃの実装例を紹介します
簡単! IoT実践入門
××
Bluetooth Low Energy Cordova
圧力を加えると、抵抗値が減少する
単純にアナログ出力を得ることができる
圧力センサ
FSR402 FSR406
温度(摂氏)に比例した電圧利得が得られる
温度センサ
LM35DZ
NJL7502L
光センサ(フォトトランジスタ)
KXSC7-2050
加速度センサ
GP2YOA21YK
距離センサ
TCS34725
カラーセンサ
センサや電子部品で電子回路を組み
マイコンで制御する
電子工作でよく用いられるマイコンボードは
ArduinoやRaspberry Piが有名
Arduino UNO
Arduino Micro
Arduinoに書き込む制御プログラムは
Arduino IDEなどで開発
Arduino IDEではC言語風にプログラムが書ける
スマホとマイコン間のデータ通信に使用
Bluetooth Low Energy (BLE)
超省電力!ボタン電池で動いちゃう
BLE通信ができるマイコン
RedBear Blendmicro RedBear BLENano
これはマジですごい!
(18.5mm x 21.0mm)
でBLE通信する
Bluetooth Serial Plugin for PhoneGap
https://github.com/don/BluetoothSerial
Bluetooth Low Energy (BLE) Central Plugin for Apache Cordova
https://github.com/don/cordova-plugin-ble-central
でBLE通信する
bluetoothSerial.list();BLEデバイス検索
bluetoothSerial.connect(uuid);BLE接続
BLEWrite bluetoothSerial. write("hello, world");
BLERead bluetoothSerial.read();
BLEデータ監視 bluetoothSerial.subscribeRawData();
RedBear Blendmicro
Cordova
圧力センサ
ペットボトルホルダー型デバイス
Cordovaアプリ
×
Bluetooth device
to track the amount of bottled water in the iOS App
WaterTracker
ペットボトルの残量表示 補給量のトラッキング
DEMO
https://www.youtube.com/watch?v=xRU1rNTuX4Y
WaterTrackerのしくみ
ペットボトルホルダーの底に圧力センサーがある。
その値を、BLEでCordovaアプリに送信
WaterTrackerのしくみ
より圧力を細かくとるため、接地面積を小さくする工夫をしている
WaterTrackerのしくみ
回路図
単純にanalogReadしているだけ
マイコン制御プログラム
センサー値を1秒間隔で取得して送信しているだけ
なんと、たったの20行!
アプリ側プログラム
bluetoothSerial.list()でBlendMicroを検索しUUIDを取得
bluetoothSerial. connect()でBlendMicroに接続
bluetoothSerial. subscribeRawData()で
BlendMicroからのセンサー値を監視
センサー値が届いたら、Viewに反映
WaterTrackerのコード
WaterTracker BLE Central iOS/Android App
https://github.com/Hikaru-Ito/WaterTracker-App
WaterTracker BLE Peripheral Device by BlendMicro
https://github.com/Hikaru-Ito/WaterTracker-BlendMicro
私の好きなCordova開発環境
× × ×
赤外線LED
Geolocationを利用して駅に着いたら
エアコンを自動でONにするシステムがつくれる
IoTはアイデア次第で価値は無限大!
Cordova
×
今週の金曜日・土曜日に東京ミッドタウンで
慶應大SFCの研究発表展示会が行われます!
もちろん出展します!
実世界型ダイナミック
家電・ディスプレイコントロールインターフェイス
モバイル向けコンテンツナビゲーション・推薦システム
増井研のブースを是非見に来てください!
などなど
ご静聴ありがとうございました

Contenu connexe

Tendances

Tendances (20)

データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
 
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングPyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
 
アプリを成長させるためのログ取りとログ解析に必要なこと
アプリを成長させるためのログ取りとログ解析に必要なことアプリを成長させるためのログ取りとログ解析に必要なこと
アプリを成長させるためのログ取りとログ解析に必要なこと
 
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞いiOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
 
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
 
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
 
O/Rマッパーによるトラブルを未然に防ぐ
O/Rマッパーによるトラブルを未然に防ぐO/Rマッパーによるトラブルを未然に防ぐ
O/Rマッパーによるトラブルを未然に防ぐ
 
EventStormingワークショップ 〜かつてない図書館をモデリングしてみよう〜
EventStormingワークショップ 〜かつてない図書館をモデリングしてみよう〜EventStormingワークショップ 〜かつてない図書館をモデリングしてみよう〜
EventStormingワークショップ 〜かつてない図書館をモデリングしてみよう〜
 
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかDDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
 
ドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装までドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装まで
 
インタフェース完全に理解した
インタフェース完全に理解したインタフェース完全に理解した
インタフェース完全に理解した
 
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
 
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
 
Redmine + Lychee導入のアンチパターン
Redmine + Lychee導入のアンチパターンRedmine + Lychee導入のアンチパターン
Redmine + Lychee導入のアンチパターン
 
はりぼて OS で ELF なアプリを起動してみた
はりぼて OS で ELF なアプリを起動してみたはりぼて OS で ELF なアプリを起動してみた
はりぼて OS で ELF なアプリを起動してみた
 
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1  ドメイン駆動設計の基本を理解する3週連続DDDその1  ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
 
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
 
PostgreSQL画像データ収集・格納
PostgreSQL画像データ収集・格納PostgreSQL画像データ収集・格納
PostgreSQL画像データ収集・格納
 
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
 

En vedette

第4回目大垣iBeaconハッカソン
第4回目大垣iBeaconハッカソン第4回目大垣iBeaconハッカソン
第4回目大垣iBeaconハッカソン
akihiro uehara
 

En vedette (20)

Osc html5-monaca
Osc html5-monacaOsc html5-monaca
Osc html5-monaca
 
IoTにおけるゲートウェイの役割、選び方 M-SOLUTIONS@ウフル/神谷町
IoTにおけるゲートウェイの役割、選び方 M-SOLUTIONS@ウフル/神谷町IoTにおけるゲートウェイの役割、選び方 M-SOLUTIONS@ウフル/神谷町
IoTにおけるゲートウェイの役割、選び方 M-SOLUTIONS@ウフル/神谷町
 
Chrome Apps のデバイスAPI
Chrome Apps のデバイスAPIChrome Apps のデバイスAPI
Chrome Apps のデバイスAPI
 
PhoneGapでWebアプリをスマホアプリ化
PhoneGapでWebアプリをスマホアプリ化PhoneGapでWebアプリをスマホアプリ化
PhoneGapでWebアプリをスマホアプリ化
 
20141030 html5j-firefox os-deviceapi
20141030 html5j-firefox os-deviceapi20141030 html5j-firefox os-deviceapi
20141030 html5j-firefox os-deviceapi
 
Windows ストアアプリから使かえるセンサーAPIとデバイスAPI
Windows ストアアプリから使かえるセンサーAPIとデバイスAPIWindows ストアアプリから使かえるセンサーAPIとデバイスAPI
Windows ストアアプリから使かえるセンサーAPIとデバイスAPI
 
ウェブ標準デバイス系 API 総集編 2014
ウェブ標準デバイス系 API 総集編 2014ウェブ標準デバイス系 API 総集編 2014
ウェブ標準デバイス系 API 総集編 2014
 
エンタープライズ・モバイルアプリにおける ハイブリッドアプリ開発
エンタープライズ・モバイルアプリにおける ハイブリッドアプリ開発エンタープライズ・モバイルアプリにおける ハイブリッドアプリ開発
エンタープライズ・モバイルアプリにおける ハイブリッドアプリ開発
 
人もモノである視点から見えてくる世界
人もモノである視点から見えてくる世界人もモノである視点から見えてくる世界
人もモノである視点から見えてくる世界
 
Iotデモgoogleglass
IotデモgoogleglassIotデモgoogleglass
Iotデモgoogleglass
 
OTOduino_iPhoneアクセサリ開発_ギークラボ6月28日_プレゼン
OTOduino_iPhoneアクセサリ開発_ギークラボ6月28日_プレゼンOTOduino_iPhoneアクセサリ開発_ギークラボ6月28日_プレゼン
OTOduino_iPhoneアクセサリ開発_ギークラボ6月28日_プレゼン
 
第4回目大垣iBeaconハッカソン
第4回目大垣iBeaconハッカソン第4回目大垣iBeaconハッカソン
第4回目大垣iBeaconハッカソン
 
20140806 i beacon講演_愛知工業大学
20140806 i beacon講演_愛知工業大学20140806 i beacon講演_愛知工業大学
20140806 i beacon講演_愛知工業大学
 
20160608 iotセミナー
20160608 iotセミナー20160608 iotセミナー
20160608 iotセミナー
 
ITT 2015 - Hugo Domenech-Juarez - What's All That Hype About BLE?
ITT 2015 - Hugo Domenech-Juarez - What's All That Hype About BLE?ITT 2015 - Hugo Domenech-Juarez - What's All That Hype About BLE?
ITT 2015 - Hugo Domenech-Juarez - What's All That Hype About BLE?
 
Cordova×業務システム:失敗しないモバイル開発の秘訣
Cordova×業務システム:失敗しないモバイル開発の秘訣Cordova×業務システム:失敗しないモバイル開発の秘訣
Cordova×業務システム:失敗しないモバイル開発の秘訣
 
Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)
 
20140922 ble bootcamp
20140922 ble bootcamp20140922 ble bootcamp
20140922 ble bootcamp
 
Androidとi beacon(ble)
Androidとi beacon(ble)Androidとi beacon(ble)
Androidとi beacon(ble)
 
AndroidとiOSのBLEな事情 3
AndroidとiOSのBLEな事情 3AndroidとiOSのBLEな事情 3
AndroidとiOSのBLEな事情 3
 

Similaire à Cordovaで作る!センサと超小型BLEモジュールを用いた簡単IoTアプリ開発

第2回ビジネスモバイル研究会
第2回ビジネスモバイル研究会第2回ビジネスモバイル研究会
第2回ビジネスモバイル研究会
Shuichi Yukimoto
 
みなさんがHtml5をやらなくていい3つの理由
みなさんがHtml5をやらなくていい3つの理由みなさんがHtml5をやらなくていい3つの理由
みなさんがHtml5をやらなくていい3つの理由
Masakazu Muraoka
 

Similaire à Cordovaで作る!センサと超小型BLEモジュールを用いた簡単IoTアプリ開発 (20)

PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料
 
スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向
 
「コードを書かずにコードを産み出す?!」スマホ時代の最先端Web/アプリ制作
「コードを書かずにコードを産み出す?!」スマホ時代の最先端Web/アプリ制作「コードを書かずにコードを産み出す?!」スマホ時代の最先端Web/アプリ制作
「コードを書かずにコードを産み出す?!」スマホ時代の最先端Web/アプリ制作
 
Noodlによる次世代IoTアプリ開発
Noodlによる次世代IoTアプリ開発Noodlによる次世代IoTアプリ開発
Noodlによる次世代IoTアプリ開発
 
kintone新機能開発のお仕事_和渕.pptx
kintone新機能開発のお仕事_和渕.pptxkintone新機能開発のお仕事_和渕.pptx
kintone新機能開発のお仕事_和渕.pptx
 
iOSアプリ制作ツールアプリビルダーを支える技術
iOSアプリ制作ツールアプリビルダーを支える技術iOSアプリ制作ツールアプリビルダーを支える技術
iOSアプリ制作ツールアプリビルダーを支える技術
 
ABC2014 Spring: UI/UX Design Trends 2014
ABC2014 Spring: UI/UX Design Trends 2014ABC2014 Spring: UI/UX Design Trends 2014
ABC2014 Spring: UI/UX Design Trends 2014
 
Noodl資料.pdf
Noodl資料.pdfNoodl資料.pdf
Noodl資料.pdf
 
第2回ビジネスモバイル研究会
第2回ビジネスモバイル研究会第2回ビジネスモバイル研究会
第2回ビジネスモバイル研究会
 
The Mobile Frontier at HTML5 Conference 2013/11/30
The Mobile Frontier at HTML5 Conference 2013/11/30The Mobile Frontier at HTML5 Conference 2013/11/30
The Mobile Frontier at HTML5 Conference 2013/11/30
 
キッチンにはスマートフォンとカレーライス
キッチンにはスマートフォンとカレーライスキッチンにはスマートフォンとカレーライス
キッチンにはスマートフォンとカレーライス
 
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみた
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみたCordova を使って本気で商用ハイブリッドアプリ開発をやってみた
Cordova を使って本気で商用ハイブリッドアプリ開発をやってみた
 
バスキュールに学ぶ、クライアントもユーザーもハッピーになるスマホアプリ企画設計のキモ 先生:大塚 晃
バスキュールに学ぶ、クライアントもユーザーもハッピーになるスマホアプリ企画設計のキモ 先生:大塚 晃バスキュールに学ぶ、クライアントもユーザーもハッピーになるスマホアプリ企画設計のキモ 先生:大塚 晃
バスキュールに学ぶ、クライアントもユーザーもハッピーになるスマホアプリ企画設計のキモ 先生:大塚 晃
 
Mobile-first, Cloud-first のその先へ ~ Microsoft が描く Web/Mobile の未来
Mobile-first, Cloud-first のその先へ ~ Microsoft が描く Web/Mobile の未来Mobile-first, Cloud-first のその先へ ~ Microsoft が描く Web/Mobile の未来
Mobile-first, Cloud-first のその先へ ~ Microsoft が描く Web/Mobile の未来
 
みなさんがHtml5をやらなくていい3つの理由
みなさんがHtml5をやらなくていい3つの理由みなさんがHtml5をやらなくていい3つの理由
みなさんがHtml5をやらなくていい3つの理由
 
これからのNotesモバイルアプリはこう作れ
これからのNotesモバイルアプリはこう作れこれからのNotesモバイルアプリはこう作れ
これからのNotesモバイルアプリはこう作れ
 
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
 
"UI Patterns for Smartphone" HCD-Net SD #6 2014
"UI Patterns for Smartphone" HCD-Net SD #6 2014"UI Patterns for Smartphone" HCD-Net SD #6 2014
"UI Patterns for Smartphone" HCD-Net SD #6 2014
 
HTML5時代のWebデザイン
HTML5時代のWebデザインHTML5時代のWebデザイン
HTML5時代のWebデザイン
 
ニフクラmobilebackend_セミナー_配布用.pdf
ニフクラmobilebackend_セミナー_配布用.pdfニフクラmobilebackend_セミナー_配布用.pdf
ニフクラmobilebackend_セミナー_配布用.pdf
 

Dernier

Dernier (7)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

Cordovaで作る!センサと超小型BLEモジュールを用いた簡単IoTアプリ開発