class IXBeeNode

Library: IoT/XBee
Package: Generated
Header: IoT/XBee/IXBeeNode.h


This class provides a high-level interface to a Digi XBee device using the Digi XBee API frame-based protocol. This class can be used with all XBee devices supporting the XBee API frame-based protocol, including ZigBee devices. Actually supported methods and events are depending on the kind of XBee device, e.g., an 802.15.4 module won't support ZigBee-specific API frames, and vice-versa. Please refer to the XBee product manual for detailed information about the API.


Direct Base Classes: Poco::OSP::Service

All Base Classes: Poco::OSP::Service, Poco::RefCountedObject

Known Derived Classes: XBeeNodeRemoteObject

Member Summary

Member Functions: isA, queueCommand, remoting__enableEvents, remoting__typeId, sendCommand, sendExplicitAddressingZigBeeTransmitRequest, sendFrame, sendRemoteCommand, sendTransmitRequest, sendZigBeeTransmitRequest, type

Inherited Functions: duplicate, isA, referenceCount, release, type

Types Aliases


using Ptr = Poco::AutoPtr < IXBeeNode >;




Creates a IXBeeNode.


~IXBeeNode virtual

virtual ~IXBeeNode();

Destroys the IXBeeNode.

Member Functions

isA virtual

bool isA(
    const std::type_info & otherType
) const;

Returns true if the class is a subclass of the class given by otherType.

queueCommand virtual

virtual void queueCommand(
    const IoT::XBee::ATCommand & command
) = 0;

Queues an AT command for execution on the connected XBee device.

In contrast to sendCommand(), new parameter values are queued and not applied until either sendCommand() is called or the Apply Changes (AC) AT command is issued. Register queries (reading parameter values) are returned immediately.

remoting__enableEvents virtual

virtual std::string remoting__enableEvents(
    Poco::RemotingNG::Listener::Ptr pListener,
    bool enable = bool (true)
) = 0;

Enable or disable delivery of remote events.

The given Listener instance must implement the Poco::RemotingNG::EventListener interface, otherwise this method will fail with a RemotingException.

This method is only used with Proxy objects; calling this method on a RemoteObject will do nothing.

remoting__typeId static

static const Poco::RemotingNG::Identifiable::TypeId & remoting__typeId();

Returns the TypeId of the class.

sendCommand virtual

virtual void sendCommand(
    const IoT::XBee::ATCommand & command
) = 0;

Sends an AT command to the connected XBee device.

sendExplicitAddressingZigBeeTransmitRequest virtual

virtual void sendExplicitAddressingZigBeeTransmitRequest(
    const IoT::XBee::ExplicitAddressingZigBeeTransmitRequest & request
) = 0;

sendFrame virtual

virtual void sendFrame(
    const IoT::XBee::APIFrame & frame
) = 0;

Sends an API frame to the connected XBee device.

The caller is responsible for correct formatting of the API frame's data. Refer to the XBee module documentation for supported frames and their format.

This can be used to send API frames not directly supported by the XBeeNode interface.

sendRemoteCommand virtual

virtual void sendRemoteCommand(
    const IoT::XBee::RemoteATCommand & command
) = 0;

Sends an AT command to a remote XBee device.

sendTransmitRequest virtual

virtual void sendTransmitRequest(
    const IoT::XBee::TransmitRequest & request
) = 0;

Sends a TransmitRequest message to the XBee device.

sendZigBeeTransmitRequest virtual

virtual void sendZigBeeTransmitRequest(
    const IoT::XBee::ZigBeeTransmitRequest & request
) = 0;

Sends a ZigBeeTransmitRequest to the XBee device.

type virtual

const std::type_info & type() const;

Returns the type information for the object's class.



Poco::BasicEvent < const ATCommandResponse > commandResponseReceived;


Poco::BasicEvent < const ExplicitAddressingZigBeeReceivePacket > explicitAddressingZigBeePacketReceived;


Poco::BasicEvent < const APIFrame > frameReceived;


Poco::BasicEvent < const ReceivePacket > ioDataReceived;


Poco::BasicEvent < const IOSample > ioSampleReceived;


Poco::BasicEvent < const ModemStatus > modemStatusReceived;


Poco::BasicEvent < const ReceivePacket > packetReceived;


Poco::BasicEvent < const RemoteATCommandResponse > remoteCommandResponseReceived;


Poco::BasicEvent < const SensorRead > sensorReadReceived;


Poco::BasicEvent < const TransmitStatus > transmitStatusReceived;


Poco::BasicEvent < const ZigBeeReceivePacket > zigBeePacketReceived;


Poco::BasicEvent < const ZigBeeTransmitStatus > zigBeeTransmitStatusReceived;

Securely control IoT edge devices from anywhere   Connect a Device