MeshScape™ Commercial- and Industrial-class Wireless Sensor Networks RK-5424-5 Reference Kit for 2.
COPYRIGHT This manual is produced and copyrighted by Millennial Net, Inc. Any use or reproduction of the contents of this manual without the prior written consent of Millennial Net, Inc. is strictly prohibited. NOTICE All title and copyrights to this document are owned by Millennial Net, Inc. No part of the contents of this document may be reproduced or transmitted in any form or by any means without the written permission of Millennial Net, Inc. Millennial Net, Inc.
CAUTION Initialization of the product should be performed only by a qualified systems administrator. Compliance Statements FCC Compliance FCC compliance for Millennial Net’s RK-5424-5 Reference Kit (2.4GHz, 5-3-1) consisting of the following models/components: • EN-5424 end node • MN-5424 mesh node • MG-5424 MeshGate gateway Compliance Statement (Part 15.19) The Millennial Net RK-5424-5 Reference Kit complies with Part 15 of the FCC Rules and with RSS-210 of Industry Canada.
Unlicensed Modular Approval (for OEMs) The URM-G-2400 and URM-M-2400 comply with the FCC's 47CFR Part 15 rules and regulations as well as Part 15 Unlicensed Modular Approval as outlined in DA 00-1407. Compliance with the Modular Approval rules allows an OEM to integrate the URM-G-2400 and URM-M-2400 into other products without further FCC certification of the intentional radiator, but an OEM must still test their final product to comply with unintentional radiator requirements of 47CFCR Part 15.
For countries not covered by FCC Part 15, Industry Canada RSSS-210, or CE The RK-5424 -5 Reference Kits are to be used solely by professional engineers for the purpose of evaluating the feasibility of low-power wireless data communications applications. The user's evaluation must be limited to use of an assembled Kit within a laboratory setting which provides for adequate shielding of RF emission which might be caused by operation of the Kit following assembly.
viii Millennial Net
Contents About This Guide Audience ....................................................................................................................xvi Using This Guide .........................................................................................................xvi Symbols and Conventions .......................................................................................... xvii Contacting Millennial Net .....................................................................................
Configuring AD (analog-to-digital) Converter Operation.................................... 3-14 Using Watch Function to Display Configuration Information.............................. 3-16 Labeling an End Node or Mesh Node ........................................................................3-18 Configuring Persistence Attributes ............................................................................3-19 Selecting a Com Port on the Host PC ............................................................
Figures Figure 1-1. Figure 1-2. Figure 1-3. Figure 1-4. Figure 2-5. Figure 2-6. Figure 2-7. Figure 2-8. Figure 2-9. Figure 3-10. Figure 3-11. Figure 3-12. Figure 3-13. Figure 3-14. Figure 3-15. Figure 3-16. Figure 3-17. Figure 3-18. Figure 3-19. Figure 3-20. Figure 3-21. Figure 3-22. Figure 3-23. Figure 3-24. Figure 3-25. Figure 3-26. Figure 4-1. Figure 4-2. Figure A-1. Figure A-2. Figure B-1. Figure B-2. Figure B-3. Figure B-4. Untethered, mobile ad hoc network nodes......................................
xii Millennial Net
Tables Table 2-1. Table 2-2. Table 2-3. Table 2-4. Table 2-5. Table 2-6. Table 2-7. Table 3-8. Table 3-9. Table 3-10. Table 4-1. MeshGate terminal block pin assignments ..................................................... 2-4 MeshGate status LEDs ................................................................................... 2-6 MeshGate default Settings ............................................................................ 2-7 Mesh Node terminal block pin assignments ..........................
xiv Millennial Net
About This Guide This section provides information related to the content of the user guide: • ’Audience’ on page xvi • ’Using This Guide’ on page xvi • ’Symbols and Conventions’ on page xvii • ’Contacting Millennial Net’ on page xviii RK-5424-5 Reference Kit User’s Guide xv
Audience This guide is intended for the following qualified service personnel who are responsible for installing, operating, and developing software to interface with the RK-5424-5 MeshScape Wireless Sensor Network Reference Kit: • System installer • Hardware technician • System operator • System administrator • Software developer Using This Guide The sections of this guide provide the following information: Section Provides Chapter 1, “Introduction” General overview of wireless sensor networki
Symbols and Conventions This guide uses the following symbols and conventions to emphasize certain information. Note: A note is used to highlight important information relating to the topic being discussed. Caution A caution means that a specific action could cause harm to the equipment or to the data. Warning A warning describes an action that could result in physical injury, or destruction of property. Hazard A hazard is a particular form of warning related expressly to electric shock.
Contacting Millennial Net World Wide Web Millennial Net maintains a site on the World Wide Web where information on the company and its products can be found. The URL is: www.millennialnet.com Customer Support For answers to your technical questions, Millennial Net’s Customer Service department can be reached at: phone: +1 781.222.1030 e-mail: support@millennialnet.com Technical Publications Millennial Net is committed to providing you with quality technical documentation.
1 Introduction This chapter provides an overview of the MeshScape system and Reference Kit.
Introduction Wireless Sensor Networking Overview This section provides you with a basic understanding of wireless sensor network concepts and components. Defining Wireless Sensors Networks Until recently, networks designed for monitoring and controlling sensors or actuators on a network were limited in application and scope due to a major network design consideration—the cables required to connect the various sensors and actuators to a centralized collection point.
Wireless Sensor Networking Overview In an ad hoc network, sensor nodes consisting of a sensor attached to a wireless module can be randomly placed and moved as needed. If the network needs to scale up, additional sensor nodes are easily added. The new sensor nodes and surrounding network will do the work of discovering each other and establishing communication paths through single- and multi-hop paths.
Introduction System Modules The modules of a wireless sensor network enable wireless connectivity within the network, connecting an application platform at one end of the network with one or more sensor or actuator devices at the other end. As shown in Figure 1-2, the gateway and end node modules create a transparent, wireless data path between the application platform and sensor. Figure 1-2.
Wireless Sensor Networking Overview Gateway The gateway is the interface between the application platform and the wireless nodes on the network. The gateway can be a discrete module, or it can be integrated onto a Flash card form factor for use in, for example, a handheld device. All information received from the various network nodes is aggregated by the gateway and forwarded on to the application platform.
Introduction MeshScape System Overview In order to realize benefits wireless sensor networking promises, the technology must be able to address several critical requirements: reliability of data transmission, responsiveness to adapt to dynamic environments, power efficiency, and scalability. The MeshScape™ wireless sensor networking system from Millennial Net delivers on all of these requirements.
MeshScape System Overview techniques including, Persistent Dynamic Routing for reliable and scalable wireless sensor networks. When forming an ad hoc sensor network, Persistent Dynamic Routing requires minimal overhead for requesting and establishing connectivity without relying on the bandwidth-consuming flooding technique. MeshScape Network Monitor and Application APIs The MeshScape system delivers the tools to view and control network dynamics.
Introduction Another critical design issue associated with periodic sampling applications is the phase relation among multiple sensor nodes. If two sensor nodes operate with identical or similar sampling rates, collisions between packets from the two nodes is likely to happen repeatedly.
MeshScape System Overview on-demand data model is a medical monitoring application where patients in a hospital wear sensors to monitor vital signs and doctors access that data via a PDA that is a mobile gateway. A doctor enters a room and the mobile PDA automatically binds with the network associated with that patient and downloads vital sensor data. When the doctor enters a second patient's room, the PDA automatically binds with that network and downloads the second patient's data.
Introduction The MeshScape RK-5424-5 Reference Kit Millennial Net's RK-5424-5 Reference Kit contains everything you need to set up a self-organizing, wireless star-mesh network. Once installed, you are able to observe the performance and operation of the network components and prototype your application.
The MeshScape RK-5424-5 Reference Kit Major Features Major features of the MeshScape RK-5424-5 Reference Kit include the following: • frequency band: 2.
Introduction Warning These electronic products are sensitive to electrostatic discharge (ESD). Permanent damage to these devices can result if subjected to high energy electrostatic discharges. Proper precautions are recommended to avoid performance degradation or loss of functionality. Host PC Requirements The reference kit requires a personal computer (PC) to run the supplied application software. The host PC must have the following minimal configuration: • Microsoft Windows XP • Processor: 1.
2 Installing the MeshScape System This chapter provides the following MeshScape system installation information: • ’Installing the MeshScape Wireless Sensor Network’ on page 2-2 • ’Installing the Hardware’ on page 2-3 • ’Installing MeshScape Network Monitor’ on page 2-15 RK-5424-5 Reference Kit User’s Guide 2-1
Installing the MeshScape System Installing the MeshScape Wireless Sensor Network This section of the user’s guide describes how to install the reference kit’s hardware and software components. Installation should be performed in the following order: 1. MeshGate (see ’MeshGate Setup (MG-5424)’ on page 2-3) 2. Mesh Nodes (see ’Mesh Node Setup (MN-5424)’ on page 2-8) 3. End Nodes (see ’End Node Setup (EN-5424)’ on page 2-12) 4.
Installing the Hardware Installing the Hardware The following procedures describe in order, how to install the various hardware components of the reference kit. When initially setting up the hardware, it is recommended that the MeshGate, Mesh Nodes, and End Nodes be placed close to the host PC. This will make verifying proper network installation and operation easier when first establishing a session with MeshScape Network Monitor. The devices can then be moved away from the host PC as needed.
Installing the MeshScape System The function of each MeshGate terminal block pin is described as follows: Table 2-1. MeshGate terminal block pin assignments Pin Label Input/Output Function 1 RTN Reference Reference connection for RS-485 2 A I/O RS-485 signal + 3 B I/O RS-485 signal - 4 3.3V Output Power 3.
Installing the Hardware Mounting options There are three mounting options for the MeshGate: • desktop • wall • DIN rail Mounting the MeshGate on a Desktop 1. Choose a level, stable surface on which to rest the MeshGate. 2. Install one of the four supplied self-adhesive rubber feet in the round depression located in each corner on the bottom of the MeshGate chassis.
Installing the MeshScape System Figure 2-6. Mounting the MeshGate to a DIN rail Adapter Bracket Mounting Bracket DIN Rail 1. Using two of the supplied screws, secure the MeshGate chassis to the mounting bracket. 2. Mount the adapter bracket onto the DIN rail. Slide the adapter bracket’s clamp up and then tighten its two screws to secure the adapter bracket in place on the DIN rail. 3. Using two of the supplied screws, secure the mounting bracket to the adapter bracket.
Installing the Hardware MeshGate default settings Table 2-3 lists the default settings for the MeshGate gateway. Table 2-3. MeshGate default Settings Variable Description Default Value Persisted?* RS-232 Data Port Configuration RS232 115,200 baud No parity No hardware flow control Yes Console Port RS232 115,200 baud No parity No hardware flow control Yes * Persisted indicates value is retained after power cycle.
Installing the MeshScape System Mesh Node Setup (MN-5424) The Mesh Nodes, model number MN-5424 (label with model number on bottom), are shipped enclosed in cases that provide: RP-SMA antenna connector, three-position external power source switch, and a connector for the supplied power adapter as shown in Figure 2-7.
Installing the Hardware Table 2-4. Mesh Node terminal block pin assignments Pin Label Input/Output Function 5 DIO4 I/O Not used. 6 AD0 Input Analog Input 0 7 AD1 Input Analog Input 1 8 AD2 Input Analog Input 2 9 AD3 Input Analog Input 3 10 3.3V Output Power 3.3V output power 11 GND Power Digital ground 12 + Power Input power (4.5V to 30V) Installing the antenna and applying power To install a Mesh Node: 1.
Installing the MeshScape System Mesh node status LED operation Table 2-5 describes how the status LEDs on the Mesh Node behave. Table 2-5. Mesh node status LEDs LED PWR RF Activity Led State Status On Power on. Off No power. Flashing Mesh Node detects RF activity. The RF Activity LED will flash when detecting valid packets (packets destined for device) and may also flash when detecting invalid packets (packets destined for other devices) or environmental noise.
Installing the Hardware Table 2-6.
Installing the MeshScape System End Node Setup (EN-5424) The End Nodes, model number EN-5424, are mounted to terminal boards as shown in Figure 2-8. A terminal board provides easy access to I/O connections and the power switch. The terminal board also contains a battery holder and battery for supplying power to the End Node. The label on top of the End Node contains the device and group IDs assigned to the End Node. Figure 2-8.
Installing the Hardware Jumper settings Note the following jumper settings on the end node terminal board: • • P6 - Install a jumper across P6 to enable the terminal board’s LEDs as follows: – LED1 indicates power on/off. – LED12 indicates the end node has a primary parent. – LED2 indicates the end node has a secondary parent.
Installing the MeshScape System Table 2-7. MeshScape end node default settings (continued) Variable Description Device ID Device ID used to uniquely identify each node in a wireless network Default Value Pre-programmed User re-programmable Persisted?* Yes * Persisted indicates value is retained after power cycle.
Installing MeshScape Network Monitor Installing MeshScape Network Monitor The procedures in this section describe how to do the following: 1. 2.
Installing the MeshScape System Launching MeshScape Network Monitor Using Windows Using the standard application launching methods of Windows, the following procedure describes how to launch MeshScape Network Monitor and verify proper communication with the network nodes (see Figure 2-9): 1. To launch MeshScape Network Monitor, do one of the following: – Double-click on the desktop’s MeshScape Network Monitor icon.
3 Running MeshScape Network Monitor This chapter provides the following MeshScape Network Monitor information: • ’MeshScape Network Monitor Overview’ on page 3-2 • ’Configuring a Node’s Operation’ on page 3-6 • ’Labeling an End Node or Mesh Node’ on page 3-18 • ’Configuring Persistence Attributes’ on page 3-19 • ’Selecting a Com Port on the Host PC’ on page 3-20 • ’Configuring Serial and ADC Data Formats’ on page 3-21 • ’Turning Event Tracking On/Off’ on page 3-22 • ’Broadcasting Data to All
Running MeshScape Network Monitor MeshScape Network Monitor Overview Millennial Net’s MeshScape Network Monitor is a monitoring and management system for MeshScape networks. This management tool will discover and display active Mesh Nodes and End Nodes in range of the MeshGate as shown in Figure 3-10. MeshScape Network Monitor displays the Group ID and Device ID of the MeshGate and will display only End Nodes and Mesh Nodes that have the same group ID as the MeshGate.
MeshScape Network Monitor Overview Menu Bar From the menu bar, system users access the following: • Monitor This menu option provides access to the following functions: – • Exit: Ends the session and closes MeshScape Network Monitor. Edit – Labels: Assign user-defined names to End Nodes and Mesh Nodes on the network. For details, see ’Labeling an End Node or Mesh Node’ on page 3-18. – Persistence: Toggle monitoring/displaying offline End Nodes and Mesh Nodes.
Running MeshScape Network Monitor MeshGate This section displays the following information on the MeshGate connected to the host PC’s RS-232 port: • Com Port: Host PC’s RS-232 port connected to MeshGate. • ID: Device identifier assigned to the MeshGate. The ID consists of two octets (A.B), where each octet’s value = 160 to 255. • Group: Group identifier assigned to the MeshGate. All Mesh Nodes and End Nodes with the same Group identifier will communicate with the displayed MeshGate.
MeshScape Network Monitor Overview • RX Packets: Number of packets successfully delivered to MeshScape Network Monitor from a node since the node was detected by the MeshGate. The counter is reset if the MeshScape Network Monitor program is restarted. • Up/Down Time: Total time since the node was last detected on/off by the MeshGate. • Hop Count: Number of network node hops taken by a packet delivered from a node to the MeshGate.
Running MeshScape Network Monitor Configuring a Node’s Operation To configure the operation of an End Node or Mesh Node, double-click on the desired device from the list of discovered sensor nodes in the main display. The Device window is displayed, showing the current configuration of the selected device (see Figure 3-11). The Device window is a modeless dialog that may be left open while you interact with other MeshScape Network Monitor features, windows, and dialogs. Figure 3-11.
Configuring a Node’s Operation Table 3-8. Device window functions (continued) Item E Description Serial Data Config Function This panel is used to select a serial I/O operation for a device: Off, Digital UART, RS-232 (not supported), or RS-485 (not supported). Selecting serial operation disables digital I/O functionality because these operations share the same pins.
Running MeshScape Network Monitor Configuring the Sample Interval of a Single Node To configure the time interval between data packets transmitted by a node (see Figure 3-12): 1. Double-click on the desired device from the list of discovered sensor nodes. The Device window is opened, displaying the device’s current configuration. 2. Using the Sampling Interval panel, enter the interval sampling rate as a multiple of 100 milliseconds.
Configuring a Node’s Operation Configuring the Sample Interval of all Network Nodes Note: It can take a long time to change the sampling interval for all network nodes. To configure all the network nodes with the same sampling interval rate (see Figure 3-13): 1. Select Network>All Sampling Intervals. The Edit Sampling Interval window is opened. 2. Enter the interval rate as a multiple of 100 milliseconds. For example, to configure a sampling interval rate of 20 seconds, enter a value of 200. 3.
Running MeshScape Network Monitor 3. From the Digital I/O panel, select Input on each of the desired digital channels to use as inputs (DIO 0—DIO 3), then select Update. MeshScape Network Monitor displays the digital information for the node in the Digital I/O Data column, where On = output channel and In = input channel (n = 1 or 0). Digital Output Setup 1.
Configuring a Node’s Operation Figure 3-14.
Running MeshScape Network Monitor Configuring UART Operation The following procedures describes how to use the End Node’s digital I/O connections or the Mesh Node’s UART connector for serial/UART communications (see Figure 3-15). Refer to the technical specification sheets for the End Node and Mesh Node for additional information required when using the device for serial communications.
Configuring a Node’s Operation Figure 3-15.
Running MeshScape Network Monitor Configuring AD (analog-to-digital) Converter Operation The following procedure describes the steps that need to be taken to set up the hardware and configure an End Node or Mesh Node for AD Converter operation (see Figure 3-16): Note: 1. The input range of the analog inputs is 0 to VDD (power supply voltage). Connect 0–3 VDC signals to the following A/D Converter connectors: – End Node: Connect signal source ground to GND_CPU (pin 1 on terminal block P10).
Configuring a Node’s Operation Figure 3-16.
Running MeshScape Network Monitor Using Watch Function to Display Configuration Information Use the Watch window to track changes to a device’s configuration. You may open multiple instances of the Watch window. The selected device’s ID and label (if configured) are displayed in the Watch window title bar. To display the current and desired configuration for a device (see Figure 3-17): 1. Double-click on the desired device from the list of discovered sensor nodes.
Configuring a Node’s Operation Table 3-9. Watch window functions Item Description Function A Packets Received/Sent Total packets received from or transmitted to the node.
Running MeshScape Network Monitor Labeling an End Node or Mesh Node Labels are meaningful, persistent text strings used to identify network nodes beyond their group and device IDs. Note: Labels are only accessible through the MeshScape Network Monitor program. Custom Applications using the API will not be able to access labels. The following procedure describes the steps required to assign a label to an End Node or Mesh Node (see Figure 3-18): 1.
Configuring Persistence Attributes Configuring Persistence Attributes The following procedure describes how to configure the persistence setting of the network’s End Nodes and Mesh Nodes (see Figure 3-19): 1. From MeshScape Network Monitor, click on the desired device from the list of discovered sensor nodes. 2. From MeshScape Network Monitor, select Edit>Persistence. The Edit Persistence window is opened. 3. Configure the following global persistence attributes: 4. 5.
Running MeshScape Network Monitor Selecting a Com Port on the Host PC The following procedure describes how to select the RS-232 com port for MeshScape Network Monitor to use to communicate with the MeshGate (see Figure 3-20): 1. From MeshScape Network Monitor, select Network>Connection. The Connection window is opened. 2. Select the RS-232 com port to use from the drop down list of available ports, then select OK. MeshScape Network Monitor communicates with the MeshGate connected to the selected port.
Configuring Serial and ADC Data Formats Configuring Serial and ADC Data Formats The following procedure describes how to configure the format of displayed serial and ADC information (see Figure 3-21): 1. From MeshScape Network Monitor, select Edit>Data format. The Edit Data Format window is opened. 2. Configure the following network attributes: 3. – Serial data format: Select the desired format for displaying serial data (ASCII/Hex/Decimal).
Running MeshScape Network Monitor Turning Event Tracking On/Off The following procedure describes how to turn event tracking on or off. Tracked events are recorded in the Event log file (see Figure 3-22): 1. From MeshScape Network Monitor, select Network>Events. The Events window is opened. 2. Configure the following event tracking settings: – Configuration Events: Display event tracking status for Analog-to-digital Converter, Digital Input/Output, and Serial configuration events.
Broadcasting Data to All Nodes. Broadcasting Data to All Nodes. Note: The broadcast feature is not supported in this release of the RK-5424-5 Reference Kit but will be supported in future releases.
Running MeshScape Network Monitor Figure 3-23.
Creating an Event Log File Creating an Event Log File The following procedure describes the steps required to have MeshScape Network Monitor record reported network events to a log file (see Figure 3-24): 1. From MeshScape Network Monitor, select Log>Attributes. The Edit Logging Attributes window is opened. 2. Configure the following Mesh Node and End Node log file attributes: 3. – Log data: Record input/output/performance data.
Running MeshScape Network Monitor Viewing the Contents of an Event Log File The following procedure describes how to view the network event log file generated by MeshScape Network Monitor, which records node-generated events (see Figure 3-25): 1. From MeshScape Network Monitor, select Log>View. The log file window is opened, displaying the user-defined event log information (see also ’Creating an Event Log File’ on page 3-25). 2.
Viewing the Contents of an Event Log File Table 3-10.Event log key definitions Key A0 ... A3 D0 ... D3 Key Meaning ADC Channel 0 ... 3 Digital I/O Channel 0 ... 3 SubKey Sub-Key Meaning Output to device example En Enabled A0=En Dis Disabled A1=Dis In Input D0=In Out Output D1=Out:1 Input to device example A0=2.12 D0=In:1 EP Endpoint N/A N/A EP=001.001 EP=001.002 FH First Hop Mesh Node N/A N/A N/A FH=201.
Running MeshScape Network Monitor Viewing MeshScape Statistics The following procedure describes how to view the network statistics recorded by MeshScape Network Monitor, which provides information on the packets received and transmitted by the network nodes (see Figure 3-26): 1. From MeshScape Network Monitor, select Window>Statistics. The Statistics window is opened, displaying the following information: – Sample Time: Current date and time. – Start Time: Date/time statistics recording session began.
Viewing MeshScape Statistics Figure 3-26.
Running MeshScape Network Monitor 3-30 Millennial Net
4 Using the MeshScape API This chapter describes the following API functions: • ’Using the MeshScape API’ on page 4-2 • ’MeshScape API Functions Overview’ on page 4-5 • ’iBeanAPI.h’ on page 4-7 • ’iBeanAPI_IO.h’ on page 4-25 • ’iBeanAPI_Utils.h’ on page 4-35 • ’iBeanAPI_LPR.h’ on page 4-39 • ’iBeanAPI_performance.
Using the MeshScape API Using the MeshScape API Millennial Net’s MeshScape™ API enables you to effectively use the features provided by Millennial Net’s MeshScape wireless sensor network. You can develop custom applications that utilize the MeshScape API library on Windows- or Linux-based platforms such as Network Controllers, PCs, or PDAs. The Millennial API provides a serial command set that enables a MeshScape MeshGate standalone gateway to communicate with user applications via a serial interface.
MeshScape API Directory Structure MeshScape API Directory Structure The MeshScape API sub-directory contains five sub-directories which hold the API related files, including header files, dll and library files, and various compiled examples along with their source code listings. Figure 4-2 is a representation of the directory structure. Figure 4-2. MeshScape API directories The contents of each directory is described below. bin Directory: This directory contains the iBeanAPI.
Using the MeshScape API – linux - The source code for sample applications to be compiled under Linux: ListDevices.c: This is a console based application that lists current online devices. For a detailed look at this example and its code, see ’Example API Code’ on page 4-45. ReadSerial.c: This is a console based application that reads serial data received from any online device on the network that has serial interface enabled. SetSampling.
MeshScape API Functions Overview MeshScape API Functions Overview Table 4-1 provides a list of API functions associated with MeshScape system products. Table 4-1. MeshScape API functions iBeanAPI.
Using the MeshScape API Table 4-1. MeshScape API functions (continued) ibApi_IO_SetSerialConfig() Serial data interface (UART) ibApi_IO_GetSerialConfig() ibApi_IO_GetSerialBufferStatus() ibApi_IO_WriteSerial() ibApi_IO_ReadSerial() ibApi_IO_SetDeviceConfigAndData() iBeanAPI_Utils.
iBeanAPI.h iBeanAPI.h Data Structures 1. ibApi_APIHANDLE typedef ibApi_INT32 ibApi_APIHANDLE; This handle represents an API session. It is created by ibApi_Open() and used by most of the other API functions. 2. ibApi_RESULT typedef ibApi_INT32 ibApi_RESULT; The API functions are standardized to return the value ibApi_RESULT, which is a signed 32-bit integer. If the integer is negative, then it is an error code such as ibApi_RESULT_ERR_INVALIDHANDLE or ibApi_RESULT_ERR_NOTPERMITTED. (See iBeanAPI.
Using the MeshScape API 5.
iBeanAPI.h 8. ibApi_DEVICEINFO #define ibApi_MAX_VERSION_STRLEN 32 struct ibApi_DEVICEINFO_s { ibApi_UINT16 struct_size; ibApi_DEVICETYPE device_type; ibApi_CHAR hardware_version[ibApi_MAX_VERSION_STRLEN]; ibApi_CHAR firmware_version[ibApi_MAX_VERSION_STRLEN]; }; typedef struct ibApi_DEVICEINFO_s ibApi_DEVICEINFO; This data structure is used by ibApi_GetDeviceInfo() to report static device attributes that are fixed at manufacturing time.
Using the MeshScape API 10. ibApi_DEVICESTATUS struct ibApi_DEVICESTATUS_s { ibApi_UINT16 struct_size; ibApi_UINT16 hop_count; ibApi_DEVICEID first_hop_router; ibApi_DEVICEID last_hop_router; ibApi_FLOAT battery_level; ibApi_UINT16 battery_level_raw ibApi_UINT16 seq_num; ibApi_GROUPID group_id; }; typedef struct ibApi_DEVICESTATUS_s ibApi_DEVICESTATUS; This struct is used by ibApi_FUNC ibApi_GetDeviceStatus() to report read-only device properties that change with time.
iBeanAPI.h 11.
Using the MeshScape API 14. ibApi_DIO_EVENT_DATA typedef struct { ibApi_UINT8 dataType; // Must be first! ibApi_UINT8 direction; // 1=input, 0=output, 0xFF=undefined ibApi_DEVICEID deviceID; ibApi_UINT8 channelMask; // 0 = no data ibApi_UINT8 channelData; } This data structure will be passed to event callbacks to convey information about DIO events. Use the first argument ibApi_EVENTMASK to determine how to cast the callback data. 15.
iBeanAPI.h 17. ibApi_Serial_Receive_EVENT_DATA typedef struct { ibApi_UINT8 ibApi_UINT8 ibApi_DEVICEID ibApi_UINT8 ibApi_UINT8 ibApi_UINT8 } dataType; // Must be first! serialState; // 0xFF=undefined deviceID; serialDataSize; serialSequence; serialData[ibApi_MAX_SERIAL_DATA_SIZE]; This data structure will be passed to event callbacks to convey information about serial receive events. Use the first argument ibApi_EVENTMASK to determine how to cast the callback data. 18.
Using the MeshScape API 20. ibApi_Heatbeat_EVENT_DATA typedef struct { ibApi_UINT8 ibApi_BOOL ibApi_TRUE ibApi_DEVICEID } dataType; heartBeat; // Must be first! // Will always be set to deviceID; This data structure will be passed to event callbacks to convey information about heart beat events. Use the first argument ibApi_EVENTMASK to determine how to cast the callback data. 21.
iBeanAPI.h Functions 1. ibApi_Open ibApi_FUNC ibApi_Open( ibApi_VERSION expected_version, ibApi_CONST ibApi_CHAR *server_type, ibApi_CONST ibApi_CHAR * connection_str ); ibApi_Open( ) should be called to initialize the API before any other function is called. The "server_type" parameter specifies the type of connection, and connection_str contains various connection parameters that vary according to server type.
Using the MeshScape API 3. ibApi_GetApiVersion() ibApi_FUNC ibApi_GetApiVersion (); This function returns the actual software version for the API, which can differ from ibApi_EXPECTED_VERSION if DLL’s are mixed. Return Value: An IbApi_VERSION value if successful, error code (<0) if not. 4. ibApi_GetNetworkList() ibApi_FUNC ibApi_GetNetworkList( ibApi_APIHANDLE api_hdl, ibApi_GROUPID networks[], ibApi_UINT32 networks_size ); This retrieves a list of group ID’s for the networks managed by the server.
iBeanAPI.h 5. ibApi_GetDeviceList() ibApi_FUNC ibApi_GetDeviceList( ibApi_APIHANDLE api_hdl, ibApi_GROUPID network, ibApi_DEVICETYPE device_type ibApi_DEVICEID devices[], ibAPI_UINT32 devices_size ); This function retrieves the ID’s of the devices in the network. The device_type parameter is a bitwise OR of the ibApi_DEVICETYPE constants that filters the result. (To retrieve all devices, use ibApi_DEVICETYPE_ANY.) Parameters: param api_hdl: (input) API handle returned from ibApi_Open().
Using the MeshScape API 7. ibApi_GetDeviceStatus() ibApi_FUNC ibApi_GetDeviceStatus( ibApi_APIHANDLE api_hdl, ibApi_DEVICEID device_id, ibApi_DEVICESTATUS *device_status ); This function retrieves various read-only device properties whose values can change with time. See ibApi_DEVICE STATUS above for details. Note: To avoid memory corruption, size of (ibApi_DECVICESTATUS) must be assigned to the “struct_size” field prior to calling this function.
iBeanAPI.h 9. ibApi_SetSamplingInterval() ibApi_FUNC ibApi_SetSamplingInterval( ibApi_APIHANDLE api_hdl, ibApi_DEVICEID device_id, ibApi_UNIT32 sampling_interval_ms ); This function sets the sampling interval for the device. The sampling interval determines how frequently updates occur; lower values mean quicker response times, at the price of higher bandwidth and power consumption. Typically the current interval must elapse before the new interval will be programmed.
Using the MeshScape API Notes on Event Notification and Event Masks - It is important to note that there are two techniques for receiving event notification: either by registering a callback which will be called when the event(s) occur or by waiting (blocking) until the desired event(s) occur. When using the callback mechanism the event mask must be registered by using ibApi_SetEventMask(). This API will register a global event mask for all devices in the network.
iBeanAPI.h 12. ibApi_WaitForDeviceEvents() ibApi_FUNC ibApi_WaitForDeviceEvents( ibApi_APIHANDLE api_hdl, ibApi_DEVICEEVENTTYPE events_interested, ibApi_INT32 timeout_ms, ibApi_DEVICEID * device_id, ibApi_DEVICEEVENTTYPE * events_happened ); This function implements the simplest form of event notification using the application thread context. It causes the calling thread to sleep until a network packet has arrived (i.e.
Using the MeshScape API 13. ibApi_SetEventMask() ibApi_SetEventMask( ibApi_APIHANDLE ibApi_DEVICEEVENTTYPE ibApi_DEVICEID ); api_hdl, event, device_id This function sets the event mask for the triggering of asynchronous events. Before calling ibApi_SetEventMask(), you must set the device_id to 0.0. Parameters: api_hdl: (input) API handle returned from ibApi_Open(). event: (input) The event mask. device_id: (input) ID of the device that changed.
iBeanAPI.h 15. ibApi_RegisterEvent() ibApi_RegisterEvent( ibApi_APIHANDLE api_hdl, ibApi_CALLBACK_FUNCTIONapi_callback ); Registers a callback function to be called upon receipt of the specified asynchronous event. See “Notes on Event Notification abd Event Masks” on page 4-20. A pointer to a function which implements this type must be passed to ibApi_RegisterEvent( ). Each event processed will result in a call to this callback. The event mask will contain a single event indicator (ibApi_DEVICEEVENTTYPE).
Using the MeshScape API 17. ibApi_Block (void) ibApi_FUNC ibApi_Block(void); This function provides locking of shared data areas from within the application event callback. This function is to be called prior to accessing the data record returned to the callback function. Parameters: None. Return Value: An ibApi_RESULT_SUCCESS if a device changed or an error code (<0) if unsuccessful. 18.
iBeanAPI_IO.h iBeanAPI_IO.h Data Structures 1. ibApi_IO_SERIALMODE enum ibApi_IO_SERIALMODE_e { ibApi_IO_SERIALMODE_DISABLED = 0, ibApi_IO_SERIALMODE_UART, ibApi_IO_SERIALMODE_RS232, ibApi_IO_SERIALMODE_RS485 }; typedef ibApi_UINT16 ibApi_IO_SERIALMODE; This is used by ibApi_IO_SERIALCONFIG to select the serial interface. 2.
Using the MeshScape API 3. ibApi_IO_DEVICECAPS struct ibApi_IO_DEVICECAPS_s { ibApi_UINT16 struct_size; ibApi_UINT8 num_dio_channels; ibApi_UINT8 num_adc_channels; ibApi_UINT8 adc_resolution_bits; ibApi_UINT8 serial_input_buffer_depth: ibApi_UINT8 serial_output_buffer_depth }; typedef struct ibApi_IO_DEVICECAPS_s ibApi_IO_DEVICECAPS; This structure is used by ibApi_IO_GetDeviceCaps() to return various static device attributes that are predetermined at manufacturing time.
iBeanAPI_IO.h Functions 1. ibApi_IO_GetDeviceCaps() ibApi_FUNC ibApi_IO_GetDeviceCaps ( ibApi_APIHANDLE api_hdl, ibApi_DEVICEID device_id, ibApi_IO_DEVICECAPS *device_caps ); This function retrieves various static device attributes that are predetermined at manufacturing time. Thus, these values only need to be queried once for a particular device. See ibApi_IO_DEVICECAPS above for details.
Using the MeshScape API 3. ibApi_IO_GetADCConfig() ibApi_FUNC ibApi_IO_GetADCConfig ( ibApi_APIHANDLE api_hdl, ibApi_DEVICEID device_id, ibApi_UINT8 channel_index ); This queries whether the specified ADCchannel is enabled or disabled. Parameters: api_hdl: (input) API handle returned from ibApi_Open(). device_id: (input) ID of the device to be accessed. channel_index: (input) Channel index to access. Return Value: An ibApi_TRUE if enabled, ibApi_FALSE if disabled, or an error code (<0) if not. 4.
iBeanAPI_IO.h 5. ibApi_IO_ReadRawADC() ibApi_FUNC ibApi_IO_ReadRawADC( ibApi_APIHANDLE api_hdl, ibApi_DEVICEID device_id, ibApi_UINT8 channel_index, ibApi_UINT16* adc_value ); This retrieves the value of the specified ADC channel in raw format. Use this call only if a raw value is explicitly required, otherwise use ibApi_IO_ReadADC() which returns a float value voltage. The raw return value may be converted to a voltage using ibApi_Utils_ConvertRawAdcReadingToVoltage() found in iBeanAPI_Utils.h.
Using the MeshScape API 7. ibApi_IO_GetDIOConfig() ibApi_FUNC ibApi_IO_SetDIOConfig( ibApi_APIHANDLE ibApi_DEVICEID ibApi_UINT8 ); api_hdl, device_id, channel_index, This queries whether the specified DIO channel is configured for input or output, which governs the interpretation of ibApi_IO_ReadDIO(). * and ibApi_IO_WriteDIO() Parameters: api_hdl: (input) API handle returned from ibApi_Open(). device_id: (input) ID of the device to be accessed. channel_index: (input) Channel index to access.
iBeanAPI_IO.h 9. ibApi_IO_ReadDIO() ibApi_FUNC ibApi_IO_ReadDIO ( ibApi_APIHANDLE api_hdl, ibApi_DEVICEID device_id, ibApi_UINT8 channel_index ); This reads the value of the specified DIO channel. If the channel is configured for output, it reads the current output value. Note: In some product models, the DIO pins are shared with the serial data interface and will be disabled when it is active. Parameters: api_hdl: (input) API handle returned from ibApi_Open().
Using the MeshScape API 11. ibApi_IO_GetSerialConfig() ibApi_FUNC ibApi_IO_GetSerialConfig ( ibApi_APIHANDLE api_hdl, ibApi_DEVICEID device_id, ibApi_IO_SERIALCONFIG *serial_config ); This retrieves the configuration for the serial “user data” interface. Parameters: api_hdl: (input) API handle returned from ibApi_Open(). device_id: (input) ID of the device to be accessed. serial_config: (output) Variable to store the result.
iBeanAPI_IO.h 13. ibApi_IO_WriteSerial() ibApi_FUNC ibApi_IO_WriteSerial ( ibApi_APIHANDLE api_hdl, ibApi_DEVICEID device_id, ibApi_UINT8 buffer[], ibApi_UINT16 buffer_size ); This function writes buffer_size bytes pointed to by the buffer pointer to the specified device handle. Prior to use, the ibApi_FIELDID_USERDATAMODE field must have been configured for serial operation.
Using the MeshScape API 14. ibApi_IO_ReadSerial() ibApi_FUNC ibApi_IO_ReadSerial ( ibApi_APIHANDLE api_hdl, ibApi_DEVICEID device_id, ibApi_UINT8 buffer[], ibApi_UINT16 buffer_size, ibApi_UINT8 *seq_num ); For the given device, this retrieves the user data packet that arrived most recently. The ibApi_IO_SERIALMODE setting must have been previously something other than ibApi_IO_SERIALMODE_DISABLED. The input buffer holds a single packet (i.e., an arriving packet overwrites the previous one).
iBeanAPI_Utils.h iBeanAPI_Utils.h Functions 1. ibApi_Utils_GetErrorDescription() ibApi_FUNC ibApi_Utils_GetErrorDescription( ibApi_RESULT error_code, ibApi_CHAR * description, ibApi_UINT32 description_size ); This function returns an English language interpretation for an API error code. Parameters: error_code: (input) ibApi_RESULT to be interpreted. description: (output) Pointer to buffer storing the text. description_size: (input) Maximum size of buffer.
Using the MeshScape API 3. ibApi_Utils_ConvertTextToGroupId() ibApi_FUNC ibApi_Utils_ConvertTextToGroupId( ibApi_CONST ibApi_CHAR *group_id_text, ibApi_GROUPID * group_id ); This parses a text string such as “1.2.3.4” and stores the result in the group_id structure. If fewer than 4 digit groups are provided, the result is left-padded with 0’s. Parameters: group_id_text: (input) Buffer to be parsed. group_id: (output) Structure to store the result.
iBeanAPI_Utils.h 5. ibApi_Utils_ConvertTextToDeviceId() ibApi_FUNC ibApi_Utils_ConvertTextToDeviceId( ibApi_CONST ibApi_CHAR *device_id_text, ibApi_DEVICEID * device_id ); This function parses a text string such as “1.2.3.4.5.6.7.8” and stores the result in the device_id structure. If fewer than 8 digit groups are provided, the result is left-padded with 0’s. Parameters: device_id_text: (input) Buffer to be parsed. device_id: (output) Structure to store the result.
Using the MeshScape API 7. ibApi_Utils_ConvertRawAdcReadingToVoltage() ibApi_FUNC ibApi_Utils_ConvertAdcReadingToVoltage( ibApi_DEVICEID device_id, ibApi_UINT16 adcRaw, ibApi_FLOAT *adcFloat ); This function converts a device’s battery level reading from raw data to voltage. Parameters: device_id: (input) Device information. adcRaw: (input) ADC reading in raw data. adcFloat: (output) Structure to store the ADC reading as a voltage. Return Value: ibApi_RESULT_SUCCESS if successful, error code (<0) if not.
iBeanAPI_LPR.h iBeanAPI_LPR.h Functions 1. ibApi_LPR_SetClock() ibApi_FUNC ibApi_LPR_SetClock( ibApi_APIHANDLE api_hdl, ibApi_GROUPID network, ibApi_UINT32 utc_sec ); This function sets the UTC clock for all devices. The UTC clock is used for the time synchronization purposes. The gateway will synchronize each device's clock through time synchronization process. The clock setting is a global attribute that applies to all devices in the network.
Using the MeshScape API 3. ibApi_LPR_SetWakeupAndDutyRatio() ibApi_FUNC ibApi_LPR_SetWakeupAndDutyRatio( ibApi_APIHANDLE api_hdl, ibApi_GROUPID network, ibApi_UINT32 wakeup_interval, ibApi_UINT32 duty_ratio ) This function sets the low power router wakeup interval and duty ratio for all devices. The wakeup interval and duty ratio are global attributes that applies to all devices in the network.
iBeanAPI_LPR.h 4. ibApi_LPR_GetWakeupAndDutyRatio) ibApi_FUNC ibApi_LPR_GetWakeupAndDutyRatio( ibApi_APIHANDLE api_hdl, ibApi_GROUPID network, ibApi_UINT32 * wakeup_interval, ibApi_UINT32 * sleep_interval, ibApi_UINT32 * duty_ratio ); This function retrieves the low power router wakeup interval and duty ratio for all devices. Parameters: api_hdl: (input) API handle returned from ibApi_Open(). network: (input) Group ID of the network. wakeup_interval: (output) Wakeup interval in milliseconds.
Using the MeshScape API iBeanAPI_performance.h Data Structures 1. ibApi_PFM_PacketStats_s struct ibApi_PFM_PacketStats_s { ibApi_UINT8 ctrlcode; ibApi_UINT16 packetTxCount; ibApi_UINT16 packetSearchCount; }; Structure Fields: ctrlcode Control code. packetTxCount Number of transmissions and acks for this packet. packetSearchCount Number of search packets and responses caused by this packet. 2.
iBeanAPI_performance.h Structure Fields: ctrlcode Control code. reportingFrequency packetSearchCount Number of search packets and responses caused by this packet. searchPacketTxCount Number of search packets transmitted. searchResponseRxCount Number of search packets received. searchPacketRxCount Number of search packets received. searchResponseTxCount Number of search responses transmitted. rejectedPacketCount Number of upstream packets rejected.
Using the MeshScape API Functions 1. ibApi_GetStatisticData ibApi_FUNC ibApi_GetStatisticData( ibApi_APIHANDLE api_hdl, ibApi_DEVICEID device_id, ibApi_PFM_STATS *statisticData); This function retrieves the statistical data for the given device. Parameters: api_hdl: (input) API handle returned from ibApi_Open(). device_id: (input) the ID of the device to be accessed. device_id: (output) the statistic data of the device. Return Value: An ibApi_RESULT_SUCCESS if successful, or an error code (<0) if not.
Example API Code Example API Code Millennial Net provides as part of the reference kit, several sample API applications to be compiled under Windows and Linux. This section lists the source code for one of the API examples, ListDevices. ListDevicesprovides a list of all detected network nodes (MeshGate, Mesh Node(s), and End Node(s)). The C file containing the code shown here can be found in the Programs directory: C:\Program Files\MeshScape\examples\windows\ListDevices.c /* * ListDevices.
Using the MeshScape API * product releases to optimize the packet size. */ #define MIN_DEVICEID_WORDS 3 /***************************************************************************/ void WaitForKey(void) { printf("\r\nPress any key to close..."); _getch(); printf("\r\n"); } /**************************************************************************** * This is a simple wrapper for detecting and reporting API error return * values. In C++, this function could throw an exception object.
Example API Code return 0; } /***************************************************************************/ void ListDevices(ibApi_APIHANDLE api_hdl) { #define DEVICEIDS_MAX 100 ibApi_GROUPID groupid; ibApi_DEVICEID deviceids[DEVICEIDS_MAX]; int deviceids_count; char deviceid_text[256]; int sampling_interval; int i; ibApi_DEVICEINFO deviceinfo; ibApi_DEVICESTATUS devicestatus; /* * The ibApi_GetNetworkList() function returns a list of the groups * currently managed by the network.
Using the MeshScape API * ibApi_GetDeviceInfo(). This allows compatibility with future API * versions that implement additional fields. */ deviceinfo.struct_size = sizeof(deviceinfo); CheckResult(ibApi_GetDeviceInfo(api_hdl,deviceids[i],&deviceinfo)); CheckResult(ibApi_Utils_ConvertDeviceIdToText(deviceids[i], deviceid_text,sizeof(deviceid_text),MIN_DEVICEID_WORDS)); printf(" %10s fw=\"%s\" hw=\"%s\"\r\n", deviceid_text, deviceinfo.firmware_version,deviceinfo.
Example API Code if (deviceids_count > DEVICEIDS_MAX) deviceids_count = DEVICEIDS_MAX; for (i=0; i
Using the MeshScape API 4-50 Millennial Net
A Running the Demo Application This chapter contains information on how to run the demonstration application included with the RK-5424-5 Reference Kit: • ’Running the MeshScape Demo Program’ on page A-2 • ’Running the Temperature Sensor Demo’ on page A-3 RK-5424-5 Reference Kit User’s Guide A-1
Running the MeshScape Demo Program Your RK-5424-5 Reference Kit includes the MeshScape Demonstration program that enables you to run a temperature sensor demo program that demonstrate the features and benefits of the MeshScape system. To launch the MeshScape Demo program: • From the Windows taskbar, select: Start>All Programs>MeshScape>API Examples, then open the bin folder and double-click Demo.exe to run the executable. The MeshScape Demo main window appears as shown in Figure A-1. Figure A-1.
Running the Temperature Sensor Demo Running the Temperature Sensor Demo The temperature sensor demo allows you to view a graphical display of a temperature reading from a kele sensor installed on an end node terminal board. Your RK-5424-5 Reference Kit includes an end node terminal board equipped with a kele temperature sensor as shown in Figure A-2. Figure A-2.
A window appears displaying a graphic representation of the temperature reading from the node on which you installed the temperature sensor. It may take up to 20 seconds for the node to update its configuration and start to display its temperature reading in the graphical window. 3. A-4 To exit the demo, select Demos>Thermistor>end, or click the icon.
B Using MeshScape Programmer The MeshScape Programmer application supplied with your RK-5424-5 Reference Kit enables you to upgrade the firmware and re-configure the group and device IDs on all of your MeshScape devices.
Getting Started with MeshScape Programmer MeshScape Programmer is a feature-rich application that enables you to upgrade your MeshScape system by: • re-programming the device flash memory • unlocking firmware feature upgrades • re-programming group and device IDs • re-programming the device radio configuration To use MeshScape Programmer, you will need to: • connect the MeshGate to your computer • connect the target device that you wish to upgrade to your computer • run the MeshScape Programmer
Getting Started with MeshScape Programmer Figure B-1.Connecting MeshGate programming cable to a mesh node External Programming Port on MeshGate External Programming Port on Mesh Node Connecting an End Node for Programming 1. Connect a MeshGate to your computer as described on page B-2. 2. Remove the connector panel access cover from the MeshGate connected to the computer. 3.
Using the Module Programming Terminal Board A terminal board is included in your Installation Kit for programming end node or mesh node modules. This module programming terminal board is shown in Figure B-3. Figure B-3.Module programming terminal board P8 Programming Port Connect Node to P11 External Power Adapter Cable Connect External Power Adapter Cable to P7 On/Off Switch To program an end node or mesh node module using this terminal board: 1.
Getting Started with MeshScape Programmer 7. Run the MeshScape Programmer application as described in the next section. 8. Move switch SW1 on the terminal board to the Off position. 9. Remove the programmed node from the terminal board. 10. Repeat steps 1 to 8 until all nodes have been configured as desired. Launching MeshScape Programmer Using Windows To launch MeshScape Programmer, do one of the following: – Double-click on the desktop’s MeshScape Programmer icon.
Performing MeshScape Programmer Operations You may use MeshScape Programmer to: • upgrade the firmware image on the target device • unlock features on the target device • re-program the device and group IDs on the target device • re-program the radio configuration on the target device Upgrading Firmware on the Target Device To upgrade the firmware on a MeshGate, mesh node, or end node using the MeshScape Programmer application: 1.
Performing MeshScape Programmer Operations 3. Select the PC serial port to use when communicating with the connected MeshGate from the Programming Port drop-down menu. If a required Comm port is being used by another application, close the application and then click Refresh List to make the Comm port available for use by MeshScape Programmer. 4. 5. Select the firmware image file to load on the target device. a. Mark the Enable checkbox to enable the program flash operation. b.
5. 6. Select the feature unlock file to load on the target device. a. Mark the Enable checkbox to enable the feature unlock operation. b. Click the Browse button, and select the feature unlock file supplied to you from Millennial Net. Upload the feature unlock file to the target device. a. Mark the Get Device Type checkbox to display information about the target device in the Device Type field as the upgrade progresses. b.
Performing MeshScape Programmer Operations a. Mark the Get Device Type checkbox to display information about the target device in the Device Type field as the upgrade progresses. b. Click Program to initiate upload of the new IDS to the target device. As the group and device ID reprogramming progresses, you will see status messages posted to the Status field. Once the update is completed, the status will be reported as Programming Complete.
6. Upload the new radio configuration to the target device. a. Mark the Get Device Type checkbox to display information about the target device in the Device Type field as the upgrade progresses. b. Click Program to initiate upload of the new radio configuration to the target device. As the radio configuration reprogramming progresses, you will see status messages posted to the Status field. Once the update is completed, the status will be reported as Programming Complete.
Glossary API Application Programming Interface: A set of definitions of the ways in which one piece of computer software communicates with another. It is a method of achieving abstraction, usually (but not necessarily) between lower-level and higher-level software. One of the primary purposes of an API is to provide a set of commonly used functions-for example, to poll a wireless network for active network nodes (mesh nodes and end nodes).
Glossary FHSS Frequency Hopping Sequence Spread Spectrum: Spread spectrum method of spreading a narrow band signal out across a broad portion of the radio band. This method “hops” the signal as a function of time. (See also DSSS and spread spectrum.) gateway The network module that provides the interface between the application platform and the modules on the wireless sensor network.
Glossary personal area network A personal area network (PAN) is the interconnection of information technology devices within the range of an individual person, typically within a range of 10 meters. protocol The protocol defines a common set of rules and signals that devices (nodes) on the network use to communicate. protocol stack A set of network protocol layers that work together. The OSI reference model that defines seven protocol layers is often called a stack.
Glossary Glossary-4 Millennial Net
Index A F AD converter configuring 3-14 API code, example 4-45 API directory structure 4-3 API functions, overview of 4-5 API, using the MeshScape 4-2 audience for this document xvi FCC compliance statement v firmware, upgrading B-1 frequency band 1-11 functions, MeshScape API 4-5 B H bin directory 4-3 burst, data model 1-9 hardware installation 2-3 host PC requirements 1-12 C I com port selecting on host PC 3-20 compliance statement, FCC and RSS-210 v configuring ADC 3-14 digital I/O 3-9 sample i
Index N node status 3-4 O on-demand, data model 1-8 organization of this document xvi P periodic sampling, data model 1-7 persistence configuring 3-19 persistent dynamic routing™ technology 1-6 polling, data model 1-8 Programming MeshScape nodes B-2 R reference kit contents 1-11 RSS-210 compliance statement v S sample interval all nodes 3-9 single node 3-8 serial communication parameters 3-12 store and forward, data model 1-8 stream, data model 1-9 symbols and conventions xvii system software, MeshScap