Smart HomeをDIYする

Apple HomeKit は対応製品が少なくて高価なのでHomebridgeでがんばります

Athom社のOrange pi zeroを使ったZigbee - Homebridgeサーバ

AthomのZigbee-Homebridgeサーバを使ってみました。Raspberry Pi Zeroに有線LANが付いたような基板にZigbee USBドングルが搭載されて、Homebridge, Zigbee2mqtt, Mosquittoが動きます。コスパは悪いですが、設定不要で動くので、市販のブリッジ製品くらいの気軽さで使えます。

AthomのIoT製品

Tasmota, ESPHome, HomeKitなどに対応したデバイスを作っているAthom Technologyって会社(場所は深圳?)があります。相場に比べて価格が安いわけではないですが、マニア向けなハードウェアを作ってます。そこでZigbee搭載Homebridgeサーバが売られてましたZigbee非搭載のモデルもあります。AliExpressでも売っているので買いやすいと思います。昔はZigbee搭載モデルが7000円くらいでしたが、今は円安・半導体不足のためか1万円超えてます。

Orange Piを使ったサーバ

AliExpressを見ていると、Orange Piっていうコンピュータ基板が見つかります。名前の通り、Raspberry Piのようなコンピュータです。ただし、互換機ではありません。この製品のメイン基板にも、Orange Piシリーズの中のOrange Pi Zeroという基板が使われてます。AliExpressのページなどの情報によると、仕様は以下らしいです。Raspberry Pi Zeroに近いカテゴリの小型基板ですが、ビデオ出力が無く、有線LANが付いている点がサーバ向けの構成になっていて良いです。

今回のHomebridgeサーバ製品、これが、サイズが55 x 50 x 36mmの小いさな白いケースに入っています。Orange Piのロゴが刻印されているので、標準的なケースだと思われます。ケースには、Ethernet, USB 2.0, micro USB (OTG), micro SDカードの端子があります。micro USBは電源用です。

ケースの裏蓋はネジ4本を外すと簡単に開きます。メインのOrange Pi Zero基板に、無線の基板が載ってます。これがZigbee無線のようです。AthomのページによるとCC2530PATR 2.4Z-Mというモジュールらしいです。メインの基板とは4本のヘッダピンで接続されています。ちょっとぐらついてますが箱の中で固定されるので問題ないでしょう。4本のピンは、プリント基板の印字によると、USB 2.0の5V, GNC, D+, D-のピンのようです。Zigbee2MQTTのページによると、CC2530は古いチップで、動くけど推奨しないとのことでした。

付属品

付属品は以下のように完璧ですぐに使用できます。

  • 電源アダプタ(USB電源)
  • 電源用USBケーブル
  • Ethernetケーブル
  • micro SDカード

micro SDカードにはOS類がインストール済みです。使用する前にSDカードをバックアップしておくのが良いと思います。macOSLinuxだったら、

dd if=/dev/rdisk<番号> of=athomserver.iso bs=16m

のようにddコマンドでバックアップできます。<番号>の部分は、SDカードをUSBアダプタにつけてマウントした時のディスク番号です。

サーバを動かす

サーバは全部設定済みなので、動かすのは簡単です。

  1. SDカードを指して、
  2. Ethernetケーブルを指して、
  3. 電源を接続する

だけです。DHCPでアドレスを取得するので、ルータのログを覗いて付与されたアドレスを調べます。あとは、そのアドレスに:8581をつけて、webブラウザで開けば使えます。例えば、http://192.168.4.12:8581を開きます。デフォルトのユーザ/パスワードは、admin/adminらしいです。ちなみにsshのユーザ/パスワードは、root/athom.techです。

このあとは、

  1. ログインして、
  2. 表示されるQRコードを使ってiPhoneからブリッジとして追加して、
  3. Zigbeeバイスをペアリングモードにすれば、

iPhone/Macのホーム.appから使えます。とても簡単です。唯一スキルが求められるのは、DHCPで割り当てられたアドレスを見つける技能くらいかと思います。

コストパーフォマンスは良くありません。Raspberry Pi 4を買って、最新のZigbeeアダプタを使えば、1クラス上の性能のサーバを同程度の価格で作れます。ただ、サーバをインストールして設定する手間が必要です。それに対して、市販のZigbeeゲートウェイと同じくらいの簡単な手順で、Zigbee + Homebridgeサーバを作ることができるので、入門機として良いのではないかと思います。

アップデートする

誰でも使える入門機の使い方としては無粋かもしれませんが、搭載されているソフトウェアを最新版にアップデートしました。

Homebridgeのアップデート

これは簡単です。WebページからHomebridge本体、UI, プラグインのどれも、更新ボタンを押すだけでアップデートされます。

Zigbee2MQTTなどのアップデート

sshでログインして

sudo apt update
sudo apt upgrade

などすれば良いと思います。Zigbee2MQTTに関しては、こちらの手順も有効かと思います。

OSのアップデート

これは多少の手間がかかりました。sshでログインすると以下のような表示が出ます。

  ___  ____  _   _____              
 / _ \|  _ \(_) |__  /___ _ __ ___  
| | | | |_) | |   / // _ \ '__/ _ \ 
| |_| |  __/| |  / /|  __/ | | (_) |
 \___/|_|   |_| /____\___|_|  \___/ 
                                    
Welcome to Armbian 21.02.3 Buster with Linux 5.15.48-sunxi

Armbianというディストリビューションがインストールされているようです。調べてみると、Orange PiなどのSingle Board Computer (SBC)という類のコンピュータ向けのOSのようです。表示のように、使われているのはBusterというバージョンですが、最新版はBullseyeらしいです。BusterからBullseyeへアップデートする方法が以下で紹介されていました。

forum.armbian.com

これによると、/etc/apt/sources.listに記述された参照先がBusterになっているので、aptで更新してもBusterの範囲での更新になるようです。なのでこの参照先をBullseyeに書き換えれば良いようでした。ということで

  1. /etc/apt/sources.listの中のbusterという文字をbullseyeに書き換えて
  2. apt updateして
  3. apt full-updateする

手順で、Bullseyeにアップデートできました。でもOSはアップデートできたのですが、sshでログインした時の表示はBusterのままでした。この対処法も上記のリンクに書かれていました。以下のようにすれば良いようです。

apt remove linux-buster-root-current-orangepizero
apt install armbian-bsp-cli-orangepizero

これで、ログインの時の表示も正しくなりました。

  ___  ____  _   _____              
 / _ \|  _ \(_) |__  /___ _ __ ___  
| | | | |_) | |   / // _ \ '__/ _ \ 
| |_| |  __/| |  / /|  __/ | | (_) |
 \___/|_|   |_| /____\___|_|  \___/ 
                                    
Welcome to Armbian 22.05.3 Bullseye with Linux 5.15.48-sunxi

まとめ

Apple HomeKitはアプリが秀逸なので、普通のiPhoneユーザにももっと使って欲しいところです。対応デバイスが限られていて高価な点も、Homebridgeを使えば対応できます。なので誰でもすぐに使えるHomebridgeサーバという商品コンセプトは面白いと思いました。

また、思いがけずOrange Pi Zeroを使うことになりましたが、Raspberry Pi Zeroよりもサーバ向きの構成なので、スマートホーム用途に向いていると感じました。