Работает ли библиотека RF24 (от TMRH20) на STM32F103?

анистор
SAT 13 июня 2015 г. 14:26
Привет,

Кто -нибудь пытался использовать эту библиотеку https: // github.com/tmrh20/rf24 (или его старая версия https: // github.com/maniacbug/rf24) для устройств NRF24L01 на STM32F103?

Похоже, он компилируется без ошибок для этой платы, но у меня еще нет устройства, чтобы на самом деле его проверить. Кроме того, посмотрев на код, я не мог выяснить, может ли эта библиотека работать с вторичным SPI.

Спасибо!
Адриан

Ахулл
Сб 13 июня 2015 г., 19:46
Хороший вопрос, у меня где -нибудь есть пара этих устройств, у меня может быть шанс проверить позже на этой неделе. Если кто -то еще чувствует себя как избиение меня, не стесняйтесь делать это.

mrbwa1
Ср 17 июня 2015 г., 16:40
Это в моем списке, чтобы посмотреть. Я на самом деле больше привык к RF24MESH от TMRH20. Это действительно похоже на библиотеку Mysensors Arduino. Я хотел бы в конечном итоге заставить этого работать, но это, вероятно, займет некоторое время.

RF24Mesh и Mysensors хороши, потому что они заботятся о многих настройках, чтобы вы могли просто добавить и расширить (Mysensors специфичны для добавления датчиков в различные решения для автоматизации дома)

Rogerclark
Пн, 6 июля 2015 г., 21:46
Вы имеете в виду, rf24l01 доски ?

Если так, то у меня тоже есть несколько из них, но я никогда не имел большого успеха с ними, даже на AVR.
Диапазон казался довольно низким, и не пошел бы, хотя многие внутренние стены гипсового пласта.

PAV2000
Вторник 29 сентября 2015 г. 14:06
Я работал с этой библиотекой (ссылки TMRH20S: http: // tmrh20.блог.Ру/ и https: // github.com/tmrh20). Используя Maple Mini. В то же время я сделал небольшое изменение в коде:

1. Исправляет модуль RF24.CPP для Maple Mini был в функции void rf24 :: csn (режим Bool) #if! defined (SOFTSPI) _SPI.setBitOrder (MSBFIRST); _SPI.setDataMode (SPI_MODE0); _SPI.setClockDivider (SPI_CLOCK_DIV2); // Lower frequency !!!!! #endif

Стевех
Ср 30 сентября 2015 г. 12:13
Гораздо лучше использовать радиоприемники, узкополосные, чем 2.4 ГГц. Законы физики плюс доски на основе NRF, в общем, слишком дешевые (низкая мощность и т. Д.)

Вот некоторые ссылки, которые могут быть новыми для вас.

Радио - в США это основной дистрибьютор - они выполняют низкие заказы, как правило, как правило. Хоперф - достойный производитель азиатских советов; Они используют радиоплики от двух американских производителей.
http: // anarduino.ком/

Этот стек с открытым исходным кодом, совместимый с Arduino, находится в C++. Я и другие внесли несколько простых изменений, чтобы запустить его на STM32.
В нижней части этого стека протоколов - драйверы для большинства досок Хоперфа, а также радиоприемники от других поставщиков тоже.
http: // www.Airspayce.com/mikem/arduino/radiohead/

Модуль RFM69HW, размещенный на плате MCU (H для высокой мощности) - я использовал много из них. Нет. Америка, используйте 902-928 МГц полосы; в ЕС и некоторых других местах, 868 МГц. Полоса 433 МГц существует в США и в других местах, но регулирующие ограничения на цикле работ передатчика являются серьезными.

Как и в любом радио, диапазон регулируется:
  • Ширина канала (узкий = лучший диапазон)
  • Скорость модуляции (ниже = лучший диапазон, i.эн., Не пытайтесь 50-100 кбит / с и ожидайте самого длинного диапазона)
  • Индекс модуляции FM (для этих в основном радио FM/GFSK)
  • Сила передатчика
  • Усиление (ы) антенны от выбора антенн - направляющая или направляющая в зависимости от топологии сети.
  • Местность и другие недостаточные нарушения на просмотр.
Для линии пути зрения мы можем легко рассчитать достижимый диапазон (как бюджет ссылки). У меня есть таблица, которую я использую для этого,.
Для не-линии зрений, опыт рассказывает тому, чего ожидать. А также испытания.

Пара RFM69HWS (100 МВт), скажем, 30 кбит / с, индекс консервативной модуляции, винопроводные антенны, повышенные до 6 футов., Линия видимости даст разумную частоту ошибок на 100 м. В любом дизайне ссылок вам нужен 10+ дБ затухания (избыточная сила полученного сигнала).

Стек Radiohead включает в себя опцию для режима «надежная данных Datagram».. Это означает, что есть проверки CRC и ретрансляции для коррекции ошибок.
Другие протоколы включают ненадежные дейтаграммы (например, UDP), фиксированную сеть маршрутизации и сеть сетки.

Zoomx
Ср 30 сентября 2015 г., 13:05
RF24L01 Дешевые модули могут быть включены из 3.3v Arduino Line, но я читал, что лучше добавить крышку для лучшей производительности.

Существуют модели с большей мощностью передачи и внешней антенной, вам нужна отдельная мощность, как ESP8266. Они утверждают, что имеют дальний расстояние, но вскоре как xbee. Если вы используете директивные антенны, вы можете достичь очень большего расстояния.

У меня есть дешевые модули RF24L01 и радиомодули Subghz, но я никогда не проверял их на большие расстояния.

Mrburnette
Ср 30 сентября 2015 г., 13:23
Zoomx написал: <...>
У меня есть дешевые модули RF24L01 и радиомодули Subghz, но я никогда не проверял их на большие расстояния.

mrbwa1
Ср 30 сентября 2015 г., 16:37
Луча,

Спасибо за болезненное воспоминание...

Когда мы реконструировали в прошлом году, мы обнаружили, что ванная комната была гипсокартона над штукатуркой над металлическим токаном на большей штукатурке (толщиной почти 1 дюйма). Потребовалось Sawzall с лезвием Diablo, чтобы получить большую часть этого, и многие из углов, которые мне пришлось атаковать с помощью более грандиозно.

Что касается библиотеки RF-24, я все еще работаю над сортировкой своих STM32 и нуждается в том, чтобы посмотреть на библиотеку. Я уверен, что это будет работать с несколькими изменениями, так как другие получили работу NRF24. Я действительно хочу, чтобы режим сетки шел, потому что он самый простой для работы с.

У меня действительно не было проблем с расстоянием в доме с антенной на PCB. Есть версия P wit pa+lna и внешняя антенна (http: // www.Elecfreaks.com/wiki/index.pH ... Pa_and_lna). Они оценены на 1000 м при 250 кбит / с на открытом воздухе с антенной 2DB.

Примат
Пт 13 ноября 2015 г. 14:49
Я перенесла библиотеку RF24 из https: // github.com/maniacbug/rf24 и получил это по большей части. Мне пришлось сделать несколько грубых хаков для функций печати, потому что я не мог заставить их работать иначе, иначе. У меня это разговаривает с Atmega328p, используя ту же библиотеку. Сначала я попробовал библиотеку TMRH20, но не смог заставить ее работать со своим старым кодом, у нее есть некоторые изменения от маниакбуг.

Пинг -наброски работают отлично. Единственное, что странно, это то, что на чипсах AVR вы можете оставить отправителя, и он работает нормально. В моем порте вы должны позвонить в STOPLISTENGING () перед отправкой пакета и вызовов STARTLISTENGING () после отправки, даже если вы ничего не слушаете. Это не всегда может потребоваться, но в моей программе я получаю пакет подтверждения с данными, и это все, что я проверил, кроме примеров, которые все равно делают это. Я думаю, что это что -то со SPI, заканчивающей транзакцию или что -то в этом роде, но я не много размышлял за это. В противном случае он вешает трубку. Это не делает это поведение на AVR.

Я могу опубликовать свою модифицированную версию на GitHub, если хотите. Я не планирую исправлять ошибку в ближайшее время, потому что решил пойти с другим подмолп -радио из Hope RF, потому что мне нужно большее расстояние и больше проникновения стен для моего проекта.

Mrburnette
Пт 13 ноября 2015 г., 16:10
Для того, что это стоит...

У меня есть друг, который ругается: http: // lowpowerlab.com/moteino/

Я думаю, это действительно зависит от того, что намеревается сделать в 2.4G... ESP8266 используется в моем доме (Master GPS DataGram Datagram находится на чердаке, а приемники UDP работают в любом месте дома и в подвале и по периметру участка 1/3 акра. Но я действительно не пробовал TCP, чтобы увидеть, какая более надежная форма общения обеспечит в том же пространстве.
http: // www.хакерс.io/rayburne/tardis- ... сервер-GPS


Луча

Примат
Пт 13 ноября 2015 г., 16:23
Mrburnette написал:ESP8266 используется в моем доме (Master GPS DataGram Datagram находится на чердаке, а приемники UDP работают в любом месте дома и в подвале и по периметру участка 1/3 акра.

Mrburnette
Пт 13 ноября 2015 г., 16:34
Примат писал: <...>
Какой модуль вы используете? Просто стандартная антенна трассировки?

Просто чтобы быть ясным, вы не проходите через свой маршрутизатор, просто ESP8266 к ESP8266 правильно?

Martinayotte
Пт 13 ноября 2015 г., 18:07
Mrburnette написал: Член форума Мартин Айотт (Martinayotte на ESP8266.com) есть несколько опубликованных кода с пировщиком. Мой пример UDP, который был связан ранее, также может быть TCP, просто изменив вызов протокола.
http: // www.ESP8266.com/viewtopic.PHP?F = 27&T = 4080#P23577 (Должен быть зарегистрирован для скачивания)

Rogerclark
Пт 13 ноября 2015 г., 19:49
По моему опыту, диапазон на 24L01 намного меньше, чем Wi -Fi, поэтому я бы определенно попробовал Wi -Fi.

Возможно, вы захотите запустить сканер Wi -Fi и найти канал, который не используется другими маршрутизаторами в вакансине, так как это может вызвать вмешательство и потерю диапазона (но, похоже, это не имеет большого значения)

Если вам нужен более длительный диапазон, вам придется использовать более низкие частоты E.глин. 433 МГц или 915 МГц и т. Д., Но используя устройства для этих полос, E.глин. NRF905 и RFM69 намного ниже скорости передачи данных и т. Д

Mrburnette
Пт 13 ноября 2015 г. 22:10
Martinayotte написал: <...>
Эти примеры теперь довольно старые, но они все еще хороший способ начать ... ;)

ZMEMW16
Сб 14 ноября 2015 г. 12:24
Стагнаты обязательно : D

Martinayotte
Сб 14 ноября 2015 г. 14:15
Mrburnette написал:Хороший рабочий код, как прекрасное вино...

ZMEMW16
Сб 14 ноября 2015 г. 15:40
с очень небольшим вторичным ферментацией/сверканием на корзинге : D

Sslobodyan
Вторник 26 января 2016 г., 17:57
Примат писал:Я могу опубликовать свою модифицированную версию на GitHub, если хотите

Mrburnette
Вторник 26 января 2016 г. 18:24
Может быть, это стоит представить, я еще не скачал.
https: // github.com/lostguard/rf24plus

Луча

ZMEMW16
Вторник 26 января 2016 г., 19:25
Это в SPL, хорошо для просмотра

Tiger762
Ср 27 января 2016 г. 12:31
Что было бы здорово, если бы он был добавлен в проект arduino_stm32

Rogerclark
Ср 27 января 2016 г., 5:03
Вы видели это ?

https: // maniacbug.WordPress.com/2011/12 ... N-Maple-3/

ZMEMW16
Ср 27 января 2016 г. 16:10
Интересно, что хорошо, так это детали изменений, которые он сделал.
SRP

Примат
Ср 27 января 2016 г. 16:13
Rogerclark написал:Вы видели это ?

https: // maniacbug.WordPress.com/2011/12 ... N-Maple-3/

Примат
Ср 27 января 2016 г., 16:34
Вот моя модифицированная версия библиотеки Maniacbug RF24, которую я работал с STM32F103 на платформе STM32Duino. Я получил это работа, но диапазон не был для проекта, в котором он нуждался, поэтому я не отлаживал очень много. Не стесняйтесь отправлять изменения, если вы найдете какие -либо ошибки. Я начинаю новый проект, который буду использовать NRF25L01, поэтому я, вероятно, буду совершать больше изменений в ближайшие недели. Но это сработало для меня в то время, когда я это написал. Если я правильно помню, функция печати в примерах и библиотеке не сработала, поэтому я изменил все последовательные отпечатки на просто последовательный.Печать и сериал.println в самой библиотеке. Вам, вероятно, придется сделать это и в примерах.

https: // github.com/jaretburkett/rf24-stm

Mrburnette
Ср 27 января 2016 г., 17:11
@primateio

Последнее, что я помню, printf не реализован, но Sprintf реализован.

Луча

Rogerclark
Ср 27 января 2016 г., 19:14
Mrburnette написал:@primateio

Последнее, что я помню, printf не реализован, но Sprintf реализован.

Луча

Martinayotte
Ср 27 января 2016 г. 22:24
@Roger, может быть, вы не помнили, но вы начали работу некоторое время назад, не в нашем GitHub, но, вероятно, даже раньше на Leaflab GitHub. ;)
https: // github.com/rogerclarkmelbourne/ ... .H#166-L69

ZMEMW16
Ср 27 января 2016 г. 22:34
это либо gotcha, либо какой -либо прогресс?

Поставляется смайли

Стивен

Rogerclark
Ср 27 января 2016 г. 22:43
Привет, Мартин

К сожалению, я даже не могу вспомнить, как начал это ;-)

Ну, на самом деле смутный отзыв, глядя на это.

Я думаю, что у меня была некоторая проблема, перенаправляя вывод Printf PUTC в USB -сериал.

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

Если у меня будет время (большое если), я посмотрю, что делает ESP8266, и, возможно, смогу учиться на этом (хотя они отправляют ChARS на аппаратное обеспечение через SDK, не в виртуальный последовательный буфер, но, конечно, верно это должно быть очень похоже !)

Martinayotte
Ср 27 января 2016 г. 11:35
Привет, Роджер,
Я на самом деле посмотрел на ESP -версию Printf, а затем посмотрю на STM32, чтобы получить фактическое открытие работы.
Это немного похоже, но, как вы сказали, нам нужно выяснить возможное влияние, а если нет, то включение этого кода по умолчанию.

На ESP здесь, как это выглядит (см. Это ограничено размером MTU 1460):
size_t Print::printf(const char *format, ...) { va_list arg; va_start(arg, format); char temp[1460]; size_t len = ets_vsnprintf(temp, 1460, format, arg); len = print(temp); va_end(arg); return len; }

Rogerclark
Чт 28 января 2016 г. 1:58
Привет, Мартин

Ммм.

ХОРОШО. Это похоже на бог.

Мне нужно посмотреть, что

ets_vsnprintf ()


Я уверен, что я прочитал что -то о перенаправлении вывода PUTC из Vaprintf и т. Д

Но я думаю, что это так далеко, насколько я понял.

Редактировать.

Похоже, нам нужно определить put_ch ()

эн.глин. Я думаю, что эта ссылка имеет некоторую информацию

http: // www.Электро-Техно-онлайн.com/thre ... северо -восточный.135005/

Мадиас
Чт 10 марта 2016 г., 8:55 вечера
ОК, я также наткнулся на библиотеку TMH20 RF24 (это самая последняя библиотека NRF24 и очень удобная в отличие от других).
Я думаю, что возможность - снова посмотреть на гениального Пола Стоффрегена и его подросткового проекта и как он решил функцию «printf» «:« Функция »:
https: // github.com/paulstoffregen/ядра ... /Print.CPP

Может, у меня есть время, чтобы поиграть с этим...

>РЕДАКТИРОВАТЬ< ОК, кажется, как Роджер уже взял подрядную часть для printf. Хорошо, не работала библиотека (совершенно нет ответа, но компилирование - это нормально, как я ненавижу это...). Итак, сначала я собираюсь проверить другую библиотеку NRF24 (ENRF или что -то из Energia), чтобы быть уверенным, что модуль работает хорошо.

Rogerclark
Чт 10 марта 2016 г., 21:04
Спасибо, Матиас

Похоже, Пол называет vdprintf, который он передает указатель на класс печати, так что Vdprintf рассматривает класс печати как какой -то поток файлов (но я могу ошибаться в том, как это работает)

Я предполагаю, что vdfpintf вызывает функцию записи (снова я не уверен)

Но это определенно стоит изучить

Мадиас
Чт 10 марта 2016 г., 21:25
Роджер, я отредактировал свой комментарий... искать дальше, чтобы работать с запуском.

Little Offtopic:
Действительно должен иметь маленький помощник для модулей NRF24 (только 60 центов (евро)):
http: // www.aliexpress.com/item/new-нок ... 27557.HTML
С этими маленькими парнями (хорошо, сможет легко припаять, но за 60 центов...) Все мои проблемы с модулями - это история (помните, что я работаю над множеством различных устройств MCU, поэтому я не могу вспомнить все Max MA для 3.3V, я ленивый, и я фанат преобразователей напряжения для каждого другого модуля)).

Rogerclark
Чт 10 марта 2016 г., 21:58
Привет, Матиас

Я помню, как смотрел на это, более года назад, но я не могу вспомнить, почему это не работает

Я думаю, возможно, это что -то связано с некоторыми функциями, такими как PUTC (), или, возможно, он называется Putch (), не реализованный
Или если они реализованы, они не делают то, что требуется.

Я не думаю, что смогу понять, как настроить связь с этими функциями написания персонажей.

Я уверен, что это задокументировано где -то в Интернете E.глин.

http: // Stackoverflow.COM/Вопросы/1827 ... внутренне

Мадиас
Чт 10 марта 2016 г. 11:06 вечера
ОК, обновление небольшого статуса: не получило rrf24...). Пробовал много вещей, таких как внешняя сила. Я думаю, что endf24 на самом деле не стабилен (иногда светодиод Blue Fading). Итак, мой вопрос: у кого -нибудь есть у кого -нибудь, что вы получите стабильный NRF24? И если «да», с которой библиотека? (Пока я не узнаю, что устройства, вероятно, не сработают, я не вижу смысла копаться в библиотеке TMRH20. Потому что мне нужна стабильная настройка оборудования, по крайней мере,)
Небольшое редактирование: демонстрация сканера Engf24 выглядит как нормально, но демо RX/TX не. Не получит никакой связи между двумя мини -. (Я думаю, что демо -код RX - это проблема, повесить трубку)

Jbforrer
Пт 11 марта 2016 г., 17:42
@madias --- Мне повезло с библиотекой TMRH20 (с небольшим количеством изменений) с использованием синего модуля таблеток.
Прикрепил рабочий пример, используемый с моей домашней сетью датчиков.
Надеюсь, это поможет.

С уважением.
-JBF.

Мадиас
Пт 11 марта 2016 г., 22:25
Большое спасибо, я собираюсь попробовать это в понедельник!

Мадиас
Солнце 13 марта 2016 г. 14:13
Jbforrer написал:@madias --- Мне повезло с библиотекой TMRH20 (с небольшим количеством изменений) с использованием синего модуля таблеток.
Прикрепил рабочий пример, используемый с моей домашней сетью датчиков.
Надеюсь, это поможет.

С уважением.
-JBF.

Rogerclark
Солнце 13 марта 2016 г., 21:42
Спасибо, Матиас

Возможно, я должен добавить его в репо

Мадиас
Пн 14 марта 2016 г., 10:52
Уважаемый Роджер,
Я не думаю, что эта библиотека готова к основному репо, я думаю, что в основном репо должен быть только либера.
Но (!):
Может быть, было бы хорошей идеей сделать папку на GitHub для тех, кто «не 100%? Таким образом, мы можем каждый раз обращаться к этой ссылке GitHub, и мы можем собрать все эти «незаконченные», но очень полезные либера. В противном случае мы потеряли бы много потенциальных кодов за время....
Может быть, хорошим именем GitHub будет «пользовательские библиотеки [не проверены]» или что -то в этом роде. Таким образом, пользователь может сделать «запрос на вытягивание», и вы можете просто принять его, не задумываясь о проблемах совместимости или что -то в этом роде. Если библиотека проверяется несколькими пользователями, ее можно перетащить в основное репо?

Mrburnette
Пн 14 марта 2016 г. 12:01
Конечно, ИМО, наличие непроверенного кода на GitHub-это обоюдоострый меч.
Да, это позволяет удерживаться и архив, но
Он также разрешает область, где источники неизвестны, рабочее состояние неизвестно, а качество неизвестно.

Я боюсь, что традиционные 8-битные до 32-разрядные усилия по портированию будут задержаться в неполном состоянии и просто станут свалкой цифрового Goop.

Мы всегда подчеркивали на форуме, что человек, нуждающийся в библиотеке. Таким образом, когда библиотека завершена и работает удовлетворительно, запрос на тягу может быть выдан Roger. Теперь у нас есть рабочий код и некоторые проблемы, которые могут быть задокументированы.

Просто мои мысли,


Луча

Концзакп
Пн, 3 октября 2016 г., 10:07
@madias

Не могли бы вы добавить пример двухстороннего общения, например, пинг-понг для устройств TX и RX?

заранее спасибо

Мэнни
Пн, 3 октября 2016 г., 17:20
Концзакп написал:@madias

Не могли бы вы добавить пример двухстороннего общения, например, пинг-понг для устройств TX и RX?

заранее спасибо

Концзакп
Вт 04 октября 2016 г. 11:25
Большое спасибо за это! :) К сожалению, у меня все еще есть некоторые проблемы с большим количеством потерянных пакетов. Мне придется проверить это.

Zoomx
Вт 04 октября 2016 г. 12:12
Это может быть проблема с силой. Попробуйте добавить крышку 100 UF в булавки Power.

Мэнни
Вт 04 октября 2016 г. 15:51
Вы также можете попытаться снизить уровень PA и посмотреть, является ли это проблемой с источником питания.
radio.setPALevel(RF24_PA_LOW)

Мадиас
Ср 05 октября 2016 г. 8:56 утра
Основные демонстрации общения работают из коробки с этой библиотекой. Вы можете попробовать «демонстрацию сканера», чтобы вы могли проверить каждый модуль только.
Я всегда использую эти адаптеры:
https: // www.aliexpress.com/item/10pcs-n ... 18663.HTML radio.setPALevel(RF24_PA_LOW)

41300895
Вт 25 октября 2016 г., 17:13
Привет всем, я нашел этот код, который использовал библиотеку TMRH20 RF24: #include #include #include #include // The DHT data line is connected to pin 2 on the Arduino #define DHTPIN 2 // Leave as is if you're using the DHT22. Change if not. //#define DHTTYPE DHT11 // DHT 11 #define DHTTYPE DHT22 // DHT 22 (AM2302) //#define DHTTYPE DHT21 // DHT 21 (AM2301) DHT dht(DHTPIN, DHTTYPE); // PIR variables byte pirPin = 9; int pirCalibrationTime = 30; // Photocell variable byte photocellPin = A3; // Magnetic Door Sensor variable byte switchPin = 12; // Radio with CE & CSN connected to pins 7 & 8 RF24 radio(7, 8); RF24Network network(radio); // Constants that identify this node and the node to send data to const uint16_t this_node = 1; const uint16_t parent_node = 0; // Time between packets (in ms) const unsigned long interval = 1000; // every sec // Structure of our message struct message_1 { float temperature; float humidity; byte light; bool motion; bool dooropen; }; message_1 message; // The network header initialized for this node RF24NetworkHeader header(parent_node); void setup(void) { // Set up the Serial Monitor Serial.begin(9600); // Initialize all radio related modules SPI.begin(); radio.begin(); delay(5); network.begin(90, this_node); // Initialize the DHT library dht.begin(); // Activate the internal Pull-Up resistor for the door sensor pinMode(switchPin, INPUT_PULLUP); // Calibrate PIR pinMode(pirPin, INPUT); digitalWrite(pirPin, LOW); Serial.print("Calibrating PIR "); for(int i = 0; i < pirCalibrationTime; i++) { Serial.print("."); delay(1000); } Serial.println(" done"); Serial.println("PIR ACTIVE"); delay(50); } void loop() { // Update network data network.update(); // Read humidity (percent) float h = dht.readHumidity(); // Read temperature as Celsius float t = dht.readTemperature(); // Read temperature as Fahrenheit float f = dht.readTemperature(true); // Read photocell int p = analogRead(photocellPin); // Testing revealed this value never goes below 50 or above 1000, // so we're constraining it to that range and then mapping that range // to 0-100 so it's like a percentage p = constrain(p, 50, 1000); p = map(p, 50, 1000, 0, 100); // Read door sensor: HIGH means door is open (the magnet is far enough from the switch) bool d = (digitalRead(switchPin) == HIGH); // Read motion: HIGH means motion is detected bool m = (digitalRead(pirPin) == HIGH); // Headers will always be type 1 for this node // We set it again each loop iteration because fragmentation of the messages might change this between loops header.type = '1'; // Only send values if any of them are different enough from the last time we sent: // 0.5 degree temp difference, 1% humdity or light difference, or different motion state if (abs(f - message.temperature) > 0.5 || abs(h - message.humidity) > 1.0 || abs(p - message.light) > 1.0 || m != message.motion || d != message.dooropen) { // Construct the message we'll send message = (message_1){ f, h, p, m, d }; // Writing the message to the network means sending it if (network.write(header, &message, sizeof(message))) { Serial.print("Message sent\n"); } else { Serial.print("Could not send message\n"); } } // Wait a bit before we start over again delay(interval); }

Акронис
Чт 27 июля 2017 г., 6:24
Привет.
Как и какие контакты (PIN) для подключения NRF24L01 к плате STM32F407VET6 (черный), чтобы заставить его работать ?

Chismicro
Чт 27 июля 2017 г. 8:58 утра
Вы можете просто подключить его:
Изображение

Акронис
Чт 27 июля 2017 г. 9:13 утра
Спасибо.
Есть ли рабочий пример для работы на SPI3 с этой доской ?

// радио с CE & CSN подключен к булавкам 7 & 8
Радио RF24 (7, 8);

Как написать для этой платы в этой строке ?
Какие булавки мне написать ?

Джонбой
Ср 17 января 2018 г. 15:16
Всем привет,

Я новичок на этом сайте и разместил вопрос о RF24 и Maple Mini.
Я загрузил пример выше и добавил LIBS на мой компьютер и построил отправитель/приемник.
Все кажется нормальным (кроме некоторых предупреждений о переопределениях во время компиляции).
Но выходной сигнал абсолютно растерян; Даже когда я переключаю отправителя, приемник производит те же случайные числа
Может ли быть так, что библиотеки SPI или RF24 изменились в то же время или что я использую неправильные?


заранее спасибо

Джон

Стивестронг
Ср 17 января 2018 г. 16:40
Не видя, что код довольно сложно сказать, что может быть неправильно.
Может быть, свободный провод?
Питание 5 В <-> 3.3V выпуск?

ZMEMW16
Ср 17 января 2018 г., 19:33
Одна вещь, которую я продолжаю видеть,-это добавить конденсатор приличного размера 10-50 UF на 3V3 на устройстве.
Мои на фактической печатной плате устройства. я.эн. Перемещается с устройством

Стивен

Джонбой
Ср 17 января 2018 г. 11:02
Я попробую совет конденсатора, спасибо

SD Card SDIO