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

Atmega32 / Bascom - RFM12 dwa mastery - jakie rozwiązanie ?

maximus22_kr 12 Lip 2016 14:20 924 0
REKLAMA
  • #1 15802819
    maximus22_kr
    Poziom 18  
    Witam
    W obecnej konfiguracji mam jeden "master", który wysyła na cały budynek 64 bajty danych ( czujniki temperatury, wilgotności, ciśnienia, termopara, stan pomp ), ostatnie bajty to ID nadajnika, polecenie i CRC ( odbiorniki sprawdzają odebrane CRC z obliczonym )

    Działa to na razie mniej więcej tak:
    1. wywołanie czujników DS18B20
    2. odczyt czujników DS18B20
    3. odczyt wilgotności wewnętrznej DHT11
    4. odczyt ciśnienia MPL115A2
    5. odczyt termopary MAX6675
    6. odczyt stanów pomp
    7. wysłanie przez RFM12
    8. zapis na kartę SD

    Jednak brakuje mi trochę wilgotności zewnętrznej, temperatury w słońcu ( aktualnie używany na zewnątrz czujnik DS18B20 jest w praktycznym pudełku po innym czujniku umieszczonym w cieniu ) oraz "poziomu" deszczu ( mam taką chińską płytkę do pomiaru wraz z drugą płytką wzmacniacza ) i intensywności światła - na wszystkie te dane mam miejsce wśród tych 64 bajtów. Dodatkowo "master" strych jest w lepszym zasięgu WiFi i mógłby synchronizować czas, przez NTP i go odsyłać.
    Powinno to zadziałać tak, że "master" strych otrzymuje polecenie, dokonuje wszystkich pomiarów i odsyła dane.

    Strych na którym chciałbym umieścić drugiego "mastera" jest połączony z parterem, gdzie obecnie działa "master" skrętką komputerową oraz dodatkowym przewodem trzy żyłowym - dystans to 14 metrów.

    Początkowo chciałem połączyć przewodami strych z parterem, tylko o ile DS18B20 sobie poradzi, to pomiar napięcia z czujnika światła i deszczu może mieć jakieś spadki, a o przesłaniu danych z DHT11 na taką odległość to raczej chyba można zapomnieć.

    Drugi pomysł to przesłanie przez RS485, tutaj nie powinno być problemów.
    Danych nie ma aż tak dużo, można obliczyć i dołączyć na końcu CRC.

    Trzeci pomysł to wykorzystanie RFM12, ale ze zmienioną częstotliwością ( przed wysłaniem zapytania wczytanie drugiej konfiguracji, a po otrzymaniu odpowiedzi powrót do konfiguracji podstawowej ), ilość przesyłanych bajtów nie będzie problemem, bo odbiorniki będą pracować na innym kanale, więc nic nie odbiorą.

    Czwarty pomysł to wykorzystanie RFM12 bez zmiany częstotliwości, ale z wykorzystaniem wysyłanego bajtu nr 63, który zawiera "polecenie" i wtedy odbiorniki będą ignorować takie dane. Problem może z odsyłanymi danymi, bo nie będzie to 64 bajty, tylko mniej - na razie założyłem 32 bajty. Zastanawiam się jak zareagują odbiorniki.

    Może Koledzy doradzą jak do tego podejść ? - Oczywiście nie chodzi mi o kod programu, tylko logiczne podejście
  • REKLAMA
REKLAMA