• Uncategorized
  • 0

Hacken eines Druckservers für die Einreichung von Ethernet Home Automation

von Dan McGrath. Worum geht es dann? Nun, ich habe jede Menge Heimautomatisierung und ich liebe es! Immer wenn ich es Freunden und der Familie zeige, bekomme ich dazu, eine von zwei Antworten zu erhalten. Das erste ist, dass es nur eine Spielerei ist und sie so etwas nie wollen. Das zweite ist, dass es großartig ist, aber zu kompliziert für sie, um etwas Ähnliches einzurichten.

Dies ist also mein Versuch, ein einfaches, in der Tat sehr einfaches Hausautomatisierungsgerät zu verwenden, das jeder verwenden kann, und praktisch jeder kann es machen. Ich denke tatsächlich ernsthaft darüber nach, diese in großen Mengen herzustellen (gut etwas Ähnliches) und den ganzen Grund als verwalteten Service für ungefähr einen Tenner pro Jahr zu verkaufen. (Bitte lassen Sie mich wissen, ob dies für irgendjemanden von Interesse sein könnte). Wie auch immer, das ist mein Versuch, die Massen für die Billig -Heimautomatisierung zu machen, ich hoffe es gefällt euch …

Design – richtig, also brauche ich etwas, das billig, zuverlässig und leicht zu erreichen ist. Auch etwas, das durch einen einfachen Schalter ausgelöst werden kann, und dieser Schalter könnte eines der folgenden sein:

Schließen Sie es mit einem Sockel, Licht oder einem anderen Gerät an und verwenden Sie sie, um sie zu montieren.

Befestigen Sie an einem Solarpanel oder LDR, um die Lichtpegel zu überwachen.

Schließen Sie ein Paar Sonden an und erfassen Sie Wasser (Pflanzen, Regen, Lecks usw.).

Stellen Sie eine Verbindung zu einem PIR- oder Reed -Switch an, um die Sicherheit zu erhalten.

An einen Rauchmelder anschließen, um den Brandschutz zu schützen,

Schließen Sie eine Druckmatte usw. an.

Die meisten Menschen möchten nicht, dass ein PC oder Server den ganzen Tag läuft, aufgrund des Rauschens, des Wärme- und Energieverbrauchs. Einfache kleine Board -Computer können jetzt ab 50 US -Dollar (Xport, Arduino, Picotux usw.) gekauft werden, aber selbst dies scheint übertrieben für das, was ich will …

Ein verwalteter Schalter, ein Router, eine Firewall, alles mit einem Ethernet -Anschluss und einer Art Weboberfläche war das, was ich war, aber es musste billig sein … und klein…. Dann habe ich mich auf die Idee eines Druckservers ausgedacht. Druckserver sind ideal, sie verwenden nur sehr wenig Strom, werden so entwickelt, dass sie ständig eingeschaltet werden, können auf einen Ping reagieren und haben besser noch einen eingebauten Webserver. Ich habe ein bisschen herumgegossen und sie bei eBay so wenig wie einen Tenner gesehen. Oh und sie sind auch winzig! Ich hatte drei Ideen für dieses Projekt:

Das erste war, dass ich das Übertragungspaar auf dem eingehenden Ethernet -Kabelfernsehen zum Druckserver brechen oder verkürzen konnte. Mit diesen kurzgeschnittenen oder gebrochenen Geräten kann das Gerät sicherlich weder auf einen Ping noch auf eine HTTP -Anfrage antworten.

Ich denke, es würde funktionieren, aber es schien ein bisschen barbarisch, und ich bin sicher, ich könnte es besser machen.

Die zweite war nur, die Leistung auf das Gerät zu brechen

Dies hatte Potenzial aus energiesparender Sicht, da Sie das Gerät nur manchmal mit Strom versorgen würden. Wenn es ausgeschaltet wurde, werden Sie weder die Website noch eine Website oder eine Beantwortung einer Ping -Anfrage sehen. Ich mochte diese Idee sehr, das einzige, was mich ausschaltete, war, dass es beim Ausschalten unmöglich wäre, zu sagen, ob das Gerät aus dem Netzwerk aus dem Netzwerk war oder aus einem anderen Grund getrennt wurde – vielleicht ein Fehler an anderer Stelle. Ich war mir auch nicht sicher, wie lange das Gerät die Einstellungen (Netzwerk usw.) beibehalten würde, während es ausgeschaltet war.

Was ich wirklich wollte, war eine Möglichkeit, eine Reaktion von der Einheit zu erhalten, um zu bestätigen, dass es entweder in dem einen oder anderen Zustand war. Auf diese Weise konnten Sie sicher sein, was wirklich los war. Hier kommt meine dritte Idee ins Spiel.

Die dritte Idee war es, den Druckserver zu wecken, dass ein Drucker wirklich damit verbunden war.

Und dann haben Sie es so, dass der Drucker an oder aus der Linie war.

Ich habe ein bisschen Forschung gemacht und es scheint, dass für diesen Zweck Pin 13 des Anschlusses verwendet wird. Nehmen Sie den PIN hoch (d. H. Anwenden Sie 5 Volts darauf) und der Server glaubt, dass der Drucker auf der Leitung ist, den Pin niedrig (d. H. Entfernen Sie die Spannung) und der Server glaubt, dass der Drucker off_line ist.

Da ich nur 5 -Volt auftragen und entfernen muss, kann ich irgendwo 5 Volts finden und es durch einen Schalter weiterleiten. Schließen Sie den Switch und es scheint, dass der Drucker on_line ist, den Schalter öffnen und der Drucker off_line angezeigt wird. Wie ich schon sagt, spiegelt sich dieser Status in der Webschnittstelle wider, sodass ein einfaches Skript in der Lage sein sollte, diese Seite zu befragen, den Druckerstatus analysieren und diese Informationen dann für etwas Nützliches verwenden.

Konstruktion-Wie oben erläutert, habe ich einen parallelen Druckserver von Edimax PS-1206P verwendet, den ich für etwa 25 Pfund online gekauft habe. Es war eigentlich viel mehr wie 22 Pfund, aber Porto und Packung, das ein bisschen aufpackt. Am Ende kaufte ich eine Handvoll davon, da sie so billig waren. Ich habe noch nie von Edimax gehört, also könnte das Produkt gut oder schlecht sein, aber es ist mir egal, solange es auf eine HTTP -Anfrage reagiert, dann werde ich glücklich sein! Ich war angenehm erstaunt, als sie auftauchten, sie waren schön gepoert und der Inhalt sah auch in Ordnung aus:

Eines ist jedoch sicher, dass dieses Gerät niemals an den Rückseite eines Druckers angeschlossen wird. Ich werde es bald in etwas viel Interessanteres zerlegt haben. Details hier: edimax ps-1206p

OK, also lass uns den Deckel von einem dieser … ich liebe es einfach, Sachen auseinander zu nehmen, aber brandneue Sachen nehmeAbgesehen von mir macht mir besonders Spaß, es scheint einfach so falsch !! Es gibt ein paar Phillips -Kopfschrauben am Boden und sobald diese entfernt sind, zieht sich das Gehäuse nur auseinander, obwohl Sie die Seiten ein wenig drücken müssen, wenn die beiden Hälften ineinander einfließen.

Ich war angenehm erstaunt über das Innere dieser Einheit, sie war sehr gut zusammengestellt. Der Herr weiß nur, wofür alle Teile sind, ich denke, es gibt einen Prozessor, etwas Gedächtnis, ein bisschen I/O und andere Dinge, die ich nicht verstehe.

Jetzt können Sie den Big 36Pin Centonics Socket auf dem Druckserver behalten und einfach den passenden Stecker erhalten, um eine Verbindung dazu herzustellen, aber diese sind ziemlich sperrig und es scheint etwas übertrieben zu sein, insbesondere wenn man bedenkt, dass wir nur eine Verbindung zu 2 von herstellen müssen Diese 36 Stifte. Ich habe mich dafür entschieden, den Sockel auszuschneiden … nein, ich habe es nicht mit einer Axt gemacht, es sieht im Moment allerdings etwas rau aus:

Ich entlehnte dann die einzelnen Stifte vom Brett und machte eine kleine Metallplatte, um das Loch aus der fehlenden Steckdose zu blockieren. Ich bohrte ein paar Löcher hinein und habe ein Paar Schraubenklemmen angeschlossen. Ein bisschen zwei Teil Epoxid und etwas Heatshrink und Sie haben das …

Ziemlich ordentlich wie ?! Das ist also der Arbeitsprototyp, mit ein bisschen Glück, dass die Überbrückung dieser beiden Schraubenklemmen einen ON_LINE -Status zurückgibt und sie offen, wenn sie geöffnet sind. Es ist also Zeit zu testen. Hinweis: Die obigen Bilder zeigen die Verbindungen zu Pins 35 und 36, dies ist falsch. Nachfolgende Tests haben gezeigt, dass ich tatsächlich die Stifte 13 und 19 benötigte.

Ich habe mich entschlossen, den Stromverbrauch zu messen, und ich war angenehm erstaunt über das, was ich gefunden habe. Er verwendet nur 6watt, was ist es nicht sehr viel. (Bei 10p pro kWh kostet es ungefähr 5 Pfund pro Jahr)

Wie ich oben sagte, werde ich meinen Server mit einer HTTP -Anfrage befragen und den Druckerstatus sammeln. Wenn Sie jedoch nur sehen möchten, ob er durch Ping -Ping da ist, können Sie Ping verwenden, um es zu montior und mit etwas zu verwenden:

Datum
n = 1

während [$ n -lt 1000]
tun
ping -n 1 server_ip
echo $ n
Sei n = n+1
erledigt
Datum

Zeigt, dass dieses Gerät 1000 Pings in 52 Sekunden problemlos senden kann (und empfangen) kann, was 20 Pings pro Sekunde beträgt. Das Pinging ist also eine praktikable Option und sollte Ihnen eine ziemlich schnelle Antwort geben. Wenn Sie nur Ping verwenden möchten, müssen Sie natürlich entweder das Gerät ausschalten, indem Sie die Stromverbindung oder die Netzwerkverbindung durchbrechen (es wird nicht vom Druckerstatus beeinflusst). Pings funktionieren im Internet nicht wirklich gut, viele Menschen und Router deaktivieren ICMP -Anfragen an ihren Grenzen. Der Vorteil mit diesem Gerät besteht jedoch darin, dass es auch über eine Weboberfläche verfügt, die zur Überprüfung der Verfügbarkeit befragt werden kann. Dies kann leicht über das Internet erfolgen, und wiederum zeigt ein kurzes Skript, dass Sie mit…

#!/usr/bin/bash

Benutzer = Benutzername
Passwort = Passwort
url = server_url

wGet –quiet –http-user = $ user –http-password = $ password \
–Proxy = $ proxy $ url

grep off_line drucker.htm> /dev /null

Wenn [“$?” == “0”]
Dann spieln Sie sich “offline” an
sonst spiegelt “online” wider
fi

rm drucker.htm

Gibt einen Wert zurück, der auf dem Druckerstatus basiert. Beachten Sie, dass der Webserver an Bord ziemlich langsam ist, wie erwartet, aber Sie erhalten eine Reaktion in weniger als einer Sekunde, daher denke ich, dass es maßgeblich ist, alle 5-10 Sekunden zu befragen. Das Ersetzen der Echo -Befehle durch E -Mail- oder zusätzliche WGet -Befehle kann Ihnen eine E -Mail senden oder eine URL erhalten (möglicherweise verwenden Sie Twitter, um SMS usw.).

OK, ein Beispiel für die Aktualisierung Ihres Twitter -Status finden Sie unten:

WGET-KOKIES-HTTTP-USER = Benutzername \
–Http-password = Passwort –Post-data = message \

(Ersetzen Sie Benutzername, Passwort und Nachricht mit, nun Sie sich wissen.)

Oder noch besser, hier erfahren Sie, wie Sie sich einen Tweet schicken, wenn etwas passiert:

WGET-KOKIES-HTTTP-USER = User \
–Http-password = Passwort –Post-data = message \

Beachten Sie, Sie müssen die Meldung, die ziemlich cool ist, url codieren, nicht wahr? Sehen Sie hier viel mehr über die Twitter -API. – Twitter -API

Um dies aus dem Netz zu sehen, müssen Sie auf Ihrem Druckserver nat nat ein Cisco -Router ausführen, sodass das Folgende für mich funktioniert hat:

IP -NAT in der Quelle statische TCP Extendable

(Halten Sie die Portnummer in den hohen 50.000S auf und Sie erhalten weniger Personen, die Sie scannen und untersuchen). Wenn Sie einen Linksys -Router haben, ist die Richtlinie anders, aber so etwas sollte dies tun:

Wenn Sie keines der oben genannten haben, sind Sie alleine … viel Glück!

Software – OK, ich habe oben einige Beispiele angegeben, unten ein funktionierendes Bash -Shell -Skript, das eines davon für Sie überwacht, und Twitter senkt Sie, wenn sich der Status ändert. Es ist ein sehr einfaches Beispiel, aber sollte Ihnen den Einstieg bringen.

#!/bin/bash

## Web erhalten Parameter
user = “admin”
Passwort = ”1234 ″
url = ”http: //ip_address/printer.htm”

## Twitter -Parameter
T_USER = Benutzer
T_Passwd = Passwort

## Andere Parameter
Status = “geschlossen”

während wahr
tun
old_status = $ Status
wGet –quiet –http-user = $ user –http-passwd = $ password $ url

grep off_line drucker.htm> /dev /null

Wenn [“$?” == “0”]
dann status = “Öffnen”
sonst status = “geschlossen”
fi

rm drucker.htm

Wenn [$ status! = $ old_status]
dann wget –quiet –http-user = $ t_user \
–Http-passwd = $ t_passwd-Kochkoch-Cookies \
–Post-data = ”user = twitter_username & text = message” \

fi
Schlaf 1
erledigt

Alternativ können Sie einige Überwachungssoftware wie die herausragenden Freenats verwenden, um Sie zu alarmieren, wenn etwas passiert.

Schlussfolgerung – Ich hoffe, Sie freuen sich über das, was ich getan habe, Sie müssen zugeben, dass es sich um eine Heimautomation handelt
billig und sehr einfach zu tun. Prost – Dan

Nützliche Links

CPAN – Alles Perl
Perl – viel mehr Dinge Perl
WGet – WGet -Anwendung
EDIMAX – Anbieter des Printservers Andere / Misc
Twitter – Social -Networking -Site mit SMS

Dieser kurze Artikel reproduziert aus dem Original nach freundlicher Zustimmung von Dan McGrath von Yourmissus.com

Mehr wollen? – Folgen Sie uns auf Twitter, wie uns auf Facebook oder abonnieren Sie unseren RSS -Feed. Sie können diese Nachrichten sogar jeden Tag direkt per E -Mail in Ihren Posteingang liefern lassen

Teile das:
Facebook
Twitter
Reddit
LinkedIn
Pinterest
Email
Mehr

WhatsApp
Drucken

Skype
Tumblr

Telegramm
Tasche

You may also like...

Leave a Reply

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