Как стать автором
Обновить

Комментарии 31

Подскажите, какова дальность связи?
Действительно, удобно, но для ардуино занимается аж 5 портов (если я правильно понял). А как с энергопотреблением?
Насчет портов — да, за удобства надо платить, но с другой стороны можно цеплять другие SPI устройства на эти же пины. Про энергопотребление надо даташит смотреть. Но там есть возможности регулировки мощности передачи и отключения модуля.
А почему «аж»? SPI — это 4 вывода, здесь Nordic конечно отличился выводом OE, но это на 1 больше, откуда «аж» (кстати, есть еще IRQ). Один модуль == одна сенсорная нода, чем вы остальные ноги забивать собираетесь, большинство из них в большинстве случаев будет не задействовано (в этом смысле Arduino на atmega328 — слишком жирно, туда надо attiny13).
признаю, погорячился :)
Подерживаю вопрос насчёт мощности передатчика и примерной дальнобойности в прямой видимости. На оф сайте про это ни слова, так что могу предположить что радиус действия удручающе мал :-( И ещё ни слова про дуплекс. Вряд ли эти трансиверы умеют полный дуплекс но мало ли?
О, нашёл в даташите. Open transmission distance of about 20-50 meters(for reference only)
Не врут, где то так и получается: уверенный прием в пределах квартиры.
Дуплекса конечно нет. Выйти на улицу проверить дальность связи в прямой видимости так и не собрался.
Дальность зависит от наличия усилителя мощности и антенны. Смотреть на модуль с антеной на плате и спрашивать про дальность imho бесполезно, ну разве что в первый раз с таким сталкиваешься, в остальном, все так же как с каким-нибудь смартфоном и Bluetooth — 10-30м, частота-то та же. Найти nRF24 с PA и выводом на SMA не проблема, было бы желание потратить больше денег. Но зачем? Если на 20000км бить, так это либо мегаватты, либо GSM (с платой за трафик), а эти модули предназначены для того, чтобы стоить копейки, и быть тыканными в каждую щель (а там уже подымать mesh network если надо).
Тут же автор описывал законченный модуль, т.е. уже с каким-никаким усилителем и антенной на борту. Я вот смотрю на лежащий под рукой APC220 и читаю мануал по нему где указана максимальная дальность при идеальных условиях при родной антенне. В реальности, конечно, дальность поменьше, но на 200-300 метров бьёт гарантированно. Я по-этому и спрашивал, ибо 10-30 метров мне мало, а APC220 некоторыми нюансами не совсем устраивает.
По приведённой вами ссылочке интересная железка, спасибо. Кстати, там как раз приведены примерные данные про ориентировочную дальнобойность :-) Делить всё на два и почти актуально будет.
Все-таки «дальнобойность» — не очень научное понятие, если им пользоваться, гарантированы разочарования («больше 2 стен не бьет», пичаль, особенно, если стены металлические). Стоит добавить ясности, что оригинальный nRF24L01+ дает до +0dBm сигнал с чипа, а BK2421, являющийся его китайским «усовершенствованием» — уже +5dBm. Дальше нужно добавить gain (или loss) используемой антенны — четвертьволновой, полуволновой или полноволновой (вот здесь я уже пасс, может woddy поможет ;-) ). В том модуле от itead еще PA на +20dBm. Вот так можно по крайней мере сравнивать, у какого модуля волна «толще» (и знать, как ее увеличить, ибо незачем в 10 раз больше платить, если можно проводок припаять).

Кроме мощности, на дальность еще влияет скорость передачи (иными словами, полоса пропускания канала). Забавно, что типичный WiFi имеет те самые +20dBm, а правило (правой? левой? третьей?) руки о дальности устройств 2.4Ghz действует и на не него — те же самые 10-30м, из-за большей скорости. Вот и ваш APC220 заявлен на километр (кстати, напишите, на каком он реально чипе сделан плиз), а скорость? 9600бит/с. Ну вот и нордик на 256кбит/с будет бить подальше чем на 2мбит/с (диапазон его скоростей).
APC220 на adf7020-1BCPZ. По паспорту заявлено 1000м при 9600бит/с, я проверял метров 200 на 19200бит/с. Использую для управления ездящими хреновинками, мегабитные скорости не нужны. Но очень не хватает фулд-дуплекса :-(
По поводу фулл-дуплекса что сказать — тот же здравый смысл: чтобы был реальный фулл-дуплекс, нужно 2 физических канала — 2 провода, либо 2 частоты (и 2 антенны соответственно). Реально радиотехнологий, имеющих «железный» дуплекс — раз-два и обчелся. Вон, 802.11n с MIMO антеннами его несомненно имеет ;-). Большинство других радиотехнологий — нет, в частности за ненадобностью. Вместо этого используются различные *DMA (TDMA, CDMA) которые при достаточной скорости передачи и подходящем размере пакета дают тот самый «дуплекс» на полудуплексном носителе, вполне пригодный для realtime audio например (GSM, гарнитуры Bluetooth, etc.)

В этом смысле, гигарцевые частоты лучше, поскольку частотная полоса больше и скорость тоже выше. Еще один плюс — малые размеры антенны. А вот по дальности и «пробиваемости» однозначно проигрывают субгигагерцовому диапазону. Где тут компромисс — не знаю, но я бы побоялся ставить 2.4GHz на *управление* летающей моделью, так что ваш APC220 на 433MHz вполне там к месту IMHO. А антенну в конце концов можно протянуть по «фюзеляжу» ;-).
Не, для самолёта эт у меня только обратный канал, с борта на землю. А вот как управление — как раз аппа на 2.4ГГц :-)
Ппро стены я молчу, между комнатой и кухней три стены (железобетон), пробивает без проблем, линк на 19200, но это не особо интересует. Дальнобойность интересует первым делом в прямой видимости (телеметрия на р/у самолётике).
На 2.4Ггц радикально лучше не будет, очень хорошо стены сигнал ослабляют.
В домах — вся надежда на диапазон 433 Мгц.
Знаю вас по другим форумам, обычно дельные советы даете. Но тут странно — может вы за неправильную цену модуль брали? Потому что модуль за $2.5, бьющий через 2 стены — это просто хит, не палите ссылки ;-). С усилителем на 10 киловатт будет уже другая цена и другой чемодан батареек для переносной версии. А так эти модули можно брать мешками, подмешивать в штукатурку, и пускать по ним потом mesh сети.

P.S. Модуль от BIC сделан по рефенсной схеме от Nordic с четвертьволновой антенной, модуль описываемый здесь в статье (и который на iteadstudio к примеру) — судя по всему на полуволновой, а вы бы вот действительно, написали бы статью, какой проводок, какой толщины и длины, в какую точку платы запаять, а то большинство тут имеет об этом только теоретическое представление и сами пробовать не полезут ;-).
спасибо за замечание :)
я в радомодулях не разбираюсь. была конкретная задача, я её решал тем что было под рукой. меня удивило что вайфай через пару стен при мощности 20мвт работает, а этот модуль упорно теряет пакеты. прикручивать антенны и проводить опыты некогда было, подключил другой гораздо более дорогой модуль :)
А не пробовали включать через SPI-расширитель? Микросхемы эти вродебы неочень дорого стоят, зато решится вопрос с занятыми портами.
Какие расширители SPI? Зачем?
Спасибо за статью. IMHO, этот Inhaos вылупился недавно, сам слежу за ним где-то с пол-годика на ebay, и тут на тебе — статья на хабре ;-).

> На мой взгляд получается очень доступное и интересное решение для системы типа «умный дом» — куча дешевых радио модулей, которые благодаря цене можно встраивать даже в лампочки

Те же самые мысли. Я долгое время разбирался с Bluetooth-модулями, как казалось бы, самыми легкими в управлении, но разочаровался из-за емкости сети (реально park mode фиг кто поддерживает, и того ограничение на 7 устройств) и емкости потребления (не смог заставить HC-04 потреблять менее 2мА, даже в спящем режиме).

Вернулся к nRF24, IMHO да, вся надежда на них ;-). Надо только написать нормальный протокол. Чтоб, простите, без всяких эмуляций SharedMem по радиоканалу :-D.
А какой протокол «нормальный»?
Вот несколько requirement'ов:

1. API, соответствующий предметной области. Если суть работы состоит в передаче и приеме пакетов, то пусть методы протокола так и называются.
2. Consistent API. Этим грешат NRF24 и RF24 (пара самых развитых библиотек, что я знаю, названия блещут разнообразием ;-) ).
3. Полный API по управлению модулем, без assumption'ов, что юзер будет пользовать только то, что написал автор — юзер хочет пользовать все возможности модуля. Этим грешат все библиотеки ;-).
4. Поддержка даже самых простых сценариев взаимодействия по протоколу (на сенсорной ноде нажали кнопку — она проснулась, отправила один пакет без подтверждения, заснула).
5. Поддержка даже самых сложных сценариев взаимодействия по протоколу — mesh routing в сетях из миллионов нод. (Реализовывать сразу не надо, но надо продумать, как это сделать.)
6. Модульность реализации — чтобы можно было выбрать МК под фичи конкретной ноды, и минимальную ноду можно было собрать даже на самом простом МК.
7. Поддержка security: encryption, replay protection, pairing, key distribution.
Круто. Когда планируется первая бета? :)

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

Писать с нуля очень, очень не люблю, верю в open source и т.п. И на данный момент закончил обзор существующих решений, и увы, ничего нересурсоемкого (а я-то как раз отметил такое требование) и open-source'ового не нашел. Есть интересные пропраетарные решения от вендоров — Jazelle от Nordic, SimpliciTI oт TI, MiWi от Microchip. Для код доступен, его даже можно использовать для себя, и можно даже без royalty. Но вот третьим лицам права на дальнейшие свободные изменения передавать нельзя, т.е. они не являются open-source.

Главный вин этих устройств в дешевизне, не только по деньгам а и по потребляемым мипсам и килобайтам.


Если вы намекаете, что «для более „серьезных“ примений есть более подходящие средства», то been there, did that, вот мои каменты в соседней теме — там при виртуальных возможностях куда больший бардак и хотелки, что сводит на нет всю пользу от них. Собственно, интерес к Nordic'у — это результат последнего прозрения на эту тему.

сам по себе весьма не плох, и свести на нет часть этих преимуществ


Я бы разделял «простоту» и «примитивность». Для меня штука с громким названием «Enhanced ShockBurst» это пример именно последнего качества. Очень хорош для обучения (вот один из старейших ресурсов по nRF24 как раз посвящен обучению, туда же я отношу и эту вашу статью и мою вчерашнюю rapid prototype по управлению жалюзи). Еще хорош для выброса на рынок некачественных продуктов. Например, если вы фирма Microsoft, то можете позволить себе впаривать попуасам клавиатуры, которые снифаются направо и налево.

И не нужно думать, что у nRF24 на роду написано быть такими. О том, «как надо», Nordic показывает на примере nRF24LE1, у которого встроенный AES акселератор и random генератор.
Нересурсоемкую реализацию криптографии, вы еще долго искать будете :)

Успехов в написании библиотеки. Я бы бесплатно за такую работу не взялся. На мой взгляд эти модули, при всех их достонствах, не более чем игрушки для хобби проектов.
nRF24LE1 старший брат RF-2410U, а значит криптография на C8051 крутится. Для ваших запросов, кстати, отличное решение — всю библиотеку можно спихнуть на отдельный МК. Только вот цена возрастает в 4 раза, и я так думаю, что исходниками прошивки Nordic делиться не собирается.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.