W tym wpisie będę chciał przybliżyć sposób podłączenia nadajnika i odbiornika działającego na częstotliwości 433Mhz do sterowania min. zewnętrznymi gniazdkami (w moim przypadku będą to gniazdka firmy KEMOT model URZ1229). Są sprawdzone i na pewno działają.

Prawdopodobnie poradnik będzie ten działał również z innymi gniazdkami działającymi w tej częstotliwości ale gwarancji nie daję:)
Oprócz gniazdek potrzebne nam będą:

- Raspberry Pi
- Okablowanie

- Lutownica do przylutowania anteny do nadajnika.

Następnym krokiem będzie zainstalowanie bibliotek WiringPi (o ile wcześniej już ich nie zainstalowaliście). Aby to zrobić:
W linii komend wpisujemy kolejno:
Jeżeli nie mamy zainstalowanego GIT:
sudo apt-get install git-core
Aktualizujemy Nasze Raspberry:
sudo apt-get update
sudo apt-get upgrade
Klonujemy bibliotekę przez polecenie:
git clone git://git.drogon.net/wiringPi
cd wiringPi
git pull origin
sudo ./build
Biblioteki WiringPi powinny być w tym momencie zainstalowane
Następnie musimy podłączyć Nasz odbiornik Raspberry Pi:

Podłączamy:
- VCC – do 5V Raspberry Pi
- GND – do GND Raspberry Pi
- DATA – do wiringPI 2 (czyli GPIO02) – w zależności od wersji Raspberry
Rozpiska GPIO w Wiring Pi dostępna jest pod tym adresem.
Kolejnym krokiem będzie podłączenie nadajnika do Raspberry Pi:

Podłączamy:
- VCC – do 5V Raspberry Pi
- GND – do GND Raspberry Pi
- DATA – wiringPi 0 (czyli GPIO 0, BCM GPIO 17) – w zależności od wersji Raspberry
Do nadajnika za pomocą lutownicy i odrobiny cyny należy przylutować w zaznaczonym na czerwono miejscu antenę z drutu (dokładnie 17 cm zwinięte np. na ołówku w sprężynę). Ewentualnie możemy zakupić gotową (zdjęcie poniżej).

Kolejnym krokiem jest zainstalowanie odpowiednik bibliotek:
W linii komend poprzez SSH wpisujemy kolejno:
git clone --recursive git://github.com/ninjablocks/433Utils.git
cd 433Utils/RPi_utils
make all
W tym momencie wszystko powinno być poprawnie zainstalowane.
Ważne by podłączyć nadajnik i odbiornik do tych konkretnych pinów DATA z tego poradnika. Jeżeli PINy te będą zajęte można spróbować podłączyć je do innych ale najpierw należy w katalogu 433Utils/RPi_utils zmodyfikować plik codesend.cpp (nadajnik) i RFSniffer.cpp (odbiornik). Robimy to za pomocą komendy:
nano codesend.cpp
nano RFSniffer.cpp
W plikach tych należy zmienić linię:
int PIN = 0;
Zamiast wartości 0 w przypadku nadajnika i 2 w przypadku odbiornika należy wpisać odpowiednie PINy z Raspberry mając na uwadze oznaczenia PINów z WiringPi.
Po tym zabiegu raz jeszcze należy wywołać polecenie:
make all
Jeżeli wszystko zostało zainstalowane i podłączone poprawnie przygotowujemy Naszego pilota do gniazdek KEMOT.
Następnie będąc nadal w katalogu 433Utils/RPi_utils
sudo ./RFSniffer
Następnie na Naszym pilocie wciskamy kolejne przyciski i spisujemy kody które się tam powinny wyświetlać.
Powinno to wyglądać następująco:
Starting Up..
Received 89923
Received 89935
Received 83745
Received 89233
Received 82345
Kody te oczywiście będą inne.
Należy spisać kody dla Włączenia i Wyłączenia każdej z grup.
Następnie trzeba sprawdzić, które kody pasują do którego z gniazdek.
W tym momencie możemy odłączyć Nasz odbiornik bo do niczego już nie będzie Nam potrzebny (chyba, że będziecie dodać kolejne gniazdka lub inne urządzenia działające w tej częstotliwości)
Dla sprawdzenia czy wszystko działa spisujemy sobie kod Wł/Wył. do konkretnego gniazdka (które wpinamy do sieci elektrycznej):
W linii komend wpisujemy:
sudo ./codesend 89923
Oczywiście zamiast tych cyfr wpisujemy te, które wcześniej zaczytaliśmy za pomocą odbiornika) i sprawdzamy czy gniazdka reagują.
W tym momencie pozostaje Nam już tylko dodanie wirtualnego przełącznika do Domoticz (o czym pisałem w poprzednich artykułach)
Gdy już mamy utworzony wirtualny Przełącznik wchodzimy w jego Edycję i wpisujemy odnośnik do Naszego pliku codesend w pozycji Włącz i Wyłącz akcję pamiętając o wpisaniu odpowiednich, zaczytanych wcześniej przez odbiornik kodów.

W Waszym przypadku ścieżka dostępu może być inna. Wszystko zależy od tego, w jakim katalogu zainstalowaliście biblioteki 433Utils.
Zmieniamy ikoną na Wall Socket.
W tym momencie powinniśmy mieć możliwość sterowania Wł/Wył. gniazdka za pomocą systemu Domoticz.
45 Odpowiedzi
Podłączenie kontaktronu do Raspberry Pi w systemie Domoticz - bAniaLuki
[…] Gniazdka 433MHz w systemie Domoticz […]
Frnandu
Jaki zasieg z taka antenka?
Łukasz Kostrzewa
Witam Serdecznie
Szczerze powiem, że nie wiem. Mi w mieszkaniu 62m2 się sprawdza aczkolwiek czasami zdarza się, iż sygnał nie dochodzi do gniazdek (zwykłe radio bardzo zakłóca sygnał).
Pozdrawiam
Tomek
Witam,
czy taką metodę (odczytanie pilota i implementacja jego sygnałów sterujących w DOmoticzu) można zastosować dla bram garażowych , np. Nice Spido? Pracuje to rozwiązanie na 433MHz, więc „na oko” to taka sama technologia.
pozdrawiam
Łukasz Kostrzewa
Witam Serdecznie
Powiem szczerze, że nie wiem ale wydaje mi się, iż nie powinno być z tym problemu skoro działają na 433MHz.
Proszę spróbować…wydaje mi się, że powinno się bez problemu udać.
Pozdrawiam
Tomek
Dam znać, na razie czekam na zestaw nadawczo-odbiorczy 🙂
Walczę jednak z innym tematem (Mi-Light), o czym piszę w innym pana wątku i proszę o pomoc.
marek
Cześć,
super poradniki 🙂
Potrzebuje pomocy, ponieważ wszystko robię jak opisałeś. Dochodzę do momentu uruchomienia sudo ./RFSniffer i nic się nie dzieje. Nic nie pisze w konsoli nawet jak wciskam przyciski na pilocie.
Jakieś pomysły co źle robie?
Łukasz Kostrzewa
Witam
Bardzo dziękuję za miłe słowa:)
Jak wpiszesz sudo ./RFSniffer to wyświetla się komunikat: Starting Up… czy nic się nie dzieje?
Wpisałeś – „Zamiast wartości 0 w przypadku nadajnika i 2 w przypadku odbiornika należy wpisać odpowiednie PINy z Raspberry mając na uwadze oznaczenia PINów z WiringPi”
I po tym zabiegu wywołałeś polecenie „make all”?
Ciężko mi kurcze powiedzieć co jest nie tak skoro nie mam żadnej informacji o błędzie 🙁
Pozdrawiam i czekam na info
Fernando
miałem to samo…
zmiana w kodzie
int pulseLength = 0;
na
int pulseLength = 207;
i u mnie zaczyło działać
Łukasz Kostrzewa
Witam
Dzięki za podpowiedź Fernando…
Zbyt dawno robiłem to u siebie i nie wszystko pamiętam ale…wiem, że faktycznie było coś z tą długością sygnału.
Można wpisać komendę sudo ./RFSniffer 207 by odpalić RFSniffera z długością 207. Można próbować różne wartości.
Kolejnym rozwiązaniem może być dodanie do pliku RfSniffer.cpp linijki —> pullUpDnControl(PIN, PUD_OFF);
Później raz jeszcze trzeba wpisać komendę –> make all
Marku bardzo bym prosił o info czy pomogło
Grzegorz
w którym miejscu trzeba wpisać tę komendę, próbuje już różnych rzeczy, a kodów dalej mi nie czyta. W ogóle nie wyświetla komunikatu Starting up…
Przemek
Witam,
Zakupiłem nadajnik i odbiornik, podłączyłem wszystko prawidłowo, zainstalowałem wszystko również prawidłowo (sprawdzałem to z 5 razy).
Podczas testu pilota sniffer nie zbiera żadnych kodów (test na dwóch systemach, Home Easy firmy Elro oraz Smart Living firmy ORNO).
Zanim kupię kolejny odbiornik chcę ewentualnie poszukać ewentualnych źródeł błędów.
Przychodzi Panu może do głowy gdzie szukać powodu braku sczytywania kodów?
Pozdrawiam
Łukasz Kostrzewa
Witam
Robiłem to bardzo dawno temu i ciężko mi teraz powiedzieć co może być nie tak…
Proszę spróbować porad, które są w komentarzach powyżej. Podejrzewam, że może być problem z pulseLength o czym pisał Fernando. Prosiłbym o sprawdzenie.
Czasami też może być uszkodzony odbiornik, który Pan zakupił (ja jak robiłem swój projekt miałem aż 3).
Jest jeszcze możliwość zaczytania kodów z pilota za pomocą Arduino Nano (też próbowałem i działa) o czym postaram się napisać w przyszłych postach.
Pozdrawiam i czekam na info czy wpisanie innego pulseLenght zadziałało. Ewentualnie proszę spróbować pullUpDnControl(PIN, PUD_OFF); o czym pisałem powyżej.
Przemek
Kłaniam,
więc mamy połowiczny sukces 🙂 Przeinstalowałem RPI i wszystko zaczęło działać, być może podczas instalacji coś popsułem. Generalnie obecnie kody czyta mi prawidłowo. Kolejny problem w tym, że chcąc nadać ten kod sudo ./codesend 00000000 z wcześniej odczytanym kodem przełączniki nie odczytują tego. Informacyjnie – dysponuję systemem Home Easy firmy Elro.
Nadając kod zostaje on normalnie odczytany przez odbiornik w Rpi, natomiast sama przełącznik cisza… 🙁
Łukasz Kostrzewa
Witam…
Fajnie, że połowa już za Nami:)
Rozumiem, że kodu Pan ładnie zaczytał. Następnie odłączył Pan odbiornik od RPi i podłączył Nadajnik (albo miał Pan podłączone jedno i drugie urządzenie do płytki stykowej od samego początku?)
Rozumiem, że int PIN =… ma Pan nastawiony zgodnie z Pinem w RPi?
Antenę ma Pan przylutowaną i czy jest ona o odpowiedniej długości (najlepiej jakby miała 17 cm i była zwinięta (można to zrobić np. na długopisie) – proszę pokombinować z tą anteną..-w moim przypadku to miało znaczenie.
Proszę o info czy zrobił Pan wszystko o czym napisałem?
Pozdrawiam
Łukasz Kostrzewa
Witam raz jeszcze
Jak nie będzie za żadne skarby chciało działać na Raspberry i zanim sam o tym napiszę tu jest piękny poradnik jak to zrobić na Arduino Nano –> http://www.princetronics.com/how-to-read-433-mhz-codes-w-arduino-433-mhz-receiver/
Pozdrawiam
Łukasz
Witam, odczytałem kody za pomocą Arduino, malina potrafi wysłać podany kod, ale jak zmienić protokół? Pilot wysyła kod z protokołem 6 a malina z protokołem 1. Jest jakieś rozwiązanie?
Łukasz Kostrzewa
Witam Serdecznie
Powiem szczerze, że mnie Pan zaskoczył.
Trzeba pewnie zmodyfikować plik RCSwitch.cpp
W pewnym miejscy w tym pliku jest coś takiego jak –> Sets the protocol to send i powyżej this->setProtocol(1);
Proszę pokombinować ze zmianą protokołu w tym miejscu i dać ewentualnie znać czy pomogło.
Pozdrawiam
Łukasz
Niestety nic nie mogę wymyślić. Przy użyciu komendy sudo ./codesend 123456 x, zamiast x podaje numer protokolu. Jak podam 1 to wysyła 1, jak 2 to 2, jak 3 to 5, jak 4 to nic nie wysyła, jak 5 to 2, jak podam 6 to wysyła 1. Nie wiem o co chodzi.
Łukasz Kostrzewa
Witam
Kurcze…
A może warto dopisać do kodu codesend.cpp linijkę:
mySwitch.setProtocol(6);
Trzeba po edycji wywołać raz jeszcze –> make all
Pozdrawiam
Łukasz
Niestety to samo.
Łukasz Kostrzewa
🙁
Niestety nie mam pomysłu.
Pozdrawiam i jeżeli się Panu uda bardzo bym prosił o info jak Pan tego dokonał
Przemek
Mam dokładnie ten sam problem 🙁
Łukasz Kostrzewa
Witam
Używa Pan tych samych gniazdek co w poradniku?
PS: Próbuje wymyślić jak obejść problem protokołu ale nie jest łatwo 🙁
Pozdrawiam
Przemek
Gniazda Home Easy firmy Elro
Damian
Witam.
Instaluje gniazdka 433Mhz wg w/w projektu.
Wcześniej wszystko działało jak trzeba ale chciałem upożądkować wszystko i instaluje od nowa.
Mam problem przy tworzeniu wirtualnego przełącznika.
Podczas jego tworzenia, gdy wybiore „utwórz wirtualne czujniki”, uzupełnie nazwę oraz wybiore np. „przełącznik” i potwierdze OK pojawia się komunikat „problem podczas tworzenia czujnika”.
RPi mam zaaktualizowane, domoticz też zaktualizowany.
Gdzie jest problem?
Dodam iż jest też problem z wyświetlaniem czujników-przerłączników które dodałem jako ulubione.
W zakładce pulpit jest pusto.
Z góry dziękuje za pomoc.
Agnieszka Kostrzewa
Witam. Nie przychodzi mi nic do glowy jak tylko reinstalacja Domoticz. Ja uzywam wersji sprzed roku i z premedytacją nie aktualuzuje w obawie o nowe bledy. Nie powinien wyskakiwac blad przy tworzeniu czujnika o ile wszystko robione jest wg. Instrukcji (zreszta… Filozofii z tym nie ma). Oz tego co czytam wczesniej dzialalo takze musi to byc problem nowej wersji.
tk
„W tym momencie pozostaje Nam już tylko dodanie wirtualnego przełącznika do Domoticz (o czym pisałem w poprzednich artykułach)”
Odnośnik by się przydał …
Agnieszka Kostrzewa
Sluszna uwaga… W woonrj chwil postaram sie dodać 🙂
Maciej
Próbowałem zintegrować gniazda URZ3143 ale mam taki problem, że kody udało mi się odczytać tyko wtedy gdy pilot był dosłownie 2-3 cm od odbiornika, gdy był dalej to odbiornik nic nie rejestrował. Po wysłaniu tych kodów transmiterem, odbiornik je odczytuje (obydwa znajdują się blisko siebie) ale żadne z gniazd nie reaguje mimo, że znajdują się kilka centymetrów od nadajnika.
Macie jakieś pomysły co jest nie tak? Czy inny model gniazd może być przyczyną?
Agnieszka Kostrzewa
Witam. Nadajnik musi byc za slaby skoro gniazdka nie otrzymuja sygnalu. Moze trzeba pokombinowac z antena. Ja mialem z tym spory problem metoda prob i bledow udalo mi sie znalezc optymalne dla mnie rozwiazanie. Jezeli mam w domu wlaczone radio to praktycznie nic nie działa zwyklr bo zakłóca sygnal… Pozdrawiam
Maciej
A z jakiej anteny korzystasz?
mm
Witam,
Kupiłem taki przycisk:
https://allegro.pl/pilot-rf-433-mhz-1-przycisk-dobry-do-sonoff-z-plfv-i7403185923.html
postąpiłem tak jak na początku poradnika (do momentu zczytywania kodu) i wszystko działa
tzn. wiem jaki jest kod przycisku gdy go nacisnę.
Chciałbym teraz móc np. czymś sterować za pomocą tego przycisku.
dokładnie chodzi mi o zmianę utworu na następny w kodi playerze działającym na innym urządzeniu.
Będę wdzięczny za pomoc.
btw. bardzo fajny i tani ten przycisk, który kupiłem.
Generalnie robię urządzenie dla dziecka niepełnosprawnego i chcę mieć przycisk, który działa „szybko”; kupiłem wcześniej xiaomi gateway i xiaomi smart button, ale jest zbyt duże opóźnienie po naciśnięciu przycisku.
Pozdrawiam,
mm
Łukasz Kostrzewa
Witam Serdecznie
Powiem szczerze, że nie bardzo wiem jak wykorzystać ten odczytany kod do sterowania czymkolwiek w Domoticz.
Jeżeli chodzi o sterowanie Kodi to mogę podpowiedzieć, że żeby np. zmienić utwór na następny należy w utawieniach danego przełącznika w Domoticz w zakładce Włącz akcję wpisać:
http://192.168.0.10:8080/jsonrpc?request={„jsonrpc”:”2.0″,”method”:”Player.GoTo”,”id”:0,”params”:{„playerid”:0,”to”:”next”}}
Oczywiście nr IP to numer do waszego urządzenia z KODI. W kodzie „id”:0 „playerid”:0 może być u Was – 1.
Żeby sprawdzić czy będzie 1 czy 0 pisujemy w przeglądarkę: http://192.168.0.10:8080/jsonrpc?request={„jsonrpc”: „2.0”, „method”: „Player.GetActivePlayers”, „id”: 1} i sprawdzamy jaką odpowiedź odnośnie playera da Nam przeglądarka.
NA tej sronie jest rozpiska komend do sterowania KODI – http://habitech.s3.amazonaws.com/PDFs/STR/STREAM_Box%20Note%20-%20JSON%20API%20Examples%20for%20ContentPlayer%20(Isengard).pdf
Tomasz
Witam,
MM – jak rozumiem masz wirtualny przełącznik (np. „push on button”), który jest powiązany z fizycznym przyciskiem. Zatem każde przyciśnięcie tego przycisku Domoticz rejestruje jako zdarzenie.
A wtedy, pisząc prosty skrypt dZvents, ustalasz akcje jakie mają się wykonać, kiedy ten przycisk zostanie przyciśnięty.
To było chyba coś takiego:
return {
on = {
devices = {‚*’},
},
local przycisk = ‚Nazwa Twojego przycisku – pilota 433 z Domoticza’
local zmien_utwor = ‚Nazwa Twojego przełącznika w Domoticz który ma url zmieniający utwór’
execute = function(domoticz, device)
if domoticz.devices(przycisk).changed then domoticz.devices(zmien_utwor).switchOn()
end
end
}
Generalnie jeśli ktoś chce używać więcej urządzeń sterowanych 433MHz, polecam gateway RFlink: https://www.nodo-shop.nl/nl/rflink-gateway/127-rflink-arduino-antenne-.html.
To urządzenie czyta i rozpoznaje setki urządzeń, co pozwala na ich przypisanie do Domoticz.
Mam kilka typów gniazdek 433, ale także przełączniki naścienne Conrada (seria RSL). RFlink czyta rozpoznał także nadajniki temperatury i wilgotności, które przesyłają takie dane do domowej stacji meteo – dzięki temu te same dane mam w Domoticz. Wreszcie RFLink pozwala sterować żarówkami RGBW systemu Milight.
mm
Problem w tym, że nie mogę tego przycisku „zaprogramować/wykryć” w domoticzu tzn.
Plugin RFswitches tworzy Learn switch – gdy nacisnę ON, to mam 10 sekund, żeby wcisnąć na pilocie przycisk ON, potem 10 sekund, żeby wcisnąć OFF (tak by było w przypadku standardowego pilota który ma 2 przyciski – jeden ON, drugi OFF). Ja mam jeden przycisk wysyłający jeden stały, 7-cyfrowy kod.
Agnieszka Kostrzewa
Niestety nie wiem jak pomoc:(
mm
innymi słowy, chodzi mi o to, aby móc wykorzystać pilota RF w domoticzu wykorzystując prosty odbiornik RF
mm
zapomniałem dodać, że w DOMOTICZU jest plugin RFswitches, który powinien robić podobne cuda jak te robione za pomoca codesend i snifer
Agnieszka Kostrzewa
Powinien czy robi? 🙂 Ja używam bardzo starej wersji Domoticza więc nie byłem tego świadomy. Faktycznie to działa?
mm
gdy używam snifera (tego z opisu) to mogę odczytać kod (więc hardware jest ok). gdy używam dodatku z domoticza to nic nie działa.
Agnieszka Kostrzewa
Czyli ze sniffer lepszy:) Kurcze… Myslalem wczoraj jak ten kod wykorzystać ale nie mam pomysłu. Nie znam żadnego dodatku do Domoticza co by umiał odczytać kody. Można by moze użyć sniffera i napisać jakiś skrypt w Pythonie… Ze jak odczyta ten konkretny kod to niech uruchomi jakiś wirtualny przelacznik przez curl i komende json. Tyle że ja programista nie jestem i nie wiem jak to zrobić 🙁 Pozdrawiam
Krzysiek
Witam,
Czy zasilanie odbiornika z 5V jest bezpieczne?
Agnieszka Kostrzewa
W moim przypadku nic się złego nie wydarzyło. Chociaż z tego co pamietam do odczytywania kodów używałem też Arduino a tam jest 3V. Juz niestety dokładnie nie pamiętam 🙁
Gniazdka 433MHz cz.2 – Elektronika i programowanie
[…] https://kostrzewinki.pl/gniazdka-433mhz-systemie-domoticz/ […]