Это заблуждение. Сам модуль не в состоянии гарантировать доставку. Об этом много информации в Интернет, в том числе и на русском языке.Кстати, при включенном автоответе можно было бы отказаться от отправки эхо - контроль радиоканала с подтверждением и CRC защитой от ошибок может обеспечить сам NRF модуль:
Arduino Mega Server
Модератор: Alex
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: Arduino Mega Server
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: Arduino Mega Server
Тут вопрос очень мутный. Вот специально сбросил АМС и сенсор , вывел все в сериал.С Москвой разница -1 час ,еще не поправил часы. Как видно все работает и запросы и ответы идут в обе стороны. То есть в скетче всего достаточно и ничего добавлять не надо. А вот дома другой такой же сервер с таким же кодом выдает ошибки , но цифры передаются.
Для работы с несколькими NRF есть помимо труб еще и каналы передачи. Надо попробовать их использовать.
Для работы с несколькими NRF есть помимо труб еще и каналы передачи. Надо попробовать их использовать.
Код: Выделить всё
radio.openWritingPipe(addresses[0]);
radio.openReadingPipe(1, addresses[1]);// первый сенсор
//=====================================================================================
// radio.openReadingPipe(1, addresses[2]);// второй сенсор
//==========================================================================================
radio.startListening();
modulNrf24 = MODUL_ENABLE;
initDone();
}
- Вложения
-
- AMS+sensor.png (111.11 КБ) 10938 просмотров
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: Arduino Mega Server
На мой взгляд, сам вопрос кристально ясный: просто программист библиотеки не смог корректно учесть все состояния системы и система выдаёт ложные срабатывания.Тут вопрос очень мутный.
Нужно просто залезть в библиотеку и посмотреть что и как формирует флаг false. Другое дело. что для этого нужно стать на время программистом библиотеки (с соответствующей квалификацией).
-
- Сообщения: 792
- Зарегистрирован: Пт янв 22, 2016 10:08 am
- Благодарил (а): 6 раз
- Поблагодарили: 63 раза
-
- Сообщения: 792
- Зарегистрирован: Пт янв 22, 2016 10:08 am
- Благодарил (а): 6 раз
- Поблагодарили: 63 раза
Re: Arduino Mega Server
вот код
то вылетаешь сдесь
если у тебя //#define FAILURE_HANDLING//Similar to the previous write, clears the interrupt flags
bool RF24::write( const void* buf, uint8_t len, const bool multicast )
{
//Start Writing
startFastWrite(buf,len,multicast);
//Wait until complete or failed
#if defined (FAILURE_HANDLING) || defined (RF24_LINUX)
uint32_t timer = millis();
#endif
while( ! ( get_status() & ( _BV(TX_DS) | _BV(MAX_RT) ))) {
#if defined (FAILURE_HANDLING) || defined (RF24_LINUX)
if(millis() - timer > 85){
errNotify();
#if defined (FAILURE_HANDLING)
return 0;
#else
delay(100);
#endif
}
#endif
}
ce(LOW);
uint8_t status = write_register(NRF_STATUS,_BV(RX_DR) | _BV(TX_DS) | _BV(MAX_RT) );
//Max retries exceeded
if( status & _BV(MAX_RT)){
flush_tx(); //Only going to be 1 packet int the FIFO at a time using this method, so just flush
return 0;
}
//TX OK 1 or 0
return 1;
}
bool RF24::write( const void* buf, uint8_t len ){
return write(buf,len,0);
}
то вылетаешь сдесь
//Max retries exceeded
if( status & _BV(MAX_RT)){
flush_tx(); //Only going to be 1 packet int the FIFO at a time using this method, so just flush
return 0;
}
надо смотреть что возвращает uint8_t status = write_register(NRF_STATUS,_BV(RX_DR) | _BV(TX_DS) | _BV(MAX_RT) );
-
- Сообщения: 35
- Зарегистрирован: Пн авг 22, 2016 9:22 am
- Благодарил (а): 2 раза
- Поблагодарили: 1 раз
Re: Arduino Mega Server
подскажите по датчикам, кто подключал DS18B20 в гильзе?
подключаю по инструкции - амс вообще не запускается,
пробую перебирать провода - либо не запускается вообще, либо запускается нл не определяет датчик.
подключил негильзованный - все работает и определяется.
скачал в интернете простенький скетч для ds18b20 по трехпроводной схеме - работает!
подключаю в АМС - не работает!
загадка...

подключаю по инструкции - амс вообще не запускается,
пробую перебирать провода - либо не запускается вообще, либо запускается нл не определяет датчик.
подключил негильзованный - все работает и определяется.
скачал в интернете простенький скетч для ds18b20 по трехпроводной схеме - работает!
подключаю в АМС - не работает!
загадка...
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: Arduino Mega Server
У меня 5 штук в гильзе. С кодом для сенсора АМС 015 работают все. С ЕСП не хотят - ID определяются правильно , а температуру показывают 127 градусов или 85. По цветам 2 типа - черный корпус ,красный + и белый или желтый сигнал.
Скрин начала работы АМС выложите.
Скрин начала работы АМС выложите.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 35
- Зарегистрирован: Пн авг 22, 2016 9:22 am
- Благодарил (а): 2 раза
- Поблагодарили: 1 раз
Re: Arduino Mega Server
у меня черный желтый красныйserghei писал(а):У меня 5 штук в гильзе. С кодом для сенсора АМС 015 работают все. С ЕСП не хотят - ID определяются правильно , а температуру показывают 127 градусов или 85. По цветам 2 типа - черный корпус ,красный + и белый или желтый сигнал.
Скрин начала работы АМС выложите.
какой скрин? при подключении датчика ардуино не работает, даже порт в системе не определяется.
с негильзованным так:
AMS Mega (0.16) started...
- Вложения
-
- ams ds.jpg (114.13 КБ) 10839 просмотров
-
- Сообщения: 2575
- Зарегистрирован: Пт ноя 06, 2015 10:22 am
- Откуда: Кишинёв
- Благодарил (а): 303 раза
- Поблагодарили: 282 раза
Re: Arduino Mega Server
Вообще то у Меги проблем с далласами нет. Даже если не правильно прописать ID сервер должен запуститься. Черный и красный на землю, желтый сигнал через 4,7 ком на +5 вольт. В коде прописал ID далласа ?( у тебя один ).
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
-
- Сообщения: 35
- Зарегистрирован: Пн авг 22, 2016 9:22 am
- Благодарил (а): 2 раза
- Поблагодарили: 1 раз
Re: Arduino Mega Server
да пробую подключить по одному
красный+черный на землю,
желтый на пин2 и на +5 через сопротивление. (негильзованнный так работает)
датчик не определился в порту,
паразитное питание показывает off
в коде прописан только 1 даллас, который смог подключить,
насколько я понимаю, в мониторе порта как раз и смотрим адреса датчиков чтоб их потом прописать.
красный+черный на землю,
желтый на пин2 и на +5 через сопротивление. (негильзованнный так работает)
датчик не определился в порту,
паразитное питание показывает off
в коде прописан только 1 даллас, который смог подключить,
насколько я понимаю, в мониторе порта как раз и смотрим адреса датчиков чтоб их потом прописать.
- Вложения
-
- ams ds0.jpg (109.74 КБ) 10831 просмотр