CC2420DK Overview and The ZigBee device objects (ZDO) Real-Time Systems Lab Dea Don Jeon.

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

PowerPoint ® Presentation Chapter 7 LonWorks Network Programming LonWorks Network Programming Network Variable Bindings Device Commissioning.
,< 資 管 Lee 附錄 A0 IGMP vs Multicast Listener Discovery.
1 Internet Protocol Version 6 (IPv6) What the caterpillar calls the end of the world, nature calls a butterfly. - Anonymous.
ECE Department: University of Massachusetts, Amherst ECE 354 Lab 3: Transmitting and Receiving Ethernet Packets.
ECGR-6185 ZIGBEE Advanced Embedded Systems University of North Carolina –Charlotte Gajendra Singh Some figures borrowed from Zigbee Alliance web pages.
Topic 3: Sensor Networks and RFIDs Part 4 Instructor: Randall Berry Northwestern University MITP 491: Selected Topics.
1 6/14/ :27 CS575Internetworking & Routers1 Rivier College CS575: Advanced LANs Chapter 13: Internetworking & Routers.
Wireless Sensors and Wireless Sensor Networks (WSN) Darrell Curry.
Wireless Networks Lab – A Simple Tree Network 2007/11/14 Chia-Hung Tsai.
Updated 1/20021 SMDS Nirmala Shenoy Information technology Department Rochester Institute of Technology.
Jirasak Raksachum Prince of Songkla University.  XBee ?  Specifications of the XBee®/XBee ‐ PRO®  Pin Signals  Serial Communications  ZigBee & Network.
Network Management: SNMP
Fault Tolerance in ZigBee Wireless Sensor Networks
Lab 4 ZigBee & with PICDEM Z Boards 55:088 Spring 2007.
doc.: IEEE <doc#> ZigBee Technical Overview
Speaker : Chang Kai-Jia Date : 2010/5/12
Zigbee Mesh Networking 16 August 2015 Raoul van Bergen Field Application Engineer Embedded – EMEA Digi International.
1 Hello ZigBee Speaker : 施創宏 Advisor : 吳坤熹. 2 Outline  1.3 ZigBee in the Marketplace  1.4 Hello ZigBee (A First ZigBee Network)  1.5 ZigBee Home Automation.
Guide to TCP/IP, Third Edition Chapter 8: The Dynamic Host Configuration Protocol.
Member of Radiocrafts What is ZigBee? -Open global standard with an alliance of members (175+) promoted by Chipcon, Mitsubishi, Philips, Honeywell ++.
NetSim ZigBee Simulation Code Walkthrough in 10 steps
Lab 4 ZigBee & with PICDEM Z Boards 55:088 Fall 2006.
Advisor: Quincy Wu Speaker: Kuan-Ta Lu Date: Aug. 19, 2010
Speaker:Yi-Jie Pan Advisor:Dr. Kai-Wei Ke 2014/04/28
LWIP TCP/IP Stack 김백규.
Architectures and Applications for Wireless Sensor Networks ( ) Sensor Node Programming II (UART and Radio) Chaiporn Jaikaeo
Internet Addresses. Universal Identifiers Universal Communication Service - Communication system which allows any host to communicate with any other host.
LWIP TCP/IP Stack 김백규.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
The ZigBee Development Enviroment Date: 2009/11/24 Speaker: Junn-Keh Yeh Advisor: Quincy Wu.
IP Forwarding.
Cisco S2 C4 Router Components. Configure a Router You can configure a router from –from the console terminal (a computer connected to the router –through.
1Ember Corporation Copyright © 2008 — All Rights Reserved Zigbee Standard.
Hyung-Min Lee ©Networking Lab., 2001 Chapter 8 ARP and RARP.
The Socket Interface Chapter 21. Application Program Interface (API) Interface used between application programs and TCP/IP protocols Interface used between.
Speaker : Junn-Keh Yeh Date : 2010/7/2 1.  IEEE  Forming, Joining, and Rejoining ZigBee Networks ◦ Forming Networks ◦ Joining Networks ◦ Rejoining.
Electronics Blocks for Basic Sensor-Based System System Design and Problems (II)
Institute of Technology Sligo - Dept of Computing Sem 2 Chapter 12 Routing Protocols.
Packet switching network Data is divided into packets. Transfer of information as payload in data packets Packets undergo random delays & possible loss.
Lab 4 ZigBee & with PICDEM Z Boards 55:088 Spring 2006.
1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Dynamic Host Configuration Protocol (DHCP)
IT Ess I v.4x Chapter 1 Cisco Discovery Semester 1 Chapter 3 JEOPADY Q&A by SMBender, Template by K. Martin.
Doc.: IEEE g TG4g - SUN September 2009 Phil Beecher, Beecher Communications Consultants Ltd Slide 1 Project: IEEE P Working Group.
Tutorial. Month Year Copyright 2003 The ZigBee Alliance, Inc. 2 Mission Statement ZigBee Alliance members are defining global standards for reliable,
Doc.: IEEE /272r1 Submission June 2001 Phil Jamieson, Philips SemiconductorsSlide 1 Project: IEEE P Working Group for Wireless Personal.
RIP Routing Protocol. 2 Routing Recall: There are two parts to routing IP packets: 1. How to pass a packet from an input interface to the output interface.
Doc.: IEEE /129r0 Submission September 2010 Junho Jo/Jihyun Lee, LG ElectronicsSlide 1 IEEE System description Notice: This document.
LonWorks Introduction Hwayoung Chae.
CHAPTER 3 Router CLI Command Line Interface. Router User Interface User and privileged modes User mode --Typical tasks include those that check the router.
IEEE MAC protocol Jaehoon Woo KNU Real-Time Systems Lab. KNU Real-Time Systems Lab.
1.3 The ZigBee application framework Jae Shin Lee.
Sem 2 v2 Chapter 12: Routing. Routers can be configured to use one or more IP routing protocols. Two of these IP routing protocols are RIP and IGRP. After.
ZigBee Technology 家庭網路設備設計與控制.
Source insight with Z-Stack 김백규. Review Z-Stack Structure.
Common Channel Tag Mobile System RTlab Kang Moo jin.
Projects Past and Present
Networked Embedded Systems: ZigBee
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Department of Computer Science Southern Illinois University Carbondale CS441-Mobile & Wireless Computing Zigbee Standard Dr.
LWIP TCP/IP Stack 김백규.
Semester 1 Cisco Discovery JEOPADY Chapter 3.
SWITCHING Switched Network Circuit-Switched Network Datagram Networks
Low Power Wireless Personal Area Network (LP-WPAN)
CS526 Wireless Sensor Networks
ECE 544 Protocol Design Project 2016
Submission Title: Coding example for the ULI
ISM Band Radio Radio Protocols and Topology
doc.: IEEE <doc#>
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Presentation transcript:

CC2420DK Overview and The ZigBee device objects (ZDO) Real-Time Systems Lab Dea Don Jeon

Context  CC2420DK  ZigBee example application plan  Profile Builder  Configurator  IEEE Packet sniffer  Z-Network  Z-Trace  ZigBee Specification  ZDO

ZigBee example application plan Lower Layer Logical Node Type : PAN Coordinator Beeper GasSensor CompasSensor TempSensor GyroSensor EP=1, ClusterID=1 EP=2, ClusterID=2 EP=3, ClusterID=3 EP=4, ClusterID=4 EP=5, ClusterID=5 ZDO EP=0 Profile ID : 7 Zigbee Stack

Profile Builder

Configurator (Cont)  User Devices Files OSAL_SEN.c : adds all the tasks to the task list SEN.c : User Applications SEN.h : Profile ID, Cluster ID and EndPoint are Defined  Build Project  Project files of Programmers Notepad (Editor)

Programmers Notepad ( Editor )

Configurator  Devices

Configurator (Cont)  Device Settings

Configurator (Cont)  Device Settings Files NLMEDE.h : PHY Channel, Beacon order, related network layer management entity and etc. nwk_globals.h : NIB(Network layer information base) ex) Network topology, Maximum logical node ZDApp.c : ZigBee Device Application ZDApp.h : PAN_ID, Node status and etc  Build Project

IEEE Packet sniffer

Z-Network  Z-Network is an application that displays the hierarchical topology of a ZigBee network

Z-Trace  Development application which can be used to communicate with a ZigBee target device development system.(RS-232)

ZDO ( ZigBee device objects )  is an application which employs Network and application support layer primitives to implement End Devices, Routers and Coordinators in Release 0.75 of the ZigBee protocol.

ZDO functions  Initializing the APS, NWK, SSP and any other ZigBee device layer  Assembling configuration information from following functions  Device and Service Discovery  Security Manager  Network Manager  Binding Manager  Node Manager

Device and Service Discovery

Match_Desc_req example code void ZDApp_AutoFindDestination( byte endPoint) { byte ep = 0; zAddrType_t dstAddr; SimpleDescriptionFormat_t *sDesc; ep = endPoint; if ( ep == ZDO_EP ) return; // Can't do for ZDO SetLed( LED4, LED_OFF ); ZDApp_AutoFindMode_epDesc = afFindEndPointDesc( ep ); if ( ZDApp_AutoFindMode_epDesc ) { sDesc = ZDApp_AutoFindMode_epDesc->simpleDesc; // This message is sent to everyone dstAddr.addrMode = AddrBroadcast; dstAddr.addr.shortAddr = sDesc->AppProfId; ZDP_MatchDescReq( &dstAddr, NWK_BROADCAST_SHORTADDR, sDesc->AppProfId, sDesc->AppNumOutClusters, sDesc->pAppOutClusterList, sDesc->AppNumInClusters, sDesc->pAppInClusterList, 0 ); if ( keys & EVAL_SW4 ) { // Initiate a Match Description Request (Service Discovery) // for the mandatory endpoint ZDApp_AutoFindDestination( DLC03395_epDescMandatory.endPoint ); } DLC03395_App.c ZDApp.c

Match_Desc_req example code (Cont) buf = osal_mem_alloc( bufLen ); if ( buf ) { // Fill in the buffer pBuf = buf; *pBuf++ = LO_UINT16( nwkAddr ); // NWKAddrOfInterest *pBuf++ = HI_UINT16( nwkAddr ); *pBuf++ = LO_UINT16( ProfileID ); // Profile ID *pBuf++ = HI_UINT16( ProfileID ); *pBuf++ = NumInClusters; // Input cluster list if ( NumInClusters ) { pBuf = osal_memcpy( pBuf, InClusterList, NumInClusters ); } *pBuf++ = NumOutClusters; // Output cluster list if ( NumOutClusters ) osal_memcpy( pBuf, OutClusterList, NumOutClusters ); // Send the message stat = ZDP_FillAndSend( &afdstAddr, Match_Desc_req, bufLen, buf, AF_TX_OPTIONS_NONE ); // Free the memory osal_mem_free( buf ); } else stat = afStatus_MEM_FAIL; return stat; } #endif // ZDO_MATCH_REQUEST afStatus_t ZDP_MatchDescReq( zAddrType_t *dstAddr, uint16 nwkAddr, uint16 ProfileID, byte NumInClusters, byte *InClusterList, byte NumOutClusters, byte *OutClusterList, byte SecurityEnable ) { byte *buf; byte *pBuf; byte bufLen; afStatus_t stat; afAddrType_t afdstAddr; ZDP_ConvertToAFAddr( &afdstAddr, dstAddr ); // Calculate bufer length needed bufLen = ; // nwkAddr + ProfileID + NumInClusters + NumOutClusters bufLen += (NumInClusters + NumOutClusters); // Allocate the buffer ZDProfile.c

Match_Desc_req example code (Cont) afStatus_t ZDP_FillAndSend( afAddrType_t *dstAddr, byte clusterID, byte DataLength, byte *Data, byte txOptions ) { byte discoverRoute; if ( (dstAddr->addrMode == AddrBroadcast) || ((dstAddr->addrMode == Addr16Bit) && (dstAddr->addr.shortAddr == 0xFFFF)) ) { discoverRoute = true; } else discoverRoute = false; return ( afFillAndSendMessage( dstAddr, // DestAddr ZDP_AF_ENDPOINT, // Endpoint clusterID, // ClusterId 1, // TransCount FRAMETYPE_MSG, // FrameType &ZDP_transID, // TransSeqNumber NULL, // CommandType NULL, // AttribDataType NULL, // AttribId NULL, // ErrorCode DataLength, // DataLength Data, // Data txOptions, discoverRoute, AF_DEFAULT_RADIUS ) ); } ZDProfile.c

Match_Desc_req example code (Cont) afStatus_t afAddOrSendMessage( afAddrType_t *dstAddr, byte srcEndPoint, byte clusterID, afAddOrSend_t AddOrSend, byte FrameType, byte *TransSeqNumber, byte CommandType, byte AttribDataType, uint16 AttribId, byte ErrorCode, byte DataLength, byte *Data, byte txOptions, byte DiscoverRoute, byte RadiusCounter ) { …………………………….. afMultiHdr->frameType = FrameType; afMultiHdr->msgLen = 1; // Seed the size for the tranType/Count afMultiHdr->clusterID = clusterID; afMultiHdr->txOptions = txOptions; afMultiHdr->discoverRoute = DiscoverRoute; afMultiHdr->radiusCounter = RadiusCounter; /* Setup the destination address */ afMultiHdr->dstAddr.addrMode = (byte)dstAddr->addrMode; …………………………….. /* Increase CurrentTransCount */ afMultiHdr->transCount++; if (AddOrSend == SEND_MESSAGE) stat = afSendMulti(); return stat; } AF.c

Match_Desc_req example code (Cont) afStatus_t afSendMulti( void ) { ………………….. if ( afMultiHdr != NULL ) { // Find the single endpoint description epDesc = afFindEndPointDesc( afMultiHdr->srcEP ); if ( epDesc && (afMultiHdr->transCount > 0) ) { // Update the message trans type and count afMultiHdr->msg[0] = BUILD_UINT8( afMultiHdr->frameType, afMultiHdr->transCount ); ……………….. /* Send the packet */ if ( APSDE_DataRequest( &afMultiHdr->dstAddr, afMultiHdr->dstEP, profileID, afMultiHdr->clusterID, afMultiHdr->srcEP, (uint16)(afMultiHdr->msgLen), afMultiHdr->msg, afMultiHdr->txOptions, afMultiHdr->discoverRoute, afMultiHdr->radiusCounter ) == ZSuccess ) { stat = afStatus_SUCCESS; } ………………….. } afMultiHdr_t *afMultiHdr = (afMultiHdr_t*)NULL; // Global variables -- AF.c

Security Manager

Network Manager

Binding Manager

Node Manager

Q&A