SlideShare a Scribd company logo
ソフト屋さんと、ネット屋さんとかをしていました。
アーキテクトという肩書きで雑用係をやっていました。
現在は、独立してrti技研という会社をやっています。
好きな言語は C++ サーバサイドでは PHP のお手軽さが好きです。
I‘m CEO,Bitch! https://rti-giken.jp/
自
己
紹
介
フューチャーホームコントローラー
手に何も持たないハンズフリーの音声認識を提供します。
手ぶらの音声認識を提供します。
言葉でしゃべるだけです。
マイクまで1m~2m程度の距離で
も
動作します。マイクを部屋の中央
におけば全部をカバーします。
リモコンに勝たないと意味が無い
リモコンを使った家電操作
スマホを使った家電操作
フューチャーホームコントローラーを利用した操作
リモコンを手に取る ボタンを押す 涼しくなる
スマホを手に取る ロック解除・アプリ起動
クリックするか、
スマホに話しかける
涼しくなる
「コンピュータ、エアコンつけて」という 涼しくなる
スマートフォンから「も」操作することもできます。
開発時の取材・掲載
取材・掲載
マルチデバイス HTML5対応
スマホPC
設定はブラウザから簡単にできます。
・非インターネットの環境でも動く
・雑音が多い場所でも
認識するアルゴリズムを開発
・誤動作を起こしにくいアルゴリズムを開発
・armでも動作する身軽さ
オープンソースをベースに
開発した音声認識エンジン
いろいろなリモコンを学習できる
賢い学習リモコンエンジン
フューチャーホームコントローラー
様々なカスタマイズ
ユーザ:スマートウォッチPebble連携
http://www.nicovideo.jp/watch/sm20654023
ユーザ: vimから家電操作
http://www.youtube.com/watch?v=Uqm8sYyzwO8
ユーザ:Ringと連動
ユーザ:認識単語を呪文で家を操作
私の作品: 家mount
ls -la /mnt/
drwxr-xr-x 5 root root 0 1月 1 1970 .
drwxr-xr-x 23 root root 4096 12月 8 15:39 ..
drwxr-xr-x 7 root root 0 1月 1 1970 エアコン
drwxr-xr-x 4 root root 0 1月 1 1970 照明
drwxr-xr-x 4 root root 0 1月 1 1970 扇風機
体の不自由な方の介護機器として
V8(javascript)で機能を拡張できます。 (上級者向け機能)
ブラウザからjavascriptで、
家をプログラミングすることができます。
フューチャーホームコントローラー
音声認識のホームコントローラー FHC
2017/1/31までキャンペーン価格で提供中
https://rti-giken.jp/ 定価: 36800円
直売の他、
秋葉原の愛三電機で展示販売中
FHCの話は去年も話したので、
今年は、少し別の話を。
FHCの宣伝とhomekit解説
Homekit
ios homekit解析のお話
オープンソース homekit実装例
JavaScript
HAP-NodeJS(homebrigde) Lisence:apache2.0
C++
Personal-HomeKit-HAP Lisence:mit
Java
HAP-Java Lisence:mit
オープンソース homekit実装例
JavaScript
HAP-NodeJS(homebrigde) Lisence:apache2.0
C++
Personal-HomeKit-HAP Lisence:mit
Java
HAP-Java Lisence:mit
C++で書かれている
Personal-HomeKit-HAP は、
ライブラリとして可能性がある。
ライセンスもMITだし。
ただし・・・
多少問題がある
ソースコードはとりあえず書いた感じかなあ。
・一度停止して再実行できない作り。
・そこそこのメモリリークがある。
・バッファオーバーランしそうな実装がある。
・Un*xでしか動かない。
これはやばい
と、いうことで、
全部修正しました。
https://github.com/etwmc/Personal-
HomeKit-HAP/pull/64
(ソースコードの作り以外全部直した)
https://github.com/rti7743/Personal-HomeKit-HAP
・再突入性の保証
(停止->スタート->停止->スタート可能)
・メモリーリークの排除
・バッファオーバーランの排除
・windows対応
(ソースコードの作りは、
書き直すしかないので、あきらめましょう。)
これで大丈夫。安心です。
https://github.com/rti7743/Personal-HomeKit-HAP
これであなたのプログラムも
homekit(siri)で操作できます。
やったね。
やったね。
さて、せっかくなので、
homekitプロトコル説明
homekitプロトコル
1 Bonjour (mDNS) で端末検索
↓
2 相手端末のIPとportを特定
↓
3 httpみたいなプロトコルで端末間通信
(暗号は SRP chacha20 Poly1305 などで実現)
↓
4 最終的に json形式でデータをやり取り
1. Bonjour (mDNS) で端末検索
Linux(オープンソース)だとavahi(あばひ)という実装がある。
実装としては、
DNSのsrvレコードとかtxtレコードで情報のやり取りをします。
2. 相手端末のIPとportを特定
$avahi-browse -a
+ eth0 IPv4 rti ___ MacBook Air _smb._tcp local
+ eth0 IPv4 rti ___ MacBook Air _rfb._tcp local
+ eth0 IPv4 FHC _hap._tcp local
+ eth0 IPv4 fhc _ssh._tcp local
+ eth0 IPv4 fhc _udisks-ssh._tcp local
+ eth0 IPv4 fhc [7c:66:9d:48:b4:28] _workstation._tcp local
+ eth0 IPv4 raspberrypi [b8:27:eb:b4:3a:ad] _workstation._tcp local
+ eth0 IPv4 raspberrypi _udisks-ssh._tcp local
...
3. httpみたいなプロトコルで端末間通信
(暗号は SRP chacha20 Poly1305 などで実現)
あまり詳しくないが、
chacha20-Poly1305 は、RFC7539で定義らしい。
これら暗号化はあのdjb大先生が提唱されているっぽい。
4.最終的にjsonでやり取り
PUT /characteristics HTTP/1.1
Host: FHC._hap._tcp.local
Content-Length: 78
Content-Type: application/hap+json
{"characteristics":[{"aid":3,"iid":9,"ev":true},{"aid
":3,"iid":10,"ev":true}]}
homekitプロトコル
1 Bonjour (mDNS) で端末検索
↓
2 相手端末のIPとportを特定
↓
3 httpみたいなプロトコルで端末間通信
(暗号は SRP chacha20 Poly1305 などで実現)
↓
4 最終的に json形式でデータをやり取り
Homekitデータ構造説明
homekitデータ構造
Accessory (扇風機)
Service (serviceType_fan)
Characteristics(名前 charType_serviceName)
Characteristics(モデル名 charType_modelName)
...
Characteristics(電源ON/OFF charType_on)
Characteristics(ファンスピード charType_rotationSpeed)
...
それがどういう特性をもっているのか書いていく
ようするに、こういうことだな
struct FAN{
bool On; //電源ON/OFF
std::string Name; //名前
std::string Model; //モデル名
int RotationSpeed //ファンスピード
};
windowsでいうactiveX(COM)モデルを見ているようだ。
サービスによって必要な特性が違う
HAP-NodeJS HomeKitTypes.js を見た方が早い
Service.Fan = function(displayName, subtype) {
Service.call(this, displayName, '00000040-0000-1000-8000-
0026BB765291', subtype);
// Required Characteristics
this.addCharacteristic(Characteristic.On);
// Optional Characteristics
this.addOptionalCharacteristic(Characteristic.RotationDirection);
this.addOptionalCharacteristic(Characteristic.RotationSpeed);
this.addOptionalCharacteristic(Characteristic.Name);
};
変なモデルを送ると、登録時に無視されたり、
消せないアクセサリーができたりと
いろいろ変なことが起きる。
バグったらここで初期化できるよ
安心です
間違っても
iosは壊れないので
いろいろやって
遊びましょう。
homekit課題
string型の扱いが難しい
テレビの
チャンネル切り替えが
実装できないっぽい
int型で 10ch にとかいうのは不可能ではないらしいが、
テキスト型で 千葉テレビにして というのは無理っぽい。
UI的な課題
ON/OFF以上のことをしようとするとUI的に詰む。
(今のところあるのは長押しで、スピード調整等の int型を操作だけ?)
Appleらしい
好意的に見れば、シンプル
悪意的に見れば、単機能
(マウスのボタンが
1つしかなかったappleらしい)
それでも、面白い機能であるので
いろいろ遊んでみましょう
・オリジナル
https://github.com/etwmc/Personal-HomeKit-HAP
・修正版(pull requestがなかなかマージされないので)
https://github.com/rti7743/Personal-HomeKit-HAP
Personal-HomeKit-HAP
To apple's executives.
If you have any problems,
please buy us.
I will keep it very cheap. :)
最後にもう一度 宣伝
フューチャーホームコントローラー
直売の他、
秋葉原の愛三電機で展示販売中
音声認識のホームコントローラー FHC
2017/1/31までキャンペーン価格で提供中
https://rti-giken.jp/ 定価: 36800円

More Related Content

PPTX
Raspberry pi / Beaglebone black 高精度dmtimer
PDF
ケースはラスボス
PDF
私の考える視覚障害者向けスマートフォン
PDF
EBooklet2 for iPhone & iPad
PPTX
High tecnology
PPT
音声認識を利用した未来のホームコントロール
PDF
カヤックを退職すべきではない3つの理由
PPTX
20160320 BLE4.2勉強会 MakerLab Nagoya
Raspberry pi / Beaglebone black 高精度dmtimer
ケースはラスボス
私の考える視覚障害者向けスマートフォン
EBooklet2 for iPhone & iPad
High tecnology
音声認識を利用した未来のホームコントロール
カヤックを退職すべきではない3つの理由
20160320 BLE4.2勉強会 MakerLab Nagoya

Viewers also liked (13)

PDF
やはりお前らのiOS7対応は間違っている
PDF
Forum IA BX mars 2016 - Blade Runner
PDF
Prise en charge du lymphoedème en hospitalisation complète
PDF
SP.Matveev.IComp.Cover.AUG2016
PDF
Pharmaceutical microbiology west coast
PDF
Dementia: An Overview
PPTX
11 flowers gifts which are perfect for allergy sufferers
PPTX
The Crazy Cuban's Secret
PDF
Secret encoder ring
PDF
ISOPLYO20 DOS MODELOS
PDF
437 King Lear Drive Charles Town WV 25414
PPTX
تعليم Css
PPTX
やはりお前らのiOS7対応は間違っている
Forum IA BX mars 2016 - Blade Runner
Prise en charge du lymphoedème en hospitalisation complète
SP.Matveev.IComp.Cover.AUG2016
Pharmaceutical microbiology west coast
Dementia: An Overview
11 flowers gifts which are perfect for allergy sufferers
The Crazy Cuban's Secret
Secret encoder ring
ISOPLYO20 DOS MODELOS
437 King Lear Drive Charles Town WV 25414
تعليم Css
Ad

FHCの宣伝とhomekit解説