Goto page 1, 2 Next
Wojtek
Guest
Sat Oct 01, 2005 1:07 pm
Witam
Przymierzam się do zaprojektowania i wykonania prostej sieci dla
inteligentnego domu (centralne zarządzanie różnymi urządzeniami np.
oświetlenie, system alarmowy czy klimatyzacja w obrębie jednego budynku).
Wiem że są już gotowe rozwiązania (EIB), jednak wolałbym się trochę z tym
pobawić i zrobić samemu (przynajmniej częściowo).
Z drugiej ztrony elektronikę traktuję amatorsko więc raczej skupię się na
stronie logiczno-programistycznej, czyli im mniej lutowania tym lepiej
Mój projekt zakłada bazę komunikującą się dwukierunkowo ze wszystkimi
urządzeniami po jednym medium. Prędkość jest tu najmniej ważna (parę kb/s
też wystarczy).
1) medium
Dodatkowe kable sygnałowe mnie nie interesują.
Do tej pory wymyśliłem łącze radiowe albo modem 220V. W pierwszym
przypadku zwrócił moją uwagę gotowy moduł CC1000PP.
Czy istnieją analogiczne gotowe (oczywiście tanie

) moduły dla modemu
220V? Jakieś linki?
2) protokół
Ze względu na to, że w sieci będę pracować różne urządzenia, zakładam
pakiety informacji o różnych długościach. Muszę wziąć pod uwagę takie
zagadnienia jak kolizje czy kontrola poprawności (CRC).
Chodzi mi po głowie jakaś maksymalnie uproszczona wersja TCP/IP lub czegoś
podobnego.
Czy są jakieś inne protokoły, na których mógłbym się oprzeć? Jeśli to
możliwe to proszę o linki do stron z ich dokładnym opisem.
Z góry dziekuję za odpowiedzi i ewentualne sugestie.
Wszelka konstruktywna krytyka mile widziana :)
Wojtek.
mIrO
Guest
Sat Oct 01, 2005 1:20 pm
Użytkownik "Wojtek" napisał w wiadomo¶ci
Quote:
Czy są jakieś inne protokoły, na których mógłbym się oprzeć? Jeśli to
możliwe to proszę o linki do stron z ich dokładnym opisem.
Jezeli to ma pracowac w master-slave (a tak rozumiem baze i rozne
urzadzenia) to proponuje zapoznac sie z MODBUS'em. Jest dosc latwy i latwo
jest sie na nim wzorowac, wymyslajac wlasne rozwiazanie + warstwa fizyczna
RS485 :)
Quote:
Wojtek
pzdr
mIrO
Wojtek
Guest
Sat Oct 01, 2005 1:34 pm
"mIrO" wrote in message
Quote:
Użytkownik "Wojtek" napisał w wiadomo¶ci
Czy są jakieś inne protokoły, na których mógłbym się oprzeć? Jeśli to
możliwe to proszę o linki do stron z ich dokładnym opisem.
Jezeli to ma pracowac w master-slave (a tak rozumiem baze i rozne
urzadzenia) to proponuje zapoznac sie z MODBUS'em.
Chodziło mi o to, że urz±dzenia sterowane komunikuj± sie tylko z baz±, a nie
z innymi urz±dzeniami.
Urz±dzeniem może być np. przycisk na ¶cianie, który powinien wysyłać
informacje o zwarciu styków natychmiast, bez czekania na to, czy centralka
raczy sprawdzić jego stan.
Więc nie będzie to master-slave.
Wojtek.
T.M.F.
Guest
Sat Oct 01, 2005 2:06 pm
Quote:
Chodziło mi o to, że urz±dzenia sterowane komunikuj± sie tylko z baz±, a nie
z innymi urz±dzeniami.
Urz±dzeniem może być np. przycisk na ¶cianie, który powinien wysyłać
informacje o zwarciu styków natychmiast, bez czekania na to, czy centralka
raczy sprawdzić jego stan.
Więc nie będzie to master-slave.
Czyli potrzebujesz jakis protokol multimaster. Ze wzgledu na ograniczona
ilosc zasobow mozliwie najprostszy. Wlasnie nad czyms takim siedze (mam
juz wersje master-slave, kombinuje jak dodac multimaster).
--
Inteligentny dom -
http://idom.wizzard.one.pl
Teraz takze forum dyskusyjne
Zobacz, wyslij uwagi, dolacz sie do projektu.
mIrO
Guest
Sat Oct 01, 2005 2:27 pm
Użytkownik "Wojtek" napisał w wiadomo¶ci
Quote:
Chodziło mi o to, że urz±dzenia sterowane komunikuj± sie tylko z baz±, a
nie z innymi urz±dzeniami.
Urz±dzeniem może być np. przycisk na ¶cianie, który powinien wysyłać
informacje o zwarciu styków natychmiast, bez czekania na to, czy centralka
raczy sprawdzić jego stan.
Więc nie będzie to master-slave.
A to ma byc hard reale time? Nawet w takich systemach sa maksymalne
dopuszczalne opoznienia od wystapienia zdarzenia do reakcji na nie, wiec nie
widze problemu jezeli chodzi o to. Uzytkownik nie zauwazy opoznienia rzedu
1/100 s, a jednoczesnie nie bedziesz miec kolizji. Trzeba pamietac o tym, ze
usuwajac kolizje, tez trzeba stracic jakis czas... Moze zastosowac cos na
ksztalt PDP ?
Quote:
Wojtek
pzdr
mIrO
Wojtek
Guest
Sat Oct 01, 2005 2:46 pm
"mIrO" wrote in message
Quote:
A to ma byc hard reale time?
Nie musi, ale czy nie było by fajnie, gdyby było?
My¶lałem, że czasy pollingu (zawalania całego czasu procesora i sieci
sprawdzaniem, czy co¶ się zmieniło) już dawno za nami.
Z drugiej strony, coż innego on ma do roboty?
P.s. Mam i używam odbiornik podczerwieni podłaczony do kompa przez COMa +
program Girder sprawdzaj±cy non stop linię na porcie szeregowym. Ale nie
jest to fajne rozwi±zanie.
Wojtek
T.M.F.
Guest
Sat Oct 01, 2005 2:56 pm
Quote:
Nie musi, ale czy nie było by fajnie, gdyby było?
My¶lałem, że czasy pollingu (zawalania całego czasu procesora i sieci
sprawdzaniem, czy co¶ się zmieniło) już dawno za nami.
Jednak skanowanie moze byc najefektywniejszym rozwiazaniem.
Zobacz jak elegancko to rozwiazano w 1-wire - masz cos takiego jak
alarm. Teraz skanujesz wszystkie ID urzadzen z ustawiona flaga alarm i w
efekcie masz liste urzadzen, ktorych stan musisz odczytac. Proste i
skuteczne, a co wazniejesze nie robi kolizji. Z kolei przy multimasterze
nie tylko musisz wysylac informacje, a co za tym idzie dbac o ew.
kolizje, musisz takze pamietac kiste urzadzen, ktore ta informacja sa
zainteresowane, czyli adresatow. A to rodzi mnostwo kolejnych problemow.
Quote:
Z drugiej strony, coż innego on ma do roboty?
Oj, zdziwilbys sie. Zakladajac, ze nie masz sprzetowej obslugi w procku
uzywanego protokolu to naprawde trzeba sie nizle nagimnastykowac, zeby
np. jednoczesnie odbierac/nadawac informacje i np. generowac ton o
okreslonej czestotliwosci, czy tez zagwarantowac kolejne przerwania w
scisle okreslonych odstepach czasowych.
--
Inteligentny dom -
http://idom.wizzard.one.pl
Teraz takze forum dyskusyjne
Zobacz, wyslij uwagi, dolacz sie do projektu.
Piotr Wyderski
Guest
Sat Oct 01, 2005 3:15 pm
Wojtek wrote:
Quote:
Urz±dzeniem może być np. przycisk na ¶cianie, który powinien wysyłać
informacje o zwarciu styków natychmiast, bez czekania na to, czy centralka
raczy sprawdzić jego stan.
Więc nie będzie to master-slave.
Tylko widzisz, architektura master-slave bardzo upraszcza wiele rzeczy,
nawet w takich magistralach jak USB się j± stosuje. Je¶li urz±dzeń będzie
sensowan liczba (max. kilkaset), to taki protokół będzie dobrym
rozwi±zaniem.
W centralce możesz przecież wyróżnić równolegle działaj±cy system pollingu
(kawałek FPGA albo osobny mikrokontroler), którego zadaniem będzie
tylko cykliczne odpytywanie urz±dzeń i przesyłanie zbiorczego strumienia
danych dalej (do PC-ta, drugiego mikroprocesora itd.). Dzięki brakowi
kolizji bardzo upraszcza się protokół, możesz przyznawać poszczególnym
urz±dzeniom gwarantowane pasmo, które możesz dostrajać dynamicznie do
bież±cych potrzeb, możesz zagwarantować maksymalny czas reakcji, możesz
nadawać priorytety i wiele, wiele innych rzeczy. Protokół multimaster będzie
nieporównywalnie bardziej skomplikowany i tak na dobr± sprawę niczego
nie wniesie.
Pozdrawiam
Piotr Wyderski
Greg(G.Kasprowicz)
Guest
Sat Oct 01, 2005 4:39 pm
a moze cos na ksztalt I2C?
tylko zwolnic ja neico, jak amja byc wieksze odleglosci, ma tez opcje
multimaster, no i jest standardowa.
ew dac inne poziomy napiec
mIrO
Guest
Sat Oct 01, 2005 5:47 pm
Użytkownik "mIrO" napisał w wiadomo¶ci
Quote:
Moze zastosowac cos na ksztalt PDP ?
Przepraszam, chodzilo oczywiscie o PDK.
--
mIrO
Paweł Więcek
Guest
Sat Oct 01, 2005 5:52 pm
Thus wrote Wojtek :
Quote:
My?la?em, ?e czasy pollingu (zawalania ca?ego czasu procesora i sieci
sprawdzaniem, czy co? si? zmieni?o) ju? dawno za nami.
Od czego masz przerwania?
Paweł
--
(___) | Pawel Wiecek ----------------- Coven / Svart --------------------- |
< o o > |
http://www.coven.vmh.net/ GSM: +48603240006 |
\ ^ / | GPG/PGP info in message headers * [ Debian GNU/Linux developer ] |
(") | I wonder how night will be with a day that I shall never see. -B |
Alek
Guest
Sat Oct 01, 2005 7:24 pm
Użytkownik "Wojtek" napisał w wiadomo¶ci
Quote:
Witam
Z góry dziekuję za odpowiedzi i ewentualne sugestie.
Wszelka konstruktywna krytyka mile widziana
Witam,
czy masz zamiar prowadzić jak±¶ stronę z postępami prac? Z przyjemno¶ci±
bym po¶ledził jak Ci idzie.
Czy masz zamiar wprowadzać alternatywne (awaryjne) sterowanie?
Zwróć uwagę, że centralna baza wprowadza pojedynczy punkt awarii. Pad bazy
jest równoznaczny z padnięciem całego systemu. Co moim zdaniem
dyskwalifikuje takie rozwi±zanie.
Kiedy¶ zastanawiałem się nad stworzeniem systemu zarz±dzaj±cego ogrzewaniem
(panele elektryczne).
Obecne rozwi±zanie - w każdym pokoju znajduje się sterownik, na którym
ustawia się ż±dan± temperaturę. Jest to rozwi±zanie dosyć niewygodne.
W ramach rozważań doszedłem do wniosku, że centralne sterowanie (odczyt
czujników, sterowanie przekaĽnikami...) byłoby zbyt niebezpieczne. Cały
system musiałby wygl±dać mniej więcej tak: w każdym pokoju znajduje się
sterownik potrafi±cy działać samodzielnie oraz mog±cy przyjmować ewentualne
rozkazy od centralnego sterowania. W ten sposób pad centrum: wymusza
jedynie ręczne ustawianie temperatury w każdym z pokoi. Pad poszczególnych
urz±dzeń odcina tylko pojedynczy pokój.
Inn± kwesti± jest ile czasu masz zamiar po¶więcić na tworzenie systemu? I
czy ma on obsługiwać cały dom?
Gdy zobaczyłem wielko¶ć i złożono¶ć systemu jako cało¶ci (a to tylko samo
ogrzewanie było), to stwierdziłem, że z moim do¶wiadczeniem elektronicznym
po prostu sobie jeszcze nie poradzę.
pozdrawiam i życzę sukcesów
Alek
A.Grodecki
Guest
Sun Oct 02, 2005 8:39 am
Użytkownik Piotr Wyderski napisał:
....
Quote:
Protokół multimaster będzie
nieporównywalnie bardziej skomplikowany i tak na dobr± sprawę niczego
nie wniesie.
Jak to nie wniesie?
A blask chwały i medal z kartofla?

))))))))
--
Pozdrawiam,
A. Grodecki
A.Grodecki
Guest
Sun Oct 02, 2005 8:49 am
Użytkownik Alek napisał:
Quote:
Zwróć uwagę, że centralna baza wprowadza pojedynczy punkt awarii. Pad bazy
jest równoznaczny z padnięciem całego systemu. Co moim zdaniem
dyskwalifikuje takie rozwi±zanie.
Pytania pomocnicze:
1. czy w PC-cie którego na codzień używasz i zapewne masz też ważne
dane, używasz pojedynczego dysku (dysków) twardych, czy macierzy dyskowej?
2. Co jest łatwiej zlokalizowac i naprawić - awarię w systemi
arbitralnym czy rozproszonym?
3. czym się różni uszkodzenie jednego modułu który np zwiera linie
magistrali do masy z uszkodzeniem centrali która robi to samo?
--
Pozdrawiam,
A. Grodecki
Piotr Wyderski
Guest
Sun Oct 02, 2005 9:12 am
A.Grodecki wrote:
Quote:
Jak to nie wniesie?
A blask chwały i medal z kartofla?

))))))))
I chyba nic więcej.

Protokół multimaster jest niezbędny w systemach,
w których porozumiewaj± się ze sob± równorzędne jednostki, co w tym
przypadku nie zachodzi -- dane i tak musz± trafić do wyróżnionego węzła,
którym jest centralka, więc nadanie jej roli mastera jest naturalne.
Pozdrawiam
Piotr Wyderski
Goto page 1, 2 Next