寝室のESPEasy in Sonoff常時通電化

以前、SonoffというESP8266が搭載されたオールインワンなIoTリレーデバイスファームウェアをESPeasyに入れ替え、サーバーにHomebrigeをインストールと設定をし、Apple Homekitでコントロールするというのをやりました。

 

gentoolinux.hatenablog.com

gentoolinux.hatenablog.com

このとき、Sonoffのルールに、

On System#Boot do
gpio,12,1
EndOn

と記述し、通電されると約10秒後にSonoffが起動し、まずは通電を開始し、寝室のライトが付くようにしました。

しかし、この10秒が結構待たされます。

嫁にも言われます。

そのうち、帰宅後から就寝まで、つきっぱなしになります。(笑)

 

そこで、リビングの3chリレーと同様、Sonoffを常時通電させ、GPIOに接続した押しボタンスイッチでON/OFF出来るようにします。

 

スイッチに100VのL(ライン)とN(ニュートラル)が来ていれば、そこにSonoffを噛ませ、GPIOを結線するだけで以上終了・・・。だといいのですが、たいていは天井に隠蔽された差し込みコネクタでLだけが分岐され、スイッチにはL側だけが配線されています。

となると、Sonoffを動作させるためにAC100V(もしくはDC5Vですが、これもAC100Vで作る必要があります。)をスイッチ部分まで別途引いてくる必要があります。

 

まずは、天井の通線作業です。

幸いに、寝室スイッチ近くの脱衣場の天井に換気口があり、換気口をとれば腕が入ることと、風呂場の天井に点検口があること、その天井に常時通電の100Vを差し込みコネクタで分岐している部分が手に届きます。

 

VVF1.6を使っての通線作業です。

VVF1.6が堅くて良かった。

点検口から換気口まで約2m弱ですが、届いてくれました。

あとは換気口から手探りで寝室スイッチまでVVFを通線します。

f:id:naoyukinagano:20171004221420j:plain

 

その後、常時通電している差し込みコネクタを1端子多いものに交換し、通線したVVFと結線します。

ちなみに、この作業は有資格者でないとできません。

f:id:naoyukinagano:20171004221515j:plain

 

では、ここからは有資格者じゃなくてもできる改造作業です。

 

まず、寝室の天井ランプに仕込んでいたSonoffを外し、ランプを原状回復させます。

f:id:naoyukinagano:20171004221833j:plain

 

Sonoffにさらなる改造を施します。

通常のSonoffは、Inputの100vをDC変換し自身の動力源としつつ、リレーを介してそのままOutputに渡しています。

しかしながら、先ほど申し上げたように、スイッチには100のL側しか来ていません。

なので、InputとOutputを絶縁した上で、Output側の接点両方をリレーでON/OFF出来るように結線し直さなくてはなりません。

 

まずは、取り出したSonoff基板のN側結線を、基板ごとラジオペンチを使って壊します。

カッターで予め切り込みを入れておくときれいに切れると思います。

赤丸の部分です。

f:id:naoyukinagano:20171004222646j:plain

 

続いて、L側の結線を絶縁です。

結線は裏面と表面両面にパターンがあります。

裏のパターンは次の写真の赤丸のところで、先に半田を吸い取って薄くしてから、カッターでカットします。

円内上部には抵抗の足が、円内右にはリレーの足があります。

f:id:naoyukinagano:20171004223011j:plain

 

表面もL側結線のパターンが走っているので、5VDC変換回路に影響のない、リレーギリギリのところでパターンカットします。

見づらいですが、リレーに沿って、カッターでパターンを削っています。

f:id:naoyukinagano:20171004223533j:plain

 

パターンカットしたら、しっかりとテスターで絶縁されているか確認しましょう。

 

続いて、Output側をリレーにつなぎます。

裏面のパターンが近い部分に、おあつらえ向きに、元々半田が持ってあります。

この間をなるべく太い線で結線します。

電流も多めにがなれるでしょうから、半田も多めに盛っておきましょう。

(写真の青い被服部分は取っ手として使っていたので、半田が終わったらカットしました。)

f:id:naoyukinagano:20171004224042j:plain

 

つづいて、スイッチとなるGPIOの結線ですが、これは以前にピンヘッダーを半田付けしていました。

シリアル通信で使わなかった1本が、実はGPIO14だったのです!

こんな小さくて安いのに、なんて拡張性が高いのでしょう!!

(今、Sonoffをもう一つ買って、温湿度センサーのDHT22をこのGPIO14に結線し、室外温度を計測することを計画中です。)

写真はもうGNDとGPIO14を結線していますが、スイッチがある側から、3.3V,RX,TX,GND,GPIO14です。

このGPIO14とGNDを取り出し、プッシュスイッチに接続し、ショートさせてSwitch Inputとします。

プルアップ抵抗をESP8266内部に持たせるので、抵抗は結線せずに直接プッシュスイッチに接続する予定です。

f:id:naoyukinagano:20171004225226j:plain

 

GPIO14とGNDのケーブルをケースから出します。

f:id:naoyukinagano:20171004225326j:plain

 

ジャンパーケーブルは細いので、そのままでは当然VVF用のスイッチには入りませんから、棒形圧着端子に入れて圧着を掛けます。

私はジャンパ端子ごと圧着しました。その方が抜けにくそうだったので。

 

棒形圧着端子はあ例えばこんな商品です。(太さがこれで適合するのかは保証しません。)

 

こんな感じで圧着しました。

f:id:naoyukinagano:20171004230106j:plain

 

では、これをスイッチがある壁の中に押し込みます。

Sonoffは高さが88mmなので、壁のスイッチの穴は簡単に入りますし、厚さも23mm程度なので、LGSスタッドの主流である45形か50形であれば、フトコロは45mmか50mmですので、余裕で入ります。

VVFが硬いことがここでは難儀しますね。

 

ここからは電気工事士有資格者の作業となります。

通線した100VのLを片切スイッチに、片切スイッチの片方をSonoffのInputのLに。100VのNはそのままSonoffのInputのNに。と、言いたいところですが、私はパイロットランプ付きのスイッチを購入したので、差し込みコネクタで分岐し、片方をパイロットランプ付きスイッチのNに接続しました。

今までのスイッチに付いていた寝室ランプのVVFをSonoffのOutputに接続します。

GPIO14とGNDのケーブルをプッシュスイッチに接続します。

 

接続途中ですが、スイッチの作業中の様子です。

f:id:naoyukinagano:20171004231407j:plain

 

全て結線して壁に押し込んで、スイッチをC形挟み込み金具で壁に固定し、スイッチパネルをつけて完成です。

f:id:naoyukinagano:20171004231515j:plain

 

上がGOIO14とGNDをショートさせるプッシュスイッチ、下がSonoffに電源を供給するパイロットランプ付き片切スイッチです。

Sonoffが暴走して再起動する際は、下のスイッチをOFF/ONすれば良いということになります。

 

ここまでできたら、SonoffのESPEasyの設定を変更します。

 

Sonoffに設定しているIPアドレスにブラウザからアクセスしましょう。

まず、Devicesです。

すでに、前回設置した際に、Task1にGPIO-12としてリレーを割り当て、Task2にGPIO-0として基板上のボタンを割り当て、このボタンでもON/OFF出来るようにしていました。が、前回も今回も、ボタンは押せない場所にあります(笑)。

このGPIO-0をGPIO-14に変更するだけです。

 

以下、ブラウザのキャプチャですが、Task2のEditを押します。(すみません。すでにGPIO-0からGPIO-14に変更した画像です。)

f:id:naoyukinagano:20171004233048p:plain

 

そして、「1st GPIO:」からGPIO-14を選び、念のため「Pull UP:」にチェックが入っていることを確認して「Submit」を押します。(なにせ、プルアップ抵抗をつないでませんからね。Pull UPにチェックしましょう。)

 

Rulesは買えるところがありませんが、一応おさらい。

f:id:naoyukinagano:20171004233427p:plain

 

次のように記載しています。

On System#Boot do
   gpio,12,1
EndOn

On PowerOn Do
   gpio,12,1
EndOn

On PowerOff Do
   gpio,12,0
EndOn

On Button#State Do
   If [Button#State] = 0
     gpio,12,0
     gpio,13,1
   Else
     gpio,12,1
     gpio,13,0
   EndIf
EndOn

 

GPIO-0のときも、GPIO-14の時も、devicesでButtunというデバイス名で定義しているので、特に変更ありませんでした。

 

ちなみに、Homebridgeも変更するところはありません。

これで完成です!

 

寝室ランプがスイッチでも、AppleHomekitでも瞬時に反応し、快適になりました。