話題のThreadを使ってみた

HomeKitを使う

スマートホーム機器を統一すると期待されているMatterは、有線LAN/WiFiに加えて、Threadの上でも動くことになってます。そのためThreadが注目されています。Threadって聞きなれない名前なので、ごく最新の規格なのかと思っていたら、結構昔からある規格でした。対応製品がいくつもあり、なんと目の前にあるHomePod miniにもThreadが搭載されていました。色々調べた結果をまとめておきます。また、Threadを採用したLED電球を買って、HomePod miniに接続し、動作確認しました。

Thread

Matterで話題になるまでThreadの事を知りませんでした。調べてみました。Threadは、近距離で低速の通信を省電力で行うことを目的として、人の周辺程度をカバーするPersonal Area Network (PAN) の規格の一つです。

Threadのネットワーク階層を下に示します。データIEEE 802.15.4という規格の物理層、データリンク層の上に、IPv6のUDP/IPを実装したものです。物理層のIEEE 802.15.4は、Zigbeeで使われている規格ですのでZigbeeとの親和性は高いです。上位層がIPベースなので、EthernetやWiFiで動いているIPベースのプログラムとの互換性が高いです。コンピュータネットワークの世界から見たら、理想的な実装と言えます。

( https://www.threadgroup.org/ )

でもThreadはあまり流行っている印象がないです。スマートホームで使うPANといえば、ZigbeeかBLEです(海外にはこれらに加えてZ-Waveってのもあるらしいです)。Threadは新しい規格ということで認知されていないのかもしれません。検索して時期を調べてみました。確かに、他と比べると新しいですね。

  1. Zigbeeは2004年から (IEEE 802.15.4-2003)
  2. BLEは2009年末から (Bluetooth 4.0)
  3. Threadは2014年から (Thread Group)

認知度の低かったThreadですが、Matter (2019~)のおかげで急に脚光を浴びている印象があります。MatterはもともとConnected Home over IP(CHIP)と呼ばれていて、デバイスを全部IPで接続したいという方針です。なので、Matter用のPANとして、IPが動くThreadが採用されるのは当然の流れだったと思われます。

IPと非IPのPAN

上のThreadの階層図のネットワーク層に6LoWPANという名前があります。IPv6 over Low-Power Wireless Personal Area Networksの略で、「しっくすろうぱん」と発音します。最初のRFCは2007年らしく、その頃は話題になってました。その後、ZigbeeやBLEの影に隠れて、忘れられて(いたと思って)いました。Threadではこの6LoWPANを活かしているようです。調べていたらこちらにわかりやすい解説がありました。PANはデータ量が少ない上に、ノイズでデータを失う可能性も高いので、MACフレームサイズが小さい(127バイト)そうです。それに対して、IPv6のサイズは大きい (1280バイト以上)ので、分割したり圧縮したりという地道な工夫が必要です。6LoWPANはそれをやっているそうです。

これに対してZigbeeやBLEでは、IP接続ではなく、独自のプロトコルを採用してます。電力やバンド幅をふんだんに使えて、S/N比の高い通信環境を対象としたIPを、PANに持ち込むのは非効率的だとの考えだと思います。でもそのかわり、ZigbeeやBLEをIPネットワークから利用するためには、橋渡しをするブリッジ(ゲートウェイ)が必ず必要になります。それも、プロトコルが違うので、ネットワーク階層の上のレベルで、データの意味を判断して橋渡しすることになります。なので、例えばA社のゲートウェイはB社のデータ構造を知らないので橋渡しできない、という状況を招きやすく、互換性が無いのが現状です。TuyaのセンサにはTuyaのゲートウェイが必要ですし、SwitchBotのデバイスにはSwitchBotのゲートウェイが必要です。

Matterは、多少非効率でも互換性が高い方が良いという判断で、IPで動くPAN規格であるThreadを採用したのかと思います。下の図はThreadネットワーク構成例の図です。それぞれのデバイスまでIPが到達していることが記されてます。物理層が違うのでその橋渡しをするThread Border Routerというユニットは必要ですが、UDP/IPレベルのパケットをそのまま通過させるだけです。データの詳細を解読する必要がないので、デバイスのメーカに関係なく機能する互換性の高いシステムになります。また、パケットの中まで解析する必要がないので、暗号化されているデータを解読する必要がなく、セキュリティとしても有利です。

( https://www.threadgroup.org/ )

Zigbee, BLEとThreadの関係

ZigbeeもBLEも、IPではない、独自のプロトコルなので、Threadとは互換性がありません。今まで構築されたスマートホームの環境なら、引き続き使用可能ですが、Matterのネットワークで使用するには、Matterのデータ構造とプロトコルに対応したゲートウェイが必要になるはずです。

ただ、Zigbeeに関しては、ネットワーク階層の物理層、データリンク層がThreadと同じIEEE 802.15.4です。Zigbeeが先に作られていて、6LoWPANとThreadがそれを利用したという順番です。Zigbee用チップのデータリンク層以下は使い回しできると思われます。Matterを作っている組織であるConnectivity Standards Alliance (CSA)は、その前の名前がZigbee Allianceでした。BLEをベースにしてIPv6を実装するのではなくて(そういう仕掛けもあるらしいです)、IEEE 802.15.4を採用したことには多少の政治的理由もあるのかもしれません。

Threadを使う上で、BLEにも役割が与えられてはいます。上の図にも少し出てますが、セキュリティや設定の部分でBLEを使うこともあるとのことです。機器の設定を行う場合に、スマートフォンに搭載されているBLEを利用することを想定しているのでしょう。今のHomeKitのように、QRコードを読んで設定するような方式では、おそらくBLEは使わないと思います。

すぐに買えるThread製品

国内で買えるThread製品を探してみたところ、AmazonでNanoleafという会社の製品を見つけました。Threadに対応した照明器具を何種類か販売しているようです。その中でも、LED電球が一番安かったです。こちらの製品です。

NanoleafのThread使用方法を説明したwebページを見ると、Thread Border Routerになるデバイスを別途入手して、それ経由でGoogle Home, Amazon Alexa, Apple HomeKitなどからアクセスするようです。Nanoleaf社以外のThread Border Routerとしては、eeroという会社の製品または、Apple HomePod mini, Apple TV 4Kがあるとのことです!なんと、目の前にあるHomePod miniがThread Border Routerだとは知りませんでした。ちなみに、eeroの製品をAmazonで探したところ、Thread関係の製品はありませんでした。

ということで、執筆時点で国内で入手できるThread Border Routerは、調べた範囲では、AppleのHomePod miniとAppleTV 4Kだけのようです。

Thread対応のApple製品

まずはHomePod miniです。サイトのスペック表には、確かにThread搭載していると書いてあります。

また、HomeKitとMatterに対応しているようです。またThread Border Routerに相当しているという説明もあります。

もう一つはApple TV 4Kです。2021年発売のApple TV 4K (第2世代)と、先日発売になったばかりの2022年版のApple TV 4K(第3世代)でThread対応しています。

ただし、Apple TV 4K 第3世代は、Ethernet搭載モデルだけがThread対応です。WiFiモデルはThread Border Routerにならないようです。

Apple TV 4K 第3世代の注意書きを見ると、HomeKitとMatterに対応しているようです。またThread Border Routerに相当しているという説明もあります。

一方で、GoogleとAmazonのスマートスピーカー類をいろいろ調べてみたのですが、Threadに対応しているという記述は見つかりませんでした。Amazon Echoの上位機種にはZigbeeが搭載されているのですが、Threadには対応していないようです。Amazon, Google, Appleの中では、Appleが一番Threadに力を入れていたようです。Thread対応のデバイスを探してみると、HomeKit対応製品が多かったのですが、これも、HomePod mini, Apple TV 4KにThreadが搭載されている関係なのでしょう。

Nanoleafの電球

ならば、NanoleafのThread電球を買って、HomePod miniで試すべきかと思いました。ゴツゴツした特徴のある形の電球です。

以前買った格安フルカラーLED電球と比べたら高価ですが、他のブランド品と比べたら普通の価格です。明るく発色も良い製品かと思います。HomeKit対応と書いてあり、本体にもコードが印刷されています。

          

また箱には、Thread Border RouterがあればThreadによって信頼性が向上するという説明も書いてありました。

Google Homeでも動作すると書いてあります。箱には書いて無いですがAmazon Alexaからも動作するはずです。Bluetoothロゴがあるので、Threadが無い環境ではBLEで動作するのかもしれません。ちなみに技適マークもPSEマークも付いてます。

電球を通電し、iPhoneのホームから「アクセサリの追加」を選び、QRコードを読み取りました。このように、通常のHomeKitデバイスと同様の方法で追加した結果、ホームに表示されました。

工場出荷時設定リセットの方法

ホームに表示されている下向き矢印マークは、新しいファームウェアがあるのでダウンロードせよという案内です。NanoleafのiOSアプリが必要とのことで、まずはアプリをダウンロードしました。アプリの中から「ファームウェア更新」というメニューを選び更新しました。しかし更新したところ、今度はHomeKitでの応答が悪くなりました。登録しなおそうと思い、ホームから削除したら、再登録できなくなりました。

そこで、Nanoleafのサイトに書いてあった工場出荷時状態へのリセットを試しました。3秒間隔でon/offすると5回目に電球が点滅しフル点灯になりリセットされます。この結果、再びHomeKitに登録できるようになりました。ファームウェアアップデートをした後は、リセットしないといけないようでした。

ただ、これ以降も時々応答が悪くなったり、「アップデート中」になったり「応答なし」状態になることがあります。ファームウェアアップデートとは関係なかったのかもしれません。ネットワーク環境のせいかもしれませんが、同じくHomeKit対応のMerossのスマートプラグは問題なく安定して動作してます。NanoleafのHomeKit実装の問題なのか、Threadの問題なのか不明です。しばらくすると回復しますが、待ちきれない場合はまたリセットしてます。とはいえ1個しかないThread対応デバイスなので、引き続き使用して様子を見ます。

     

(追記:HomePodソフトウェアを16.1にバージョンアップしたら、「アップデート中」とか「応答なし」となる状況がほぼ解消しました。バージョンアップが効いたのかと思います。(2022/10/25))

Thread接続になっているのか

いろいろ試して電球の接続方式を確認したところ、確かにThread接続のようでした。

まず、HomePod miniの電源を抜いてoffにしました。すると電球は反応しなくなりました。電源を戻すと、しばらくして復旧しました。HomePod miniを経由して接続されていることは間違いないようです。BLE接続の可能性はなくは無いですが、Threadで接続されていると思われます。

NanoleafのiOSアプリには、Threadネットワークという項目がありました。Threadの一部として動いているように読み取れます。Threadのメッシュを構成するデバイスはThread Routerというらしいので、ここもルーターと表示されているのかと思います。Zigbeeでも電球はルーターになるので同じ扱いなのでしょう。

さらにNanoleafのiOSアプリから電球を選択し、設定画面を開いたところ、

接続タイプが「糸」になってました。直訳がキツイですが、Thread接続になっていました。

まとめ

Threadについて調べました。Appleは昔からThreadを応援しているようで、HomePod miniとApple TV 4KがThread対応していることを知りました。またThread対応のNanoleafの電球をHomeKitにThread接続して、動作確認しました。

NanoleafのThread対応電球は、国内の規制に従って使用できるスマート電球の中でも、HomePodにThread方式で直接接続できる数少ない製品です。値段は少し高いですが、ちゃんと動きます。

コメント

タイトルとURLをコピーしました