Tym razem zaprezentuję w jaki sposób można przekształcić Smartfon w „pilota” do otwierania furki/bramy lub drzwi z wykorzystaniem Raspberry PI.
Aby to zrealizować potrzebne są:
- Smartfon z Androidem (min. 3.1.x) lub iPhone z iOS (min. 6.1)
- Dowolne Raspberry PI, ja użyłem wersji B+ http://botland.com.pl/moduly-i-zestawy-raspberry-pi-a-i-b/2543-raspberry-pi-model-bplus-512mb-ram.html
- Karta SD minimum 3GB
- Moduł przekaźnikowy. Ja użyłem „YwRobot 4 relay”
- Przewody połączeniowe
- Płytka stykowa
- Trzy tranzystory BC547
Zaczynamy.
Krok 1.
Na początku podłączamy moduł przekaźnikowy do Raspberry. Oprogramowanie, którym się posłużę domyślnie skonfigurowane jest do obsługi 3 przekaźników, ale jeżeli mamy np. tylko jeden to również możemy go podłączyć, a pozostałe których nie mamy można pominąć. Przekaźniki można podłączyć do elektro-zaczepu otwierającego furkę/drzwi lub do sterownika otwierania i zamykania bramy. Funkcje przekaźników można będzie zmienić na cloud.supla.org, tak samo jak czas załączenia poszczególnego przekaźnika.
Schemat podłączenia Raspberry PI z modułem przekaźnikowym
Specyfikacja pinów Raspberry ( zapożyczona z http://raspi.tv/2014/rpi-gpio-quick-reference-updated-for-raspberry-pi-b )
Połączenia na płytce stykowej
Przykładowe schematy podłączenia przekaźników do elektrozaczepu oraz wybranych sterowników bram
Krok 2.
Aby wszystko mogło działać, potrzebujemy założyć bezpłatne konto na https://cloud.supla.org/account/create
Po zarejestrowaniu i zalogowaniu się, musimy odczytać ustawienia lokalizacji, które będą potrzebne w kroku 3 i ustawienia identyfikatora dostępu potrzebne w kroku 4.
Krok 3.
Teraz musimy przygotować kartę SD. (Przykład zrealizowany przy użyciu komputera PC z Windows 7)
- Pobieramy i rozpakowujemy obraz karty SD
https://www.supla.org/download/rbpiext01.zip - Wkładamy kartę SD do czytnika kart w komputerze
- Uruchamiamy (jako Administrator) program DiskImager. Program można pobrać z http://sourceforge.net/projects/win32diskimager/
- W polu „Plik obrazu” wskazujemy pobrany i rozpakowany plik. Następnie wybieramy urządzenie (Litera dysku oznaczająca kartę SD). Klikamy „Zapisz”
- Teraz należy wysunąć kartę przy pomocy narzędzia „Bezpieczne usuwanie sprzętu i wysuwania nośników”, a następnie fizycznie wyjąć kartę z czytnika i ponownie ją do niego włożyć
- Po ponownym włożeniu karty do czytnika otwieramy dysk oznaczający partycje „boot” na karcie SD
- Otwieramy plik location.txt gdzie wprowadzamy dane lokalizacji odczytane z https://cloud.supla.org . W pliku last_state.txt będziemy mogli odczytać ostatni stan połączenia. Jeżeli, np. błędnie wpiszemy hasło to właśnie w tym pliku się o tym dowiemy
- Wysuwamy kartę przy pomocy narzędzia „Bezpieczne usuwanie sprzętu i wysuwania nośników”, a następnie fizycznie wyjmujemy ją z czytnika i wsuwamy do gniazda karty SD w Raspberry PI
- Podłączamy Raspberry PI do sieci LAN i włączamy urządzenie. (Można również przekonfigurować Malinę tak aby łączyła się z siecią przez WiFi)
- Po poprawnym uruchomieniu Raspberry powinno się pojawić na liście urządzeń w cloud.supla.org
Krok 4.
Konfiguracja smartfona.
W pierwszej kolejności należy pobrać aplikację ze sklepu AppStore lub Google Play. Aplikacje są bezpłatne.
iOS: https://itunes.apple.com/us/app/supla/id996384706?l=en&ls=1&mt=8
Android: https://play.google.com/store/apps/details?id=org.supla.android
Instalujemy i uruchamiamy aplikację.
Tuż po uruchomieniu powinno się od razu pojawić okno ustawień gdzie należy wprowadzić ustawienia odczytane z cloud.supla.org
Gotowe!
Dodatkowe informacje:
Konfiguracja: /etc/supla-dev/supla.cfg
Przekaźniki: GPIO27, GPIO22, GPIO17
Porty wejścia (np. czujniki otwarcia): GPIO24, GPIO23, GPIO18. Ustawiając stan wysoki na poszczególnym porcie możemy informować system, że np. drzwi/furtka/brama są zamknięte.
Czujniki temperatury 1-WIRE: DS18B20
Przykład podłączenia czujnika temperatury:
Po podłączeniu czujnika wystarczy ponownie uruchomić Raspberry aby został wykryty i pojawił się w Smartfonie. Można podłączyć równolegle kilka czujników temperatury na raz.
Gotowy – kompletny moduł oparty o ESP8266 https://www.supla.org/buy/gatemodule
Kiedy dodacie obsługę Arduino? Fajnie by było gdybyście dodali ENC28J60.
Arduino jest dla leszczy, byś się nauczył programować normalne mikrokontrolery a nie zabawki dla dzieci
Planujemy udostępnić wersję dla Arduino do 29 lutego 2016.
Będzie obsługa ENC28J60
Fajnie :)
pzygmunt: czy jest juz wersja gotowa do wgrania dla arduino?
pzygmunt:
czy jest wersja na arduino?
Fajne te wasze projekty.
Mam coś podobnego, tyle, że oprogramowanie zrobiłem sam.
Moduły przekźników mam podłączone do i2c przez expander mcp23S17. Steruję nimi przez aplikację www napisaną w php i pythonie. Proste rozwiązanie i niezależne od jakichś chmur i zewnętrznych dostawców. Po prostu na raspim jest serwer www, php i python. Uniwersalny sposób, bo każdy smartfon potrafi wczytać stronę www. Do tego trzeba przekierować odpowiedni port w routerze, żeby mieć dostęp do sterowania z dowolnego miejsca internetu.
Mógłbyś opisać bardziej to w jaki sposób sterujesz przez www ?
Panel do sterowania jest napisany w php. Są tam przyciski wywołujące inne skrypty, tym razem pythona. A te pythonowe skrypty sterują wyjściami ekspandera mcp23S17, ten z kolei modułem przekaźnika, a przekaźniki już tym co jest do nich podłączone.
Też chciałem rozwiązać to w ten sposób, mam sprawny skrypt napisany w pythonie (działa tak jak powinien, da sie go odpalić z terminala), na RPi śmiga apache2 z php (wyświetla strony, skrypt php też działają) ale problem polega na tym, że gdy strona php chce odwołać się do pliku *.py nic się nie dzieje
Jakieś pomysły dlaczego? Póki co wszystko rozgrywa się w lokalnej sieci
A jak wywołujesz te skrypty pythona ze skryptu php?
Jako projekt edukacyjny jak najbardziej ok, ale do użytku codziennego za drogi w wykonaniu.
To samo można osiągnąć na esp8266 w cenie 10PLN za moduł plus drugie tyle za przekaźnik (lub optotriak + triak mocy).
Proszę bardzo: https://majsterkowo.pl/esp8266-i-sterowanie-przekaznikiem-przy-pomocy-smartfona/
Dodatkowe tranzystory są zupełnie zbędne, płytka ma wbudowane tranzystory zasilające cewkę i diodę, wystarczy podłączyć piny bezpośrednio pod wyjścia mikrokontrolera. :)
Też tak myślałem, ale moja wersja YwRobot z jakiegoś powodu zawsze załącza przekaźnik po podłączeniu GND lub +3.3V do dowolnego z wejść (INx). Dlatego zastosowałem tranzystory.
Jak ktoś posiada wersję, która nie “zachowuje” się tak jak mój moduł to jak najbardziej może tranzystory pominąć.
Automatyczne otwieranie zamków za pośrednictwem jakiejś scentralizowanej “chmury” to kiepski pomysł. W ten sposób dajemy jej właścicielom nieograniczony dostęp do naszych domów. Oprócz tego mogą oni zbierać mnóstwo informacji o życiu swoich użytkowników. W dodatku ewentualna awaria lub wyłączenie “chmury” spowoduje, że sterowanie przestanie działać. Nie mówiąc już o tym, że wysyłanie informacji do oddalonego o wiele kilometrów serwera tylko po to, żeby odesłał ją do urządzenia znajdującego się parę metrów od użytkownika jest po prostu śmieszne. Lepiej byłoby zastosować komunikację P2P z odpowiednim szyfrowaniem chroniącym przed dostępem osób niepowołanych.
Dobrze, że Supla umożliwia pobranie kodu serwera i zainstalowanie go na własnym komputerze.
Mi te rozwiązanie bardzo się podoba :)
Proszę tylko o dodanie do aplikacji wigetów.
Otwieranie bramy czy odczyt temperatury był by dużo bardziej wygodny z poziomu wigetu niż “odpalanie” aplikacji itp.
Ja robię podobnie ale za pomocą openhab ( http://www.openhab.org/ )
Przede wszystkim nie potrzebuje internetu.
Pełna kontrola nad transmisją i obsługuje chyba setkę protokół łącznie z kamerami.
Polecam ich wiki.
Pozdrawiam Tomasz
a co się stanie jak w domu kilka razy braknie prądu i raspberry się wyłączy? Nie uwali to systemu plików na SD?
Może wystąpić problem z kartą po którymś twardym resecie dlatego docelowo lepiej stosować np. ESP8266 jako moduł wykonawczy.
Ja takie sterowanie robię na ESP8266 po WiFi (taniej – 1,9$). ESP łączy się z serwerem www i sprawdza 1 plik JSON w interwale co 10s. Kolejna zaleta (po taniości) z tego płynąca to że nie korzystam z niezaufanych mi serwisów typu Supla. Ok jeszcze jedna zaleta – ESP8266 będzie pobierać mniej prądu niż raspberry
Więcej informacji pod adresem
http://blog.nyl.io/esp8266-led-arduino/
Już wcześniej wspominałem. Supla też obsługuje ESP i można ją sobie skopiować wraz z źródłami (tak apropos zaufania).
Mimo wsparcia w Supli ESP8266, lepszym wyborem jest samemu oprogramować ESP8266 tak jak opisane to jest w linku powyżej przeze mnie podesłanym. I sterowanie “niemal” bezpośrednie.
Zalety:
– ESP8266 kosztuje niecałe 2$ (Raspberry ~35$ w zależności od wersji)
– pobór prądu kilkakrotnie mniejszy
– brak pośredniczących serwisów typu Supla (korzystam ze swojego serwera www, można użyć darmowych)
– łatwe łączenie poprzez WiFi modułów ESP
– ESP są małe i można mieć ich wiele po domu porozmieszczanych
Czyli wszystkie zalety jakie ma SUPLA minus:
– Brak dedykowanej wygodnej i prostej aplikacji niewymagającej otwierania przeglądarki i wpisywania adresu urządzenia.
– Brak możliwości łączenia w obrębie jednego systemu wielu modułów (bez konieczności dopisania kawałka strony WWW)
– Brak powiadomień
– Brak łatwego zarządzania
– Brak zarządzania uprawnieniami
– Brak grupowania lokalizacyjnego
– Brak gotowego firmware-u dla ESP i aplikacji dla RB PI co powoduje, że trzeba przepisywać kawałki kodu
Wymieniać dalej ?
obraz na Rpi mam wrzucic na czysta karte sd czy z raspbianem?
ps. po sciagnieciu ok.500mb wyskakuje blad w pobieraniu…
Wrzucenie obrazu na kartę spowoduje zastąpienie jej zawartości, tak więc, jeżeli na karcie już coś jest i nie ma być usunięte to należy użyć czystej karty.
Plik pobrałem przed chwilą bez problemu.
a po wrzuceniu poprostu uruchomic RPI?
czy pokaze sie jakies gui i ewentualnie co daalej robic?
a po wrzuceniu poprostu uruchomic RPI?
czy pokaze sie jakies gui i ewentualnie co dalej robic?
czy jest mozliwosc zeby wstawil pan ten obraz na rapidfire?
czy moglby pan wstawic obraz na inny hosting np rapidfire?
i czy po uruchomieniu RPi na tym obrazie pokaze sie jakies gui??
kuba8174:
Proszę dokładnie przeczytać dokładnie powyższy artykuł. Wszystko co trzeba zrobić
jest w nim opisane.
Obraz można pobrać jeszcze z tego adresu:
https://s3.eu-central-1.amazonaws.com/acsoftware/SUPLA/rbpiext01.zip
Dlaczego nie mam opcji wlaczania/wylaczania swiatla??
i jak przekonfigurowac maline na wifi?
Aby była dostępna funkcja włączania światła trzeba zmienić typ kanału z 2000 na 2010
sudo nano /etc/supla-dev/supla.cfg
Przykładowy manual jak skonfigurować WiFi:
http://malinowepi.pl/post/67665910561/konfiguracja-po%C5%82%C4%85czenia-wifi-w-terminalu
i kolejny:
http://akademia.nettigo.pl/raspberry_pi_010/
Po zmianie typu kanału z 2000 na 2010 trzeba uruchomić ponownie supla-dev ( sudo /etc/init.d/supla-dev restart) lub po prostu uruchomić ponownie raspberry.
Ponadto po takiej zmianie trzeba usunać urządzenie z cloud.supla.org i ponownie podłączyć je do systemu
http://gorke.com.pl/index.php?strona=news&id=64
Czy mogę zastosować BC337-25 ,bo taki obecnie posiadam
co zrobic, jesli przy ladowaniu w1-therm wyskakuje blad biblioteki “00-00000000000”?
coś mam nie tak z modułem mam taki sam jak pokazany powyżej lecz nie działa, po podłączeniu zapalają mi się diody na sterowniku i nic nie mogę zmienić telefonem .. płytkę raspberry wykrywa łączy się z telefonem
wystarczy zastosowac dodatkowe tranzystory :)
A tu jak to zrobić na Arduino i darmowej (dla tej skali projektu) aplikacji BLYNK
http://100-x-arduino.blogspot.com/2016/06/projekt-nr-2-sterowanie-brama-wjazdowa.html
Witam… chciałbym się zapytać o supla.org, pewne rzeczy chciałbym wdrożyć u moich klientów, więc sprawa bezpieczeństwa ich zamków jest dla mnie bardzo ważna…. Jaki jest stopień bezpieczeństwa powierzając swoje domy i wszystko wokół nich tej firmie? W sumie mają wszystkie dane by je można wykorzystać… Co o tym myślicie?
Jeśli robisz takie projekty dla klientów, to lepiej trzymać to na swoim serwerze.
Witam
Robiłem wszystko wg. opisu i kapitałem problem z maliną. System się buntuje łączy z siecią ale nie widać to w aplikacji zupka. Po podłączeniu telewizora okazuje się, że po wczytaniu oprogramowania program zatrzymuje się i prosi o zamocowane się. Co może być przyczyną? Maliną jest sprawna testowana na innym sporcie.
Sorki telefon pozmieniał wyrazy. Napiszę jeszcze raz z komputera
Supla wydaje się być uniwersalnym rozwiązaniem, bo mozna łączyć gotowe moduły (jak komuś się nice chce lutować 250 zł za sterowanie 2 roletami jest ok) z tymi wykonanymi domowymi sposobami np na raspberry pi (np sterowanie 6 roletami z 1 sterownika) Niestety w supli raspberry pi jest raczej pomijany bo np nie działa obsługa rolet, a w kodzie jest mało komentarzy. Ale moze małymi krokami uda się to ogarnąć.