USB prijamnik na 433 MHz

Nakon što smo u članku "Sistemac traži zabavu" otkrili  "zabavnu" stranu Realtek RTL2832 chipseta od uredništva portala došao je prijedlog da se proba naći i "ozbiljna" primjena tog USB prijemnika. Nemojte shvatiti da televiziju ne smatramo ozbiljnom tehnologijom, nego nam ne koristi previše u poslu. Jedan praktični primjer upotrebe je prijemnik koji prati senzor temperature u serverskoj sali. Poslije preko mreže možemo podatke interpretirati i očitavati kako želimo.

Pošto većina jeftinih kućnih vremenskih stanica koristi minijaturne radio predajnike male snage na slobodnoj frekvenciji od 433 MHz, nabavili smo u trgovačkom centru jednu takvu, koja je eto prigodno bila na akciji.

U biti, za naše mjerenje temperature bio bi dovoljan sam predajnik iz kompleta Sencor SWS TS koje se po cjenicima može naći za oko 7 eura.

Skupili smo opremu za udaljeno mjerenje sobne temperature: Realtek RTL2832 USB prijamnik, orginalna antena od prijamnika, te Sencor SWS TS senzor.

Možemo krenuti sa instalacijom softverske podrške. Kao osnovni sustav koristimo Debian, koji je logičan izbor jer ga podržavaju mikro računala  poput Raspberry Pi ili Cubietruck, koja mogu poslužiti kao server za naš senzor temperature.

Aplikaciju RTL 433 možete preuzeti na stranici rtl_433. Softver podržava većinu protokola koje koriste kućne vremenske stanice na toj frekvenciji. Debian Wheezy (7.0) u više isprobanih instalacija traži dodatne korake. Prije nego krenete u preuzimanje rtl_433 podrške na Debian 7.0 prvo provjerite imate li instalirane pakete cmake i librtlsdr-dev, te ukoliko ih nemate, instalirajte ih na uobičajen način:

# apt-get install cmake
# apt-get install librtlsdr-dev

Kada smo to provjerili i instalirali, pakete nužne za nastavak rada ćemo morati povući iz razvojnog direktorija na popularnom GitHubu na svoje računalo. Za to će nam poslužiti naredba git:

$ git clone https://github.com/merbanan/rtl_433.git

Pokrenimo instalaciju softverske podrške po redoslijedu iz dokumentacije:

$ cd rtl_433/
$ mkdir build
$ cd build
$ cmake ../
$ make
$ sudo make install

Nakon instalacije, prvo pokretanje naredbe rtl_433 u našem slučaju ispisuje nekakav problem s udev dozvolama. Čini se da ćemo morati malo urediti udev pravila.

Pomoću naredbe lsusb pronalazimo podatke o svom uređaju.

$ lsusb
......
Bus 003 Device 002: ID 1f4d:c803 G-Tek Electronics Group

Nekim tekst editorom u direktoriju /etc/udev/rules.d kreiramo datoteku imena rtl-sdr.rules.

Sadržaj datoteke treba urediti prema podacima o uređaju. U našem slučaju datoteka rtl-sdr.rules izgleda kao u primjeru.

# G-Tek Electronics Group
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="c803", GROUP:="rtlsdr", MODE:="0666"

Nakon uređivanja datoteke, spremimo promjene, a potom prijamnik izvučemo, te ponovo "upiknemo" u USB port.

Ukoliko to iz nekog razloga ne osvježi pravila, osvježimo ih ručno s naredbom:

# udevadm control --reload-rules

Treći način je jednostavno preskočiti sve ove korake s ponovnim učitavanjem udev pravila, te napraviti klasični reboot, koji će tijekom startanja sistema sve odraditi automatski.

Ostaje nam startati prijamnik na 433 MHZ naredbom iz terminala:

$ rtl_433
Registering protocol[01] Rubicson Temperature Sensor
Registering protocol[02] Prologue Temperature Sensor
Registering protocol[03] Silvercrest Remote Control
Registering protocol[04] ELV EM 1000
Registering protocol[05] ELV WS 2000
Registering protocol[06] Waveman Switch Transmitter
Registering protocol[07] Steffen Switch Transmitter
Registering protocol[08] Acurite 5n1 Weather Station
Registering protocol[09] Acurite Temperature and Humidity Sensor
Registering protocol[10] Acurite 896 Rain Gauge
Registering protocol[11] LaCrosse TX Temperature / Humidity Sensor
Registering protocol[12] Oregon Scientific Weather Sensor
Registering protocol[13] KlikAanKlikUit Wireless Switch
Registering protocol[14] AlectoV1 Weather Sensor
Registering protocol[15] Intertechno 433
Registering protocol[16] Mebus 433
Registering protocol[17] Fine Offset Electronics, WH-2 Sensor
Found 1 device(s):
0:  Realtek, RTL2838UHIDIR, SN: 00000001

Using device 0: Lifeview LV5TDeluxe
Found Fitipower FC0012 tuner

Kao što vidimo na izvodu loga naš uređaj je prepoznat i pokrenut bez greške. Ostaje nam sad "vrebati" vremenske podatke. O tome više u sljedećem članku.

 

 

Kuharice: 
Vote: 
0
No votes yet