datasheets.com EBN.com EDN.com EETimes.com Embedded.com PlanetAnalog.com TechOnline.com  
Events
UBM Tech
UBM Tech

Design Article

Comment


Tim.Gillman

8/30/2010 1:37 AM EDT

To find out more about ZigBee and Wireless Sensor Networking, go to Drew's ...

More...



t.alex

8/1/2010 12:43 PM EDT

I am just curious if there is any wireless standard which specifies C API?

More...

ZigBee applications - Part 2: No common C API

Drew Gislason

7/13/2010 2:40 PM EDT

4.2.2 Ember ZigBee API
Ember is a small start-up company out of Boston, Massachusetts. They are funded by some heavyweight venture capitalists, such as Vulcan. Bob Metcalf, the inventor of Ethernet, is one of the principal investors. Ember is one of 16 ZigBee promoter companies.

Ember makes ZigBee radios, integrated chips, and a ZigBee software stack called EmberZNet. Documentation for the stack can be downloaded from http://www.ember.com. The software is only available in the development kits (see Figure 4.8).

Ember takes a slightly different approach to ZigBee than either TI or Freescale. Ember uses the concept of a transport layer, and enhances the functionality found in ZigBee with a series of data request functions:

  • emberSendDatagram()
  • emberSendSequenced()
  • emberSendMulticast()
  • emberSendLimitedMulticast()
  • emberSendUnicast() sends APS unicast messages
  • emberSendBroadcast() sends APS broadcast messages

Figure 4.8: Ember EM250 Development Kit

Here is an example of using emberSendDatagram():

EmberStatus AppSendDatagram(int8u clusterId, int8u *contents, int8u length)
{
    EmberMessageBuffer message = EMBER_NULL_MESSAGE_BUFFER;
    EmberStatus status;
    if (length ! = 0) {
        message = emberFillLinkedBuffers(contents, length);
        if (message == EMBER_NULL_MESSAGE_BUFFER)
            return EMBER_NO_BUFFERS;
    }
    status = emberSendDatagram(0, clusterId, message);
    if (message ! = EMBER_NULL_MESSAGE_BUFFER)
        emberReleaseMessageBuffer(message);
    return status;
}

Ember uses the concept of linked buffers: a set of 32-byte buffers concatenated to form a larger buffer, for the use of over-the-air message functions.

EmberZNet also offers a variety of interesting features, such as over-the-air (or over Ethernet) updates of the software stack. Of course, updating over-the-air is a two-edged sword: On the one hand, it allows a vendor to provide feature enhancements or bug fixes across the ZigBee network. On the other hand, it opens a potential security hole, one that attackers could use to change the behavior of the network through the update mechanism.

Also differently than TI or Freescale, Ember uses Ethernet, not USB, to connect the development PC to the ZigBee boards (not surprising, considering Bob Metcalf's involvement with Ember). An advantage of the Ethernet approach is that a corporation can provide access to the ZigBee devices from anywhere inside the company, if set up correctly by the IT department. A disadvantage lies in price: Ember's kits tend to be more expensive than their competition.

Ember provides the InSight development environment with their kits, which can debug both single nodes, and the entire ZigBee network, over-the-air. InSight allows a developer to:

  • Debug hardware
  • Monitor application or debug data
  • Monitor radio data packets

Most other vendors use the Daintree Sensor Network Analyzer I introduced in Chapter 3, "The ZigBee Development Environment."

Ember uses the concept of a transport layer and includes over-the-air updates.





splrf

7/18/2010 9:39 AM EDT

Hmm.. A generic API to go on top of the different platforms. It sounds like an interesting community project.

Sign in to Reply



t.alex

8/1/2010 12:43 PM EDT

I am just curious if there is any wireless standard which specifies C API?

Sign in to Reply



Tim.Gillman

8/30/2010 1:37 AM EDT

To find out more about ZigBee and Wireless Sensor Networking, go to Drew's website: www.sanjuansw.com

Sign in to Reply



Please sign in to post comment

Navigate to related information

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)