USBrfm12

Aus Ethersex_Wiki
Version vom 22. Mai 2011, 11:56 Uhr von Habo (Diskussion | Beiträge) (Software den USBrfm12-Stick)
Wechseln zu: Navigation, Suche

Ein Projekt um mittels Ethersex USB und RFM12 auf einer sehr kleinen Platine unterzubringen.

Durch die Schaltung und Ethersex kann man z.B.

  • RFM12_ASK für die Fernsteuerung von Funksteckdosen nutzen
  • Kommunikation zwischen 2 PCs auf mit Seriellem oder IP-Protokoll
  • HID USB Funktionen nutzen (Funk-Maus oder Funk-Tastatur)
  • Serielle Kommunikation via extra RX/TX Pins
  • Funksignale von Funkfernbedienungen auswerten

Hardware

Software den USBrfm12-Stick

Da es einige Nutzungsvarianten gibt, ist vorerst hier nur ein Beispiel erläutert.

USB-net mit ASK für Funksteckdosen (Atmega88)

  • Compiled for: atmega88 at 16000000Hz
  • Imagesize: 8046/8192 bytes (98.22%)

Man sieht das nicht mehr viel Platz übrig ist. Dennoch ist folgendes möglich:

  • TCP via USB
  • ECMD
  • Funksteckdosen "ASK" Steuerung für 2272 ICs (Kangtai, Pollin)
make menuconfig -> Load Default Configuration -> USB RFM12 Stick
make

Jetzt muss der AVR entsprechend geflashed werden und mit der Firmware bestückt werden

  • High-Fuse: 0xDC
  • Low-Fuse: 0xE7
  • Extended-Fuse: 0x00

Dann wird der USB-Net Treiber wird angepasst auf IP 192.168.5.2, kompiliert und folgendermaßen gestartet

/contrib/usb_net/usb_net &

Nun kann man z.B. die Funksteckdosen steuern:

Steckdose "A" einschalten:

echo "rfm12 2272 0,5,80 76 10"| nc 192.168.5.1 2701 -q1

Steckdose "A" ausschalten:

echo "rfm12 2272 0,5,85 76 10"| nc 192.168.5.1 2701 -q1

Konfiguration für ASK...

Verschiedenes

Ein Atmega88 ist für den USB-Softwarestack noch ausreichend, dann können aber nur noch wenige weitere Funkionen (ASK) aktiviert werden. Es ist zu beachten das dieses dann nur im "Teensy" Modus auf die erforderliche "kleine" Speichergröße gebracht werden kann. Es könne auch andere Atmel Mikrokontroller eingelötet werden, diese müssen dann aber Baugrößen- und Pinkompatibel zum Atmega88 sein. Die RX+TX Leitungen können zum Debuggen, für externe Kommunikation oder auch einfach nur als IO-Pins benutzt werden.