#はじめに
C言語でECHONET Liteによる家電操作のサンプルコードを載せます
※ECHONET Lite(ISO/IEC 14543-4-3)
やりたいことは
○ 家電製品のON,OFF制御
C言語以外で実行したいときは以下を参照する(今回と同じことが書いてあります)
Ruby版
Python版
#環境
os : windows 7
コンパイラ : GNU Compiler Collection(gcc)
対象家電 : 空気清浄機(ECHONET Lite対応)
=> sharp KI-EX1100
#サンプル
##動作状態をONにする
send.c
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
void main(void)
{
int udp_socket;
struct sockaddr_in addr;
char msg[]={
0x10,0x81,
0x00,0x00,
0x05,0xFF,0x01,
0x01,0x35,0x01,
0x61,0x01,
0x80,0x01,
0x30
};
udp_socket = socket(AF_INET, SOCK_DGRAM, 0);
addr.sin_family = AF_INET;
addr.sin_port = htons(3610);
addr.sin_addr.s_addr = inet_addr("192.168.2.166");
sendto(udp_socket,msg,sizeof(msg), 0,(struct sockaddr *)&addr, sizeof(addr));
close(udp_socket);
}
① 上記サンプルでは対象の家電を「空気清浄機」にしている。
エアコンなどに変更したい場合は
11-19行の中を変更する。
(例えば) エアコンの動作状態をONにしたい場合は0x05,0xFF,0x01,
↓ 0x01,0x30,0x01,
に変更する
詳しい方法は以下を参照する
ECHONET Liteの電文 作成方法
② IPアドレスの指定
24行目の```
inet_addr("192.168.2.166")
実行する時は各自の環境に合せて変更する必要がある。
上記の①,②を気をつければ実行が可能である。