Dan McGrath의 Ethernet Home Automation

제출 용 인쇄 서버 해킹. 그때이 전부는 무엇입니까? 글쎄, 나는 수많은 홈 자동화를 가지고 있고 나는 그것을 좋아한다! 그러나 친구와 가족에게 보여줄 때마다 두 가지 응답 중 하나를 얻는 경향이 있습니다. 첫 번째는 단지 특수 효과 일 뿐이며 그런 것을 원하지 않는다는 것입니다. 두 번째는 훌륭하지만 비슷한 것을 설정하기에는 너무 복잡하다는 것입니다.

따라서 이것은 누구나 사용할 수있는 간단하고 실제로 매우 쉬운 홈 자동화 장치를 시도하고 실제로 누구나 만들 수있는 시도입니다. 나는 실제로 이것들을 대량으로 제조하는 것을 진지하게 고려하고 있으며 (유사한 것도 비슷한), 1 년에 약 10 명 정도의 관리 서비스로 전체 로트를 판매하고 있습니다. (이것이 누구에게나 관심이 있는지 알려주십시오). 어쨌든, 이것은 대중을위한 저렴한 홈 자동화에 대한 나의 시도입니다. 나는 당신이 그것을 좋아하기를 바랍니다…

디자인 – 맞습니다. 그래서 저렴하고 신뢰할 수 있고 쉽게 잡을 수있는 것이 필요합니다. 또한 쉬운 스위치로 트리거 할 수있는 것도 다음 중 하나 일 수 있습니다.

소켓, 조명 또는 기타 어플라이언스에 연결하여 Montor에 사용하십시오.

태양 전지판 또는 LDR에 부착하여 조명 레벨을 모니터링하십시오.

한 쌍의 프로브를 연결하고 물 (식물, 비, 누출 등)을 감지하십시오.

보안을 위해 PIR 또는 리드 스위치에 연결하십시오.

화재 방지를 위해 연기 경보에 연결하고

압력 매트 등에 연결….

대부분의 사람들은 소음, 열 및 에너지 소비로 인해 하루 종일 PC 나 서버를 실행하는 것을 원하지 않습니다. Easy Tiny One Board 컴퓨터는 이제 각각 $ 50에서 구입할 수 있습니다 (Xport, Arduino, Picotux 등).

관리되는 스위치, 라우터, 방화벽, 이더넷 포트와 어떤 종류의 웹 인터페이스가있는 모든 것은 내가 겪었던 것이었지만 저렴하고 작아야했습니다…. 그런 다음 인쇄 서버에 대한 아이디어를 생각해 냈습니다. 인쇄 서버는 이상적이며 전기가 거의 사용되지 않으며 항상 전환하기 위해 개발되지 않으며 핑에 응답 할 수 있으며 여전히 제작 된 웹 서버도 더 잘 보유하고 있습니다. 나는 약간의 인터넷 검색을했고 eBay의 Tenner만큼 작은 것을 보았습니다. 오 그리고 그들은 너무 작습니다! 이 프로젝트에 대한 세 가지 아이디어가있었습니다.

첫 번째는 들어오는 이더넷 케이블 텔레비전의 전송 쌍을 인쇄 서버로 파괴하거나 짧게 할 수 있다는 것입니다. 확실히 이러한 단락 또는 파손 된 경우 장치는 핑 또는 HTTP 요청에 응답 할 수 없습니다.

나는 그것이 효과가 있다고 생각하지만 약간 야만적 인 것처럼 보였고 더 잘할 수 있다고 확신합니다.

두 번째는 단지 장치의 전원을 깨는 것이 었습니다.

이는 에너지 절약 관점에서 잠재력을 가졌으므로 장치에 전원을 공급할 때만 장치가 꺼져있을 때 웹 사이트 나 핑 요청에 대한 응답을 볼 수 없습니다. 나는이 아이디어를 아주 좋아했습니다. 저를 끄는 유일한 것은 전원이 꺼져있을 때 장치가 꺼져 있는지 또는 다른 이유로 네트워크에서 분리되었는지 알 수 없다는 것입니다. 또한 장치가 꺼져있는 동안 장치가 설정 (네트워크 등)을 유지하는 시간이 확실하지 않았습니다.

내가 정말로 원했던 것은 부대로부터 반응을 얻는 방법이었습니다. 그것이 나의 세 번째 아이디어가 들어오는 곳입니다.

세 번째 아이디어는 프린터가 실제로 첨부 된 인쇄 서버를 속이는 것이 었습니다.

그런 다음 프린터가 켜져 있거나 오프 라인이있는 것처럼 보이도록하십시오.

나는 약간의 재평가를했고, 커넥터의 핀 13 이이 목적으로 사용되는 것으로 보입니다. 핀 높이를 가져 가면 (즉, 5Volts를 적용) 서버는 프린터가 on_line이라고 생각하고 핀을 낮추고 (즉, 전압을 제거) 서버는 프린터가 OFF_LINE이라고 생각합니다.

내가해야 할 일은 5Volts를 적용하고 제거하는 것만 큼 5Volts를 찾아 스위치를 통해 라우팅 할 수 있습니다. 스위치를 닫으면 프린터가 on_line 인 것으로 보이며 스위치를 열면 프린터가 Off_line이 나타납니다. 내가 말했듯이,이 상태는 웹 인터페이스에 반영되므로 쉬운 스크립트는이 페이지를 폴링하고 프린터 상태를 구문 분석 한 다음이 정보를 사용하여 유용한 내용을 사용해야합니다.

구성-위에서 논의한 바와 같이, 나는 온라인으로 약 25 파운드에 구입 한 Edimax PS-12206P Parallel Print Server를 사용했습니다. 실제로는 22 Quid와 훨씬 비슷했지만 우송료와 포장 범프는 약간 증가했습니다. 나는 그들이 너무 저렴했던 것처럼 소수의 사람들을 구입하게되었습니다. 나는 전에 Edimax에 대해 들어 본 적이 없기 때문에 제품이 좋거나 나쁠 수 있지만 HTTP 요청에 응답하는 한 상관하지 않습니다. 그러면 행복 할 것입니다! 나는 그들이 나타 났을 때 유쾌하게 놀랐고, 그들은 상자가 좋았고, 내용도 괜찮아 보였습니다.

그러나 한 가지 확실한 점은이 장치가 프린터 뒷면에 연결되지 않습니다. 곧 훨씬 더 흥미로운 무언가로 잘게 썰었을 것입니다. 자세한 내용 : Edimax PS-12206p

좋아, 그러니 뚜껑을 꺼내겠습니다.…별로 나에게는 특히 재미 있고, 너무 잘못 보인다 !! 바닥에는 두 개의 필립스 헤드 나사가 있으며 일단 제거되면 케이스는 분리되지만, 두 반쪽이 서로 찢어지면서 측면을 약간 짜야합니다.

나는이 유닛의 내부에 놀랐다. 그것은 매우 잘 정리되었다. 주님은 모든 비트가 무엇인지 알고 있습니다. 프로세서, 기억, 약간의 I/O 및 내가 이해하지 못하는 다른 것들이 있다고 생각합니다.

이제 인쇄 서버에 큰 36pin Centronics 소켓을 유지하고 일치하는 플러그를 붙잡아 연결할 수 있지만, 이들은 상당히 부피가 크며 특히 우리가 2 개에 연결해야한다는 점을 고려하면 상단보다 약간 보입니다. 이 36 핀. 나는 소켓을 자르기로 선택했습니다.… 아니요, 도끼로하지 않았고, 지금은 조금 거칠게 보입니다.

그런 다음 보드에서 개별 핀을 황폐하고 작은 금속 플레이트를 만들어 누락 된 소켓에서 남은 구멍을 막았습니다. 나는 그것에 몇 개의 구멍을 뚫고 한 쌍의 나사 단자를 연결했습니다. 약간의 2 부 에폭시와 약간의 히트 샷 링크와 당신은 이것을 가지고 있습니다…

꽤 깔끔한 EH?! 그래서 그것은 약간의 운이 좋으면 서 작업 프로토 타입으로, 두 개의 나사 터미널을 연결하면 on_line 상태를 반환하면 열린 상태로두면 Off_line이 제공됩니다. 이제 테스트 할 시간입니다. 참고 : 위의 그림은 핀 35 및 36에 대한 연결을 보여줍니다. 이것은 잘못되었으며 후속 테스트는 실제로 핀 13과 19가 필요하다는 것을 보여주었습니다.

나는 전력 소비를 측정하기로 결정했고, 내가 찾은 것에 대해 유쾌하게 놀랐습니다. 6watts 만 사용합니다. (KWH 당 10p로, 달리는 데 매년 약 5 퀴드가 필요합니다)

위에서 말했듯이 HTTP 요청으로 서버를 폴링하고 프린터 상태를 수집 할 예정이지만 Ping을 핑하여 거기에 있는지 확인하려면 Ping을 사용하여 다음과 같은 것을 사용하여 Montior를 사용할 수 있습니다.

데이트
n = 1

[$ n -lt 1000]
하다
ping -n 1 server_ip
에코 $ n
n = n+1을하자
완료
데이트

이 장치는 52 초 안에 1000 핑을 쉽게 보내거나 수신 할 수 있으며, 이는 2 초에 20 핑입니다. 따라서 Pinging은 실행 가능한 옵션이며 상당히 신속한 응답을 제공해야합니다. 물론 Ping 만 사용하려면 전원 또는 네트워크 연결을 깨뜨려 장치를 설정해야합니다 (프린터 상태의 영향을받지 않음). 핑은 인터넷에서 실제로 잘 작동하지 않으며 많은 사람들과 라우터가 경계에서 ICMP 요청을 비활성화하지만이 장치의 이점은 가용성을 확인하기 위해 설문 조사를 할 수있는 웹 인터페이스가 있다는 것입니다. 이것은 인터넷을 통해 쉽게 수행 할 수 있으며, 짧은 스크립트는 다시 사용하여 초당 약 1 초 요청을 할 수 있음을 보여줍니다.

#!/usr/bin/bash

사용자 = 사용자 이름입니다
비밀번호 = 비밀번호
url = server_url

wget-quiet –http-user = $ user –http-password = $ password \
– proxy = $ proxy $ url

grep off_line printer.htm> /dev /null

[ “$?” ==“0”]
그런 다음 “오프라인”에 반향
else echo“온라인”
fi

RM 프린터 .htm

프린터 상태에 따라 값을 반환합니다. 예상대로 웹 서버는 매우 느리지 만 1 초 이내에 반응을 얻을 수 있으므로 5-10 초마다 투표 할 수 있다고 생각합니다. 메일 또는 추가 wget 명령으로 Echo 명령을 교체하면 이메일을 보내거나 URL을 얻을 수 있습니다 (트위터를 SMS 등으로 사용할 수 있습니다.)

좋아, 트위터 상태를 업데이트하는 방법의 예는 다음과 같습니다.

wget –keep-session-cookies –http-user = username \
–http-password = password –post-data = message \

(사용자 이름, 비밀번호 및 메시지를 대체하십시오.

또는 더 나은 일이 발생할 때 트윗을 보내는 방법은 다음과 같습니다.

wget-Keep-Session-Cookies –http-user = user \
–http-password = password –post-data = message \

URL이 꽤 멋진 메시지를 인코딩해야합니까? 트위터 API에 대해 더 많이보십시오. – 트위터 API

인터넷에서 이것을 보려면 인쇄 서버로 Nat을 사용해야합니다. Cisco 라우터를 실행 중이므로 다음이 저에게 작동했습니다.

소스 내부 정적 TCP 확장 가능

(포트 번호를 높은 50,000 명으로 유지하면 스캔하고 조사하는 사람들이 적을 수 있습니다). Linksys 라우터가 있으면 가이드 라인이 다르지만 이와 같은 일은 다음과 같습니다.

당신이 위의 것 중 하나를 얻지 못했다면, 당신은 혼자서… 행운을 빕니다!

소프트웨어 – 좋아요, 위의 몇 가지 예를 제시했습니다. 아래는 이들 중 하나를 모니터링하는 작동하는 Bash Shell 스크립트이며 State가 변경 될 때 Twitter SMS입니다. 매우 쉬운 예이지만 시작해야합니다.

#!/bin/bash

## 웹은 매개 변수를 얻습니다
user =”admin”
암호 =”1234 ″
url =”http : //ip_address/printer.htm”

## 트위터 매개 변수
t_user = 사용자
t_passwd = 비밀번호

## 기타 매개 변수
상태 = “닫기”

사실이지만
하다
Old_status = $ 상태입니다
wget-quiet –http-user = $ user –http-passwd = $ password $ url

grep off_line printer.htm> /dev /null

[ “$?” ==“0”]
그런 다음 상태 = “열기”
else status =”닫혀”
fi

RM 프린터 .htm

[$ status! = $ old_status] 인 경우
그런 다음 wget-quiet –http-user = $ t_user \
– http-passwd = $ t_passwd –keep-session-cookies \
–post-data =”user = twitter_username & text = message”\

fi
수면 1
완료

또는 미결제 Freenats와 같은 모니터링 소프트웨어를 사용하여 무언가가 발생할 때 경고 할 수 있습니다.

결론 – 글쎄, 내가 한 일에 기뻐했으면 좋겠다. 홈 자동화임을 인정해야한다.
저렴하고 매우 쉽게. 건배 – 댄

유용한 링크

CPAN – 모든 것들이 Perl
Perl – 훨씬 더 많은 것들이 perl
wget – wget 응용 프로그램
Edimax – 인쇄 서버 제공 업체 기타 / 기타
트위터 – SMS와 소셜 네트워킹 사이트

이 짧은 기사

더 원해? – Facebook에서 우리와 같이 Twitter에서 우리를 팔로우하거나 RSS 피드를 구독하십시오. 이 뉴스 기사를 이메일을 통해 매일받은 편지함으로 바로 전달할 수도 있습니다.

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

whatsapp
인쇄

스카이프
텀블러

전보
포켓

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *