Uncategorized

코드 당신의 집을 트위터와 인터페이스하는 코드

지난 주에 우리는 트위터와의 스마트 홈 통합에 대해 Andy Stanford-Clark를 인터뷰했으며 이제 컴퓨터 과학 학생 Justin Wickett의 파일을 출판하여 오픈 소스 스크립트를 제공합니다. SMS 문자 메시지를 통해 모바일에 대한 SMS 문자 메시지와 Twitter가 제공하는 다른 모든 장점을 통해 집을 통신하는 코드를 읽으십시오.

“저는이 모든 기술을 함께 끌어 내기 위해 몇 줄의 코드를 작성해야했습니다. 다음 코드는 원래이 아이디어의 타당성을 테스트하는 데 사용한 매우 거친 구현입니다. Duke University로 돌아 오면 Bluetooth 지원과 확인 알림을 통합 할 계획입니다. 가장 좋은 점, 나는 휴대 전화를 사용하여 모든 친구들에게 방송되는 Twitter 공개 업데이트를 보내고 있습니다. 이 방법은 안전하지 않으며 전기 네트워크 상태에 대한 업데이트로 팔로어를 스팸으로 만듭니다. 테스트 목적으로 개인 계정을 만들거나 트위터의 직접 메시징 기능을 사용하는 것이 좋습니다.

마지막으로,이 코드는 Summize.com 검색 엔진에 따라 다릅니다.이 검색 엔진은 트위터에 전송 된 모든 공개 메시지를 구문 분석하고 색인합니다. 요금 제한 문제로 인해 Twitter.com을 조사 할 수 없었습니다. 내 코드 폴링은 업데이트가 있는지 확인하기 위해 매번 확인하는 매번 Summize의 REST API (단순히 웹 URL)를 Summize. 이 폴링 방법은 효율적이지 않으며 세금은 Summize의 서버입니다. Twitter의 Pub Sub Jabber Feed를 구독하고 구문 분석하는 것이 좋습니다 (참조). 아래는 다른 언어로 쉽게 포팅 할 수있는 빠르고 더러운 파이썬 코드입니다.

#/usr/bin/python
#Copyright 2008 Justin Wickett
#이 프로그램은 완전히 무료 소프트웨어입니다. 재분배하거나 수정할 수 있습니다.
#GNU 일반 공개 라이센스의 조건에 따라
#라이센스의 버전 3 버전 3, 또는
#(옵션에서) 이후 버전.
#이 프로그램은 유용하기를 희망하여 배포됩니다.
#그러나 보증없이; 묵시적 보증조차없이
#특정 목적을위한 체력 또는 체력. 참조
훨씬 자세한 내용은 #GNU 일반 공개 라이센스.
#GNU 일반 공공 라이센스 사본을 받았습니다.
#이 프로그램과 함께. 그렇지 않은 경우 <> 참조.
PeedParser, OS, Time #’FeedParser’라이브러리를 설치할 수 있습니다.
#todo : Insteon 주소뿐만 아니라 사용자 이름을 적절한 값으로 바꾸십시오.
#todo : 또한 로컬 컴퓨터의 ICMD 경로로 시스템 명령에 경로가 올바르게 설정되어 있는지 확인하십시오.
Lastweet = 0 #Queries를 저렴하게 만들기 위해 수신 한 마지막 트윗을 추적하기 위해 사용
username = “xxxxxxxx”#Twitter 사용자 이름 전기 네트워크를 제어하기 위해 명령을 보내는 사람
InsteonAddress =“xx.xx.xx”#Insteon 켜고 켜고 싶은 장치의 주소

(1) :
FeedUrl =“”+username+”& agne_id =”+str (lasttweet) #polling summize
feed = feedparser.parse (feedurl)
LEN (feed [ ‘actries’])> 0이고 피드 [ ‘entries’] [0] .link.split ( ‘/’) [-1]> lastweet :
CMP (피드 [‘entries’] [0] [‘Title’], “Bedroom Lights On”) == 0 : #”on”명령을 확인하십시오.
os.system (255의 “ICMD”+InsteOnaddress+”) #스위치 켜기로 제어되는 조명을 켜십시오.
CMP (피드 [‘entries’] [0] [‘Title’], “Bedroom Lights Off”) == 0 : #”OFF”명령을 확인하십시오.
OS.System (“ICMD“+InsteOnaddress+”Off 255”) #스위치 끄기로 제어되는 조명을 켜십시오.
lasttweet = feed [ ‘entries’] [0] .link.split ( ‘/’) [-1] #마지막 트윗을 통해 우리가 스스로를 밟지 않도록합니다.
time.sleep (1) #1 초, 코드를 다시 실행하십시오.

Justin Wickett의 사이트 : 트위터에서 자동화 된 집 팔로우

이 공유:
페이스 북
트위터
레딧
링크드 인
Pinterest
이메일

whatsapp
인쇄

스카이프
텀블러

전보
포켓