zoukankan      html  css  js  c++  java
  • XBee API Library for Processing

    Dan Shiffman and I are continuing development on a Processing library for Digi’s XBee radios. Tom Igoe has also contributed code. The library now facilitates receiving multiple sample I/O packets in API mode (ATAP1) from both the 802.15.4 and ZNet 2.5 XBee radios, and returns an object that contains the analog values, digital values, sender’s address and RSSI values. We started with I/O frames because the only way to receive this information is via API mode. The ability to send remote AT commands is now included. The library has been tested on Mac OS X and Windows platforms.

    DOWNLOAD

    DOCUMENTATION

    XBeeReader class

    XBeeReader constructor takes the parent PApplet “this” and a reference to a made serial port

    port = new Serial(this, Serial.list()[0], 9600);
    xbee = new XBeeReader(this,port);

    start() – takes in the string of your setup commands and returns a string of responses. The first command in the string must begin with AT. Any commands that follow must be separated by commas and do not use AT. There is no comma after the last command.

    println("Setting up Xbee"); String response = xbee.start("ATRE,ID3333,MY89,DH0,DL0");
    println("Setup response: " + response);

    getXbeeReading() – returns the XBeeDataFrame object

    XBeeDataFrame data = xbee.getXBeeReading();

    XBeeDataFrame class

    Contains the information delivered in an XBee data frame. IN THIS INITIAL EXAMPLE IT IS ONLY I/O DATA. The available methods are:

    getAddress16() – returns the 16-bit transmitter address as an integer
    getAddress64() – returns the 64-bit transmitter address as an long
    getRSSI() – returns the RSSI reading in dBm as an integer (XBee Series 1 only)
    getTotalSamples() – returns the total number of samples contained in the data frame
    getDigital() – returns an array of integers that represent the current state of each digital channel with -1 indicating that the channel is not configured for digital. Use this when there is only one sample per frame.
    getDigital(int n) – returns the nth sample of digital data as an array of integers with -1 indicating that the channel is not configured for digital.

    getAnalog() – returns an array of integers that represents the current state of each analog channel with -1 indicating that the channel is not configured for analog. Use this when there is only one sample per frame.
    getAnalog(int n) – returns the nth sample of analog data as an array of integers with -1 indicating that the channel is not configured for analog.

    int addr = data.getAddress16();
    int rssi = data.getRSSI();
    int[] digital = data.getDigital();
    int[] analog = data.getAnalog();

    XBeeEvent function

    This function is similar to SerialEvent. The XBeeEvent is called for you when there is data available from your XBee radio.

    public void xBeeEvent(XBeeReader xbee) {
    	XBeeDataFrame data = xbee.getXBeeReading();
    }
  • 相关阅读:
    vue2.0 keep-alive最佳实践
    Vue解决安卓4.4不兼容的问题
    体验异步的终极解决方案-ES7的Async/Await
    axios在vue中的简单配置与使用
    AngularJS-UI-Router
    SignalR 填坑记
    小心C# 5.0 中的await and async模式造成的死锁
    使用BCP导出导入数据
    关闭正在执行的事务 Kill
    C# 正则表达式
  • 原文地址:https://www.cnblogs.com/CCJVL/p/1663737.html
Copyright © 2011-2022 走看看