Elektroda.pl
Elektroda.pl
X
Relpol przekaźniki
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Inteligentny dom- urządzenia sterowne przez wi-fi.

19 Kwi 2014 15:28 3033 11
  • Poziom 6  
    Witam.
    Chciałbym stworzyć inteligentny dom. Urządzenia miałyby być obsługiwane bezprzewodowo z możliwością sterowania przez internet z dowolnego miejsca. Mam Raspberry Pi i chciałem zrobić ten projekt właśnie na bazie tego minikomputerka. Interesowałyby mnie np. gniazdka sterowane przez wifi, które umożliwiłyby włączanie różnych urządzeń przez internet gdziekolwiek jestem. Tak samo miało by działać oświetlenie, rolety, drzwi, temperatura otoczenia, zraszacze itd. Macie może jakieś sugestie i propozycje jak miałbym to zrobić? Proszę o pomoc.
  • Relpol przekaźniki
  • Poziom 39  
    Technicznie da się to zrobić, ale finansowo?...
    Do zwykłego gniazdka za <10 zł dołożenie modułu WiFi + MCU za około >= 100 zł nie ma najmniejszego sensu.
    Poza tym - co to by było za marnotrawstwo pasma WiFi (o energii do zasilania tych urządzeń nie wspominając nawet).
    Dlatego takie rzeczy robi na ZigBee, ewentualnie we własnym standardzie - MCU z wbudowanym modułem RF (np. STM32W108, EM357 itd...) albo inne nowsze.
    Wtedy cenowo wychodzi to 10 razy taniej, a i o standard prościej (można kupić gotowe zestawy Zigbee, ale są na razie dość drogie).
  • Relpol przekaźniki
  • Poziom 6  
    Jak to działa? Czy można zrobić to samemu? i Czy można sterować tym z dowolnego komputera, gdziekolwiek jestem ?
  • Poziom 39  
    christopher97 napisał:
    Jak to działa?
    ZigBee działa na zasadzie sieci czujników połączonych z koordynatorem. Nie będę się tutaj rozpisywał, schemat jest podobny do Wifi (sieć CSMA/CA-CD), inne (wydzielone specjalnie w tym celu) pasmo, ustalone protokoły itd...
    Koordynator zbiera i wysyła informacje od/z czujników. Dedykowana aplikacja - (w moim przypadku - gdyż byłem współtwórcą takiego systemu czegoś była to aplikacja na telefon/tablet Android) łączyła się z koordynatorem i odbierała stan czujników i dane historyczne (np. zapis temperatury). Z telefonu (nota bene łączącego się przez Internet z koordynatorem) mogłem sterować (z domu, czy z pracy) urządzeniami w moim domu.
    Prosto - bez udziwnień i (w moim przypadku) nie była to dokładnie sieć Zigbee, a własne rozwiązanie.
  • Poziom 6  
    Czyli koordynator musi być podłączony do komputera (np. Raspberry Pi), a on z kolei udostępnia dane na serwer z którego możemy wszystkim sterować, tak?
    Czy można wykonać samemu WSZYSTKIE te urządzenia (koordynator, czujniki)?
  • Poziom 39  
    christopher97 napisał:
    Czyli koordynator musi być podłączony do komputera (np. Raspberry Pi), a on z kolei udostępnia dane na serwer z którego możemy wszystkim sterować, tak?
    U mnie było tak, że płytka z LPC1768 + moduł RF była koordynatorem podłączonym do sieci domowej Ethernet (zwykłym kablem), natomiast na routerze Wifi (większość osób dziś ma taki router) były przekierowane porty TCP.
    Koordynator zarządza np harmonogramem (przykładowe włączenie/wyłączenie urządzeń o określonych porach dnia, albo tzw. "symulacja obecności domowników"). Koordynator zbiera też (karta SD) dane oraz jest serwerem dostępowym WWW + serwerem dla klientów sieciowych (dedykowana aplikacja na telefon/tablet na Androidzie).
    christopher97 napisał:
    Czy można wykonać samemu WSZYSTKIE te urządzenia (koordynator, czujniki)?
    Można, ale technologia RF jest dość skomplikowana (hardware-owo i software-owo). Bez dostatecznej motywacji (np. sprzedaż 1000 sztuk urządzeń) bawienie się we własne rozwiązania nie ma sensu. Opracowanie urządzenia, jego zestrojenie, oprogramowanie itd zajmie zbyt dużo "zielonych" zasobów.
    Do celów amatorskich - zamiast bawić się w własne moduły RF - proponuję skorzystać z gotowych (zestrojonych, ze wzmacniaczami i bez - w zależności od potrzeb). Do tego jakiś stos ZigBee (w moim przypadku nie było to de facto Zigbee - a własne rozwiązanie - sieć w topologii gwiazdy). Sieć typu MESH stosowana w rozwiązaniach Zigbee ma wiele zalet, ale jest też bardziej skomplikowana do oprogramowania. Jeśli natomiast skorzystasz z gotowych rozwiązań - nie powinno to być trudne.
  • Poziom 6  
    Mógłby mi pan jeszcze powiedzieć o jakie gotowe elementy chodzi? Jakiś konkretny model czujników, koordynatora itd? Prosiłbym o jakiś zestaw jeśli pan może.
  • Poziom 39  
    Poszukaj np. na Ebay-u hasła "Zigbee". Najpopularniejsze będą chyba gotowe moduły na CC2530. To kompletne zestawy zgodne z Zigbee. Masz gotowy stos, ale trzeba to wszystko poskładać w całość.

    Jeśli chodzi o własne rozwiązania - to znów polecam rozwiązania operujące na dość prostym RF24L01 (jako koordynator - wersja z dodatkowym wzmacniaczem na układzie RFX2401).
    W tym wypadku musisz je czymś sterować - więc doszedł by ci MCU i oczywiście oprogramowanie (napisać musisz sam, ale to dość popularny układ).

    Z dwóch względów nie proponuję tego, co ja używałem (STM32W108):
    1 - To mało popularny układ (wyszedł z użycia),
    2 - Projekt na nim robiłem komercyjnie, więc kodu nie mogę przedstawić.
  • Poziom 6  
    I te czujniki mogą bez problemu być zamontowane w gniazdku i odcinać lub włączać prąd ? A jak to działa np. z roletami, żeby można było je podciągać i opuszczać, lub z temperaturą? A ma Pan jakiś pomysł co do przesyłu obrazu z kamer ?
  • Poziom 39  
    christopher97 napisał:
    I te czujniki mogą bez problemu być zamontowane w gniazdku i odcinać lub włączać prąd ?
    Same czujniki nie. Wymagany element sterujący (mały przekaźnik, triak lub t.p.).
    Wyjdzie ci problem z zasilaniem (nie wstawisz przecież transformatorowego zasilacza w gniazdko sieciowe).
    My rozwiązaliśmy to układem LNK304-306 (zasilanie bezpośrednio z gniazdka, którym sterowaliśmy).
    Kolejny problem - masz zwykły wyłącznik (np. żarówki) - 2 przewody. Nie da się z niego zasilić układu. Czasem podłączenie sterowania tego typu wymaga nawet zmian w instalacji elektrycznej domu (nie zawsze się da)....
    Problemów jest tysiące... z jednymi sobie poradziliśmy z innymi nie...
    A Ty, skoro się na to porywasz - musisz o tym wiedzieć :).

    christopher97 napisał:
    A jak to działa np. z roletami, żeby można było je podciągać i opuszczać,
    W naszym przypadku był to sterownik silnika krokowego.
    christopher97 napisał:
    lub z temperaturą
    To akurat najprostsze - czujnik + ADC w mikrokontrolerze.
    christopher97 napisał:
    A ma Pan jakiś pomysł co do przesyłu obrazu z kamer ?
    Z kamerami wszystko rozbija się o pasmo przesyłające sygnał. Lepiej zostawić ten temat urządzeniom DVR. Są kamery IP (drogie), ale taniej wyjdzie podłączyć kablowo do DVR-a.
    Również "streaming" - zżera łącze. Tych systemów (poza sterowaniem) nie da się sensownie połączyć.
  • Poziom 6  
    A można wiedzieć jak Państwo rozwiązali problem ze światłem?
  • Poziom 39  
    christopher97 napisał:
    A można wiedzieć jak Państwo rozwiązali problem ze światłem?
    Szczerze - nie wiem - zakończyłem współpracę po wykonaniu pewnego etapu i teraz temat prowadzi ktoś inny. Ponoć tańszy niż ja :)
    Temat włącznika światła - moim zdaniem jest nie do ruszenia (chyba, że zapewniamy zasilanie modułu z baterii - ale taki moduł już w standardową puszkę włącznika nie wejdzie - a takie było założenie). Coś za coś.

    Poza tego typu tematami nie rozwiązany jeszcze był temat automatycznego bezprzewodowego update firmware czujników (over air bootloader) - choć rozwiązań w sieci jest mnóstwo - można czerpać garściami oraz temat wielu koordynatorów w sieci i eliminacji zakłóceń.
    Ten ostatni był częściowo przygotowany: koordynator ustalając kanał komunikacyjny skanował siec i wybierał kanał z najmniejszym poziomem sygnału (RSSI).

    Jak widzisz - im dalej w las, tym więcej drzew.
    Dlatego polecam ograniczanie sobie problemów przez wybór sprawdzonych rozwiązań (modułów, albo przynajmniej gotowych schematów, oraz stosu ZIGBEE typu MESH, który eliminuje w znacznym stopniu problem zasięgu takiego zdalnego sterowania).
    Po co wymyślać koło na nowo :)

    W międzyczasie krótko testowałem również pomysł komunikacji czujników oparty na metodzie TDMA (Time Division Multiple Access). Moim zdaniem jest to w pewnym stopniu jedyne rozsądne rozwiązanie pozwalające na kontrolę obecności i statusu wszystkich czujników/sterowników w sieci zapewniające sensowną szybkość ich odświeżania. Jednak z powodów finansowych (nikt mi już za to nie płaci) zaniechałem prób.