Сервер находится в режиме ожидания информации от клиентов. А также по импульсу на входе query посылает данные Клиенту.
Клиент может оправлять данные Серверу в следующих режимах:
1. Через заданный в настройках интервал.
2. В ответ на запрос от сервера.
3. По импульсу на входе Send.
Имеется два основных режима работы:
- Есть один Сервер, который посылает данные Клиентам, а те в свою очередь, в ответ отправляют Серверу свой набор данных. Двухсторонний обмен данными.
- Сервер просто слушает, а Клиенты сами отсылают ему данные.
Сейчас существует два вида блоков:
1. Для передачи 6 переменных типа INT.
2. Для передачи строки (тип String) длинной 26 символов.
Описанное выше означает, что за одну посылку можно отправить именно столько данных, но если передавать их последовательно, то количество данных для передачи не ограничено.
Блок позволяет настраивать :
- Канал передачи (рабочая частота)
- Мощность передатчика
- Скорость передачи данных
Подробнее в описании модуля.
В версии 1.0
Данные на выходах блока сохраняются до прихода новых .
В версии 1.1
Доработка произведена по просьбе пользователя zikkgaz24.
-Данные на выходах могут сбрасываться в ноль по истечению заданного в настойках времени.
-Добавлен выход прихода новых данных (New_data), на который выдается одиночный импульс.
MOSI / MI (Master Out Slave In) — вход данных. ( Arduino UNO D11 | Arduino Mega D51)
MISO / MO (Master In Slave Out) — выход данных. ( Arduino UNO D12 | Arduino Mega D50)
CE/SS - Выбор ведомого на шине SPI из нескольких устройств.
SCN - выбор режима приема/передача , фактически тот же CE.
IRQ - выход прерывания, чаще всего не используется. Необходим для немедленной реакции микроконтроллера при приеме нового пакета данных.
GND - земля, масса, минусовая шина.
Vcc -питание модуля 3.3в. Для надежной работы параллельно питанию как можно ближе к радиомодулю рекомендуется подключить электролитический конденсатор не менее 100мкф , а так же керамический на 0.1 мкф.
Попробовал написать блок для с работы nRF24L01 +.
В Си я знаю мало, по сему код получился может и не самый оптимальный.
Идея сделать клиент и сервер.
Клиент отсылает данные по времени или по запросу от сервера.
Сервер опрашивает клиенты или просто получает данные от клиентов.
Так же возможность передачи данных от сервера клиенту.
Если будет возможность и время возможны доработки блоков.
Интересные ссылки по этим модулям:
Описание радиомодуля nRF24L01+
Тест дальности связи NRF24L01+
NRF24L01 - Arduino
NRF24L01 2.4 ГГц радио/беспроводные передатчики и Arduino
скачать