This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

两个节点绑定的问题



我的理解,节点为了节能,节点通信都是定时睡眠+轮询。但是,在一个网络里,某两个节点绑定后,他们没有通过第三个点连接,这两个节点如果通信的话,接收数据的点,是不是应该一直保持接收状态啊?还是其他方式传输的?

  • 你是说zigbee吗? 如果是coordinator和router都是主电源供电,一般是需要处于接收状态的。ED不路由,所以可以电池供电和周期性唤醒睡眠。采用polling方式,ED的父节点则会缓存到ED的数据,当ED轮询时转发数据给ED.

    Coordinator

    •Starts a non-beaconed PAN
    •Allows other devices to join it
    •Buffers messages for sleeping End Devices
    •Provides binding and address-table services
    •Routes messages
    •Dynamically repairs routing
    •Can have I/O capability
    •Manages security
    •Radio always on

    Router
    •Does not own or start PAN  (Scans to find a network to join)
    •Allows other devices to join it after PAN has been started
    •Routes messages
    •Dynamically repairs routing
    •Buffers messages for sleeping End Devices
    •Support secure messaging
    •Can have I/O capability
    •Radio always on
    End Device
    •Does not:
    –route messages
    –own or start network
    –allow other devices to join it
    •Scans to find a PAN to join
    •Polls parent to get messages (can be disabled)
    •Can be mobile
    •Radio/CPU can sleep
  • 谢谢TY解答,

    嗯,coordinator和router都是保持RX状态,ED都是polling他们获得数据。但对于绑定的这种间接通信,AB是ED, C是AB的parent,假设A和B有binding了,A是源绑定,那么实际通信的情况是,如果A发信息给B,是A先发给C,C在转发给B了对吧??

    另外还想请教一个问题,对于OSAL的消息列队,A和B通信,A的发送功率大于B,但我的理解,当B给A发送很多消息,而B又发送不出去,就堆积在列队里,那如果超出了预设值,会不会直接指针跳飞了??