• Home »
  • Reginald »

    26 Schritt:Schritt 1: Einleitung / Voraussetzungen Schritt 2: Makroansicht des Projekts Schritt 3: Liste der Teile Schritt 4: Übersicht über die einzelnen Komponenten Schritt 5: Einrichten des Grund Wifi Schritt 6: Reginald Kodex Schritt 7: Testen wir das System so weit Schritt 8: Einrichten der Überwachungskamera Schritt 9: Der Custom PCB Schritt 10: Der Aufbau der Stromverteilungs Component Schritt 11: Hinzufügen des Servo Pins Schritt 12: Der Bau der Taschenlampen-Schaltung Schritt 13: Interfacing the Dream Cheeky Turrets Schritt 14: Ändern der USB Turrets für die Arduino Schritt 15: Der Bau der Taschenlampe Schritt 16: Gebäude Reginalds Chassis Schritt 17: Malerei Reginald Schritt 18: Sorgfältig Montage der Mechanik Schritt 19: Montage der Taschenlampe und Kamera Schritt 20: Montage der Türme auf den Tilt Bracket Schritt 21: Erstellen eines Batterie-Gehäuse Schritt 22: Verwenden von DD-WRT, um eine Wireless Bridge zu erstellen Schritt 23: Konfigurieren eines Wireless Bridge mit DD-WRT, wenn Sie AT & T haben Schritt 24: Port Forward Ihre Startseite AP UDP- und TCP-Ausnahmen zulassen Schritt 25: Testen der Kommunikation über das Internet Schritt 26: Schlussfolgerungen und Zukunftspläne

    Reginald angefangen von der einfachen und doch mutige Idee, einen Bot von überall in der Welt, mit einem Live-Video-Feed zu steuern. Was ich nicht erwartet hatte war für Reginald in einen Beteiligten entwickeln, funktionsreichen Projekt. Mit meiner Arbeit und Geld, ich war in der Lage, ein Projekt genau zu meiner Zufriedenheit und zu vervollständigen. Dieses Tutorial Chroniken das gesamte Projekt: von oben nach unten. Bevor ich anfing, mein Projekt, ich hatte mehrere Ziele, die ich wollte in Reginald sehen: Haben eine Batterie wirklich alles (redundante Technologien verursachen Komplikationen) Implementieren Sie eine Methode, wo die Video-Feeds und die Kontrollen durch die gleiche Technologie zu arbeiten. Dies vereinfacht Reginald für den Endanwender. Der Benutzer wird nur noch zu Reginald in einer Art und Weise zu verbinden und nicht zwei getrennte Wege das ist, was ich sehen, oft in den meisten Projekten, die Video-Feeds zu implementieren (Auch redundante Komplikationen; sättigen zwei getrennte Verbindungen zu eins). Für den Anwender in der Lage, mit Reginald in Echtzeit interagieren zu sein. Verschlüsseln Reginald so kann niemand einfach nur in der IP-Adresse eingeben und auf ihm zu haben eine einzige Ein- / Ausgabebaugruppe, um alle Schaltungen sättigen. Auf diese Weise: Reginald ist im Aussehen viel sauberer, und wird eine stabile elektrische Fundament meiner Peripheriegeräte anschließen zu erstellen. Werfen Sie einen Live-Konsole bringt Informationen für den Benutzer. Code eine GUI, das gut aussieht, kann über Tastaturbefehle gesteuert werden und ist reich an Funktionen, Einfachheit in Endanwender. so konnte jeder Laie bedienen. Am wichtigsten ist: die Netzwerkverbindung, um den Zugang von überall ermöglichen eingestellt Was ist der Sinn dieser.? Reginald ist ein sehr nützliches Projekt für den Endanwender. Wenn ein Benutzer interessiert Überprüfung auf seinem Haus von der Schule oder Arbeit ist, wäre diese Person in der Lage, so aus einer unendlichen Menge von Winkeln zu tun. Der Benutzer kann im Haus kabellos bewegen und grüßen andere. Wenn Sie Kinder haben, können Sie sie wissen lassen, haben Sie immer ein Auge auf sie! Noch wichtiger ist, ist die größte Anwendung in dieser Instructable vorge die Umsetzung des UDP-Technologie. Wenn jemand kann eine beliebige physikalische und / oder elektrische Objekt zu einem Arduino-Schnittstelle, könnte diese Person in der Lage, diese Aufgabe zu drahtlos in Echtzeit von überall steuern. Dies ist sehr nützlich. Reginald ist ein Beispiel-Anwendung für UDP, ein hoch unter genutzt Technologie unter den Projekten. Was wird dieses Instructable stellen? Diese Instructable wird Reginald als Ganzes vorstellen und dann in eine Aufschlüsselung der einzelnen Komponenten im Detail zu gehen. Darstellende alle notwendigen Vernetzung zu erreichen, kann dies sehr komplex und involviert sein, aber diese Art der Kommunikation wird geklärt und durch diese Instructable erforscht. Ich gesättigten etwa eine solide Monat der Forschung und zur Fehlerbehebung in eine einfache Anleitung; Ich biete Beratung und Problemlösungen beispielsweise Tests auf dem Weg. Schritt 1: Einleitung / Voraussetzungen Dies ist ein großes Projekt; so dass ich glaube, es wird die beste Klarheit zu schaffen, zunächst mit einem großen Blickwinkel und anschließend brechen diese Anleitung erkunden jede einzelne Komponente des Projekts getrennt. Instructable Breakdown: Zuerst werde ich diskutieren die Vorkenntnisse, die Sie zum ersten Versuch, dieses Projekt anzugehen. Ein Anfänger wird wahrscheinlich Schwierigkeiten haben, im Anschluss an die Führung. Zweitens werde ich ein "Makro" Ansicht des Projekts zu zeigen und diskutieren es allgemein so dass der Leser versteht, mein Ansatz zu Reginald erreichen. Wenn der Leser meinen Prozess versteht, wird es einfacher sein, für den Leser zu holen und Komponenten von meinem Prozess in seine / ihre eigene Projekt, das er / sie wünscht, zu wählen. Ich nehme nicht an, dass jeder möchte, um ihre eigenen Reginald klonen; aber, um das Projekt mit ihren eigenen Bedürfnissen anpassen. Drittens werde ich die Stückliste verteilt auf die verschiedenen Komponenten des Projektes zu geben. Es ist an dieser Stelle, dass ich ins Detail von jedem Teil des Reginald Voraussetzung Kenntnisse, die ich nehme an, Sie wissen bereits, zu gehen.: Dies wird einige Zeit von mir selbst und anderen, die bereits sehr vertraut mit diesen Themen sind zu speichern. Wenn ich auf den absoluten Anfänger hier gerecht zu werden, würde dies Instructable leicht, Größen größer. Jemand, der schon die Themen versteht würde Schwierigkeiten folgende Führungs haben aufgrund der Größe davon. Allerdings kann ein absoluter Anfänger, sich mit den angegebenen Themen Forschung, bevor Sie versuchen Reginald vertraut zu machen. Wenn eine Person versteht, diese Themen, wird diese Person in der Lage, das Projekt zu verstehen. Daher bietet diese Instructable alle. Angesichts man bereit ist, zu lernen. Die Themen sind: Eine moderate Verständnis der Vernetzung interner und externer IP-Adressen; Subnet-Masken; DHCP; UDP-Technologie http://www.answerbag.com/q_view/9834 http://en.wikipedia.org/wiki/User_Datagram_Protocol (Achten Sie darauf, den Vergleich zwischen UDP und TCP lesen) http://www.ni.com/ white-paper / 6723 / de Wie Sie Ihre primären Router konfigurieren: Einstellung statische IPs, Port Forwarding Grundverständnis von mindestens was DD-WRT ist Grundlagen der Arduino und Verarbeitung Programmierung (wenn auch nicht ganz notwendig, da bin ich nur geben Sie den Code ) Elektrische Komponenten (I geben werden Schaltpläne und Richtlinien, aber ich kann deine Hand nicht halten, um das Brett zu bauen, zu verstehen, die folgende und alles wird gut) Verständnis sehr einfache Schaltpläne den praktischen Einsatz von Transistoren, Kondensatoren, Widerstände, Spannungs Regler, DC-Motoren, servos http://www.physlink.com/education/askexperts/ae430.cfm http://en.wikipedia.org/wiki/Pull-up_resistor http://www.sparkfun.com/tutorials/57 Basics Löten und Debugging mit einem Multimeter http://www.sparkfun.com/tutorials/202 http://www.instructables.com/id/How-to-solder/ verstehen, wie Spannung und Strom Arbeit http: // science.howstuffworks.com/environmental/energy/question501.htm Hilfreiche Hinweise: In diesem Tutorial werde ich zeigen Diagramme und Diagramme des benutzerdefinierten PCB I gebaut, um alle Schaltungen sättigen; aber es zeigt, wie das Brett Schritt für Schritt bauen würde eine ziemlich große instructable für sich. Wenn Sie die oben verstehen, werden Sie kein Problem haben, im Anschluss an die Informationen, die ich zur Verfügung stellen. Der Netzwerkbereich ist mit Abstand die wichtigste, vor allem, wenn Sie sich für die Kommunikation mit Ihrem Projekt über das Internet sind; und umso mehr, wenn Sie geschehen, AT & T, wie Ihr ISP haben. Sie werden später sehen werden. Schritt 2: Makroansicht des Projekts Hier werde ich das Gesamtprojekt zu diskutieren, damit der Leser versteht, meine Absichten bei der Gestaltung. Wie bereits erwähnt: wenn der Leser meine Absichten versteht, dann wird es eine triviale Aufgabe für den Leser, um die Teile meines Design er wählen / sie für sein / ihr eigenes Projekt will. Der Makro-Ansicht von Reginald Das Hauptbild ist von einem großen Blickwinkel, wie Reginald funktioniert. Das graue Feld in der unteren linken Ecke ist die physische Roboter, zu Hause entfernt. Das graue Feld in der unteren rechten Ecke ist das Client-Programm. Es ist eine GUI, die Befehle von dem Benutzer empfängt, und überträgt die Befehle an Reginald. Die GUI wird auf einem Computer läuft. Die Networking Beachten Sie, dass es zwei verschiedene Möglichkeiten, um zu Reginald verbinden. Dies ist, weil es nützlich sein, zwei verschiedene Arten der Verbindung abhängig von den Umständen zu machen ist. Es gibt eine direkte Verbindung von der GUI (Client) zu Reginald (Server). Dies ist unter dem Umstand, dass Reginald ist sehr nah an den Benutzer. Wenn der Benutzer die GUI (Client) auf einem Laptop, so kann Reginald seinen eigenen Funk "Hotspot" zu erstellen, wenn Sie (aber es ist nicht eine tatsächliche Hotspot, weil der Benutzer nicht mit dem Internet verbinden). Der Benutzer an diesem Punkt kann direkt an Reginald verbinden und ihn zu kontrollieren. Die andere Art der Verbindung sehr viel komplexer ist, und wobei die Netzwerkkenntnisse kritisch. Der Einfachheit halber lässt vermuten, der Benutzer auf einem Computer in der Schule, während Reginald zu Hause ist. Reginald an dieser Stelle nutzt die Wireless Bridge gezeigt und wird als ein Wireless-Gerät im Heimnetzwerk verbunden ist. Reginald hat eine bestimmte IP-Adresse und Port innerhalb des Netzwerkes. Der primäre Home-Router ist mit einem Port Forward Ausnahme, dass ein UDP Anfrage auf dem entsprechenden Port of Reginald geht an die Reginald konfiguriert. Der Benutzer könnte die (Client) Programm GUI auf dem Computer in der Schule laufen. An diesem Punkt ist der Benutzer in der externen IP-Adresse des Primär Home-Router und dem Hafen Reginald in das Programm befindet. Der Benutzer sendet dann einen Befehl durch die Interaktion mit der Schnittstelle. Der Befehl wird über das Internet und für den primären Home-Router gesendet. Der primäre Home-Router sieht dem angegebenen Port und richtig konfiguriert ist, sendet den Befehl an die drahtlosen Wireless Bridge auf Reginald. Die Wireless Bridge gibt den Befehl an die Arduino und Reginald reagiert entsprechend. Es ist erwähnenswert, dass die letztere Verbindung Methode ist optional. Der Leser kann beschließen, mit einem einfacheren Ansatz zu gehen und nur den direkten Anschluss. Der offensichtliche Nachteil ist, dass der Benutzer nicht in der Lage, Reginald von überall steuern, nur dann, wenn Reginald Hotspot ist in Reichweite des Benutzers wird der Benutzer in der Lage, Reginald steuern sein. Nicht die Router erschweren das Projekt und machen es sperrig? Ich weiß, dass unter Verwendung der Router auf Reginald ist eine sperrige am besten; als Alternative, könnte ich eine drahtlose Überwachungskamera direkt an den Primär Home-Router verbunden verwendet haben und verwendet eine Wi-Fi sheild für die Arduino, auch für den primären Home-Router zu verbinden. Dies würde sich die "Mittelsmann" (Router) des Projekts ausgeschnitten haben und ich konnte Reginald deutlich kleiner gemacht haben; Darüber hinaus, unter Verwendung der Router per Design ist schwieriger zu implementieren. Warum habe ich Routers? Der Grund für den Router ist, dass eines meiner Ziele ist die Einfachheit in User Experience. Möchte der Anwender die Kontrolle Reginald, zu Hause, von der Schule, und beschließt, Reginald, um seine / ihre Freunde Haus nehmen zu zeigen: der Benutzer einfach unplugs die Kamera, Macht und Arduino aus dem Wireless Bridge und steckt es in den Netgear Router . Der Benutzer verbindet sich mit dem Netgear-Router und das ist es! Wenn ich, um eine drahtlose Netzwerkkamera und wifi Schild in meinem Design zu implementieren, würde der Benutzer die folgende, um das gleiche Szenario zu erreichen durch: Reginald zu bringen, um Freund zu Hause; erhalten Sie alle Netzwerkinformationen des Heimnetzwerks von Freund; konfigurieren Sie die Kamera an das Netzwerk; Zugang Reginald Code; Web-Konfiguration ändern und laden Sie neue Skizze an Bord; dann verbinden. Seien Sie aufmerksam, wenn ich beziehen sich auf die Router: Dieses Projekt nutzt eigentlich drei Router. Die erste werde ich als "Netgear" Router auf Reginald befindet beziehen. Ich will nicht darüber reden sehr viel, es ist nur für den direkten Anschluss an Reginald verwendet, wenn Sie ihn außerhalb des Heimnetzes gebracht. Ein einfaches Setup. Die zweite und dritte Router miteinander reden. Sie sind, was die Einrichtung der Kommunikation, um überall. Ich werde mit einem Router als "Wireless Bridge", die auf Reginald befindet beziehen. Ich nenne es eine Wireless Bridge, weil es ein Client auf den dritten Router ist: die "Primary Home-Router", kann ich auch den dritten Router rufen Sie einen "Access Point" (AP). Der primäre Home-Router ist der Router an das Modem zu Hause verbunden sind, die eine WiFi-Internetverbindung zu Ihnen nach Hause bringt. Die Wireless Bridge ist ein Client, der die Internet dient von der primären Home-Router, um Geräte anzuschließen, sich (in diesem Fall: Reginald). Später werde ich darüber, wie der Wireless Bridge arbeitet sprechen. Interessante Hinweise: Beachten Sie auch, dass die Kamera nicht mit dem Arduino interagieren, überhaupt nicht. Die Kamera ist mit der Leiterplatte eingeschaltet und mit dem Wireless Bridge oder Netgear Router verbunden ist. Der Benutzer kann die Kamera von überall an diesem Punkt zu gelangen. Es ist auch wichtig zu erkennen, dass die einzige Sache, die Batterie, die mit der Leiterplatte. Das ist, weil die PCB verteilt die Kraft an alles andere. Nicht alle der Komponenten erfordern Gleichstrommengen. Die Router beide benötigen 12 Volt; die Arduino und Peripheriegeräte erfordern 7 Volt; und die Kamera benötigt 5 Volt. Die Leiterplatte braucht, um all diese Teile unterzubringen. Schritt 3: Liste der Teile Mein Projekt erwies sich als sehr viel teurer als ich erwartet hatte. Dies ist jedoch vor allem aus dem Kauf schön Teile für Reginald so würde mein Projekt so beeindruckend wie die Netzwerktechnologie dahinter angezeigt. Zusätzliche Anmerkung: Wenn Sie gerade auf der Suche, um die Internet-Controlling Paradigma I bieten zu extrahieren, wird es viel billiger. Sie brauchen nur einen Router haben Sie wahrscheinlich herumliegen und ein Arduino und Ethernet-Schild. Die Mengen sind in Klammern gesetzt. Die Reginald Teilliste, geteilt durch Komponente: Chassis und misc. Mechanik: (1) 3/8 "Precision Shaft 2,00" 5,25 € pro Stück http://www.servocity.com/html/3_8__precision_shafting.html (2) 3/8 "Precision Shaft 1,00" 4,80 € pro Stück http: // www .servocity.com / html / 3_8__precision_shafting.html (3) 3/8 "Ultrapräzisionskugellager 7,99 € je http://www.servocity.com/html/ball_bearings.html (2) 3/8 "0,770" Klemmnaben 7,99 € je http://www.servocity.com/html/0_770__clamping_hubs.html (2) 3/8 "48 Zahnräder Plain Bore 3,40 € je http://www.servocity.com/html/plain_bore_sprockets___1227_.html (2 ) 3/8 "20 Zahnräder Plain Bore 1,92 € je http://www.servocity.com/html/plain_bore_sprockets___1227_.html (3) 1 Fuss aus Kunststoff Ketten 0,1277 je 5,95 € http://www.servocity.com/ html / chain.html (2) 15 "x 15" x 0,25 "ABS Plastik 9,99 € je http://www.servocity.com/html/abs_sheets.html (4) # 10 Nylon Spacer 0,375 "Durchmesser 0,5" 0,22 € jeder http://www.servocity.com/html/_10_nylon_spacer.html (1) Hitec Servo Schaft-Adapter 3/8 "Bohrung 12,99 € je http://www.servocity.com/html/servo_to_shaft_couplers.html (2) Hitec DDT500 Direct Drive Kippt 24,99 € je http://www.servocity.com/html/ddt500_direct_drive_tilt.html (2) Vertikal Aluminum Mounts 6,99 € je http://www.servocity.com/html/vertical_aluminum_mount.html (3) Hitec HS-422 Servo 9,99 € je http://www.servocity.com/html/hs-422_super_sport_.html Antrieb: (2) Hitec HSR-1425CR Servos 16,99 € http://www.servocity.com/html/hsr-1425cr__continuous_rotatio.html (2) ABS Wheels 6,00 "jeweils 5,48 € http://www.servocity.com/html/abs_wheels .html (2) 0,770 "Servo Hubs 4,99 € je http://www.servocity.com/html/servo_hub.html (2) Vertikal Servo Tray € 5,95 je http://www.servocity.com/html/vertical_servo_tray. html (2) Laufräder 9,99 € je (Tractor Supply Co.) Taschenlampe: (1) Luxeon Rebel Dreifach-LED-Narrow-Objektiv 5,95 € je https://www.sparkfun.com/products/9733? (3) LEDs - Infared 950nm 0,95 € je https://www.sparkfun.com/products/9349 ABS-Platte (mit der mitgelieferten "Chassis und misc Mechanik." Katalogs) Generisches einzigen Thread Lautsprecherkabel (mit der Kategorie "Electronics" im Lieferumfang enthalten) (1) BEC oder Molex-Anschluss (mit der Kategorie "Electronics" im Lieferumfang enthalten) (1) Schwarzes Brett Poster 1,95 € je (Walmart) Electronics (Arduino und individuell PCB): (1) Arduino Uno R3 21,95 € each http://www.Amazon.de/Arduino-Rev-3-Uno-R3/dp/B006H06TVG/ref=sr_1_1?ie=UTF8&qid=1346284039&sr=8-1&keywords=Arduino+uno (1) Arduino Ethernet Shield R3 38,02 € each http://www.Amazon.de/Arduino-Ethernet-Shield-R3/dp/B006UT97FE/ref=sr_1_1?s=electronics&ie=UTF8&qid=1346284092&sr=1-1&keywords=arduino+ethernet+shield Generic einzigen Thread Lautsprecherkabel ~ € 5,95 (Radioshack) (8) Männlich BEC Stecker 0,59 € je http://www.servocity.com/html/b_e_c__connectors.html (1) 7812 Voltage Regulator ~ 1,95 € je (Radioshack) (1) 7805 Voltage Regulator ~ 1,95 € je (Radioshack) (2) 100uF Kondensatoren ~ 0,95 € je (Radioshack) (1) 220uF Kondensatoren ~ 0,95 € je (Radioshack) Assorted Widerstände Packung von 100 ~ 5,95 € je (Radioshack) (3) NPN Transistoren ~ 1,50 € für alle (Radioshack) (5) Solderless Headers - 10 pin Gerade 1,50 € je https://www.sparkfun.com/products/10527 (1) TRA-Anschluss (männlich / weiblich) € 5,09 each http://www.Amazon.de/TRA-Connector-Male-Female-1/dp/B000RAZJD6/ref=wl_it_dp_o_pC_S_nC?ie=UTF8&colid=YA437ZEE0SWB&coliid=I3HG74IVJG9L3W (1) 11,1 V 5000mAh Li-Po Tenergy 49,99 € each http://www.Amazon.de/5000mAh-Li-Polymer-Battery-Traxxas-Connector/dp/B0036W8JZ2/ref=wl_it_dp_o_pdT1_nS_nC?ie=UTF8&colid=YA437ZEE0SWB&coliid=I265V05YNLE8C7 Überwachungskameras: (1) Trendnet TV-501P POE-Netzwerkkamera 105,00 € jede (Nicht mehr erhältlich) (1) Agasio A502W drahtlose IP-Kamera € 64,99 pro Stück (optional: für die Anzeige von Reginald vom 3. verwendet perspective) http://www.Amazon.de/Agasio-A502W-Auto-Brightness-Adjustment-Nightvision/dp/B005A0NIRW/ref=wl_it_dp_o_pC_nS_nC?ie=UTF8&colid=YA437ZEE0SWB&coliid=I23I1QUF44EF7B Ballistik: (2) Traum Cheeky 908 Donner Raketenwerfer 22,05 € each http://www.Amazon.de/Dream-Cheeky-908-Electronic-Reference/dp/B004SAYO46/ref=wl_it_dp_o_pdT1_S_nC?ie=UTF8&colid=YA437ZEE0SWB&coliid=I3F59SJLY6CSN3 Network: (2) Router $ ??. ?? Diese Liste enthält nicht offensichtlich Artikel; diese umfassen, sind aber nicht beschränkt auf: Heat Shrink Wrap, Ethernet Kabel, Schrauben und Muttern usw. Werkzeuge: Keines der Tools in diesem Projekt verwendet sind spezialisierte. Sie werden Ihre grundlegenden Werkzeuge: Lötkolben, Multimeter, Werkzeuge, um die Chassis ungeschlossen ist, einen Bohrer, Hammer usw. Über den Router: Die Router I in Frage, für die Preis verlassen, da der Preis auf das variiert so stark. Persönlich war mein Netgear Router eine, die gerade Verlegung wurde um nichts und das Linksys WRT54G V8 Router Ich kaufte für 3 € auf Amazon zu tun! Vor Springen Sie nicht auf beiden Router though. Man ist mit der Original-Firmware links und der andere wird mit der DD-WRT-Firmware geflasht werden. Mehr dazu später. Schritt 4: Übersicht über die einzelnen Komponenten Jetzt werde ich beginnen die Einführung der einzelnen Komponenten des Reginald im Detail. Die ersten, die eingeführt wird die grundlegendste sein und langsam werde ich auf die mehr beteiligt Stücke zu bewegen. Ich werde die Internet-Kommunikation für Last zu speichern. Inhaltsverzeichnis: Bare Minimum: Einrichten des Grund Wifi - Schritt 5 Reginald Kodex - Schritt 6 Lassen Sie uns testen Sie das System so weit - Step 7 der elektrischen Seite: Einrichten der Überwachungskamera - Schritt 8 Die Custom PCB - Schritt 9 Der Aufbau der Stromverteilungs Component - Schritt 10 Hinzufügen Der Servo Pins - Schritt 11 Erstellen der Taschenlampe Kreis - Schritt 12 Anbindung der Traum Cheeky Turrets - Schritt 13 Erstellen der Peripherie: Ändern der USB Turrets für den Arduino - Step 14 Der Bau der Taschenlampe - Schritt 15 â € <Konstruieren Reginald und Montage der Peripherie: Gebäude Reginalds Chassis - Schritt 16 Gemälde Reginald - Schritt 17 vorsichtig montieren Mechanik - Schritt 18 Montage der Taschenlampe und Kamera-S tep 19 Montage der Türme auf den Tilt Bracket - Schritt 20 Erstellen eines Batterie-Gehäuse - Step 21 Die Kontrolle über das Internet: Verwenden von DD-WRT, um eine Wireless Bridge zu erstellen - Schritt 22 Konfigurieren eines Wireless Bridge mit DD-WRT, wenn Sie AT & T - Schritt 24 Testen der Kommunikation über das Internet - - Schritt 25 Schritt 23 Port Forward Ihre Startseite AP zu UDP- und TCP-Ausnahmen zulassen Schließen Hinweise: Schlussfolgerungen und Zukunftspläne - Schritt 26 Schritt 5: Einrichten des Grund Wifi Dieser Schritt wird eine der am einfachsten zu sein. Dafür sollten Sie: Arduino (Ihrer Wahl, UNO R3 wird hier verwendet) Arduino Ethernet Schild Ein Lager Wireless Router ("Netgear" Router) Ein Ethernet-Kabel (Optional) 5V Steckernetzteil mit 2,1 mm Zylinderbuchse in Ihre Arduino stecken, stellen Sie sicher, dass das Steckernetzteil ist Zentrum positive oder Sie blasen die Platine Kombinieren Sie die Ethernet-Schild und die Arduino und Macht der Vorstand mit dem Steckernetzteil (Die Wand Warze ist vorübergehend, ich möchte, dass wir zuerst die Basistechnologie sich auf Reginald, bevor sie auf der mehr spezifischen Komponenten. Nachdem die benutzerdefinierte PCB gebaut wird, sind Sie in der Lage sein, die durch ein Arduino Batterieleistung). Schließen Sie die Abschirmung an die "Netgear" Router mit dem Ethernet-Kabel, Netz der Router. Ich zögere zu erwähnen, um sicherzustellen, dass nicht auf das Ethernet-Kabel in den WAN-Port des Routers anschließen. Das wird es sein, wird die Hardware zusammenzustellen. Eine Verbindung zum Router kabellos mit Ihrem Computer. Überprüfen Sie die Konfigurationseinstellungen des Routers durch Ihre Lieblings-Browser (Chrome für mich) und Ihre eigenen Änderungen, so lange es keinen Einfluss auf die Arduino oder die Möglichkeit für Sie, um it.Step 6 zu verbinden: Reginald Kodex Es gibt zwei getrennte Programme, um dieses Projekt. Das Arduino (Server) Seite und die GUI (Client) Seite. Zusammenfassend; um den Code für Reginald erfolgreich ausgeführt werden, müssen Sie die folgende ausführen: Laden Sie alles, was erforderlich ist. (Arduino IDE und Verarbeitung der .zip-Datei auf dieser Seite Instructable und Bibliotheken) Configure Verarbeitung, indem man die Bibliotheken in das richtige Verzeichnis im Programmordner Verarbeitung Konfigurieren Sie die Skizze für das GUI der Lage sein, Code in die Arduino Upload für die GUI , erhalten Sie die Verarbeitung IDE benötigen (es wird Ihnen bekannt vorkommen, die Arduino IDE basiert auf der Verarbeitung IDE basiert), die ControlP5 Bibliothek und das Hypermedia-Bibliothek. Ich nehme an, Sie haben bereits die Arduino IDE, laden Sie die .zip auf dieser instructable Seite und die folgenden Links, um die entsprechende SW downloaden: Verarbeitung IDE: http://processing.org/download/ ControlP5 Library: http://www.sojamo.de/libraries/controlP5/ Hypermedia Library (Klicken Sie auf "Processing Library"): http://ubaa.net/shared/processing/udp/ Über Verarbeitung und der Bibliotheken: Die Verarbeitung ist eine gute Möglichkeit, leicht Programme, die unabhängige Fenster öffnen, um Benutzerereignisse erfassen erstellen. Nachdem ein Programm abgeschlossen ist, ist es trivial, das Programm in einer ausführbaren Datei zu exportieren. Es gibt viele Möglichkeiten, um Benutzerinteraktion zu erfassen. Die ControlP5 Bibliothek trägt zu den verschiedenen Schaltflächen und Widgets in der GUI habe ich verwendet. ControlP5 ist ein Superior-Bibliothek für GUI-Erstellung. Es ist einfach zu bedienen, sehr scharf und umfassend. Bei Verarbeitung und ControlP5, kann man auf einfache Weise eine leistungsfähige und funktionsreiche Benutzeroberfläche. Die Hypermedia-Bibliothek kümmert sich um alle der UDP-Kommunikation. Was mache ich mit den Bibliotheken zu tun? Nachdem Sie alles heruntergeladen haben, müssen Sie die beiden Bibliotheken in der richtigen Stelle zu platzieren, so Verarbeitung kann sie finden. Entpacken Sie die Bibliotheken (Hypermedia wird als Datei "udp.zip" heruntergeladen) und folgen Sie dem Pfad: Verarbeitungs-XXX \ Modi \ java \ Bibliotheken innerhalb der Verarbeitungsprogrammordner in Ihre Downloads. Die "X repräsentieren die Versionsnummer der Verarbeitung die Sie heruntergeladen haben. Zeigen Sie die Ordner für die Bibliotheken hier. Nun, um die Skizze für die GUI zu konfigurieren: Um die Skizze für die GUI zu konfigurieren, ist alles, was man tun muss, um den Ordner zu packen: "GUIClient" aus der Zip-Datei und bringe diese irgendwo auf seinem Computer. Innerhalb der Verarbeitungs IDE, wählen, um eine Skizze zu öffnen, und wechseln Sie zu dem "GUIClient" -Ordner. Geben Sie den Ordner, und wählen Sie die Skizze im Inneren. Ein neues Fenster mit der Verarbeitung sollte laden, bis mit dem Code. Führen Sie das Programm. Nach der Auswahl "Ausführen", kann ein Fehler in der Verarbeitung Konsole über das Programm nicht in der Lage, um die Buchse richtig öffnen angezeigt. Dies kann erwartet werden; da die richtige IP-Adresse und Port wahrscheinlich noch nicht eingegeben wurde. Verschlüsseln von Reginald: Reginald will nicht von jedermann angesteuert werden, so dass er mit seinem eigenen Passwort verschlüsselt. Siehe Bilder 4 und 5, um eine Demonstration davon sehen. Wenn Sie den Befehl "wake" zu schicken, sieht Reginald dies als Antrag auf Zugang. An diesem Punkt findet er Ihre IP-Adresse und Port-Nummer, aus der Sie gesendet haben, und sendet einen Gruß an Sie zurück. An diesem Punkt wird er ein Passwort für den Zugang zu verlangen. Geben Sie in das korrekte Passwort und Sie können Kontrolle zu haben. Sie werden jedoch verweigert werden, wenn das Passwort nicht korrekt. Wenn Sie versuchen, Reginald von einem entfernten Standort zu kontrollieren sind, bedenken Sie nicht Reginald Gruß und Bestätigung der Zugang zu erhalten. Dies liegt daran, wenn Sie das wifi einer Schule oder Unternehmen verbunden sind, kann die Firewall dieses wifi die Nachrichten Reginald versucht, Sie zu senden blockieren. Allerdings wird dies keinen Einfluss auf die Funktionalität. Wenn Sie einfach in "wake" gefolgt von Ihrem Passwort eingeben, werden Sie den Zugang innerhalb von 15 Sekunden zu gewinnen. Reginald wird einfach an, Sie haben die Pakete empfangen. Dies ist einer der Nachteile im Vergleich mit UDP-TCP. TCP stellt sicher, dass das Paket empfangen wohingegen UDP sendet einfach das Paket und nicht zu befürchten. Dieser Mangel an Überprüfung Allerdings macht UDP viel schneller und leichter, was Ich mag. Zeiten wie diese sind, wo die "Sperren Switch" ist praktisch. Wenn ich mit dem "Sperren Switch" zu senden "wake" deaktiviert wurden, dann die Taste "w" und "a" schicken würde Befehle den Tasten. Dies könnte Reginald zu verwirren, und Sie würden zu leugnen versuchen, Ihr Passwort einzugeben. **** EDIT 6. März 2013 **** Die Verarbeitung ist inzwischen auf der Beta 2.0 aktualisiert SW von 1.5.1. Wenn Ihre Version ist 2.0 oder höher, verwenden Sie die GUIClient2.0 innerhalb der ZIP-Datei. Der einzige Unterschied ist der Schlüssel Capturing-Methode können Sie darüber lesen Sie hier: http://processing.org/reference/key.html Schritt 7: Testen wir das System so weit An diesem Punkt hat das Netzwerk zusammengesetzt und die Software und Code konfiguriert und hergestellt. Um zu testen, was bisher geschehen, werden wir drahtlos schalten eine LED ein und aus mit Ihrem Computer über eine WiFi-Verbindung. Testen Sie das Setup Gehen Sie folgendermaßen vor: Haben Sie Ihre Simple Network eingerichtet wie früher diskutiert (Arduino eingesteckt in Router und Motor, etc.) mit einem Brotbrett, eine LED und Widerstand in Reihe zu schalten. Schließen Sie die LED auf A5 und der Widerstand gegen GND Pin. Verbinden Sie das USB-Kabel vom Arduino auf Ihren Computer. Laden Sie die Arduino Skizze an den Vorstand. Beachten Sie, dass die IP-Adresse in der Skizze verwendet wird, ist 192.168.1.177 und der Port ist 8888 Connect Wireless an den Router mit Ihrem Computer das GUI sicher, dass in den Einstellungen, die IP-Adresse und den Port passen die Einstellungen des Arduino Geben Sie das Wort "wake" in das Textfeld ein und klicken auf "Absenden" Nachdem Reginald grüßt Sie, geben Sie das Kennwort: "password" Reginald werden Sie überprüfen, dann können Sie zugreifen Umschalten der Lichtschalter auf der Hauptseite der GUI Die LED sollte leuchten ein und aus; Die Konsole liest, dass das Licht wird aktiviert und deaktiviert Wenn Sie bekam die LED leuchtet, dann congrats! Die grundlegende Verbindung zum Arduino vorgenommen worden ist und nun in der Lage, um drahtlos steuern die LED sind Sie. Wenn Sie das Kennwort und die Begrüßungen Funktionen von Reginald deaktiviert werden soll; gehen in die Arduino-Code und kommentieren Sie die "Salutations ()" Funktion innerhalb unter "Leere setup ()" Schritt 8:. Einrichten der Überwachungskamera Dies ist eine einfache Schritt des Projektes. Welche Art von Kamera werden Sie wollen? Bei der Wahl der Überwachungskamera, wird es brauchen, um Netzwerkfähigkeiten haben. Meiner Meinung nach, ist es am besten, um eine Kamera mit einem Ethernet-Anschluss vorhanden sein. Auf diese Weise würden Sie trivialerweise ein Ethernet-Kamera von der Kamera an den Router. Sie könnten eine, die ausschließlich Wireless ist zu bekommen, und haben es so konfiguriert, dass eine drahtlose Verbindung mit dem Router auf Reginald. Ich empfehle Amazon für den Erwerb dieser Kameras. Warum habe ich diese umsetzen für Video-Feed? Dies ist eine ziemlich triviale Verfahren zur Implementierung eines Video-Feed, und überhaupt nicht anspruchsvoll; aber ich fühlte mich, als ob es war mit Abstand das praktischste. Wenn Sie die Arduino verwenden, um mit einer Kamera-Schnittstelle und die Video-Feed zu verarbeiten, würde die FPS dismal am besten. Das Arduino ist nicht stark genug, um auch kleine Bilder zu verarbeiten. Dann wird die ebenso schwierige Aufgabe, wäre, eine Art Schnittstelle auf dem Computer zu erstellen, um die End-Video-Feed zu akzeptieren und anzeigen. Einrichten der Kamera: Erstes die Überwachungskamera an den Sie für Reginald über Ethernet-Kabel des Routers. Installieren Sie den SW und Treiber für die Kamera vom Computer. Sie sollten zu Reginald Netzwerk angeschlossen werden, so dass die SW können die Kamera zu erkennen. Die SW sollten Sie die Kamera mit einem Standard-IP-Adresse festlegen. Rufen Sie die Kamera durch Ihre Lieblings-Browser, und stellen Sie eine statische IP-Adresse. Geben Sie eine Portnummer für die Kamera (81 ist eine gute Wahl). Das ist es! Allerdings können Sie nur auf die Kamera, während Sie mit Reginald Netzwerk verbunden sind. Später, als ich diskutieren Port Forwarding, versteht es sich, wie die Kamera so zu konfigurieren, können Sie es von überall aus ansehen zu können. Stromkabel für den Vorstand Diese spezielle Kamera benötigt 5 Volt, und wir werden sicherstellen, dass wir liefern, dass die Spannung, wenn wir bauen die benutzerdefinierte PCB. Denn jetzt werden wir ein Kabel, um in die Zukunft zu PCB Stecker erstellen. Im 3. Bild, gibt es die Stromeingang auf der Rückseite der Kamera. Diese Kamera ist Mitte positiv, was bedeutet, dass der Mittelstift in dieser Einlass muss die 5 Volt haben. Sehen Sie in der 4. Bild, zeigt diese eine Zylinderbuchse I von Radioshack gekauft. Da die Kamera Zentrum positive, das Metall in der Buchse muss 5 Volt sein, und mit dem Boden in der äußeren Trommel muss. Es sind 2-Pins an der Unterseite dieser Zylinderbuchse für jedes von diesen. Mit einem Multimeter, um die Kontinuität zwischen den Stiften und dem Außen- und Innen testen. Löten Sie einen Draht an jedem Stift und Interface das andere Ende der Drähte mit einem BEC oder Molex-Stecker, so kann es direkt in die Leiterplatte eingesteckt werden. Schritt 9: Der Custom PCB Alle 9 Artikel anzeigen Warum das Board zu bauen? Wie bereits erwähnt, wurde meine PCB für dieses Projekt soll alle notwendigen Schaltungen in einem einzigen Board zu sättigen. Auf diese Weise kann ich alle Peripheriegeräte, um eine Quelle zu verbinden, anstatt Drähten ganz über dem Platz. Ebenfalls zuvor erwähnt: die PCB verteilt die Kraft auf die Komponenten. Alles auf Reginald verbindet zu diesem Forum um die Macht. Also, wie funktioniert das mit dem Arduino zu interagieren? Auf der Kupferseite des PCB, werden Sie sehen, ich habe lange Kopfstiften, die sich aus dem Vorstand. Diese Stecker in die Arduino Ethernet-Schild, das ist, wie die Schaltungen auf diesem Board wird mit den Arduino Pins Schnittstelle. Löten Sie die Stromkreise zu diesen Stiften. Um die Stifte an Ort und Stelle zu löten, entfernte ich den Kunststoffmantel, eingefügt jeden Pin einzeln verlötet sie in. Die Stifte I verwendet werden, im letzten Bild zu sehen. They have an eyelet on one side which is very convenient because one can easily insert them into a PCB hole and they'll stay in place. These pins are from Sparkfun, I provided the link on the List of Parts step. Don't be intimidated by the looks of it: If you were to look at my board, I would imagine it would be very difficult to follow what I did to build it. Wires and pins on the board are absolutely everywhere. So don't worry about trying to understand my board, because the board that you require for your build may need to be different from mine to compensate for the different voltages and your needs. Basically, this board is many, very simple circuits. One of its purposes is to be a power distributor, dividing the power appropriately to the various components. If you look at the flip side of the board, there are very long power and ground buses that run through it. The power also changes on the way. Follow the next couple steps, and I'll give the schematics and descriptions of each part of this board individually. If you heeded the prerequisites at the beginning of the tutorial, the hardest task for you is to decide where you will place the circuits on the board.Step 10: Building the Power Distribution Component The circuit that distributes the power is probably the most important of the other circuits. This circuit takes in the 12 volts from the battery and hands off 12 volts to the router. You will need header pins in the PCB for the Battery and the Router to plug into. Place a Molex or BEC connector on a Router cable and the Battery to plug into the header pins. The camera also needs 5 volts; 7 volts may have worked, but I didn't want to risk a hundred dollar camera to spare € 2 in electrical components. So I have another voltage regulator and an additional decoupling capacitor. Picture 4 shows my setup. 12 volts to 7 volts The 12 volts continues into the regulator input pin, a decoupling capacitor crosses the power and ground on the input and output sides of the regulator to account for voltage discrepancies. I wanted 7 volts to power most parts of the circuit (Arduino, servos, DC motors, flashlight), but I couldn't find a regulator that outputs 7 volts, so I settled with a 7805 regulator (outputs 5 volts), and used resistors to adjust the voltage that the regulator outputs. See the schematic to see where the resistors need to be placed. Resistor R2 needs to go between the Ground pin on the regulator and Ground. The resistor R1 needs to go between the middle Ground pin on the regulator and the output power. The values of the resistors depends on what value your regulator outputs. Use the following calculator to determine what resistors you'll need: http://www.daycounter.com/Calculators/Voltage-Regulator-Resistor-Divider-Calculator.phtml The reference voltage is what your regulator outputs, the output voltage is the voltage you want outputted. Be sure to troubleshoot this for your application with a multimeter. Keep in mind that it is the RATIO between the two resistors that determines the output voltage. If everything I mentioned seems like gibberish, you will need a good read on how a power supply circuit works. Here's a wonderful one, it will explain the basics and assumes you know virtually nothing: http://www.sparkfun.com/tutorials/57 12 volts to 5 volts Here is the other voltage regulator to drop the volts down to 5 just for the surveillance camera. Test the circuits so far by inputting 12 volts to the pins on the battery. Is the output from the first voltage regulator 7 volts? Is the output from the second voltage regulator 5 volts? Important Note: Lots of voltage regulators can only handle an amp of current at max. If you surpass this limit you'll get power failures. With Reginald, I was able to barely make the amp limit. Amazing considering how many peripherals I am running but Reginald does well so far. Keep this in mind: it is probably safe to think about using switching regulators for the power supply circuit. Step 11: Adding the Servo Pins There needs to be a way to interface the servos to the Arduino via the PCB board. Use header pins to create a 5 x 3 set of pins, soldered to the PCB. I'm not sure about other brands of servos, but Hitec servo pins are arranged with the Ground wire on one side, the middle pin is power, and the other side is the signal wire. About the diagram shown: In the 1st picture, you can see I plan for "Left Wheel", "Right Wheel", "Pan" and "Tilt" servos. The right and left wheel servos obviously power the wheels for Reginald. The panning and tilting servos are for panning and tilting the Camera and the Turrets on Reginald. There are two independent servos for tilting and one servo to pan both the Camera and the Turrets. The signal wires of the Tilt brackets are tied together so they are in sync with one another. My goal was to have the Camera and the Turrets to move together. This way, where ever the Camera is pointed, the Turrets will fire. Testing: When everything is wired and connected, test by plugging it into the Ethernet Shield on the Arduino. If you kept the same pins as I have, you can simply load the code onto the board. Set yourself up as you did when you toggled the LED. Use the GUI to try to control some of the servos. When you press up, do the wheel servos move? Step 12: Building the Flashlight circuit The Flashlight circuit is trivial. Consider it a warm up for the Turret circuit that comes next. The Flashlight will interface with the custom PCB with header pins and a BEC or Molex connector (as with everything in this project). I choose the A0 pin on the Arduino to output HIGH or LOW to turn the Flashlight on or off. About the NPN Transistor: When you read about Transistors through your favorite search engine within the Prerequisite topics I offered: you discovered that Transistors act as little electrical switches. The amazing thing about Transistors is that you can control a large amount of current with a small amount of current. This is ideal opposed to having the Arduino drive or power the LED Flashlight, which isn't very practical. It's better to have the Arduino signal when current can pass through or not. The Arduino doesn't actually power the Flashlight on and off, it simply allows the battery to power the Flashlight at specified moments. When the "Base" pin on the NPN Transistor goes HIGH, current flows from the "Collector" to the "Emitter", connecting the negative pin of the Flashlight to ground and thus completing the circuit. Now that you understand my design, build it! Testing your own circuit: Test this by plugging the PCB into the Ethernet and Arduino setup as before. Get your connection up and running and toggle the "Light Switch" since you haven't constructed the Flashlight yet, is there a voltage difference between the Flashlight pins when the switch is on?Step 13: Interfacing the Dream Cheeky Turrets The electrical circuit for the turrets are two separate transistor circuits. The circuits for the turrets are just like the Flashlight circuit except slightly more complicated. How do these turrets function exactly? Within each turret is a switch and a small DC motor. These are all you need to fire the turret. The DC motor cranks a plunger to the back of the turret, and at a certain point, the mechanics within the turret release the plunger. This is spring loaded so the plunger then launches forward, firing a missile. At this point, the plunger trips a switch. The DC motor continues to pull the plunger back again. The mechanics within the turret automatically rotate the barrel; prepping the next missile as the switch releases. The process starts all over again. The design in this product is fairly impressive. The mechanics within the turret take care of so much for you. The only things you have to control to fire the turret correctly are the switch and the DC motor. How to build the circuit for the Turrets: In the old microcontroller that we cut out from the turret: it used the switch to detect when the turret fired exactly. It then sets a timer to run the DC motor just a little bit longer to pull the plunger back a bit. In the original design, when you fire the turret, it runs the DC motor for a good second before it actually fired. This was not satisfactory to me, I wanted the turret to fire the moment I pressed my space bar on the keyboard. Later, we will modify the turrets to interface with our board, but for now, we are only building the board. This is how the transistor circuit works: The positive wires of the DC motors in the turret are connected directly to 7 volts, the negative wires are connected to the transistor "Collector" pin. The "Emitter" on the transistor goes to ground. When the "Base" of the transistor is LOW, no current flows through the "Collector" to the "Emitter". When I want to fire a missile, I set the "Base" HIGH with the Arduino. Current then starts flowing, and turns the DC motor on. While the "Base" is set to HIGH, the Arduino is constantly checking its input pin (the input pin is the one connected to the switch) with a "While" loop. Since the DC motor is running, the turret will eventually fire. It is at that point the switch inside the turret will close, and send the input pin to the Arduino HIGH. The Arduino sees this and counts for a certain period of time before setting the "Base" pin LOW, and stopping the current to the DC motor. In this period of time, the switch is released and goes back to LOW. The amount of time the Arduino counts for before setting "Base" LOW again is the amount of time it takes for the DC motor to pull the plunger back just before the moment of firing. It is through this method that the turret will fire the moment I press the space bar. Important Note about the input pin to the Arduino: It is important to keep in mind, that it is a good idea to have a resistor in between the input pin on the Arduino and the switch, so that way the input pin doesn't receive a powerful 7 volts. I don't show this resistor in the first two diagrams, but in the 4th picture of my board, these resistors are highlighted. Step 14: Modifying the USB Turrets for the Arduino Alle 13 Artikel anzeigen I purchased two USB turrets from Thinkgeek that I used to mount onto Reginald. Much of the turret was scrapped to leave only the necessary cannon component for the project. Essentially the procedure is composed of separating the cannon from the base, removing the old wires from the DC motor and switch component from the cannon and soldering in new wires. Follow the pictures and the comments to get a thorough explanation. After finishing, put everything back together and connect a 9V battery to the DC motor. If it doesn't fire and only makes this clicking sound, you have the polarity backwards. The DC motor only needs to run in one direction. All the turning and firing is automatically taken care of in the mechanics when you are running the DC motor.Step 15: Building the Flashlight Alle 19 Artikel anzeigen For Reginald, I built my own flashlight. I wanted one that was small, light and had a plug that would go into the custom PCB. Describing how to build the flashlight in words would be difficult. Instead, pictures of the process will be much more effective. Just click on the first one, and use the images and comments as your guide. Step 16: Building Reginald's Chassis Alle 7 Artikel anzeigen Reginald's chassis is very simple as I was planning. I didn't require anything elaborate since my overall goals for Reginald was to have him be feature rich and sturdy. I cut two 7.5" by 15" pieces of ABS for the top and bottom and drilled three 0.875" holes on top for the ball bearings. The side plates are 4" x 6" each. My recommendation with this is to cut very slow. Too high of speeds will heat up and melt the plastic: a mistake I made on the rear hole on the top platform. See the 3rd picture for this. Step 17: Painting Reginald Alle 7 Artikel anzeigen After constructing the chassis, I had some days to wait until my next parts package arrived: I took that time to amuse myself painting. To paint the sophisticated man, I printed him out and cut around the contour. I simply drew him on and filled in the rest. The "Reginald" lettering was painstaking to be modest. First I taped the side panel with painter's tape and printed off "Reginald" in fancy lettering. I cut the word out and taped that on top of the tape of the side panel. At that point I took an razor and slowly cut around the letters, and peeling the tape off underneath. It took me about 3 hours to do this! Then I painted it blue and peeled the tape for the letters off, leaving the white text. The pure white camera was a bit boring, so I taped it off and painted part of it blue. Step 18: Carefully Mounting the Mechanics Alle 13 Artikel anzeigen Once I got my package from Servocity, I started constructing the Mechanics. About the Tilt Brackets: Servocity has this great tilt bracket kit; I'm using these to mount the turrets and the camera onto. The panning motion is achieved with a single servo. The panning servo mounts to the bottom panel and uses a shaft adapter to hold the 3/8" diameter shaft. I mounted 2 48 tooth sprockets to the shaft. The end of the shaft interfaces with the ball bearing on the top panel. Two small 1" copper tubes also run through the side bearings where I mounted a 20 tooth sprocket on each. The tilt brackets interface with a 3/8" copper tubing via a hub that clamps onto the tilt bracket. I choose the copper tubing so that way I can pass wires through it to reach the Arduino underneath. This neatens Reginald. Other hardware to mount: A chain then wraps around the middle to the side post, where the servo can effortlessly pan the brackets around. After this, I mounted the Arduino and all onto the bottom panel with Nylon spacers and bolts. I picked up some nice caster wheels from Tractor Supply Company (13th picture). These sit at the end of Reginald. Mounting these was a trivial task.Step 19: Mounting the Flashlight and the Camera Now that the Tilt Brackets have been installed, it's time to mount the Camera and Flashlight. There are convenient holes located in the Tilt Brackets. I took a hose clamp and tightened it around the Flashlight with a zip tie looped through it. The zip tie then passed through the holes in the bracket. The Camera only needed to be bolted onto the bracket. In the last step, I mentioned that I was utilizing copper tubes for the Tilt Brackets to grasp onto so that way the wiring could pass through. In the second picture, you can see that I am running the wires (Ethernet cable, power to Camera, Servo wires and Flashlight wires) through to the underneath. Why have I done this? It cleans Reginald up quite a bit by tucking the wires in, and it doesn't allow the wires to interfere with the mechanical operation as easily. I had to splice the Ethernet Cable and the Servo wire so i could fit it through the copper tube because the connectors wouldn't fit. After I cut the wire, the wire itself could fit through and I would solder them back together.Step 20: Mounting the Turrets onto the Tilt Bracket Alle 13 Artikel anzeigen I wanted a nice way to interface the turret to the Tilt Bracket on Reginald. Shown is a fairly good way to accomplish this. Mount the Turrets: Start by unscrewing the halves of the body that holds the firing mechanism. The two halves are not equal. The right side contains all the guts of the firing mechanism and the left is an empty shell. We will mount the Turrets onto the Tilt Bracket by drilling holes in the turret and leaving well placed nuts. Drilling through the tilt platform, we will insert to bolts to interface with the nuts. I drilled the holes on one of the halves, I had to do this because there isn't enough room on the platform to fit both turrets drilled in the center. Basically, to mount a Turret on the left side of the Tilt Bracket, you will need to drill holes in the right half of the turret (the one with all the guts); for the right side of the Tilt Bracket, drill holes in the left half. If this doesn't make sense, see the 1st picture for a graphical representation. View the pictures of the process of how I interfaced the turrets to the tilt bracket plate. Helpful Notes: Keep in mind that these bolts are epoxied in, so resist the temptation to tighten the bolts! Only finger tight on the screwdriver is adequate. Remember that these Turrets won't be undergoing a tremendous amount of stress, so tight bolts are unnecessary and you'll be putting yourself at risk of breaking the nut loose from the turret. This actually wouldn't be the worst thing to happen since the turret will still be mounted tight, but you'll likely never be able to remove the Turret if you wanted to (at least not easily).Step 21: Creating a Battery Housing Alle 7 Artikel anzeigen To house the battery, I was looking for a simple method. Using 10 bolts, 27 nuts and two metal plates with holes in them, I was able to create a cage to enclose the battery. The dimensions of the battery are 134mm x 41mm x 31mm. Using these dimensions, I drilled appropriately placed holes to run the bolts through that will hold the metal plates. One of the bolts only has a wing nut attached for easy removal of the bolt to insert and remove the battery. Step 22: Using DD-WRT to create a Wireless Bridge This was, by far, the most challenging portion of the project; yet it is what makes Reginald so unique. What is a Wireless Bridge? A Wireless Bridge is a device used to extend a Home Network, and provides an internet connection to devices connected to it. If you have an old computer that needs a wired connection, yet is too far away from the Modem/Access Point (AP), a Wireless Bridge can be configured for the old computer to plug directly into. The Wireless Bridge then serves the computer an internet connection from the AP. There is another device that is close to the Wireless Bridge, which is called a Repeater. Both of these are wireless from the Modem/AP in a home; but there are a couple key differences. A Repeater acts as an AP to other devices. A device can wirelessly connect to a Repeater. However, devices on a Repeater have a different subnet than other devices. This essentially means that a device connected to the repeater cannot come into contact with any other devices connected to the Primary AP. Devices connected to a Wireless Bridge will however, be on the same subnet as all the other devices in the home, but the connection needs to be wired. With Reginald, a Wireless Bridge is used. You can buy a Wireless Bridge and make it easy on yourself; but if you'd like a little more of a challenge and have an old router lying around, give the free firmware: DD-WRT a try. What is DD-WRT? DD-WRT is a Linux based firmware that can be flashed to routers. It's an incredibly powerful OS that is also highly configurable. If you have a router lying around, check to see if it can be supported with this firmware here: http://www.dd-wrt.com/site/support/router-database Assuming that your Router is supported: congratulations! You now have much reading to do! I wish I was joking: but much research is required before flashing the DD-WRT firmware to your router. Little or no research will put you at great risk of bricking your router and rendering it useless. Be SURE to read the Peacock Thread: http://www.dd-wrt.com/phpBB2/viewtopic.php?t=51486 Some Notes on Flashing DD-WRT to your Router: After finding your Router in the database (be mindful of version numbers), find the wiki associated with that model (when you find the Router within the Router Database, there will very likely be a link for a wiki unique to that Router). Usually every Router has its own set of unique instructions. Therefore, I can't give a tutorial on flashing DD-WRT, I can only provide links for your research. Don't worry though, if you read the wiki and the Peacock thread, you will be instructed exactly what to do. When the Router has been flashed with DD-WRT, leave the router powered and connect to the Router from your computer. Use your favorite browser and type in 192.168.1.1 to access the Router's configuration page. When you are able to connect, you will do some configuration to setup the router as a Wireless Bridge. Perform the Following: Log into the router, DD-WRT defaults to "root" as the username and "admin" for the password". Choose "Wireless" and "Basic Settings". For "Wireless Mode" choose "Client Bridge". Apply. Choose the Network Mode of the AP of the home, which usually can be found on your Primary Home Router's webpage. Enter the SSID, this is the name of your network. Apply the settings. Choose "Wireless Security". Conform these settings to match those of your Primary Home Router. Go to the "Network Setup" by choosing "Setup" and "Basic Setup". Make the "Local IP Address" the IP Address of the Wireless Bridge. For example, if your Home AP's internal IP Address is 192.168.1.1, choose an IP Address for your Wireless Bridge that's the same except for the last number. eg: 192.168.1.2 "Subnet Mask" is 255.255.255.0 "Gateway" and "Local DNS" are the IP Addresses of the Home AP. Choose "Status" and "Wireless". Click on "Site Survey". Find the Home Network on the list and select to Join that network. Apply your settings. Connect your computer to the Wireless Bridge via Ethernet Cable if it's not already (It should be seeing how you configured all those settings). You should have an internet connection now. You may have to power cycle the router first. If you have AT&T as an ISP, you may not be successful. Read the next step for AT&T users.Step 23: Configuring a Wireless Bridge with DD-WRT when you have AT&T (Only applies if you have AT&T as a ISP; OR if your Home Router only allows devices on the LAN that use a DHCP handshake) Why am I making a separate step just for AT&T? The reason why I'm picking on AT&T is that the 2WIRE Modem/AP that I currently use will only allow devices to connect to it if the device offers a DHCP handshake. I should mention, that my personal Modem/AP is outdated, I encourage anyone who has a recent Modem/AP from AT&T to leave a comment for theirs. As in, provide whether or not the Modem/AP requires devices to have DHCP to connect to it. I believe most other ISPs will allow for you to use a 3rd party router to connect to the Modem. AT&T is a great service for those who don't know how to network because it's easy to setup when the Router, Modem and the ISP are from the same company. From a technical standpoint, it can be more of a challenge to perform advanced tasks, such as setting up a Wireless Bridge. The reason why a Wireless Bridge will not be able to receive internet even when you configured it correctly is because the Wireless Bridge is attempting to connect with a Static IP Address. How to configure your Wireless Bridge if your Primary Router is from AT&T: To get the Wireless Bridge with DD-WRT to connect to your AT&T Modem/AP, you will need to follow the default steps on the previous page, and then enable a DHCP handshake on the Wireless Bridge so the Modem/AP will allow it to connect. However there is no way to accomplish this through the GUI, you will need to create a custom startup script for the Wireless Bridge. Within the DD-WRT interface, choose "Administration" and then "Commands". In the command text box, copy and paste the following: udhcpc -i br0 -p /var/run/udhcpc.pid -s /tmp/udhcpc -H test-wrt-wireless hostname `nslookup \`ifconfig br0 | grep 'inet addr' |cut -f 2 -d ':'\` | grep 'Name:' | awk '{print € 2;}' | cut -f 1 -d '.'` if test `hostname` != `nvram get wan_hostname`; dann nvram set wan_hostname=`hostname`; nvram set router_name=`hostname`; nvram commit; fi Select to "Save Startup". Give the Wireless Bridge a moment or two to save everything. Disconnect the Wireless Bridge from power, wait for a few seconds and power it back on. The Wireless Bridge should utilize the Startup script you wrote to it to acquire an IP Address on the Home Network via DHCP. This should be what it takes to connect your Wireless Bridge with DD-WRT onto the home network. Configuring the Arduino to the AT&T Home Network: The Wireless Bridge isn't the only device that needs to be configured with DHCP to run on the LAN. The Arduino and Camera will need to be adjusted as well. The code used for the Arduino uses a Static IP Address, so the LAN probably won't accept your Arduino if you use AT&T. To get communication open to the Arduino over the internet, you will need to initialize it with DHCP. Grab the code from this page: http://arduino.cc/en/Tutorial/DhcpAddressPrinter And upload it to your board. Connect it via Ethernet directly to the Home Router and power the Arduino. The AT&T Modem/AP should recognize the Arduino and create an instance of it within the LAN. From there, you should be able to load the original Reginald code back to the board. Check the configuration page of your Home Router through your favorite browser. You'll probably see a new device on the network. If you loaded the Reginald code back on the board, it may or may not show it is connected. The name of the device won't be "Arduino", but the name will probably have some variation of "wiznet". Configuring the Camera: For the Camera, you may or may not have to do the same thing as the Arduino. First check your configuration page of the Home Router to see if your Camera is discovered if you plug it directly into the Home Router. If not, you will have to set it to use DHCP for the Home Router to initialize it into the LAN, then you could probably switch it back to a Static IP at that point. Regardless, it should have its own port. Setting everything up: Connect the Camera and Arduino to the Wireless Bridge. Port Forwarding is next, if everything was configured correctly, you should be close to done. Step 24: Port Forward your Home AP to allow UDP and TCP exceptions To allow communication to Reginald from anywhere in the world, you will need a method to pass through the Firewall of your home to reach Reginald. The Firewall by default won't allow your packets to reach the Arduino, and it won't allow the Camera to serve its interface to you.To reach the Camera and the Arduino on Reginald, you will need to create a small hole in your Firewall with Port Forwarding. To accomplish Port Forwarding, you will need to acquire the following information: The external IP address of the Primary Home Router (if you just Google: "What's my IP?", Google will tell you). The Port Numbers on the Camera and on the Arduino If you didn't change the code given to you by me, the Port Number on the Arduino will be 8888 The Port Number for the Camera should be somewhere in the Camera's interface; if this is 80, then it will probably be a good idea to change it. The IP Addresses of the Camera and the Arduino The internal IP address of the Primary Home Router (you entered it in when configuring the Client Bridge) How to Port Forward your Primary Router: Now, open your favorite browser (Chrome for me), and enter the internal IP address of your Primary Home Router. Here's a bit of a tricky part, since there's hundreds of different Routers in the world, there isn't a "one size fits all" tutorial for this. You could visit http://portforward.com/ which is incredibly comprehensive. If you choose your Router on this site, it will eventually ask you for which game would you like to Port Forward for. Just pick one of them since they are all the same for the most part. The important thing is to know the path within the Home Router's interface to follow to reach the Port Forwarding options. I will try to speak generically here: when you have reached the page where you are provided with Port Forwarding options, you will probably need to "Add" an exception, or service or case etc. When you do this, the common options for adding a Port Forwarding feature are: the name, the protocol type, the starting and ending port, and the IP Address of what is serving the exception. If there are more options, they will probably be left at default or blank. You will need to create two exceptions, one for the Camera, and one for the Arduino. For the Camera: Enter a name for the exception Choose "Both" or "TCP" for the protocol type The starting and ending port will both be the Port Number of the Camera The IP Address is the IP Address of the Camera For the Arduino: Enter a name for the exception Choose "Both" or "UDP" for the protocol type The starting and ending port will both be the Port Number of the Arduino The IP Address is the IP Address of the Arduino At risk of confusing you: you can have a specific EXTERNAL IP Address for the Arduino and Camera if you like. I don't believe this adds a real advantage, you would still have to perform the Port Forward exceptions. This is what I have done, but it's not necessary. Plug the Arduino and the Camera into the Wireless Bridge. Power everything. Time to test!Step 25: Testing the Communication over the Internet It's not enough to enter the IP Address of the Primary Home Router and the Port of the Arduino into the GUI Program for Reginald to test. That's because it won't test the firewall, assuming that you are connected to the LAN. It will simply act within the LAN. Different ways to set yourself up to test: If you are able to perform a data tether with your cell phone, this is a good way to test. Turn off the wireless abilities on your computer and setup to data tether. Also, if you have friends, you could get one of them to volunteer by handing them the GUI. Try being nice to that friend and export the Processing sketch to an .exe application so all the friend has to do is double click it to run. If you don't have friends, you can test it simply from outside the house (at least Reginald will be your friend). Set up the Hardware: Have your Arduino and Camera plugged into the Wireless Bridge with everything powered, plug the LED Flashlight into the flashlight pins on the Custom PCB. Assuming that the DD-WRT empowered Wireless Bridge connects to the WLAN, and that the Port Forwarding exceptions are all set; perform the following to test: While NOT on the LAN of Reginald, using one of the above methods, open up the GUI Client. Enter in the External IP Address of the Home Router into the "Settings" tab. Enter the correct Port Number of the Arduino. Enter the credentials to Reginald and gain access. Toggle the "Light Switch" on the main page of the GUI The LED should light. Having a friend perform this or you with a data tether on your phone is ideal because you can troubleshoot the board if it doesn't work. Whereas being outside your own home to test can be rather inconvenient. If the LED doesn't light, here's some troubleshooting tips: Try plugging the Arduino into the computer with the USB cable, modify the Arduino sketch to add some "Serial.println()" statements to help debug. Use the Serial Monitor through the Arduino IDE to see if the Arduino is receiving the UDP packet. If it is, then something is wrong with your LED circuit. With the Arduino and Camera plugged into the Wireless Bridge, connect your computer to the LAN. Try toggling the "Light Switch" again. You can leave the External IP Address and Port alone. If it does light, then something is wrong with your Port Forwarding exception. If you can get the LED to toggle in this setup, the Home Router can connect just fine to the Wireless Bridge and to the Arduino. From the outside of the LAN however, your Home Router isn't allowing the UDP packet into the LAN. Therefore, your Port Forward exception is the problem. Can you connect to the Camera from outside the LAN? If you can access the Camera but the Arduino won't turn the LED on and off, then the problem is likely the Home Router. When the Home Router receives the UDP packet directed at a port, it probably doesn't know where to send it. Is the Port Forward Exception made for the same port as the Arduino? Maybe, worst case: the Arduino has died. Assuming you have the right IP Addresses and Ports entered in and everything is powered; if, after troubleshooting: The Arduino does not print any Serial Commands You can't connect to the Camera You can't turn the LED on or off within the LAN Then the issue is probably the Wireless Bridge. Connect your computer to it via Ethernet cable and make sure the wireless capabilities are off. You probably will not be able to access the Internet. Review the steps regarding the Wireless Bridge, verify your settings. Does your Home Router recognize the Arduino and Camera when plugged into the Wireless Bridge?Step 26: Conclusions and Future Plans After completing the Reginald Project, I was very pleased that I completed all my goals that I initially proposed for the project and more. I mention in the beginning but it's worth repeating: Reginald the Bot is only an example application for a topic much greater: the ability to control virtually anything, wirelessly from anywhere in the world. A very useful, and powerful method indeed. The UDP is a very under-utilized technology in everyday projects. With the ideas in my project; hopefully it will act as a precursor to many more. In the tutorial: I provide a practical, yet difficult to implement, solution that has now been explored and clarified. Of course I am already considering future plans: Upgrade the Uno to a Mega to accommodate plans Remotely turn Reginald on and off Implement an LED screen to communicate with those at home. The mic in the camera allows me to hear others Upgrade the drivetrain to DC motors Reconstruct the PCB with a more permanent etched PCB Implement proximity sensors for safety when Reginald is in "Velocity Control" Implement a battery level to report to the user when the battery is low Thank you for your time in reading my compendium of the Reginald Project. I hope that my ideas may have inspired someone.$(function() {$("a.lightbox").lightBox();});

    Seiten: