sobota, 7 maja 2016

Sterowanie gniazdkami 433 MHz z MySensors

Ostatnio zamówiłem gniazdka Kemot sterowane pilotem na częstotliwości 433 MHz.
Gniazdka wyglądają, tak na zdjęciu niżej i za komplet 3 gniazdek i pilota zapłaciłem 59 zł.


Aby sterować gniazdkami z poziomu Domoticz będzie jeszcze potrzebny moduł radiowy FS100A 433 MHz, możemy, go kupić na Allegro za około 4 zł.
Moduł wygląda tak


Po lewej stronie mamy nadajnik, a po prawej odbiornik.

Do pinu oznaczonego ANT należy przylutować odcinek 17 cm przewodu, który będzie pełnił rolę anteny.

Będzie nam jeszcze potrzebne Arduino, aby odczytać kody pilota, a nadajnik podłączymy do nadajnika MySensors, czyli Arduino Nano lub Mini Pro z stabilizatorem 3,3V + NRF24l01.


Powyżej schemat nadajnika MySensors na Arduino Mini Pro 5V

Oczywiście wymagana jest również bramka MySenors podłączona do Rasberry Pi z zainstalowanym Domoticz, którą opisałem tu -> Link

Aby odczytać kody pilota, będzie potrzebne samo Arduino z podłączonym odbiornikiem 433 MHz.

Odbiornik posiada piny: VCC, DATA i GND, łączymy więc piny VCC do 5V, GND do GND i DATA do pinu 2 w Arduino.

Potrzebna będzie biblioteka RCSwitch, którą kopiujemy do katalogu libraries, tam gdzie mamy program Arduino.

Bibliotekę możemy sciągnąć stąd -> Link

Po skopiowaniu biblioteki uruchamiamy Arduino i Plik -> Przykłady i wybieramy program ReceiveDemo_Advanced i wgrywamy do Arduino


Uruchamiamy monitor szeregowy i po wciśnięciu przycisku na pilocie powinny się wyświetlać odebrane kody.
Interesują nas kody po Decimal:


Kody dla gniazdek A,B,C dla ON i OFF kopiujemy (Ctrl+C) do programu do nadajnika MySensors -> Link


Nadajnik 433 MHz podłączamy DATA do pinu 3 w Arduino i VCC - 5V i GND do GND.

Po wgraniu wchodzimy do panelu Domoticz w Konfiguracja - > Urządzenia i klikając w zielone strzałki dla Typ Lighting 2 dodajemy kolejno gniazdka, ja je nazwałem Gniazdko A,B,C


Teraz w menu Przełączniki powinniśmy zobaczyć przełączniki dla gniazdek


Jeśli wszystko zrobimy dobrze powinno działać włączani i wyłączanie gniazdek.

niedziela, 17 kwietnia 2016

Sterowanie dowolnym urządzeniem nadajnikiem podczerwieni w Domoticz

Dzisiaj wykonałem odbiornik MySensors do sterowania dowolnym urządzeniem poprzez nadajnik podczerwieni.

Na razie wykorzystałem, go do włączania i wyłączania amplitunera kina domowego, ale w przyszłości zostanie wykorzystany do zdalnego włączania przenośnego klimatyzatora.

Potrzebny będzie jakiś nadajnik podczerwieni, można wymontować z starego nie używanego pilota lub kupić nowy w sklepie.
Dosyć dobrą diodą nadawczą IR jest LD271, ma ona szeroki kąt świecenia, koszt zakupu, to około 1,60 zł -> Link

Ja wykorzystałem nie używany przewód z dwiema diodami, który leżał gdzieś w szufladzie, jest to przedłużacz z jakiegoś transmitera AV.


Aby odczytać kody pilota będzie jeszcze potrzebny odbiornik podczerwieni oraz kondensator 4,7 uF i rezystor 100 ohm, ponieważ jak zaleca producent, odbiornik należy podłączyć do zasilania poprzez rezystor 100 ohm i ustabilizować zasilanie kondensatorem 4,7 uF zgodnie ze schematem.


Ja wykorzystałem odbiornik podczerwieni TSOP34136, który wymontowałem z starego panelu uszkodzonego dekodera satelitarnego.
Odbiornik ma oznaczenie V34136


Według karty katalogowej ma on takie wejścia/wyjścia:


gdzie: 1- OUT wyjście sygnału, 2- GND - masa i 3- Vs - zasilanie.

Diodę IR podłączamy do pinu D3, a odbiornik do pinu D8 według schematu.


Aby sterować urządzeniem przez Domoticz, należy najpierw odczytać kod pilota, programujemy więc Arduino kodem, do pobrania -> Link

Po zaprogramowaniu włączamy port szeregowy w Arduino i po wciśnieciu przycisku na pilocie powinien pojawić się kod pilota.


W moim przypadku jest, to kod NEC: A55A38C7 po wciśnięciu przycisku power.

Gdy mamy kod pilota, możemy go wpisać do programu, do odbiornika MySensors


Kod programu jest do pobrania tu -> Link

Teraz w Domoticz w Konfiguracja -> Urządzenia powinno być widoczne nowe urządzenie.


Klikamy w zieloną strzałkę, nadajemy nazwę i już mamy przycisk włączający i wyłączający urządzenie.

Włączanie amplitunera wygląda jak na poniższym filmie




sobota, 2 kwietnia 2016

Budowa anteny kolinearnej (colinear) 1090 Mhz

Aby zapewnić dobry zasięg dla radaru najlepszą chyba anteną jest antena kolinearna (colinear).

Do budowy anteny wykorzystałem czarny przewód Triset 113.

Potrzebne rzeczy do budowy można kupić w marketach budowlanych, ja zakupy zrobiłem w Leroy Merlin i kupiłem:

1) Rura elektroinstalacyjna 32 mm - długości 2 m -> Link - cena 5,60 zł
2) Dwie zaślepki PVC KW1 -> Link - cena 2 x 1,90 zł = 3,80 zł
3) Dławik kablowy PG 9 LEXMAN -> Link - cena 2,20 zł
4) Korek 22 mm z miedzi -> Link - cena 5,50 zł
5) 2 nyple redykcyjne 22-18 mmm z miedzi -> Link -cena 2 x 3,68 zł = 7,36 zł
6) Beczka - gniazdo F podówjne - cena 5,15 zł

Potrzebne jeszcze będą: taśma izolacyjna, gniazda F.

Z przewodu antenowego tniemy 8 odcinków po około 15 cm, odpowiednio je przycinając na długość 11 cm w izolacji.


Łączymy odcinki przewodów, tak jak pokazano to na tym filmie -> Link


Górny odcinek przygotowujemy, tak aby środowa żyła bez izolacji miała długość 68 mm, przewód w izolacji 55 mm i 2 cm na połączenie z anteną. W górnym odcinku zostawiamy trochę odizolowanego oplotu i owijamy go o środkową żyłę.


W dolnym odcinku robimy balun z korka miedzianego i 2 nypli, należy zrobić otwór w korku na wkręcenie beczki. Balun zrobiłem na długość 68 mm i odcinek przewodu na 55 mm.

Schemat


Gotowy balun


Teraz w zatyczce PVC wiercimy otwór i wkręcamy dławik


Przycinamy rurę na odpowiednią długość zostawiając od góry około 20 cm wolnej przestrzeni w rurze.


Wkładamy antenę do rury i zakładamy zatyczki.

Gotowa antena


Antenę umieściłem na dachu domku jednorodzinnego


Po zamontowaniu mam dosyć dobre osiągi, antena zlokalizowana jest około 15 km na południe od Opola i obejmuje zasięgiem prawie cała Polskę i Czechy oraz Słowację, sięgając do Austrii i Węgier.


Antenę zbudowałem w oparciu o projekt jak niżej, stosując odcinki 11 cm dla długości pół fali z współczynnikiem tłumienia i dla górnego odcinka środkowej żyły i balunu 1/4 fali bez współczynnika tłumienia.




czwartek, 31 marca 2016

Przekazywanie danych ADS-B na Flight Radar 24

W poprzednim poście opisałem jak uruchomić własny radar ADS-B na Rpi, odebrane dane z nadajników ADS-B w samolotach możemy przekazywać na stronę Flight Radar 24 i dzięki temu mamy dostęp do konta Premium. Strona jest dostępna pod adresem -> Link

Aby zainstalować FR24 na RPi wydajemy polecenie:

sudo bash -c "$(wget -O - http://repo.feed.flightradar24.com/install_fr24_rpi.sh)"

Teraz wpisujemy kolejno:

1) adres emial
2) sharing key (jeśli go nie mamy zostawiamy puste)
3) następnie pyta czy używać MLAT, wpisujemy YES
4) podajemy długość i szerokość geograficzną, uzyskamy ja na mapach google
5) podajemy wysokość nad poziomem morza w stopach, znajdziemy ja na stronie -> Link Wystarczy wpisać adres naszej lokalizacji, w moim przypadku jest to 610 feet
6) podajemy rodzaj odbiornika, wybieramy AVR Compatible nr 5
7) rodzaj połączenia internetowego 1- Network connection
8) wpisujemy adres ip rpi (w moim przypadku 192.168.3.105)
9) port odbiornika 30002
10) odpowiadamy yes
11) znów yes
12) 0
13) /var/log

Po zakończeniu konfiguracji restartujemy FR24 poleceniem:

sudo service fr24feed restart

Polecenie:

sudo service fr24feed status sprawwdza czy wszytsko jest ok


Po wpisaniu ip rpi:8754, czyli w moim przypadku 192.168.3.105:8754 mamy dostęp do konfiguracji FR24

Moja konfiguracja wygląda tak


Po poprawnej konfiguracji dajemy save i restart

Po zalogowaniu na stronie FR24 w account -> show statistics będziemy widzieć czy wszystko działa ok.

Własny radar ADB-S na Raspberry Pi

Ostatnio popularne są tunery DVB-T zbudowane na układach RTL2832U oraz R820T2, które możemy wykorzystać jako skaner częstotliwości i podsłuchiwać różne służby, pasmo amatorskie i cb radio.

Możemy go również wykorzystać jako odbiornik ADS-B i stworzyć własny radar wykrywający samoloty przelatujące w okolicy.

Tuner można znaleźć na Allegro pod hasłem RTL SDR.

Wygląda tak


Aby stworzyć odbiornik ADS-B musimy najpierw zainstalować sterownik do tunera DVB-T

Instalujemy potrzebne pakiety:

sudo apt-get install git-core
sudo apt-get install git
sudo apt-get install cmake
sudo apt-get install libusb-1.0-0-dev
sudo apt-get install build-essential

Teraz instalujemy sterowniki:

git clone git://git.osmocom.org/rtl-sdr.git
cd rtl-sdr
mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make
sudo make install
sudo ldconfig

cd ~
sudo cp ./rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/
sudo reboot

Teraz instalujemy pakiet Dump1090

cd ~
git clone git://github.com/MalcolmRobb/dump1090.git
cd dump1090
make
./dump1090 --interactive --net --net-http-port 9090

Jeśli wyskoczy błąd:
Found 1 device(s):
0: Realtek, RTL2838UHIDIR, SN: 00000001 (currently selected)

Kernel driver is active, or device is claimed by second instance of librtlsdr.
In the first case, please either detach or blacklist the kernel module
(dvb_usb_rtl28xxu), or enable automatic detaching at compile time.

usb_claim_interface error -6
Error opening the RTLSDR device: Device or resource busy

Otwieramy plik:

cd /etc/modprobe.d
sudo nano /etc/modprobe.d/rtl-sdr-blacklist.conf

Wpisujemy:
blacklist dvb_usb_rtl28xxu
blacklist e4000
blacklist rtl2832

Zapisujemy plik Ctrl+x i restrtujemy RPi

Aby uruchomić radar wydajemy polecenie:

cd ~
cd dump1090
./dump1090 --interactive --net --net-http-port 9090

Wykorzystałem port 9090 ponieważ port 8080 jest wykorzystywany przez Domoticz.

Teraz po wpisaniu ip rpi:9090 zobaczymy mapę z wykrytymi samolotami.

Instalacja Domoticz na Raspbian Jessie

W wrześniu 2015 opisałem instalację Domoticz z gotowego obrazu, aby korzystać z najnowszej wersji Raspbiana Jessie opiszę jak zainstalować Domoticz na tej wersji Raspbiana.

Instalacja Raspbian Jessie opisana jest w tym wpisie -> Link

Logujemy się do terminala i wpisujemy kolejno poniższe polecenia, aby zaktualizować Jessie:

sudo apt-get update

sudo apt-get upgrade

sudo reboot

sudo rpi-update

sudo reboot

Po aktualizacji instalujemy Domoticz, wpisując kolejno:

mkdir ~/domoticz

cd ~/domoticz

wget http://www.domoticz.com/releases/release/domoticz_linux_armv7l.tgz

tar xvfz domoticz_linux_armv7l.tgz

rm domoticz_linux_armv7l.tgz

Aby Domoticz uruchamiał się po restarcie automatycznie wpisujemy jeszcze:

sudo cp domoticz.sh /etc/init.d

sudo chmod +x /etc/init.d/domoticz.sh

sudo update-rc.d domoticz.sh defaults

Przeprowadzamy test Domoticz poleceniem:

sudo ./domoticz

Wciskamy Ctrl+C i uruchamiamy Domoticz poleceniem:

sudo service domoticz.sh start

Domoticz teraz będzie dostępny pod adresem:

Ip Raspberry:8080, czyli w moim przypadku 192.168.3.105:8080

Aby zmienić domyślny port Domoticz, edytujemy plik /etc/init.d/domoticz.sh poleceniem:

sudo nano /etc/init.d/domoticz.sh

Domyślny port 8080 zmieniamy w linijce:

DAEMON_ARGS="-daemon -www 8080"

Rasberry Pi i Raspbian Jessie

Obecnie najnowszym systemem Raspian na Raspberry Pi jest Raspbian Jessie.
Obraz najnowszego systemu dostępny jest zawsze na stronie -> Link

Po pobraniu obraz systemu wgrywamy tak jak opisałem to w wpisie -> Link

Po wgraniu obrazu systemu postępujemy, tak samo jak we wpisie powyżej rozszerzając pojemność pamięci i ustawiając język, strefę czasową itd...

W Raspbianie Jessie inaczej ustawia się stałe IP.

Logujemy się więc, do Rpi w terminalu i wpisujemy:

ifconfig

Wyświetlą się takie informacje jak adres ip, maska sieci i brama


Po wpisaniu

sudo nano /etc/network/interfaces

zawartość pliku wygląda tak


Aby, do Rpi można było się dostać po stałym ip, edytujemy plik /etc/dhcpcd.conf, czyli wydajemy polecenie:

sudo nano /etc/dhcpcd.conf

Wpisujemy nasze ip i bramę w takiej postaci:

interface eth0
static ip_address=192.168.1.141/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1

W moim przypadku będzie to:
interface eth0
static ip_address=192.168.3.105/24
static routers=192.168.3.1
static domain_name_servers=192.168.3.1

Wciskamy Ctrl+x i zapisujemy plik.
Po restarcie mamy już ustawione stałe IP.