Arduino Ethernet Transceiver

Aus TippvomTibb
Zur Navigation springen Zur Suche springen

Bastel #1

Warum brauche ich das?

Sobald sich solche Szenen auf dem Schreibtisch abspielen und der Wunsch entsteht die angeschlossenen Gerätschaften auch noch irgendwie automatisiert an und aus zu schalten ist die Zeit reif für die nachfolgende Bastelei.

433 Senderensemble

Vorüberlegungen

Um die Aktoren zu schalten wäre nur der Transmitter (Sender) notwendig.

Warum also der Receiver (Empfänger)?

  • Die Module sind beim Chinamann so billig, dass man als geübter Bastler nicht anders kann.
  • Man kann weiterhin die Handsender (auf einem anderen Code) benutzen und so den Arduino als Proxy benutzen.
  • Man kann den gesamten Datenverkehr des ISM-Bandes mitlauschen und somit ggf. digitale Störquellen ausfindig machen.

Der Arduino muss in ein Netz einbindbar sein. Ich habe mich in der ersten Variante für eine Kabelverbindung entschieden. Es gilt trotz oder gerade wegen allem WLAN immer noch Tibb's-Law: "Wo ein Kabel möglich, da benutze auch ein Kabel!"

Für die Smarthome-Integration steht dann auch noch eine Anbindung in FHEM in Aussicht.

Bedingungen

Egal ob Bastelarbeit oder komplexeres Projekt grundsätzlich sollte man sowohl hardwareseitig, als auch softwareseitig unbedingt wo immer möglich modular arbeiten. Wie oft habe ich PCBs nur einmal nutzen können oder eine Software neu geschrieben, weil das Umschreiben einfach zu aufwendig erschien. Wie oft habe ich schon gute Ideen im Internet gefunden, die mit viel Aufwand realisiert wurden, aber nur in Teilen zu meinen Anforderungen gepasst haben.

Dieses Problem könnte diese Bastelei bzgl. der Frequenzwahl (433 MHz anstatt 866 MHz) oder der Netzwerkanbindung (RJ45 anstatt WLAN, Bluetooth, ZigBee) auch ereilen. Ich beginne jetzt mal in dieser Konfiguration und werde die anderen Kombinationen nach und nach ergänzen.


Bestandteile

  • Arduino Nano
  • Netzwerkmodul ENC28J60
  • Sendemodul 433 MHz
  • Empfangsmodul 433 MHz
  • Shield für Nano
  • Stepup-Wandler 5 V -> 12 V für das Sendmodul


Vorbereitungen

Arduino Nano

Gelegentlich liest man von Problemen mit dem Bootloader von Nano-China-Clonen. Da wir an dieser Stelle einen großen Schritt zurück müssen habe ich das AVR Bootloader-Problem in eine eigene Wiki-Seite ausgelagert.

Schield

Genauer gesagt ein I/O Sensor Shield Expansion Breakout bekommt an z. B. hier. Wer warten kann, kann es auch beim Ali (ca. 50 Cent) bestellen. Das Breakout-Board liefert durch seinen Spannungsregler für 3,3 V auch Spannung für das ENC28J60-Modul.

Funkmodule

Die Funkmodule sind unspektakulär. Sobald sie mit der richtigen Spannung (Receiver 5V, Transmitter 12 V) versorgt sind bekommt man einen Bitstream oder man stellt einen zur Verfügung. Das Protokoll des Bitstreams ist für die Module belanglos. Der unten beschriebene Aufbau ist auch 'problemlos' mit 868 MHz Modulen möglich.

Netzwerkmodul

Zum Einsatz kommt ein Modul mit dem ENC28J60 Chip. Bei Ebay oder beim Ali auch schon für kleines Geld zu haben. Einzig die Entscheidungsfrage ENC28J60 oder WZ5100 ist hier vielleicht von Bedeutung. Da der ENC28J60 im Gegensatz zu den Funkmodulen nicht einfach nur einen Bitstream 'umsetzt', sondern eine Controllerlogik mit einer Vielzahl von Konfigurationsregistern besitzt ist die Anpassungsarbeit bei Library-Problemen oder eigenen Anpassungen nicht trivial.

Stepup-Wandler

Das Modul erhöht die Versorgungsspannung von 5 V des Arduino auf 12 V des Funksendemoduls. Dies erhöht die Funkreichweite. Die Module gibt es im Netz auch wie Sand am Meer. Einfach bei der Suchmaschine deines Vertrauens 'XL6009' eingeben.

1. Version mit Sende- und Empfangsmodulen für 433 MHZ

Fritzing Schematic Layout

EtherTransceiver Steckplatine

Das erste Testprogramm ist im Eclipse-Workspace unter dem Namen RF_Switch