Jump to content

    
Sign in to follow this  
subver

Растолкуйте про адресацию Xbee модулей.

Recommended Posts

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

В ДШ написано так:

 

Short 16-bit addresses. The module can be configured to use short 16-bit addresses as the

Source Address by setting (MY < 0xFFFE).

 

Однако у меня не получается ничего записать в регистр MY.

 

Оба устройства прошиты как ZNET 2.5 ROUTER/END DEVICE

 

Как записать в устройство свой адрес?

Share this post


Link to post
Share on other sites

Когда "игрался" с простыми (не про) модулями первой версии всю конфигурацию модулей (как и апгрейд прошивки) делал через фирменную утилиту X-CTU. Всё замечательно управлялось и прописывалось. Адресация у меня была короткая.

Share this post


Link to post
Share on other sites

Похоже я не ту версию дш читал )

в новом про запись в MY нет ни слова. Вроде разобрался.

 

Еще вопрос: какими способами можно ускорить присоединение устройства к сети, либо вообще обойтись без такого присоединения (если возможно)?

Смысл - включилось устройство, по быстрому сплюнуло пакетик и выключилось.

 

Или для такой задачи что то другое стоит применить?

 

Одновременно "плевать" могут до 8 устройств. Но эти 8 не обязательно одни и те же.

Share this post


Link to post
Share on other sites

Насколько я помню как такового присоединения к сети нет. По крайней мере для модулей первой версии. Модуль включается, оценивает занятость канала и если он свободен начинает передачу. Передача может быть как с подтверждением так и без. Что-то типа TCP и UDP. При одновременной посылке восьми девайсов придётся бороться с коллизиями. Можно бороться средствами самого модуля (там вроде есть число повторов при неудачной передаче) или средствами верхнего слоя софта. Борьба с коллизиями стандартная. Можно попробовать разнести девайсы по разным каналам, но тогда понадобится несколько приёмников.

Share this post


Link to post
Share on other sites
... Смысл - включилось устройство, по быстрому сплюнуло пакетик и выключилось.

Одновременно "плевать" могут до 8 устройств ...

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

Использовал пакет API 0x10, но там задается 64-битный адрес координатора (я так понял - это серийный номер, который нельзя изменить) и 16-битный адрес. Но допустим координатор сломался, его заменили (вместе с модулем), соответственно 64-битный номер сменился, и что, перешивать все конечные точки? Или как-то можно сделать НЕ широковещательную передачу (с подтверждением ACK) используя только 16-битный адрес???

В команде API 0x10 нужно указывать и 64-битный адрес и 16-битный, вот в чем проблема.

 

В продолжение темы.

 

Хм...

Указываю 64-битный адрес 0x00000000 - сообщение приходит к координатору.

Указываю 16-битный адрес не 0х0000 (у координатора всегда 0x0000, я так понял) - сообщение тоже приходит к координатору.

Не понятно - это широковещательная передача или нет?

Share this post


Link to post
Share on other sites

Докопался, можно указать 64-битный адрес 0х00000000, тогда передача будет по 16-битному адресу.

Но вот что непонятно.

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

В чем может быть проблема???

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this