Описание библиотеки VirtualWire

noxic
Offline
Зарегистрирован: 15.03.2013

Перевел описание, может кому пригодится

VirtualWire является библиотекой Arduino. Предназначена для отправки и приема коротких сообщений по широковещательной беспроводной связи, используя ASK(Амплитудная модуляция (англ. amplitude shift keying (ASK) — изменение сигнала, при котором скачкообразно меняется амплитуда несущего колебания.).

Ссылка на библиотекуhttp://www.airspayce.com/mikem/arduino/VirtualWire/VirtualWire-1.20.zip

Описание библиотеки(EN) http://www.airspayce.com/mikem/arduino/VirtualWire.pdf

Описание работы библиотеки:

Максимальный размер сообщения, которое может быт отправленоVW_MAX_PAYLOAD (27) — 27 байт

Каждое сообщение передается как:

  • 36 бит преамбула состоящая из 0-1 битовых пар, т.е. информация о передающем сигнале для приемника
  • 12 бит(101100110110) начальный символ 0xb38
  • 1 байт — длина сообщения(4-30), это количество включает количество байтов и контрольную сумму
  • n — размер сообщения, максимум задается VW_MAX_PAYLOAD (27)
  • 2 байта контрольная сумма, посылается младший байт и старший байт

Все после начального символа кодируется от 4 до 6 битов, каждый байт сообщения кодируется как два шести битовых символа, посылается старшая группа битов и младшая группа битов.

Тактовая частота Arduino UNO 16MHz =1/16000000=0.0000000625 = 62.5нс/такт

Необходимое время для передачи одного бита данных на скорости 2000бит/с = 1/2000=0.0005=500 микросекунд

Время для передачи максимального размера сообщения на скорости 2000 бит/с равно (6 + 2 + VW_MAX_MESSAGE_LEN*2) * 6 = 408 бит*500микросекунд = 0.204 секундыгде VW_MAX_MESSAGE_LEN это VW_MAX_PAYLOAD + 3 = 30

Читать далее

 

Joiner
Offline
Зарегистрирован: 04.09.2014

noxic пишет:

Перевел описание, может кому пригодится

..................

Пригодилось. Большое спасибо!

Short Circuit
Short Circuit аватар
Offline
Зарегистрирован: 17.05.2015

Хочу дочитать... ссылка уже давно не рабочая..

Ни у кого не осталось?

Есть вопросы по этой библиотеке. Тестирую, не однозначно работает,  дальность - скорость... при том,  что приемник неплохой.

 Помжет по RS485 оно и хорошо бегает, а на 433 пока не очень. При том,  что я в жлезках 433 разбираюсь.. Есть приборы, приемник и т.д.  

FGD
FGD аватар
Offline
Зарегистрирован: 09.04.2019

Ну если у тебя 433 МГц, попробуй библиотеку iarduino_RF433, у iarduino есть еще и примеры с работой, так что удачи. p.s. сам ничего не понял с библиотекой VirtualWire.

b707
Offline
Зарегистрирован: 26.05.2017

FGD пишет:

сам ничего не понял с библиотекой VirtualWire.

а что там понимать? Вроде все очевидно. У меня аналог ВиртуалВайре в двух проектах используется.