РАДИОПЕЙДЖЕР

Тема в разделе "Проводная и беспроводная связь", создана пользователем MESS, 29 авг 2014.

  1. MESS

    MESS Гик

    Задумал решить вопрос подачи индивидуального звукового сигнала нескольким коллегам во время работы на высоте. Короче пейджер каждому. собрал макет, использовал arduiino nano и приемный модуль XY-MK-5V. Передатчик XY-EST/
    Радиоканал со скетчем из примера, заработал сразу. Прежде, чем покупать еще модули хочется быть уверенным в надежности такого канала.
    Пожалуйста подскажите. Достаточно ли варианта селекции вызова путем передачи-проверки "своего"символа?
    Код (Text):

     
    #include <VirtualWire.h>
    #define BUZZER01_pin 13

    void setup()

    { pinMode (BUZZER01_pin, OUTPUT);
        vw_setup(2000);
        vw_rx_start();
    }
    void loop()
    {
      uint8_t buf[VW_MAX_MESSAGE_LEN];
      uint8_t buflen = VW_MAX_MESSAGE_LEN;

      if (vw_get_message(buf, &buflen))
      {          
        if (buf[0] != 'z')  
    // каждому пейджеру свой символ,здесь z
        {
          return;
        }  
        digitalWrite(BUZZER01_pin,1);
      delay(500);            
      digitalWrite(BUZZER01_pin, LOW);  
      delay(500); ;
      }
    }
     
     
  2. ANV

    ANV Гуру

  3. MESS

    MESS Гик

    По поводу дальности укв-связи у меня нет проблем и вопросов. Знаю, что чем точнее настроена антенна -тем сильнее полезный сигнал и меньше уровень помех. ( В 1968 г. у меня был позывной UB5EDG).
    Я хотел узнать о надежности селекции разных каналов передачи. Каждый пейджер будет иметь в скетче свою букву (символ), которая будет в сигнале передатчика. Сигнал поступает на все пейджеры сразу, но включиться должен только один из них ( который распознал свою букву).
    if (buf[0] != 'z')
    return;
    Если это слишком примитивный способ кодирования, то подскажите пожалуйста более продвинутый вариант.
     
  4.  
    MESS нравится это.
  5. geher

    geher Гуру

    Продвинутый вариант - это как минимум какая-нибуль контрольная сумма в посылке.
    Upd, VirtualWire реализует контрольную сумму, так что над этим думать не надо.

    Одного байта для идентификации в принципе достаточно, если никто на этой частоте шуметь не будет (а судя по всему эти приемники ловят все, что есть в эфире, без разбора).
    Так что лучше подумать над более надежным протоколом с подтверждением приема, повторами через случайное время, выслушиванием эфира для поиска паузы под передачу и более надежным кодированием.

    А если хочется более надежной радиосвязи без построения своего протокола, то можно выбрать радиомодули с уже реализованным протоколом передачи данных, включающим повторные посылки в случае неудачной передачи, квитирование и прочие радости, вроде APC220 или NRF24L01 и кучи подобных.
     
    Последнее редактирование: 29 авг 2014
    MESS нравится это.
  6. MESS

    MESS Гик

    спасибо! именно это я хотел знать. Пейджеры должны работать в условиях лифтовой шахты. Придется отказаться от этих модулей.
     
  7. geher

    geher Гуру

    Помехоустойчивый протокол можно реализовать и самому. Это не так сложно, как кажется.

    А вот работа в шахте лифта - это отдельный вопрос. Тут экспериментировать надо с частотами и мощностью передатчиков.
    В теории, чем выше частота, тем лучше проницаемость. В этом отношении теоретически вроде как лучше радиомодули с частотой 2400 МГц, а частота около 433 для открытых пространств или в пределах одного помещения. Но на практике все может оказаться и по другому, поскольку еще есть и помехи.
     
  8. чего только не узнаеж
     
  9. я думаю что китайский трансивер, вроде Baofeng UV-3R, подойдет куда лучше
     
  10. geher

    geher Гуру

    Может быть, я глубоко неправ, но исходил я из следующего.
    Современный дом представляет из себя типичную клетку Фарадея, поскольку стены его пронизаны сеткой всякого железа (особенно частую сетку дает арматура в железобетоне).
    Чем выше частота, тем меньше длина волны, тем меньшие ячейки клетки способна преодолеть радиопередача.
     
  11. MESS

    MESS Гик

    Есть неточность. Радиоволны до гига обладают большей дифракцией, т.е. способностью огибать препятствия, в то же время радиоволны диапазона 2,4 подобны световому лучу- только по прямой. огибать препятствия не умеют.
    а других вариантов, кроме умощнения сигнала нет.
    В моем случае ведь нет постоянного радиоканала - только короткие включения. может какой-то программный или схемный трюк есть, чтобы использовать "ненадежные" модули на 433 при коротких включениях?
     
  12. geher

    geher Гуру

    Так надо всего лишь усложнить протокол.
    1. Пакет данных должен содержать не только идентификатор получателя, но и идентификатор отправителя.
    2. При приеме проверяется не только свой-чужой, но и структура пакета данных, что это "родной" пакет, и что идентификатор отправителя из "дозволенных".
    3. Если пакет принят, и он правильный, обратно передается подтверждение, также с указанием идентификаторов отправителя и получателя.
    4. Если подтверждение от адресата не получено, пакет посылается еще раз.
    И так пока не будет получено корректное подтверждение, не истечет время, выделенное на передачу, или пока не будет достигнуто предельное количество попыток передачи.
    А насчет мощности, это экспериментировать надо, насколько в конкретных условиях добивает.
     
  13. MESS

    MESS Гик

    Как-то очень мудрено и хотя я не программист, думаю что это како-то не то. как же можно квитировать сигнал пейджером, который работает только на прием? мне попроще протокол.
    Мне нужно дать сигнал "второму" и чтобы он не попал к "пятому" !
    Вопросы прохождения меня не волнуют - я их решу.
     
  14. geher

    geher Гуру

    Если нет обратной связи, то остается просто несколько раз повторить посылку, чтобы гарантировать доставку.
    Ну и проверять при приеме, что пакет корректный и от "разрешенного" отправителя.
     
    Последнее редактирование: 30 авг 2014
    MESS нравится это.