Funkübertragung mit Hilfe der VirtualWire Library9

Ich suche für mein Hausautomatisierungs Projekt eine Möglichkeit um Meß-Daten per funk über kurze strecken zu Übertragen..

433Mhz

da Bietet sich das 433Mhz Modul an. dieses gibt es schon für 1€ in China.Die meisten Funksteckdosen arbeiten auf einer Frequenz von 433,92MHz. Da die Frequenz näher an 434MHz ist sind die Sender/Empfänger auch gerne mal als 434MHz Sender und Empfänger zu finden. Sie sind die einfachste und kostengünstigsten Möglichkeit Daten zu senden und zu empfangen. Man kann mit ihnen viele denkbare Dinge realisieren, wie die Übertragung von Messwerten, die Steuerung von Funksteckdosen, Garagentoren und vieles mehr. Die Mudule haben bis zu 500m Reichweite im Freien. Die meisten Empfänger arbeiten mit einer Spannung von 5V, die meisten Sender in einem Spannungsbereich von 5V-12V (je höher die Spannung, desto höher die Reichweite – Die Spannungsangaben können variieren). Die Handhabung dieser Module ist denkbar einfach. Signale die an den Sender an den data-Pin übertragen werden, werden deim Empfäger am data-Pin wieder ausgegeben. Als Modulation wird die digitale Amplitudenmodulation, auch als Amplitude Shift Keying (ASK) bezeichnet, eingesetzt. Die Datenrate ist auf ca. 2400bps begrenzt.

Hierfür benötigen wir aber eine neue Library für Die Arduino SDK, Die Virtula Wire Bibliothek.

Grundsätzliche Verwendung

VirtualWire funktioniert etwas anders als die meisten Arduino-Bibliotheken. Viele einzelne Funktionen verwendet werden, und ihre Namen sind etwas anders. Glücklicherweise ist jeder einfach.

Konfiguration Funktionen

  • vw_set_tx_pin (transmit_pin) Konfigurieren Sie den Sendepin.
  • vw_set_rx_pin (receive_pin) Konfigurieren Sie den Empfangspin
  • vw_setup (2000)Beginnen Sie alle Einstellungen und die Bibliothek zu initialisieren. Dies ist vergleichbar mit der „begin“ Funktion von anderen Bibliotheken. Alle Pins müssen vor dem Aufruf dieser Funktion konfiguriert werden.

 

Sendefunktionen

  • vw_send (Meldung, Länge) Übertragen Sie eine Nachricht. „Nachricht“ ist ein Array von Bytes zu senden, und „Länge“ ist die Anzahl von Bytes in dem Array gespeichert. Diese Funktion kehrt sofort zurück, und die Meldung wird langsam durch einen Interrupt-basierte Hintergrundprozess gesendet.
  • vw_tx_active () Gibt true zurück, wenn die Nachricht gesendet wird, oder false, wenn der Sender nicht aktiv ist. Damit können Sie nach dem Senden einer Nachricht zu testen, wenn es übertragen wird beendet hat wird.
  • vw_wait_tx () Warte auf eine Meldung vollständig zu übertragen. Oft ist der einfachste Ansatz ist dies nach vw_send zu nennen.

 

Empfangsfunktionen

  • vw_rx_start () Aktivieren Sie den Empfänger-Prozess. Sie müssen diese Funktion aufrufen, bevor ein Empfang stattfinden kann. Ein Interrupt-basierte Hintergrundprozess gestartet wird, die den Empfang von Daten überwacht.
  • vw_have_message () Gibt true zurück, wenn die Nachricht empfangen wurde. Dies ist ähnlich wie die „verfügbar“ Funktion der meisten anderen Bibliotheken.
  • vw_wait_rx () Warte auf eine Meldung zu empfangen. Dies wird nur dann zurück, wenn eine Nachricht empfangen wurde, sonst wird es für immer warten.
  • vw_wait_rx_max (timeout_ms) Warten Sie auf eine Nachricht, sondern geben nach „timeout_ms“. Gibt true zurück, wenn eine Nachricht empfangen wurde, oder false, wenn die Timeout-Zeit abgelaufen ist.
  • vw_get_message (buf, & buflen)) Lesen Sie die letzte empfangene Nachricht. Dies sollte nur aufgerufen werden, wenn eine Nachricht über einem der drei Funktionen empfangen werden, ist bekannt. „Buf“ ist ein Array, wo die Nachricht kopiert wird. „Buflen“ sollte das Array maximale Größe bei der Eingabe haben, und auf die Anzahl der Bytes zurückgeben tatsächlich retured kopiert wird. Die Funktion selbst gibt true zurück, wenn die Nachricht korrekt verifiziert wurde, oder falsch, wenn eine Nachricht empfangen wurde, aber scheint beschädigt.
  • vw_rx_stop () Deaktivieren Sie den Empfänger-Prozess.

Die offizielle VirtualWire Dokumentation (PDF) erklärt , diese Funktionen und andere Nutzungsüberlegungen.

Leistungserwartung

Model: MX-FS-03V
Transmission Distance :20-200 m (dependent on supply voltage)
Operating Voltage :3.5-12V
Dimensions: 19 * 19mm
AM transfer rate: 4Kb/s (4000 bits per second)
Transmission power: 10mW
Emission frequency: 433M

RECEIVER MODULE PARAMETERS:

Model: MX-05V
Working voltage: 5V DC quiescent current: 4mA
Receiver Frequency: 433.92MHZ
Receiver sensitivity:-105DB
Size: 30 * 14 * 7mm

Diese Module funktionierte sehr zuverlässig, wenn sie auf einem Tisch nur nahe beieinander sitzen.Wenn nach etwa 20 Meter mit gewöhnlichen Büromöbel getrennt, und ein 13 cm Draht jeweils an (in der Mitte der 10 bis 15 cm vorgeschlagen), waren sie in der Lage zu kommunizieren, aber etwa 20% der Nachrichten beschädigt wurden.

Anschlüsse

TX Modul

 Bild

RX Modul

PIN

Anschluss

1

GND

2

VCC 3,5-7V

3

TX Data

H406AA-500x500

PIN

Anschluss

1

GND

2

RX Data

3

RX Data

4

VCC 5V

 

Links:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.