Ви не увійшли.
Сторінки 1
Доброго времени суток !! )) ищу помощь в организации обмена информацией по радиоканалу nRF24 . задача : сервер ардуино посылает команды на 4 клиента с подтверждением полученной информации . три дня бьюсь об монитор с форумами - не могу добиться никакой связи между двумя модулями nRF24.чувствую буду так же еще месяц страдать с тем же эффектом (( прошу помощи у тех кто работал с этими модулями и совсем не безвозмездно готов направить меня на путь истинный ! . с электроникой у меня проблем нет,с программированием тоже - проблема с поиском правильного пути решения этой проблемы и со временем ( не могу сутками пробовать разные варианты ,описываемые на форумах ) готов свои деньги поменять на ваш опыт работы с этими модулями )) в идеале хочу получить скетчи вида : сервер посылает команды на один из 4-х приемников с подтверждением от каждой посылки, а со стороны приемников - коды посылаемых команд . для заинтересовавшихся мне помочь - все вопросы и пожелания об ответной материальной помощи за данный труд на мыло sermokik@gmail.com или по телефону 0663940725 Спасибо всем откликнувшимся ))
Неактивний
Пример кода в студию!
по библиотеке RF24 все последовательно и кропотливо делал по сообщениям ИгорьК вот с этого форума http://forum.amperka.ru/threads/nrf24l01-%D0%BF%D0%BE%D0%B1%D0%B5%D0%B6%D0%B4%D0%B0%D0%B5%D0%BC-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C.3205/
Неактивний
#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
#include "printf.h"
RF24 radio(9,10); // Определяем рабочие ножки;
const uint64_t pipe = 0xE8E8F0F0E1LL; // Определяем адрес рабочей трубы;
void setup(){
radio.begin(); // Старт работы;
radio.enableAckPayload(); // Разрешение отправки нетипового ответа передатчику;
radio.openReadingPipe(1,pipe); // Открываем трубу и
radio.startListening(); //начинаем слушать;
}
void loop (){
uint32_t message = 111; //Вот какой потенциальной длины сообщение - uint32_t!
//туда можно затолкать значение температуры от датчика или еще что-то полезное.
radio.writeAckPayload( 1, &message, sizeof(message) ); // Грузим сообщение для автоотправки;
if ( radio.available() ) { //Просто читаем и очищаем буфер - при подтверждении приема
int dataIn; //передатчику приемник протолкнет ему в обратку наше сообщение;
bool done = false;
while (!done) {
done = radio.read( &dataIn, sizeof(dataIn)); // Значение dataIn в данном случае
//не важно. Но его можно использовать и как управляющую команду.
}
}
}
Неактивний
#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
#include "printf.h"
RF24 radio(9,10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
uint32_t message; // Эта переменная для сбора обратного сообщения от приемника;
void setup (){
radio.begin();
radio.enableAckPayload();
radio.openWritingPipe(pipe);
}
void loop(){
int command = 555; // Не суть - приемнику надо что-то передать, но это может быть и полезная информация;
radio.write( &command, sizeof(command) ); //Отправляем команду;
if ( radio.isAckPayloadAvailable() ) { // Ждем получения...
radio.read(&message,sizeof(message)); //... и имеем переменную message с числом 111 от приемника.
}
}
Неактивний
Сторінки 1