Download presentation
Presentation is loading. Please wait.
1
IzoT™ Device Stacks March 2014
2
IzoT Platform Device Stacks
IzoT Device Stack EX Free download from iiot.echelon.com Premium Edition adds SMIP for creating an FT network interface Develop applications using Python, C++, or C Stack source code included 1MB Control Stack footprint Use a Raspberry Pi, BeagleBone Black, or port to processor of your choice Sample source code and schematics for applications using the Raspberry Pi IzoT Device Stack DX Smaller stack for memory-constrained processors such as Marvell 88MC200 70KB Control Stack footprint IzoT Device Stack AX Platform-optimized stack for the Series 6000 processors EX and AX with patented self-installation Device Stack EX User C/C++ Application User Python Application Python Package C API Self-installation Engine Control Services Linux UDP/IP Stack The core of the IzoT Platform are the device stacks. The device stacks provide control services on top of IP that enable devices to discover each other and to easily and reliably exchange data. There are three device stacks, the full-featured EX stack, a smaller DX stack for memory-constrained devices, and an optimized AX stack for the FT 6050 chip. The EX stack is available as a free download from Echelon. Using this stack, you can develop IzoT-enabled applications in Python, C++, or C. Full source code for the stack is included in the free download. A reference implementation is included that runs on a Raspberry Pi, BeagleBone Black, or other ARM processors. You can also port the stack to other processors and operating systems. The stack includes a set of example applications and schematics for the Raspberry Pi that provide a quick start for trying the stack. SMIP Driver Ethernet/ Wi-Fi FT SMIP FT Echelon Confidential
3
Software Platform Requirements
Processor 32-bit or 64-bit processor including ARM and Pentium Reference implementations on Raspberry Pi’s Broadcom processor with ARM11 core (ARMv6 architecture) and BeagleBone Black’s TI processor with ARM Cortex A8 core (ARMv7-A architecture) Operating system Any operating system supporting the services required by the Operating System Abstraction Layer (OSAL) including Linux and Windows—requires UDP socket and threading support Reference implementations on Raspberry Pi’s Raspbian and Ubuntu Linux on BeagleBone Black Memory Approximately 1MB application memory required for the Device Stack Non-volatile storage required for persistent data Implementation languages IzoT Control Services: C++ C API: C Python package: Python 3.2
4
IP Channel Implementation
IzoT SDK Beta 1: 2 options based on IP-852 Option 1: Unicast – requires an IP-852 Configuration Server and is limited to 255 devices Option 2: Multicast (default) – does not require an IP-852 Configuration Server but is limited to a single subnet Both options tunnel LonTalk packets over UDP/IP IzoT SDK Beta 2: native IPv4 LonTalk Layers 1 to 3 replaced with UDP/IP over any IP link including Ethernet or Wi-Fi Network size limited to 32,385 devices Network can span multiple IP subnets Application Control Services (L3 – L7) IP-852 Tunnel UDP/IP Link Specific L2 & MAC Application Control Services (L4 – L7) UDP/IP Link Specific L2 & MAC
5
IzoT Control Services Communication with datapoints
Unicast and multicast addressing Reliable message delivery – acknowledged and request/response services Standard profiles and types Self-installation or commissioning primitives
6
IzoT Control Service Limits
AX Stack DX Stack EX Stack Communication with datapoints Bytes per datapoint 31 228 Datapoints per application 254 4096 Datapoint aliases per application 8192 Unicast and multicast addressing Devices per network 32,385 Address table entries per device 32,767 Groups per network 256 or 65,535* 256 or 65,535* Reliable message delivery Simultaneous outgoing transactions 2 256 * Enhanced mode only
7
Network Installation Options
Interoperable Self-Installation (ISI) Device applications discover each other and form communities of devices No installation tool or platform required Limited to hundreds of devices and a single channel Managed installation with OpenLNS or IzoT Network Services Server Network installation managed by an OpenLNS Server and one or more installation tools such as the OpenLNS Commissioning Tool Supports up to 32,385 devices per network
8
IzoT Data Model Devices communicate with datapoints
Each datapoint has a datapoint type Over 200 standard datapoint types are defined Devices are configured with properties Each property has a property type Over 300 standard property types are defined Datapoints and properties are organized into blocks Each block is an implementation of a profile Over 100 standard profiles are defined
9
IzoT Profiles and Types
New IzoT profiles and types are included with the DX and EX stacks that are optimized for IP communication and simplify interoperating with BACnet devices The new profiles and types are not compatible with the Series 6000 processors New profiles optimized for IIoT applications Analog Input and Analog Output Keypad, Load Control, and Occupancy Sensor Device Status New datapoint types optimized for IIoT applications Including iot_analog, iot_load_control, iot_dev_status, and iot_alarm
10
Device Application Development
Device Stack C++ or C C API similar to the Echelon LonTalk Stack Python Python classes deal with much of the complexity of implementing and binding datapoints User C/C++ Application User Python Application Python Package C API ISI Engine Control Services Linux UDP/IP Stack Ethernet/ Wi-Fi
11
Implementing an IzoT Python Application
Here is the code you would write to implement a sensor based on the IoT Analog Input profile: import izot.device.application import izot.resources.profiles.iotAnalogInput def main(): app = izot.device.application.Application() app.program_id = ‘9F:FF:FF:05:00:00:00:01’ temperatureSensor = app.block( profile=izot.resources.profiles.iotAnalogInput.iotAnalogInput() ) def new_output(value): with temperatureSensor.nvoAnalog: temperatureSensor.nvoAnalog.data.present_value = value app.start() while True: app.service() … other application processing …
12
IzoT REST API for Web page and enterprise application development
Web Page Development Server Stack IzoT REST API for Web page and enterprise application development Enables device and datapoint discovery, for example: GET /api/devices Supports reading and writing datapoints, for example: GET /api/datapoints?name=temperature REST Web Pages Web Server REST Server Database Controller Collector Network Server Control Services Linux UDP/IP Stack Ethernet/ Wi-Fi
13
IzoT Platform Example Overview
Occupancy Luminosity iPad Implements a lighting system with color control Demonstrates peer-to-peer control combined with Web-based monitoring & control Includes example source code, schematics, and PCB layouts Temperature / Humidity IzoT Web Apps Environmental Sensor Example Devices Touch Keypad The free IzoT SDK includes an example application that demonstrates how the SDK can be used with Raspberry Pis to create a lighting system with color control. The example demonstrates both peer-to-peer control as well as Web-based monitoring and control. There are thee example device applications. First is an Environmental Sensor that measures and reports temperature, humidity, occupancy, and light level. Second is a 2.5” touch screen keypad that can be used to control the lighting. Third is an LED Controller that controls up to two 3W RGB LEDs. The example support multiple instances of each device type, so you can have multiple Environmental Sensors and Keypads controlling multiple LEDs. The Web pages are all implemented using HTML5 and Javascript. They are compatible with all major browsers, and are also optimized when displayed on an iPad. The example includes source code for the device applications, schematics and layouts for the I/O hardware, and HTML5 and JavaScript code for the Web pages. IzoT Server LED Controller Example Web Pages Echelon Confidential
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.