Skip to content
jestem modelką bielizny, a to 5 najładniejszych trendów jakie posiadam
May 7, 2023 by wtnwh

Hakowanie serwera drukowanego dla Ethernet Home Automation

Hakowanie serwera drukowanego dla Ethernet Home Automation
May 7, 2023 by wtnwh

Przesłanie Dan McGrath. Co to wszystko w tym wszystkim? Cóż, mam mnóstwo automatyzacji domowej i uwielbiam to! Jednak ilekroć pokazuję to znajomym i rodzinie, zwykle otrzymuję jedną z dwóch odpowiedzi. Po pierwsze, to tylko sztuczka i nigdy nie chcieliby czegoś takiego. Po drugie jest to, że jest świetny, ale zbyt skomplikowany, aby ustawić coś podobnego.

To jest moja próba prostego, w rzeczywistości bardzo łatwego urządzenia do automatyzacji domowej, z którego każdy może użyć, i praktycznie każdy może zrobić. Naprawdę poważnie rozważam produkcję ich luzem (cóż, coś podobnego) i sprzedaż całości jako usługa zarządzana przez około dziesięć lat rocznie. (Proszę, daj mi znać, czy może to być interesujące dla kogokolwiek). W każdym razie, więc jest to moja próba taniej automatyzacji domowej dla mas, mam nadzieję, że ci się spodoba…

Projekt – prawda, więc potrzebuję czegoś taniego, niezawodnego, łatwego do zdobycia. Również coś, co może być wywołane przez łatwy przełącznik, a ten przełącznik może być dowolnym z poniższych:

Podłącz go do gniazda, światła lub dowolnego innego urządzenia i użyj go, aby go zmęczyć.

Przymocuj do panelu słonecznego lub LDR do monitorowania poziomów światła.

Podłącz parę sond i wykryć wodę (rośliny, deszcz, wycieki itp.)

Połącz się z przełącznikiem PIR lub trzciny w celu uzyskania bezpieczeństwa,

Połącz się z alarmem dymu w celu ochrony przeciwpożarowej,

Połącz się z matą ciśnieniową itp.

Większość ludzi nie chce komputera lub serwera przez cały dzień, ze względu na hałas, ciepło i zużycie energii. Łatwe małe komputery z jednej płyty można teraz kupić od 50 USD każdy (Xport, Arduino, Picotux itp.), Ale nawet to wydaje się przesady dla tego, czego chcę…

Zarządzany przełącznik, router, zapora ogniowa, wszystko z portem Ethernet i jakiś interfejs internetowy był tym, czego szukałem, ale musiał być tani… i mały…. Potem wpadłem na pomysł serwera drukowanego… serwery drukowane są idealne, zużywają bardzo mało energii elektrycznej, są opracowywane przez cały czas, mogą reagować na ping i lepiej mieć również wbudowany serwer internetowy. Zrobiłem trochę Google i zobaczyłem ich zaledwie dziesiątkę w serwisie eBay. Aha i oni też są małe! Miałem trzy pomysły na ten projekt:

Pierwszym z nich było to, że mogłem złamać lub skrócić parę transmisji w przychodzącym telewizji kablowej Ethernet na serwerze drukowanym. Z pewnością przy tych zwarciowych lub zepsutych urządzenie nie byłoby w stanie odpowiedzieć na żądanie ping lub http.

Myślę, że to zadziała, ale wydawało się to trochę barbarzyńskie i jestem pewien, że mogłem zrobić lepiej.

Drugim było po prostu złamanie mocy urządzenia

Miało to potencjał z punktu widzenia oszczędzania energii, ponieważ zasilasz urządzenie tylko przez pewien czas, oczywiście, kiedy zostało ono zasilane, nie zobaczysz jej strony internetowej, ani odpowiedzi na żądanie ping. Bardzo podobał mi się ten pomysł, jedyne, co mnie zniechęciło, było to, że po wyłączeniu nie można stwierdzić, czy urządzenie było wyłączone, czy odłączone od sieci z innego powodu – może awaria gdzie indziej. Nie byłem również pewien, jak długo urządzenie utrzyma ustawienia (sieć itp.), Kiedy było wyłączone.

To, czego naprawdę chciałem, było sposobem na reakcję jednostki, aby potwierdzić, że było to albo w tym czy innym stanie, w ten sposób możesz być pewien, co naprawdę się dzieje. Właśnie tam pojawia się mój trzeci pomysł.

Trzecim pomysłem było oszukanie serwera drukarskiego, że drukarka była do niej naprawdę dołączona,

A potem miało to, aby wydawało się, że drukarka była na linii lub off.

Zrobiłem trochę badań i wydaje się, że do tego celu jest używany pin 13 złącza. Weź wysokie pin (tj. Zastosuj do niego 5Volts), a serwer uważa, że ​​drukarka jest On_Line, weź pin -pin do niskiego (tj. Usuń napięcie), a serwer uważa, że ​​drukarka jest poza linią.

Ponieważ wszystko, co muszę zrobić, to zastosować i usunąć 5Volts, mogę gdzieś znaleźć 5Volts i prowadzić przełącznik. Zamknij przełącznik i wydaje się, że drukarka jest on_line, otwórz przełącznik, a drukarka pojawia się poza linią. Jak mówię, ten status znajduje odzwierciedlenie w interfejsie internetowym, więc łatwy skrypt powinien być w stanie ankietować tę stronę i przeanalizować status drukarki, a następnie wykorzystać tę informację do czegoś przydatnego.

Konstrukcja-jak omówiono powyżej, użyłem równoległego serwera drukowania Edimax PS-1206P, który kupiłem za około 25 funtów online. To było znacznie bardziej jak 22 quid, ale wysyłka i pakowanie tego nieco uderzają. Ostatecznie kupiłem ich garść, ponieważ były one takie tanie. Nigdy wcześniej nie słyszałem o Edimax, więc produkt może być dobry lub zły, ale mnie to nie obchodzi, o ile odpowie na prośbę HTTP, będę szczęśliwy! Byłem mile zaskoczony, kiedy się pojawili, były ładnie zapakowane, a zawartość też wyglądała dobrze:

Jedno jest pewne, to urządzenie nigdy nie zostanie podłączone z tyłu drukarki. Wkrótce pokroję go w coś znacznie bardziej interesującego. Szczegóły tutaj: Edimax PS-1206P

OK, więc zdobądźmy pokrywkę jednej z nich… po prostu uwielbiam zabierać rzeczy na części, ale biorąc zupełnie nowe rzeczyPoza tym jest dla mnie szczególnie zabawne, po prostu wydaje się takie złe !! Na dole znajduje się kilka śrub z głową Phillipsa, a po ich usunięciu obudowa po prostu się rozdziela, chociaż musisz nieco ścisnąć boki, gdy dwie połówki zaciskają się w siebie.

Byłem mile zaskoczony wnętrzem tego urządzenia, było bardzo dobrze złożone. Pan wie tylko, po co są wszystkie bity, myślę, że jest tam procesor, trochę pamięci, odrobina I/O i inne rzeczy, których nie rozumiem.

Teraz możesz zachować duży gniazdo Centronics 36Pin na serwerze drukowanym i po prostu złapać pasującą wtyczkę, aby się z nią połączyć, ale są one dość nieporęczne i wydaje się, że nieco przesadza, szczególnie biorąc pod uwagę, że musimy tylko połączyć się z 2 z 2 z 2 z Te 36 pinów. Zdecydowałem się odciąć gniazdo… nie, nie zrobiłem tego z toporem, w tej chwili wygląda to nieco szorstkie:

Następnie opuściłem poszczególne szpilki z planszy i stworzyłem małą metalową płytkę, aby zablokować otwór pozostawiony z brakującego gniazda. Wywierciłem w nim kilka otworów i podłączyłem parę zacisków śrubowych. Trochę 2 części epoksydowej i trochę upałów i masz to…

Całkiem fajne, co?! Takie jest działający prototyp, przy odrobinie szczęścia, wypełnienie tych dwóch zacisków śrubowych zwróci status On_Line, a pozostawienie ich otwartych zapewni linię poza_. Czas więc przetestować. Uwaga: Powyższe zdjęcia pokazują połączenia z PINS 35 i 36, jest to nieprawidłowe, kolejne testy wykazały, że faktycznie potrzebowałem pinów 13 i 19.

Zdecydowałem się zmierzyć zużycie energii i byłem mile zaskoczony tym, co znalazłem, używa tylko 6 watów, co nie jest zbyt wiele, prawda? (Przy 10p na kWh będzie kosztować około 5 quid rocznie)

Jak powiedziałem powyżej, zamierzam sondować mój serwer z żądaniem HTTP i odebrać status drukarki, ale jeśli chcesz sprawdzić, czy jest tam, pingowanie go, możesz użyć ping do Montior, używając czegoś takiego:

data
n = 1

podczas gdy [$ n -lt 1000]
robić
ping -n 1 serwer_ip
Echo $ n
Niech n = n+1
Gotowe
data

Pokazuje, że to urządzenie może łatwo wysyłać (i odbierać) 1000 pingów w 52 sekundy, czyli 20 pingów na sekundę. Pingowanie jest to realna opcja i powinna dać ci dość szybką odpowiedź. Oczywiście, jeśli chcesz po prostu użyć ping, musisz albo wyruszyć urządzenie, łamanie zasilania lub połączenia sieciowego (nie będzie miało to wpływu status drukarki). Pings tak naprawdę nie działa dobrze w Internecie, wiele osób i routerów wyłącza żądania ICMP na ich granicach, jednak korzyścią z tego urządzenia jest to, że ma również interfejs internetowy, który można sondować, aby sprawdzić jego dostępność. Można to łatwo zrobić przez Internet, a krótki skrypt pokazuje, że możesz złożyć około 1 żądania na sekundę za pomocą…

#!/usr/bin/bash

User = nazwa użytkownika
hasło = hasło
url = server_url

wget –QUiet –Http-User = $ User –http-Password = $ hasło \
–Proxy = $ proxy $ url

GREP OFF_LINE Printer.htm> /dev /null

Jeśli [„$?” == „0”]
Następnie echo „offline”
Else Echo „Online”
fi

RM Printer.htm

Zwraca wartość na podstawie statusu drukarki. Zauważ, że WebServer na pokładzie jest dość powolny, zgodnie z oczekiwaniami, ale otrzymujesz reakcję w mniej niż sekundę, więc myślę, że będzie można ankietować co 5-10 sekund. Zastąpienie poleceń ECHO pocztą lub dodatkowymi poleceniami WGET może wysłać wiadomość e -mail lub uzyskać adres URL (może użyć Twittera do SMS -y itp.)

Ok, przykład aktualizacji statusu Twittera znajduje się poniżej:

wget –keep-session-Cookies –Http-User = nazwa użytkownika \
–Http-Password = hasło –Post-data = komunikat \

(Zastąp nazwę użytkownika, hasło i wiadomość, no wiesz ..)

Albo lepiej, oto jak wysłać sobie tweet, kiedy coś się dzieje:

wget –keep-session-Cookies –Http-User = User \
–Http-Password = hasło –Post-data = komunikat \

Uwaga, musisz zakodować adres URL, który jest całkiem fajny, prawda? Zobacz znacznie więcej o interfejsie API na Twitterze tutaj. – API na Twitterze

Aby zobaczyć to z sieci, musisz do NAT na swój serwer drukarski, uruchamiam router Cisco, więc następujące dla mnie działało:

IP Nat wewnątrz źródła statycznego rozszerzenia TCP

(Trzymaj numer portu w wysokich 50 000 lat, a otrzymasz mniej ludzi skanujących i sondujących). Jeśli masz router Linksys, wytyczne będą inne, ale coś takiego powinno to zrobić:

Jeśli nie masz żadnego z powyższych, jesteś sam… powodzenia!

Oprogramowanie – OK, podałem kilka przykładów powyżej, poniżej znajduje się działający skrypt powłoki bash, który monitoruje jeden z nich dla Ciebie, a Twitter SMS, gdy stan się zmieni. To bardzo łatwy przykład, ale powinien zacząć.

#!/bin/bash

## Web Get Parameters
user = ”admin”
hasło = ”1234 ″
url = ”http: //ip_address/printer.htm”

## Parametry Twittera
t_user = użytkownik
t_passwd = hasło

## Inne parametry
status = ”zamknięty”

Choć prawda
robić
Status old_status = $
wget –Quiet –Http-User = $ User –http-Passwd = $ hasło $ url

GREP OFF_LINE Printer.htm> /dev /null

Jeśli [„$?” == „0”]
Następnie status = ”Otwórz”
else status = ”zamknięty”
fi

RM Printer.htm

Jeśli [$ status! = $ OLD_STATUS]
Następnie wget –Quiet –Http-User = $ t_user \
–Http-passwd = $ t_passwd –Peep-session-Cookies \
–Post-Data = ”user = Twitter_username & Text = Message” \

fi
sen 1
Gotowe

Alternatywnie możesz użyć oprogramowania monitorowania, takiego jak wybitne freenaty, aby ostrzec Cię, gdy coś się dzieje.

Wniosek – mam nadzieję, że zachwycałeś to, co zrobiłem, musisz przyznać, że to automatyzacja domu
na tanie i bardzo łatwe do zrobienia. Cheers – Dan

Przydatne linki

CPAN – Wszystkie rzeczy perl
Perl – znacznie więcej rzeczy Perl
WGET – aplikacja WGET
EDIMAX – Dostawcy serwera drukowania Inne / Misc
Twitter – strona sieci społecznościowych z SMS -em

Ten krótki artykuł odtworzony z oryginału za uprzejmą zgodą Dana McGratha z Yourmissus.com

Chcieć więcej? – Śledź nas na Twitterze, podobnie jak my na Facebooku lub subskrybuj nasz kanał RSS. Możesz nawet dostarczyć te wiadomości za pośrednictwem wiadomości e -mail, prosto do skrzynki odbiorczej każdego dnia

Udostępnij to:
Facebook
Świergot
Reddit
LinkedIn
Pinterest
E-mail
Więcej

WhatsApp
Wydrukować

Skype
Tumblr

Telegram
Kieszeń

Previous articleXAP Wise House interfejs dla Jogglera O2Next article Jak wytworzyć nadmorski wygląd morski

Leave a Reply Cancel reply

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

Random Posts

  • 10 najlepszych sugestii Annie Sloan dotyczący używania farby kredowej
  • Popcorn Hour A-110 HD Networked Media Tank Review
  • Ogromne trzy w pracy w pracy na rok 2014
  • Wiosenne dywaniki i pościel
  • Autohome nagrody: Meross Smart Wi-Fi Otwieracze drzwi garażowych do rozdawania + kod dyskontowego
  • Wyświetlacz Alex Colville w Galerii Sztuki Ontario
  • Pływająca drewniana próżność
  • Spójrz na to Serene Whistler Retreat
  • Smart Home Show, który ma się podwoić
  • Wyłączne: rozmawiamy z jednym z najnowszych instalatorów Loxone, aby uzyskać porady Smart Home
SaturnWP WordPress Theme