logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[mega8/16][BASCOM/C] Jakie moduły radiowe - komunikacja w domu

hindoos 21 Cze 2011 13:01 5142 11
  • #1 9635795
    hindoos
    Poziom 34  
    Witam, od razu powiem, że na transmisji radiowej nie znam się wcale. Ostatnie 2 dni przekopywałem czeluści elektrody i różnych innych serwisów w poszukiwaniu odpowiedzi do następującego problemu:

    Chcę z PC sterować mikroprockami. Komunikacja dwukierunkowa. Połączenie z PC przez USB (koniecznie, bo RS już zajęty). Najlepiej, jakby chodziło zarówno pod Windowsem jak i pod Linuxem.
    Dystans - najlepiej koło 100 metrów (wtedy będę miał szansę, że "doleci" do piwnicy.
    Urządzenia którymi chcę sterować - zraszacze w ogrodzie, furtka, może w przyszłości jakieś dodatkowe funkcjonalności.

    Nie będzie to dużo danych, raczej odczytywanie poszczególnych stanów co jakiś czas.

    Aplikację na PC biorę na siebie, program wykonujący pracę pod Megą też, ale nie mam pojęcia w jaką technologię iść.

    Początkowo myślałem o BT, ale z racji problemów z podłączeniem do więcej niż jednego urządzenia naraz (musiałbym przełączać) to odpada.

    Potem wpadłem na pomysł, że może RFM12 na 868Mhz. Tutoriale są, ale czy jest prosty sposób na sprzęgnięcie tego do PC? Zapewne musiałbym wtedy użyć jakiegoś konwertera USB->RS np. od FTDI - nie wiem jak bardzo jest to skomplikowane.

    Dlatego pomyślałem o ZigBee, ale nie mam pojęcia czy byłbym w stanie połączyć ze sobą i skonfigurować moduł na USB ZigBee Telegesis ETRX2 z np. ZigBee Telegesis ETRX357 - początkowo myślałem, że to prosta sprawa, ale im więcej czytam tym gorzej to widzę. Rozwiązanie na pewno dobre i profesjonalne, ale nie chcę wydawać 200 zł po to, żeby przekonać się, że nie mam programatora za 2000zł żeby to w ogóle uruchomić...

    Zwracam się więc z prośbą o podsunięcie jakiejś propozycji. Najlepiej, jakby było to skalowalne i jak najprostsze w obsłudze, bo już sam nie wiem "w co iść".

    Pozdrawiam i dziękuję za podpowiedzi!
  • Pomocny post
    #2 9635918
    tmf
    VIP Zasłużony dla elektroda
    ZigBee jest ok, Atmel nawet ma dedykowane moduły do tego dla swoich procków i udostępnia cały stos - zobacz kit Raven. Oczywiście cena... Ale to warto skalkulować ile takich urządzeń potrzebujesz, bo przy jednostkowych sprawach zaletą ZB będzie to, że masz gotowce.
    Z drugiej strony są moduły RFM, akurat RFM12 nie polecam, bo to pierwsze wersje, z różnymi dziwactwami i bez zalet. Za to warto rozważyć RFM22/23, szczególnie jeśli zasięg w budynku jest ważny. Bardzo interesującym rozwiązaniem ze względu na cenę i możliwości jest RFM70, ale to jest na 2,4GHz i zasięg jest nieco ograniczony. Inne, prymitywne moduły sobie odpuść. Niestety wadą RFM jest brak stosu dla AVR i trzeba sobie całą transmisję robić ręcznie, chyba, że jesteś fanem Arduino, tam masz gotowce.
    Stos też udostępnia Silicon Labs, tyle, że nie na AVR i trzeba przeportować. Jak więc widzisz RFM jest tani, ale wkład własny w postaci pracy nad softem jest duży, ZB jest drogi, ale praktycznie ruszy z kopyta. Warto też pamiętać, że w przypadku ZB, kupując gotowy moduł z Atmela, masz na nim normalny procesor AVR, schematy też są dostępne, więc zewnętrzny procesor nie jest potrzebny, program umieszczasz w module. Także wysoka cena jest relatywna... Oczywiście sam ZB też jest dosyć skomplikowany i przegryzienie się przez niego to kilkanaście dni intensywnego czytania.
  • #4 9636226
    hindoos
    Poziom 34  
    tmf napisał:
    ZigBee jest ok, Atmel nawet ma dedykowane moduły do tego dla swoich procków i udostępnia cały stos - zobacz kit Raven. Oczywiście cena... Ale to warto skalkulować ile takich urządzeń potrzebujesz, bo przy jednostkowych sprawach zaletą ZB będzie to, że masz gotowce.

    No cena Ravena dla mnie troszkę zaporowa. Co do ilości urządzeń - na początku 2 klientów i jeden serwer pod USB w komputerze.

    Co do rozbudowy - fajnie byłoby, gdyby była taka możliwość. Tzn. na serwerze byłaby lista urządzeń, on co jakiś czas sprawdzałby ich stan online i gdy będą podłączone i w zasięgu, odczytywał stany lub wysyłał do nich komendy sterujące.

    Dlatego jeśli rozbudowa polegałaby tylko na włączeniu nowego urządzenia i aktualizacji listy w PC to byłoby najlepsze rozwiązanie.

    tmf napisał:
    Niestety wadą RFM jest brak stosu dla AVR i trzeba sobie całą transmisję robić ręcznie, chyba, że jesteś fanem Arduino, tam masz gotowce.

    Stos odpowiada za zbieranie danych otrzymywanych z sieci? Czy to jest nieco bardziej skomplikowane zagadnienie?

    tmf napisał:
    Warto też pamiętać, że w przypadku ZB, kupując gotowy moduł z Atmela, masz na nim normalny procesor AVR, schematy też są dostępne, więc zewnętrzny procesor nie jest potrzebny, program umieszczasz w module. Także wysoka cena jest relatywna... Oczywiście sam ZB też jest dosyć skomplikowany i przegryzienie się przez niego to kilkanaście dni intensywnego czytania.


    Ale czy do ZB potrzebowałbym dodatkowego sprzętu - np. oscyloskopu czy programatora z JTAGiem ? Fajnie byłoby poznać tą technologię, ale jak już wspominałem, nie chciałbym kupić modułów tylko po to, żeby leżały. No i jak wygląda w takim wypadku kwestia podłączenia pod Uc ? Po prostu parę pinów i
    obserwacja stanu?

    Najbardziej w sumie odpowiadałyby mi moduły http://www.mobot.pl/index.php?site=products&type=853&details=7771 gdzie, jak przeczytałem na jakimś forum, po prostu wysyła się dane poprzez UART w jednym module i "wychodzą" one w drugim. Niestety czas oczekiwania na te moduły, według tego, co dowiedziałem się po kontakcie telefonicznym, to około 4 - 5 tygodni. Trochę zbyt długo...

    paw789 napisał:
    Używałem nRF2401, nadają się idealnie do Twojego zastosowania.
    kupiłem w sklepie: http://www.emod.com.pl/?id=offer

    A jak u nich wygląda sprawa podłączenia do USB? Poza tym zasięg "w budynku" nie powala, no i jakiej częstotliwości i w jakich warunkach ty ich używałeś?
  • Pomocny post
    #5 9636434
    tmf
    VIP Zasłużony dla elektroda
    To po kolei - Raven to zestaw developerski, więc kosztuje trochę więcej, można kupić pojedyncze moduły ZB od Atmela (oni to robią w kooperacji) - cena jak innych tego typu modułów.
    Stos odpowiada za realizację całej komunikacji pomiędzy urządzeniami, stanowiąc pewne API dla twojego programu.
    Do ZB nie potrzebujesz ani JTAG, ani oscyloskopu, zwykle te moduły mają bootloader, przes który programowo, a nawet przez sieć bezprzewodową możesz ładować oprogramowanie.
    Do procesora łączy się to różnie, zwykle są to jakieś wariacje interfejsu sieciowego, często odmiany SPI.
    Ten moduł z liku, który podałeś to właśnie RFM, prawdopodobnie RFM12, z elektroniką zapewniającą dopasowanie i zawierającą soft, realizujący komunikację. To może być niezłe rozwiązanie, bo będziesz miał gotowy soft do komunikacji, tylko wypytaj firmę jak to dokładniej wygląda, jak wygląda API i w czym jest napisane.
    Te moduły do których linki podał paw789 to konkurencjne RFM, nie mają ani mniej, ani więcej, ciągle problem będzie soft.
  • #6 9636713
    hindoos
    Poziom 34  
    No właśnie te moduły z linku będą dostępne najwcześniej za miesiąc, więc chyba zostaje mi albo Zigbee, albo jakaś próba stworzenia własnego stosu dla RFMa (zapewne na osobnym uC, ale to nie jest duży problem).

    Hm, byłbym nawet zdecydowany na ZB żebym wiedział, że będzie to kompatybilne ze sobą i da się bezproblemowo połączyć - na przykład ze strony Maritexu http://www.maritex.com.pl/pl/shop/products/ggid/11755:

    http://www.maritex.com.pl/pl/shop/productInfo/ggid/11755/pid/16155/page/1/backurl jako moduł do UC
    http://www.maritex.com.pl/pl/shop/productInfo/ggid/11755/pid/19421/page/1/backurl jako serwer do PC

    Ale widzę, że producentem jest Telegesis a nie Atmel... Czy to wiele zmienia w kwestii ładowania programu i połączenia?
  • Pomocny post
    #7 9637021
    tmf
    VIP Zasłużony dla elektroda
    To musiałbyś przestudiować API tych modułów. No i w takim przypadku potrzebujesz zewnętrzny kontroler.
  • #8 9658199
    hindoos
    Poziom 34  
    OK, podjąłem decyzję - użyję RFM22. Jednak pojawia się kolejny problem.

    RFM22 na 5V jest praktycznie niedostępny (albo dużo droższy - ale może źle szukałem, jeśli zna ktoś sklep gdzie można je dostać w normalnej cenie, proszę o wiadomość), dlatego zapewne będę musiał użyć RFM22B na 3V. Oczywiście procek mogę również dobrać na 3V, np. ATmegę8L. Jednak pomyślałem, że warto byłoby zaimplementować także obsługę USB np. wykorzystując pomysł Igora - http://www.cesko.host.sk/IgorPlugUSB/IgorPlug-USB%20%28AVR%29_eng.htm

    Jednak tutaj pojawiają się schody. Wymagany jest kwarc 12Mhz, Atmega8L to max. 8Mhz. Jeśli użyję zwykłej ATmegi na obniżonym napięciu (tak, żeby RFM jeszcze je akceptował, a jednocześnie ATmega działała) może się okazać, że przy 12Mhz będą jednak pojawiać się błędy.

    Myślałem o konwerterze, ale układy Maxima: MAX3000, 3001 i 3002 są również ciężko dostępne.

    Widzę, że jedynie GPIO_x wymagają dwukierunkowej transmisji, jakiego konwertera najlepiej użyć w takim wypadku?
    W https://www.elektroda.pl/rtvforum/topic441234.html temacie, kolega Light-I zaproponował konwersję za pomocą układu tranzystorów - jednak tam chodziło o układ CC1000, nie sądzę więc, żeby zasada dla RFM22b również się sprawdziła.
  • Pomocny post
    #9 9658542
    Ch.M.
    Poziom 27  
    hindoos napisał:

    Jednak tutaj pojawiają się schody. Wymagany jest kwarc 12Mhz, Atmega8L to max. 8Mhz. Jeśli użyję zwykłej ATmegi na obniżonym napięciu (tak, żeby RFM jeszcze je akceptował, a jednocześnie ATmega działała) może się okazać, że przy 12Mhz będą jednak pojawiać się błędy.

    Myślałem o konwerterze, ale układy Maxima: MAX3000, 3001 i 3002 są również ciężko dostępne.

    Widzę, że jedynie GPIO_x wymagają dwukierunkowej transmisji, jakiego konwertera najlepiej użyć w takim wypadku?


    Nie kombinuj, ATmega48/88/168 wystarczy. Zajrzyj do dokumentacji, przy 3,06V powinno już być 12MHz w "Safe Operating Area", a domyślam się, że całego zakresu temperatur nie wykorzystasz.
    Pozdrawiam
  • Pomocny post
    #10 9658810
    tmf
    VIP Zasłużony dla elektroda
    Też dodam - nie kombinuj. Rozwiązania pokazane przez Igora z programowym USB były dobre, kiedy nie było innych. Teraz masz co najmniej dwie możliwości:
    - prostsza, ale droższa, z chipami FTDI.
    - tańsza, ale nie tak prosta - kupić AVR ze sprzętową obsługą USB device.
    Swoją drogą, zanim zaczniesz kombinować z USB i zastanawiać cię co by było, gdyby, spróbuj najpierw uruchomić sensowną komunikację przez RFM22. I powodzenia życzę z BASCOMem :)
  • #11 9658822
    hindoos
    Poziom 34  
    OK, macie rację. Spróbuję samej komunikacji między prockami, a jak wszystko będzie działać to pomyślę jak to podczepić do PC.

    Dziękuję za wszystkie odpowiedzi i pozdrawiam!
  • #12 9658848
    tmf
    VIP Zasłużony dla elektroda
    Jeśli jesteś zainteresowany, to zostały mi płytki do modułu realizującego coś co piszesz - interfejs PC (USB - FTDI232R) - RFM22 i RS485. Na pokładzie z ATMegą162. Jeśli jesteś zainteresowany płytką + schemat to pisz na priva. Płytki profesjonalne z płytkarni, soldermaska, metalizacja, pozłacane.
REKLAMA