NRF24L01 Сеть

Мы уже проверили Xbee, ZigBee и другие альтернативы и пытаемся найти способ создать хорошую и дешевую сетевую систему. NRF24l01 выглядит хорошо, но на самом деле 32 байта недостаточно. Несмотря на это, похоже, мы его воспользуемся, но есть вопросы;

Сценарий вопросов содержит 1 ведущее и 300 ведомых устройств с NRF24l01. Мы думаем о создании системы адресации, подобной компьютерным сетям, и каждое сообщение будет содержать идентификатор устройства или тег группы устройств. Мастер будет в центре комнаты. В комнате нет внутренних стен или препятствий. Максимальная дальность действия — менее 100 м².

1) Могут ли сообщения быть повреждены или задерживаться?
2) Есть ли готовая библиотека для Arduino для такого рода связи?
3) Как вы думаете, есть ли лучшее решение для такого типа мастера и усилителя? сетевая логика подчиненных устройств (должна быть дешевой и стабильной) ?

, 👍1

Обсуждение

Google NRF24L01 сетка, @jsotola


1 ответ


Лучший ответ:

2

1) Могут ли сообщения быть повреждены или задерживаться?

Для однонаправленного соединения от главного к одному подчиненному нет, не должно быть никаких повреждений (по крайней мере, не вызванных наличием большого количества подчиненных устройств). Да, для двунаправленной связи от главного к нескольким подчиненным одновременно — да, вы столкнетесь с проблемами, когда подчиненные попытаются ответить. Будет полезно, если ваш протокол будет максимально простым.

2) Есть ли готовая библиотека для Arduino для такого рода связи?

В том, что вы предлагаете, нет ничего особенного. Библиотека RF24.h, вероятно, справится с этой задачей (хотя я никогда ею не пользовался, поэтому не спрашивайте меня, как ее использовать).

3) Как вы думаете, есть ли лучшее решение для такого типа мастера и amp; сетевая логика подчиненных устройств (должна быть дешевой и стабильной)?

На самом деле они все немного многогранны. Радиосвязь - это радиосвязь. Важно то, как вы его используете.

nRF24L01+ имеет ряд преимуществ, которые означают, что вы можете делать некоторые вещи аппаратно:

  • Несколько каналов приема, каждый со своим собственным адресом, поэтому вы можете использовать один для адреса устройства, один для группового адреса и один для глобального «широковещательного» адреса.
  • Автоматическое подтверждение и повторная отправка неудавшихся пакетов для более надежной связи (только для индивидуальной связи)
  • Автоматическая пакетизация, поэтому вам не придется беспокоиться о создании собственного низкоуровневого протокола.
  • Прямое общение с низкой задержкой.
  • Опция усилителя мощности для большей дальности действия.

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

nRF24L01+, вероятно, является хорошим выбором для такого рода связи, однако будьте осторожны с дешевыми устройствами-клонами: некоторые из них имеют встроенную ошибку, из-за которой они несовместимы с другими устройствами nRF24L01+.

,

Я был удивлен, узнав, что RF24.h поддерживает пакетизацию, которую я прочитал как поддержку полезных данных размером более 32 байтов. Не могли бы вы дать ссылку, которая это объясняет?, @Christian Lindig

@ChristianLindig Под пакетизацией я подразумеваю, что она занимается всем построением кадра, CRC и т. д. Вам все равно придется разделить данные на куски по 32 байта и добавить любую другую идентифицирующую нумерацию сегментов., @Majenko