Umfunktionieren einen alten WLAN Router für die Internet-of-Dinge

5 Schritt:Schritt 1: Überprüfen der Kompatibilität mit OpenWrt Schritt 2: Überprüfen Sie die Platine für IO-Pins und Schnittstellen Schritt 3: Flash OpenWrt auf Ihrem Router ... und sich mit irgendwelchen lustigen Macken Schritt 4: Erfolg! Lassen Sie uns jetzt wechseln I / O-Pins Schritt 5: Bringen Sie etwas Interessantes

Umfunktionieren einen alten WLAN Router für die Internet-of-Dinge

Die Popularität des Internet verbundenen Geräte mit Arduino Schilde oder Single-Board-Computern wie dem Raspberry Pi und BeagleBone gebaut ist explodiert, aber für einfache Aufgaben wie das Steuern eines Relais, das Lesen eines Sensors, Bewässerung Ihres Gartens oder Beleuchtung LEDs gibt es eine übersehen (und oft frei) Option: alt WiFi Router und Access Points.
Gebrauchte APs und Router entfernt in unseren Wohnungen, Büros, und Deponien zu vergeuden, und obwohl sie die Hardware eines Pi oder BeagleBone nicht übereinstimmen, sie haben in der Regel ein paar GPIO-Pins, einen seriellen Anschluss, W-LAN und Ethernet-Konnektivität, möglicherweise sogar ein USB-Host-Anschluss oder Power-over-Ethernet-Unterstützung!
Unternehmen und Institutionen insbesondere kann Dutzende oder Hunderte von veralteten Zugangspunkte eine ähnliche Marke und das Modell haben, die eine große Chance für kreative Wiederverwendung und genug potenzielle Nutzen zu erarbeiten Macken, Einschränkungen und Ärgernisse, entwickeln Werkzeuge, um eine Installation und Setup-Prozess zu automatisieren .
(Eine Handvoll von Routern, wie der Linksys WRT54G oder TP-Link WR703N, haben eine starke Anhänger Online entwickelt und haben viele gut dokumentierte Mods, aber viele andere sind weit weniger erforscht)
Was du brauchst:
* Eine alte WiFi Router oder Access Point
* 3,3 V serielles Kabel
* Ein Ethernet-Kabel
* Lötkolben, Lötzinn, Draht, grundlegenden Handwerkzeuge

Schritt 1: Überprüfen der Kompatibilität mit OpenWrt

  1. Umfunktionieren einen alten WLAN Router für die Internet-of-Dinge

    Router, Access Points und Netzwerkgeräte können bereits erste Variante der Linux laufen, können viele mit einem eingebetteten Linux-Distribution namens OpenWrt, die mehr Möglichkeiten erlaubt geflasht werden. Besuchen Sie die OpenWrt-Website, um die Kompatibilität zu überprüfen und finden Sie Installationsanweisungen und Support für Ihr Gerät.
    -
    Der Installationsprozess kann ziemlich viel zwischen den Produkten variieren: für einige Router ist es eine einfache Point & Click, in anderen Fällen geht mit TFTP und eine serielle Konsole, und in anderen Fällen Hersteller haben die Re-Aktualisierungsprozess sehr schwierig gemacht.
    A FTDI / serielles Kabel @ 3,3 V kann sich als nützlich in der blinkenden Prozess kommen. Wie eine Auffrischung, wie Sie mit TFTP. Um einige Router müssen Sie möglicherweise eine JTAG-Programmierer verwenden blinken.
    Der Router Ich werde wieder Zweck ist von Meraki, und Vanille OpenWrt ich TFTP und eine serielle Konsole benutzen zu installieren.
    -
    Wenn Sie nicht über einen Router zu Hause Check Secondhand-Läden, Craigslist, Freunde, Hackerspaces und E-Schrott-Recycling-Zentren. Sie können einen kostenlos oder zu einem symbolischen Preis zu finden.

Schritt 2: Überprüfen Sie die Platine für IO-Pins und Schnittstellen

  1. Umfunktionieren einen alten WLAN Router für die Internet-of-Dinge

    Untersuchen Sie Ihren Router Platine für IO-Pins und Schnittstellen.
    Kennzeichnung von Pins und Anschlüsse variiert bei den Herstellern und sogar Modelle, die von kristallklarem, um absichtlich verschleiert. In meinem Fall Meraki machte die Sache sehr einfach --- können GPIO Pins mit der Bezeichnung siehe oben links (auf LEDs der Platine verbunden ist), auch einen I2C-Bus! Serielle Konsole des Geräts ist auf der rechten Seite, mit Überschriften bereits angebracht und 3,3 V, RX, TX, GND beschriftet.
    Wenn Sie nicht wollen, um den Router auseinander nehmen noch einen Blick auf die Innenseiten Sie dieses Produkt entspricht der FCC-ID, zu finden auf dem Gehäuse und der Leiterplatte gedruckt und sehen diese Zahl bis im bekommen FCC Ausrüstung Autorisierungsdatenbank . Dort finden Sie in der Lage, einige Spezifikationen und Fotos der Innen- und Außenseite der Vorrichtung zu sehen.

Schritt 3: Flash OpenWrt auf Ihrem Router ... und sich mit irgendwelchen lustigen Macken

  1. Umfunktionieren einen alten WLAN Router für die Internet-of-Dinge

    Umfunktionieren einen alten WLAN Router für die Internet-of-Dinge

    Umfunktionieren einen alten WLAN Router für die Internet-of-Dinge

    Per den Meraki Mini Anleitung muss ich meinen Router mit einem Kernel und Root-Dateisystem über eine serielle Konsole und TFTP blinken. Dieser Prozess kann scheinen ein wenig einschüchternd, wenn Sie Anweisungen folgen Stück für Stück sie neigen dazu, zu arbeiten (Mit diesen Worten, wann immer möglich, empfehle ich einen Router, die Sie blinken OpenWrt der einfache Weg, können über ein Web-Interface). Um dies zu tun, müssen Sie eine 3,3 V serielles Kabel zu verbinden, wie ein FTDI-Kabel mit einem Arduino, die serielle Schnittstelle des Routers verwenden könnte, und ein Ethernet-Kabel an den RJ-45-Anschluss am nächsten an der Netzbuchse.
    Sie können vorgefertigte Bilder, die mit diesem Router arbeiten finden Sie hier
    Wenn OpenWrt erfolgreich installiert wurde Sie in der Lage, eine Verwaltungsschnittstelle zu besuchen http://192.168.1.1/ oder verbinden Sie via ssh. Lesen Sie mehr über Ihre ersten Login .
    edit: Blinkende erleichtert --- SudoMesh erhielt große Spende dieser APs und erstellt ein einfach zu bedienendes Werkzeug, um sie zu blinken , wenn Sie eine Meraki haben wie ich diese stattdessen! Sie müssen noch zu Ethernet und serielle Kabel verbinden, aber das braucht viel von dem Streit aus der Gefummel mit TFTP oder Senden der richtigen Folge von Befehlen.

    ---
    Eine besondere Eigenheit mit diesem Modell ist, dass es einen Watchdog, der alle 5 Minuten wird das Gerät neu starten, es sei denn Ping hat. Das machte das Gerät schwierig zu re-Zwecke, durch einige geschickte Hacker ein Fix wurde dokumentiert .
    Es gibt elegantere Lösungen, sondern durch Zugabe eines einfachen Shell-Skript, um Ihre crontab, die einmal pro Minute ausgeführt wird, sind neu gestartet wird kein Problem mehr:
    * * * * * /sbin/watchdog.sh
    #! / Bin / sh
    / Usr / bin / gpioctl dirout 6
    / Usr / bin / gpioctl Set 6
    / Usr / bin / gpioctl klaren 6
    exit 0

Schritt 4: Erfolg! Lassen Sie uns jetzt wechseln I / O-Pins

  1. Umfunktionieren einen alten WLAN Router für die Internet-of-Dinge

    Umfunktionieren einen alten WLAN Router für die Internet-of-Dinge

    Nun, da OpenWrt installiert ist können wir probieren Sie eine Umsetzung GPIO Pins.
    Auf meinem Meraki Router kann ich sehen, GPIO-Pin 4 ist mit einer LED verbunden ist, wenn es gesetzt ist HOCH Ich erwarte, dass es die LED-Leistung, wenn LOW wird die LED wieder erlischt.
    Ich kann gpioctl Dienstprogramm openwrt die in der Befehlszeile verwenden, um diesen Stift zu wechseln:
    gpioctl Set 4
    gpioctl klaren 4
    Bei der Prüfung dieser funktioniert wie man erwarten könnte.
    Lassen Sie uns diese I / O-Pin zugänglich über das Internet.
    OpenWRT Standard Web Admin-Oberfläche wird als LuCI. Auf dem Web-Server-Einstellungen ändern können Sie sehen in / etc / config / uhttpd, aber der Einfachheit halber werde ich halten diese wie-ist für jetzt, fügen Sie Dateien um, was bereits vorhanden ist.
    Unsere Web-Root ist / www und ausführbare Skripte gehen in / www / cgi-bin
    Erstellen Sie eine Datei Ledon (und LEDOFF), wie Shell-Skripte, die in etwa so aussehen:
    #! / Bin / sh
    echo "Content-type: text / html"
    echo "LED ON"
    / Usr / bin / gpioctl Set 4
    exit 0
    Wenn Sie fertig machen sind sicher, dass Sie die richtigen Berechtigungen für diese Dateien (chmod 755) gesetzt. Dann besuchen Sie sie in Ihrem Browser:
    http: // yourRouter / cgi-bin / Ledon
    http: // yourRouter / cgi-bin / LEDOFF
    Damit arbeitet man kann die Dinge einen Schritt weiter und erstellen Sie eine HTML-Seite mit AJAX Anfragen nutzt, um den Stift Zustand kontrollieren (im Bild, siehe beigefügte Code)

Schritt 5: Bringen Sie etwas Interessantes

  1. Umfunktionieren einen alten WLAN Router für die Internet-of-Dinge

    Umfunktionieren einen alten WLAN Router für die Internet-of-Dinge

    Umfunktionieren einen alten WLAN Router für die Internet-of-Dinge

    Umfunktionieren einen alten WLAN Router für die Internet-of-Dinge

    Ich machte ein Bord LED blinken, aber das ist nicht sehr interessant. Lassen Sie uns also fügen Sie eine weitere nützliche Gerät an den Router, die wir aus dem Internet zu steuern.
    Ich werde eine hausgemachte wachsen Lampe verwenden (hergestellt mit Hochleistungs-LEDs, ein Recycling-Laptopadapter und Kühlkörper) als Beispiel, aber Sie können fast alles verwenden (zB: Ein- oder Ausschalten eines Ventils, um Ihren Garten, Schloss Wasser oder entsperren einen elektrischen Schlag an der Haustür, aus der Ferne ein- und ausschalten ein Gerät über ein Relais).
    Löt-Draht führt zu der Router-GPIO und GND-Pins. Ich musste einige Fluss nutzen, um Lot zu fließen schön in den Gelenken.
    Stifte des Routers nicht ausgeben kann oder Waschbecken eine Menge Strom --- so sollten Sie nicht verwenden, um ein anderes Gerät direkt ansteuern: unsere beste Möglichkeit ist, einen Stift verwenden, um ein Umschalten Transistor , Relais oder Optokoppler. In meinem Fall hat meine LED-Treiber einen eingebauten Ein- / Aus-Kippschalter, so dass meine Installation Aufgabe einfach.
    Schließlich, nachdem alles, was angebracht ist sicherzustellen, dass der Boden des Routers und die angeschlossenen Gerät (e) miteinander verbunden sind.
    Dieses Licht in Aktion
    Misc Notizen
    Gelegentlich werden Sie Glück haben und Ihr Router und Peripherie haben die gleiche Eingangsspannung und die gleiche Stromversorgung zu teilen. Wenn Sie dies tun immer noch sicher, dass Sie separate Strom durch die Wi-Fi-Router laufen zu jeder, und nicht alle der Macht sein, denn es kann nicht darauf ausgelegt, die Strommenge für eine zusätzliche Einrichtung notwendig zu tragen!
    -
    Ich bin mit meiner GPIO-Pins als Ausgänge, doch lassen sich diese Handlung als eine Eingabe mit so etwas wie einem magnetischen Schalter oder Taster? Ja! Verwendung gpioctl, um einen Stift Werke wie folgt lauten:
    gpioctl DIRIN 3 (Set Stift zur Eingabe)
    gpioctl erhalten 3 (Versandkosten angeben hoch / niedrig)
    Sie können weiter zu Strategien für die GPIO-Pins Zugriff mit OpenWRT lesen Sie hier .