Mein Freund hat mich gebeten, von der Raspberry Pi und eine einfache Umschaltknopf (wie die, die Sie bei Ihrem lokalen Radio Shack / Elektronik-Hobby-Läden zu finden) mit Strom versorgt, um eine Panik-Taste-System zu entwickeln. Ich war mit der Software-Entwicklung beauftragt, während mein Freund die gesamte Hardware zu bauen behandelt. Als ich zum ersten Mal mit dem Projekt zugestimmt, dachte ich, die Ziele ziemlich geradlinig waren; aber Murphys Gesetz beschlossen, den Kopf während des Bauprozesses zu stecken. Ich versuchte zu folgen, die schien unsere Richtlinien zu passen auf den Punkt gebracht. Seine Dokumentation ist eine detaillierte und präzise, aber ich lief in einige Probleme bei der Software-Implementierung. Ich habe alle diese Eigentümlichkeiten plus mehr in diesem umfassenden Handbuch behandelt werden.
So ist die grundlegende Bedienung dieses Gerätes ist, dass, wenn die Taste, um die On-Position umgeschaltet wird, muss ein Aufruf an mehrere SIP-Erweiterungen platziert werden, die mit einem Asterisk basierte PBX spähte werden. Das Gespräch wird eine Audiodatei in einer Endlosschleife abgespielt, bis der Benutzer auflegt. Zusätzlich muss eine E-Mail als auch an mehrere Adressen auf jeder Taste Toggle gesendet werden. Daher skizzierte ich die spezifischen Programme und Interaktionen, die notwendig sein wird, jedes Ziel zu erreichen:
Für diesen spezifischen Build, benutzte ich meine Raspberry Pi Modell B , die ich von bekam. Dieses Projekt verwendet ein Raspberry Pi Modell B , dessen Fall ein Wechselschalter im Formfaktor eines Knopfes, ein Widerstand, ein, ein Dremel Werkzeug, eine Bohrmaschine, ein Bohrer, der ein Loch erzeugen kann den Knopf zu setzen, Lötpistole, und einige gute ole-fashioned Blei-Lot. Alle Einzelteile waren bei Radio Shack und Fry leicht verfügbar. Hier ist eine Liste mit Aufzählungszeichen für eine einfache Verdauung:
Ironischerweise kam das Modell 2 etwa eine Woche in die Entwicklung aus. Shucks. Der Dremel Tool wurde für die Erstellung von Bohrungen im Projekt Gehäuse verwendet, so dass die Raspberry Pi Zugang zu Ethernet hatte, und Stromversorgung über Micro-USB. Einige grundlegende Löten erforderlich war, auf die Schaltfläche Gerät zu erstellen. Zum Glück für mich, mein Kumpel, der mir zunächst um Hilfe bei diesem Projekt kontaktiert haben die meisten der Hardware zu bauen, so hatte ich nicht mit meinem Michael J. Fox Händen kämpfen, um das Löten zu vervollständigen.
Die Schaltfläche Gerät ist die Priorität und die Haupteingangsschnittstelle, die dieses Projekt zu nutzen wird. Wir verwendeten ein rotes und schwarzes Kabel bezeichnet Spannung und Masse, so dass in die GPIO-Schnittstelle des Pi Aufstecken mehr gerade nach vorne wäre.
Das Projekt Gehäuse wurde entwickelt, damit es die Raspberry Pi in seinem eigenen Fall Haus könnte während eines diskreten Formfaktor bietet, die unter einem Schreibtisch befinden könnte. Stellen Sie es sich als eine Schaltfläche, dass die Bankschalter drücken würde, während sie mit vorgehaltener Waffe bedroht fühlt. Der größte Teil der Arbeit, die mein Freund tat, war Löcher mit seinem Dremel Schnitzen, so dass die Pi könnte den Zugang zu Ethernet haben und Macht. Außerdem erfordert die Taste, um ein Loch für den Zugang, die über die Bohrmaschine und Bohrer erstellt wurde. So schaffen die drei notwendigen Löcher und stellen Sie sicher, dass die Pi Zugang zu Macht und Ethernet verfügen kann, während ein Loch zu schaffen, die Ihre Schaltfläche aufnehmen können. Danach setzen Sie Ihre Taste, und stecken Sie die notwendigen dupont Kabel an die Stifte wie oben beschrieben. Sie sollten den Pi an der Unterseite des Gehäuses zu sichern, so dass die Kabel von den GPIO-Pins nicht der Stecker gezogen. Wir erreichten dies mit Hilfe von doppelseitigen Klebeband und einer Heißklebepistole.
Erstellen des Bild Pidora für die Installation
Für das Betriebssystem des Pi, entschied ich mich Pidora aufgrund der Tatsache, dass die meisten meiner Erfahrung mit Linux aufgebaut ist weg von Red Hat Enterprise Linux (RHEL) basierten Distributionen zu installieren. Pidora wird von der sehr populären Distribution Fedora Linux gegabelt und viele Konzepte und Befehle übersetzen gut auf jeder Plattform. In dieser Fallstudie werde ich Pidora auf die Micro-SD-Karte für die Nutzung durch die Pi aus meiner persönlichen Arch Linux-Maschine bezeichnet werden Installation; jedoch werden die Befehle das gleiche in allen Linux-Varianten, die die Bash-Shell verwenden. Ich folgte den Anweisungen als Führer, aber ich werde die notwendigen Schritte im Detail abdecken.
First Time Boot-Setup
Sobald Sie die Abbildung der SD-Karte mit Pidora fertig sind, stecken sie in die Pi, und stecken Sie in diesem schlechten Jungen an die Macht! Sie werden alle Standard-Schritten zunächst eine Linux-Installation auf dem ersten Boot-Konfiguration gehen. Dazu gehören die Einstellung der Hostname, Zeitzone, Partitionsstruktur usw. habe ich beschlossen, mit den Standardoptionen zu bleiben für die meisten Schritte, aber ich dachte, dass die Anweisungen, die sie auf dem Bildschirm zur Verfügung gestellt waren sehr unkompliziert und einfach zu verstehen. Das einzige, was ich wollte allerdings angeben, war die Installation nur über die Befehlszeile ohne GUI. Das wird Overhead auf die Prozesslast und Speicher des Pi reduzieren.
Nachdem die Installation abgeschlossen ist, werden Sie in der Befehlszeile Login-Prompt fallen gelassen werden. Glückliche Tage! Einloggen mit dem Root-Benutzernamen und das Passwort, das Sie vorhin angegeben haben. Während dieser Zeit sollten Sie voran gehen und notieren Sie sich die IP-Adresse des Pi, die ihm zugeordnet ist. In der Standardeinstellung ist DHCP aktiviert. So lange, wie Sie auf dem gleichen LAN sind, sollten Sie in der Lage sein, in Pidora mit den richtigen Anmeldeinformationen SSH. die IP-Prüfung ist so einfach wie die "IP ein" Befehl ausgeführt wird. "Ifconfig".
Die erste Sache, die ich immer in die Kommandozeile zum ersten Mal Anmeldung ist ein Update auszuführen. Die 'y' Flagge zeigt an, dass Sie Ja automatisch zu reagieren, um alle der ja und keine Eingabeaufforderungen, die angezeigt werden, nachdem die repos aktualisiert werden und die Abhängigkeiten aufgelöst werden. Dies ist in der Regel unsicher und kann zu Schäden an Ihrem Build verursachen, wenn sie nachlässig verwendet. Lassen Sie die Flagge, wenn Sie lesen möchten, und bestätigen Sie alle Aufforderungen vor der Hand.
[Root @ Panik ~] $ yum update -y
Ich fand, dass Pakete auf dem Raspberry Pi Modell B immer nahm eine astronomische Höhe der Zeit zu installieren. Ich würde empfehlen, dass Sie während dieser Zeit und bei allen anderen großen zukünftigen Installationen einen Kaffee gehen zu greifen. Nachdem die Updates fertig sind, starten Sie den pi von der Kommandozeile.
[Root @ Panik ~] $ reboot
Herunterladen der benötigten Programme
Also, um alle Bibliotheken zu verwenden, die in den Richtlinien Abschnitt aufgeführt wurden, haben wir die PJSIP Bibliothek von Quelle zu kompilieren, während die GPIO-Python-Bibliothek aus den Standard-Repositorys greifen. Pidora nutzt das yum Paket-Manager; Installieren von Paketen und deren Abhängigkeiten zu einem Kinderspiel macht. Der schwierigste Teil, das ich über kam, war immer die richtigen Werkzeuge, um die PJSIP Bibliothek zu bauen. Auch Ihre bevorzugten Texteditor in dieser Zeit installieren als auch (Vim ist das Leben, vim ist die Liebe).
Der Codeblock beschreibt unter dem, was ich laufen würde, wenn ich auf einmal alle diese Pakete zu installieren wollte und nur zu Fuß entfernt aufgrund der langen Dauer der Pakete auf dem Pi installieren. Ich flehe Sie hoch bis zum Ende des Abschnitts lesen, um die Notwendigkeiten zu verstehen und Zweck der Umwelt auf diese Weise einrichten, so dass Sie Änderungen vornehmen können, wenn nötig. Die doppelte kaufmännisches Und-Zeichen (&&) bedeutet, dass der Befehl, nachdem er unmittelbar bevor er nach dem Befehl ausführen. Das Hinzufügen der 'y' Flag auf beide Befehle bedeutet, dass Sie nicht sitzen müssen, um zu genehmigen yum die Pakete zu installieren.
[Root @ Panik ~] $ yum install "Development Tools" --exclude = skippedPackageName -y && yum vim python-devel python-rpi.gpio gcc-Python-gcc-c + alsa-Firmware alsa-lib alsa-lib-devel alsa installieren -Werkzeuge alsa-tools-Firmware alsa-utils -y
die GPIO-Bibliothek Installation ist nur ein einfacher Befehl yum installieren. Dies installiert auch die Python-Entwicklungstools Bibliothek.
[Root @ Panik ~] $ yum python-devel python-rpi.gpio installieren
Die notwendigen Pakete, die erforderlich sind, Code aus dem Quellcode zu kompilieren, kann weit und vielseitig und oft sein Zeiten innerhalb der jeweiligen Dokumentation spärlich erwähnt werden. Manchmal ist die Dokumentation für eine andere Linux-Distribution geschrieben, die Dinge noch frustrierend machen! Als shotgun Lösung Abhängigkeiten fehlen, installiere ich die Gruppenpaket "Development Tools" genannt.
[Root @ Panik ~] $ yum group "Development Tools"
Ich erinnere mich, dass, wenn die Paketabhängigkeiten wurden für Entwicklungs-Tools zu lösen, gibt es ein Fehler war, dass etwas über den Kernel-Paket angegeben geworfen nicht gefunden werden. Sie können diesen Fehler überschreiben und überspringen, die Installation des Pakets vollständig, weil es nicht notwendig, in den Build-Prozess war.
[Root @ Panik ~] $ yum group "Development Tools" --exclude = skippedPackageName
Sie wollen auch die Python-gcc-Compiler und C + Compiler gcc zu installieren. Aus irgendeinem Grund wurden sie in die Entwicklungstools Gruppe nicht enthalten.
[Root @ Panik ~] gcc-Python-gcc-c $ yum install +
Für Sound-Unterstützung auf dem Raspberry Pi, muss die ALSA (Advanced Linux Sound Architecture) Framework installiert werden. I enthalten ALSA plus seine Bibliotheken nur für den Fall der Wiedergabe der Aufnahme während des Anrufs ALSA erforderlich.
[Root @ Panik ~] $ yum install alsa-Firmware alsa-lib alsa-lib-devel alsa-tools alsa-tools-Firmware alsa-utils
Kompilieren PJSIP Von Quelle
Wechseln Sie in Ihrem Stammverzeichnis (durch ~). Wenn Sie sich als Root-Benutzer angemeldet sind, wird das ~ Verzeichnis / root sein. Wenn Sie sich als ein anderer Benutzer angemeldet sind, wird das ~ Verzeichnis / home / Benutzername. Erstellen Sie ein Verzeichnis bezeichnet, den Quellcode in kompilieren. Auch dies nur gängige Praxis ist, die Dinge ordentlich auf dem Dateisystem zu halten.
[Root @ Panik ~] $ cd ~
Kaspersky Endpoint Security 2014 Endpoint-Security-10