Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » Работа с радиомодулями HM-R868S и HM-Т868S


Работа с радиомодулями HM-R868S и HM-Т868S

Сообщений 1 страница 7 из 7

1

Доброго времени суток.
Перерыл весь форум и не нашел примера, как работать с такими радиомодулями.
http://www.kosmodrom.com.ua/pic/HM-T868.jpg
Если у кого-то есть инфа или простой пример, поделитесь пожалуйста.

0

2

А что с ним не понятно, загоняешь данные, на другом конце HM-R433 получаешь..

0

3

Для контроля целостности полученного, используем проверку CRC.

Отредактировано sasha_1973 (2016-08-26 04:06:05)

0

4

Вот, наконец-то что-то получилось:

Передатчик:

$regfile = "ATtiny13a.dat"
$crystal = 9600000

$hwstack = 32
$swstack = 8
$framesize = 16

Dim A As Byte
Dim B As Byte
Config Portb.4 = Output

Open "comb.4:600,8,n,1" For Output As #1

A = 100
B = 20

Do
Printbin #1 , 65
Waitms A
Printbin #1 , 65
Waitms A
Printbin #1 , 70
Waitms B
Printbin #1 , 70
Waitms B
Printbin #1 , 50
Waitms B
Printbin #1 , 38
Waitms B
Printbin #1 , 90
Waitms B
Loop

Приемник:

$regfile = "ATtiny13a.dat"
$crystal = 9600000

$hwstack = 32
$swstack = 8
$framesize = 16

Config Portb.0 = Output                                     'светодиод
Config Portb.1 = Output                                     ' enable

Portb.1 = 0

Dim A As Byte
Dim B As Byte
Dim N As Byte

Portb.0 = 0
Wait 1
Portb.0 = 1
Wait 1
Portb.0 = 0

Open "comb.4:600,8,n,1" For Output As #1
Open "comb.3:600,8,n,1" For Input As #2

Portb.1 = 1

Do

Inputbin #2 , A

Printbin #1 , A

Loop

В терминале получаю символы AAFF2&Z, в принципе приходит без ошибок с расстояния до 10м, дальше не проверял.
Как сделать проверку контрольной суммы? если можно то примером кода...

0

5

Формируешь пакет нужной длины + контрольная сумма сзади. Типа:  [ПАКЕТ + КОНТРОЛЬКА]  и отправляешь в передатчик. На приёмной стороне разворачиваешь пакет и проверяешь контрольную сумму.

Можно сделать и посложнее... [ДЛИНА ПАКЕТА + CRC + САМ ПАКЕТ ДАННЫХ]   так получается универсальнее. Только фантазии прибавить  :D

0

6


Передатчик


Dim A(10) As Byte       'Массив переменных, десятый байт - CRC (контрольная сумма) предыдущих девяти байт

   '+------------------------ в этой переменной будет CRC следующих (A(1);A(2);A(3);A(4);A(5);A(6);A(7);A(8);A(9);)
   '|          +------------- с какой переменной начинаем счёт
   '|          |      +------ сколько переменных считаем
   '|          |      |
  A(10) = Crc8(a(1) , 9)


Приёмник


  Dim B(10) As Byte       'Массив переменных, десятый байт - CRC (контрольная сумма) предыдущих девяти байт

     If B(10) = Crc8(b(1) , 9) Then

         'Если CRC соответствует, делаем то, что надо

       Else

         'Иначе обрабатываем ошибку приёма данных

     End If

0

7

А да это для передачи непосредственно сигнала а не данных, модем будет программный. Рекомендую протокол посложнее придумать что бы исключить перехват. Я использую динамическое шифрование (меняется каждый пакет ключ, а ключ вычисляется по определённому алгоритму из передаваемых байтов), гарантия не возможности клонирования, период повтора 16бит, сессия меняется каждую нажатие кнопки для пультов или каждую передачу, код передачи каждый пакет 8бит, можно вычислить прохождение пакетов.

Но перед этим рекомендую проверить приёмники, я когда купил готовые был шокирован их работе, полоса широченная, ФНЧ ломовой что на тактовой частоте 4КГц не фига работать уже нельзя. ФНЧ я подстроил под полосу, по РЧ сузил до 20КГц (полосовик на 20КГц 10.7МГц) стало на порядки лучше, передатчики не когда готовые для частот до 900МГц не юзал, брелок работает на 2-4 км (порядка 100мВт выход антенна телескопическая 10см) 433.920 +/- 1КГц. После замены фильтра подстройка гетеродина необходима как и у фильтров разброс так и гетеродин не в частоте и того можно на 10-30КГц уйти от канала.

Приёмник проверяй а то можешь долго гадать почему не проходит. У меня лично если усиление раскрутить на всю (УВЧ регулируемый) то уже меньше чем с 5-7м не принимает (ДД приёмника слабоват), но в городе крутить усиление на всю не приходится один фиг один шум, да и антенна на крыше спасает ситуацию увеличивая расстояние до 7-10м.
Хотя у меня передатчики не такие, меньше 100мВт, норм антенны, а последний пульт трансивер на 1Вт вообще затыкает приёмник как не крути, использую еще локальный трансивер.
Это всё относится к ASK конечно FSK таким не страдает, но там и энергоэффективность хуже.

Отредактировано RadioHAM-433 (2016-09-06 01:07:16)

0


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » Работа с радиомодулями HM-R868S и HM-Т868S