Edited at

ShellScriptでECHONET Lite家電を制御

More than 1 year has passed since last update.


はじめに

LinuxのコマンドでECHONET Lite家電の操作を行う。

ターミナルから一行実行することで家電の操作が出来る。

※ ECHONET Lite (ISO/IEC 14543-4-3)国際規格


環境

対象家電 ⇒ 空気清浄機 SHARP KI-EX1100

OS : Debian 4.6.3


シェルスクリプト

以下 コマンドを実行すると空気清浄機の動作状態がONになる



$ echo "0x10,0x81,0x00,0x00,0x05,0xFF,0x01,0x01,0x35,0x01,0x61,0x01,0x80,0x01,0x30" | xxd -p -r | netcat -u 192.168.2.166 3610



ターミナル.jpg


注意1

ip アドレスは各自の環境に変更すること


ECHONET Liteの制御(言語別)

Ruby

Python

C言語


個人的メモ


16進数ダンプコマンド

今回は xxdコマンドを使用したけど、他には

hexdump, odとかがあるみたい。

16進数から文字列変換はxxdでやることが多い!?


参考URL 16進数ダンプコマンドの違い


シェルスクリプト


script.sh

#!/bin/sh

echo "0x10,0x81,0x00,0x00,0x05,0xFF,0x01,0x01,0x35,0x01,0x61,0x01,0x80,0x01,0x30" | xxd -p -r | netcat -u 192.168.2.166 3610

一行目は必要みたいで実行方法が3通り

1 $sh script.sh



2 $bash script.sh



3 $chmod 755 script.sh

  $./script.sh


UDPの送受信


送信

今回のコマンドは netcatを使ったけどncも同じ働きをする


受信

以下コマンドでポート3610のUDPで受信可能

$nc -lu 3610

※文字化けしてしまうのでRubyのunpack的なことが必要


参考URL nc(netcat)コマンドで覚えておきたい使い方8個