LoginSignup
1

More than 5 years have passed since last update.

ShellScriptでECHONET Lite家電を制御

Last updated at Posted at 2016-10-30

はじめに

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個

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1