파이토존에서 ECHONET Lite 가전제품 조작
개시하다
python에 ECHONET Lite의 가전 작업에 대한 샘플 코드를 업로드합니다.
※ ECHONET Lite(ISO/IEC 14543-4) 국제 표준
하고 싶은 일
1. 가전제품의 ON/OFF 제어
2. 가전제품의 동작 상태 얻기
루비 버전루비로 ECHONET Lite 가전제품을 제어하다에 있어요. 저쪽을 보세요.
※ 아래 샘플 절차는 공기청정기를 목표로 합니다.
에어컨과 조명을 컨트롤하려면 위의 루비판에 상세한 설명이 있으니 참고하세요.
컨디션
● 공기청정기(ECHONET Lite 지원)
⇒ Sharp KI-EX100
● Windows 7
● Python 2.7.11
동작 상태를 ON으로 설정
ip="192.168.0"의 부분은 각 기기의 IP 주소를 사용하십시오.
ON_send.py# coding: utf-8
import socket
ip = "192.168.2.166"
ECHONETport = 3610
message = "1081000005FF010135016101800130"
msg = message.decode("hex")
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.sendto(msg, (ip, ECHONETport))
동작 상태 닫기
OFF_send.py# coding: utf-8
import socket
ip = "192.168.2.166"
ECHONETport = 3610
message = "1081000005FF010135016101800131"
msg = message.decode("hex")
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.sendto(msg, (ip, ECHONETport))
상술한 절차가 다른 것은
일곱 번째 줄의 메시지 변수에서만
온시
message = "1081000005FF010135016101800130"
OFF 시
message = "1081000005FF010135016101800131"
동작 상태 확인
가전제품 동작 상태를 보내는 프로그램과
가전제품으로부터 동작 상태를 받는 프로그램에 대해 설명하다.
송신 프로그램
get_send.py# coding: utf-8
import socket
ip = "192.168.2.166"
ECHONETport = 3610
message = "1081000005FF0101350162018000"
msg = message.decode("hex")
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.sendto(msg, (ip, ECHONETport))
수신 프로그램
receive.py# coding: utf-8
import socket
port = 3610
bufsize = 4096
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(("0.0.0.0", port))
data = sock.recvfrom(bufsize)
print data[0].encode('hex')
print data
sock.close()
만약 잘 받아들일 수 있다면 다음과 같은 정보를 표시할 것이다
정확한 정보는 첫 번째 줄이다.
두 번째 줄은 16진수로 인코딩되지 않아 제대로 표시할 수 없습니다.저는 단지 여러분께 recvform을 사용하면 발송자의 IP 주소를 알 수 있고 매우 편리하다는 것을 알려드리고 싶습니다.
이번에는 테스트를 위해 11번째 샘플 코드를 넣었습니다. 필요하지 않은 코드이기 때문에 삭제해 주십시오.
참고로 샘플 코드 9행은
data[0].endode("hex")
python 2 시스템만 작동하는 것 같습니다.따라서 3과를 시험해 본 적이 없기 때문에 16진법의 인코딩 방법을 찾아 실행하세요.
3 계열인지 2 계열인지 모르면 명령 알림이나 터미널에서 다음과 같은 조작을 할 수 있다
$ python --version
다음으로 표시
python 2.○.○의 경우 2학과
python 3.○.○의 경우 3 계열
Reference
이 문제에 관하여(파이토존에서 ECHONET Lite 가전제품 조작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/miyazawa_shi/items/9384f0d2cd1ee255b1c1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
● 공기청정기(ECHONET Lite 지원)
⇒ Sharp KI-EX100
● Windows 7
● Python 2.7.11
동작 상태를 ON으로 설정
ip="192.168.0"의 부분은 각 기기의 IP 주소를 사용하십시오.
ON_send.py
# coding: utf-8
import socket
ip = "192.168.2.166"
ECHONETport = 3610
message = "1081000005FF010135016101800130"
msg = message.decode("hex")
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.sendto(msg, (ip, ECHONETport))
동작 상태 닫기
OFF_send.py
# coding: utf-8
import socket
ip = "192.168.2.166"
ECHONETport = 3610
message = "1081000005FF010135016101800131"
msg = message.decode("hex")
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.sendto(msg, (ip, ECHONETport))
상술한 절차가 다른 것은일곱 번째 줄의 메시지 변수에서만
온시
message = "1081000005FF010135016101800130"
OFF 시
message = "1081000005FF010135016101800131"
동작 상태 확인
가전제품 동작 상태를 보내는 프로그램과
가전제품으로부터 동작 상태를 받는 프로그램에 대해 설명하다.
송신 프로그램
get_send.py# coding: utf-8
import socket
ip = "192.168.2.166"
ECHONETport = 3610
message = "1081000005FF0101350162018000"
msg = message.decode("hex")
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.sendto(msg, (ip, ECHONETport))
수신 프로그램
receive.py# coding: utf-8
import socket
port = 3610
bufsize = 4096
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(("0.0.0.0", port))
data = sock.recvfrom(bufsize)
print data[0].encode('hex')
print data
sock.close()
만약 잘 받아들일 수 있다면 다음과 같은 정보를 표시할 것이다
정확한 정보는 첫 번째 줄이다.
두 번째 줄은 16진수로 인코딩되지 않아 제대로 표시할 수 없습니다.저는 단지 여러분께 recvform을 사용하면 발송자의 IP 주소를 알 수 있고 매우 편리하다는 것을 알려드리고 싶습니다.
이번에는 테스트를 위해 11번째 샘플 코드를 넣었습니다. 필요하지 않은 코드이기 때문에 삭제해 주십시오.
참고로 샘플 코드 9행은
data[0].endode("hex")
python 2 시스템만 작동하는 것 같습니다.따라서 3과를 시험해 본 적이 없기 때문에 16진법의 인코딩 방법을 찾아 실행하세요.
3 계열인지 2 계열인지 모르면 명령 알림이나 터미널에서 다음과 같은 조작을 할 수 있다
$ python --version
다음으로 표시
python 2.○.○의 경우 2학과
python 3.○.○의 경우 3 계열
Reference
이 문제에 관하여(파이토존에서 ECHONET Lite 가전제품 조작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/miyazawa_shi/items/9384f0d2cd1ee255b1c1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# coding: utf-8
import socket
ip = "192.168.2.166"
ECHONETport = 3610
message = "1081000005FF0101350162018000"
msg = message.decode("hex")
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.sendto(msg, (ip, ECHONETport))
# coding: utf-8
import socket
port = 3610
bufsize = 4096
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(("0.0.0.0", port))
data = sock.recvfrom(bufsize)
print data[0].encode('hex')
print data
sock.close()
data[0].endode("hex")
$ python --version
Reference
이 문제에 관하여(파이토존에서 ECHONET Lite 가전제품 조작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/miyazawa_shi/items/9384f0d2cd1ee255b1c1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)