Software Design Specification

Similar documents
Software Design Specification

Software Release Note

Date CET Initials Name Justification

Date CET Initials Name Justification

Date CET Initials Name Justification

EFM8 Universal Bee Family EFM8UB2 Errata

EFM8 Laser Bee Family QSG110: EFM8LB1-SLSTK2030A Quick Start Guide

Software Design Specification

QSG144: CP2615-EK2 Quick-Start Guide

QSG119: Wizard Gecko WSTK Quick-Start Guide

UG345: Si72xx Eval Kit User's Guide

QSG114: CPT007B SLEX8007A Kit Quick- Start Guide

QSG123: CP2102N Evaluation Kit Quick- Start Guide

AN999: WT32i Current Consumption

EFM32 Pearl Gecko Family QSG118: EFM32PG1 SLSTK3401A Quick- Start Guide

EFM32 Happy Gecko Family EFM32HG-SLSTK3400A Quick-Start Guide

EFM8 Busy Bee Family EFM8BB2-SLSTK2021A Quick Start Guide

Translate HCSL to LVPECL, LVDS or CML levels Reduce Power Consumption Simplify BOM AVL. silabs.com Building a more connected world. Rev. 0.

AN1117: Migrating the Zigbee HA Profile to Zigbee 3.0

AN1143: Using Micrium OS with Silicon Labs Thread

SMBus. Target Bootloader Firmware. Master Programmer Firmware. Figure 1. Firmware Update Setup

AN125 INTEGRATING RAISONANCE 8051 TOOLS INTO THE S ILICON LABS IDE. 4. Configure the Tool Chain Integration Dialog. 1. Introduction. 2.

Humidity/Temp/Optical EVB UG

QSG155: Using the Silicon Labs Dynamic Multiprotocol Demonstration Applications

Bluegiga WF111 Software Driver Release Notes

AN976: CP2101/2/3/4/9 to CP2102N Porting Guide

AN1083: Creating and Using a Secure CoAP Connection with ARM s mbed TLS

EFR32MG13, EFR32BG13 & EFR32FG13 Revision C and Data Sheet Revision 1.0

AN1160: Project Collaboration with Simplicity Studio

UG365: GATT Configurator User s Guide

QSG107: SLWSTK6101A Quick-Start Guide

AN1106: Optimizing Jitter in 10G/40G Data Center Applications

The process also requires the use of the following files found in the Micriµm Quick Start Package for the FRDM-KL46Z:

µc/probe on the Freescale FRDM-KL05Z without an RTOS

AN0059.1: UART Flow Control

EFM8 Busy Bee EFM8BB1 Errata

Router-E and Router-E-PA Wireless Router PRODUCT MANUAL

AN1095: What to Do When the I2C Master Does Not Support Clock Stretching

UG322: Isolated CAN Expansion Board User Guide

EFM8 Universal Bee Family EFM8UB1 Errata

ETRX3DVK Development Kit Quick-Start Guide

8-Bit MCU C8051F85x/86x Errata

UG274: Isolated USB Expansion Board User Guide

QSG153: Micrium s μc/probe Tool Quick- Start Guide

Figure 1. Traditional Biasing and Termination for LVPECL Output Buffers

CP2110-EK CP2110 EVALUATION KIT USER S GUIDE. 1. Kit Contents. 2. Relevant Documentation. 3. Software Setup

QSG107: SLWSTK6101A/B Quick-Start Guide

AN0059.0: UART Flow Control

CP2103-EK CP2103 EVALUATION KIT USER S GUIDE. 1. Kit Contents. 2. Relevant Documentation. 3. Software Setup USBXpress Driver Development Kit

CP2104-EK CP2104 EVALUATION KIT USER S GUIDE. 1. Kit Contents. 2. Relevant Documentation. 3. Software Setup USBXpress Driver Development Kit

UG271: CP2615-EK2 User's Guide

UG369: Wireless Xpress BGX13P SLEXP8027A Kit User's Guide

Si1146 UVIRSlider2EK Demo Kit

AN1083: Creating and Using a Secure CoAP Connection with ARM s mbed TLS

Figure 1. CP2108 USB-to-Quad UART Bridge Controller Evaluation Board

UG254: CP2102N-MINIEK Kit User's Guide

AN324 ADVANCED ENCRYPTION STANDARD RELEVANT DEVICES. 1. Introduction. 2. Implementation Potential Applications Firmware Organization

QSG107: SLWSTK6101A/B Quick-Start Guide

AN1139: CP2615 I/O Protocol

QSG159: EFM32TG11-SLSTK3301A Quick- Start Guide

CP2105-EK CP2105 EVALUATION KIT USER S GUIDE. 1. Kit Contents. 2. Relevant Documentation. 3. Software Setup USBXpress Driver Development Kit

Si1140-DK. Si1140 DEVELOPMENT KIT USER S GUIDE. 1. Kit Contents. Figure 1. Si1143 Evaluation Board

EFR32 Mighty Gecko Family EFR32MG1 with Integrated Serial Flash Errata History

UG232: Si88xxxISO-EVB User's Guide

UG352: Si5391A-A Evaluation Board User's Guide

UG313: Thunderboard Sense 2 Bluetooth Low Energy Demo User's Guide

The Si50122-Ax-EVB is used to evaluate the Si50122-Ax. Table 1 shows the device part number and corresponding evaluation board part number.

FM-DAB-DAB Seamless Linking I2S SRAM. I2C / SPI Host Interface. FLASH Interface MOSI/SDA INTB MISO/A0 RSTB SCLK/SCL SSB/A1 SMODE

WT12 EVALUATION KIT DATA SHEET. Monday, 09 September Version 1.7

EFM32 EFM32GG11 Giant Gecko Family QSG149: EFM32GG11-SLSTK3701A Quick-Start Guide

Wireless Development Suite (WDS) is a software utility used to configure and test the Silicon Labs line of ISM band RFICs.

USBXpress Family CP2102N Errata

UG366: Bluetooth Mesh Node Configuration User s Guide

AN1154: Using Tokens for Non-Volatile Data Storage

CP2114 Family CP2114 Errata

Not Recommended for New Designs. Si Data Sheet Errata for Product Revision B

Programming Options for Si5332

BRD4300B Reference Manual MGM111 Mighty Gecko Module

UG294: CPT213B SLEXP8019A Kit User's Guide

Figure 1. Precision32 AppBuilder

Si7005USB-DONGLE. EVALUATION DONGLE KIT FOR THE Si7005 TEMPERATURE AND HUMIDITY SENSOR. 1. Introduction. 2. Evaluation Kit Description

AN1006: Differences Between Si534x/8x Revision B and Revision D Silicon

AN888: EZR32 Quick Start Guide

QSG166: WF200 Wi-Fi Development Kit Quick Start Guide

AGC. Radio DSP 1 ADC. Synth 0 AGC. Radio DSP 2 ADC. Synth 1. ARM Cortex M3 MCU. SPI/I2C Control Interface NVSSB SMODE SSB SCLK NVSCLK INTB

EFM32 Zero Gecko EFM32ZG Errata

TS9004 Demo Board FEATURES ORDERING INFORMATION

QSG126: Bluetooth Developer Studio Quick-Start Guide

EFM32G Product Revision E

AN888: EZR32 Simple TRX Application Quick Start Guide

UG361: Si70xx Evaluation Tools User's Guide

AN926: Reading and Writing Registers with SPI and I 2 C

UG103.7: Tokens Fundamentals

μc/probe on the element14 BeagleBone Black

μc/probe on the RIoTboard (Linux)

AN1053: Bluetooth Device Firmware Update over UART for EFR32xG1 and BGM11x Series Products

Selector Switch SDA. Pin 1. SCL Pin 2. I2C Bus. Pin 7. Pin 8. Pin 1. Pin 2. Pin 7 Pin 8. Pin 1 Pin 2. Pin 7 Pin 8

UG334: Si5394 Evaluation Board User's Guide

2. Key Points. F93x F92x F91x F90x. Figure 1. C8051F93x-C8051F90x MCU Family Memory Size Options

Termination Options for Any-Frequency Si51x XOs, VCXOs

Transcription:

Software Design Specification Node Provisioning QR Code Format (S2, Smart Start) Document No.: SDS13937 Version: Description: Format for representing S2 DSK as well as various product properties in QR codes Written By: ABR;JFR;NOBRIOT;BBR Date: 2018-03-0 Reviewed By: Restrictions: ABR;JFR;JRM;TRASMUSSEN;PSH;JSI;COLSEN;TRO;KMALMKJAER;AES;JBU;MDUMBA RE;NOBRIOT Public Approved by: Date CET Initials Name Justification 2018-03-0 14:40: NTJ Niels Thybo Johansen This document is the property of Silicon Labs. The data contained herein, in whole or in part, may not be duplicated, used or disclosed outside the recipient for any purpose. This restriction does not limit the recipient's right to use information contained in the data if it is obtained from another source without restriction.

REVISION RECORD Doc. Rev Date By Pages affected 1 20170411 ABR ALL First revision 3 20170628 NOBRIOT 3.1.1 3.3 Brief description of changes 4 20170811 ABR 3.3 Updated examples Added TLV representation paragraph Updated the example with the new combined Type/Critical values - 20170911 ABR Some Further clarifications to the Type/Critical field encoding 2018030 BBR All Added Silicon Labs template silabs.com Building a more connected world. Page ii of 10

Table of Contents 1 ABBREVIATIONS... 4 2 INTRODUCTION... 4 3 REQUIREMENTS... 3.1 QR code format... 3.1.1 QR Code TLV representation... 7 3.2 S2 QR code presentation requirements... 8 3.3 QR code examples... 9 3.3.1 Acme Light Dimmer... 9 3.3.2 Oscorp Door Lock w. UUID...10 3.3.3 Acme Light Dimmer (S2 only not SmartStart)...11 REFERENCES... 13 Table of Tables Table 1, Z-Wave QR Code format... 6 Table 2, QR Code block sizes... 8 silabs.com Building a more connected world. Page iii of 10

1 ABBREVIATIONS Abbreviation Explanation 2 INTRODUCTION The S2 specification defines a human-readable DSK string format and requires that a QR code representation is also provided. This document presents the QR code format for S2 and Smart Start devices. The QR code format supports basic S2 devices as well as Smart Start enabled devices applications; allowing for efficient warehouse logistics and portal-centric commissioning via connected gateways as well as production bundled kits. The Z-Wave QR code format is an improved variant of the format originally presented in the Z-Wave Security 2 specification. The format allows for more compact QR codes. The table below shows the original S2 QR code and a Smart Start QR code using the improved format of this specification. The first-generation S2 code only holds the DSK. The Smart Start code further holds information for device provisioning. Gen 1 (S2) Gen 2 (S2 & Smart Start) silabs.com Building a more connected world. Page 4 of 10

3 REQUIREMENTS This chapter presents requirements to the format of the Z-Wave S2 and Smart Start QR code. 3.1 QR code format The following requirements apply to the Z-Wave QR code. The QR code MUST NOT contain other characters than the decimal digits 0..9. The QR code MUST contain the all fields until and including the DSK. The QR code MUST contain TLV types 0 and 1. Refer to [2]. The QR code MAY contain additional TLV blocks. Refer to [2]. The QR code MUST comply with Table 1. The QR code MUST be encoded as QR Code Type Text. The QR code SHOULD be encoded with QR Code Error Correction Level L. The Version field defined in Table 1 should not be confused with the QR Version referenced in Table 2. The QR Version primarily defines the number of pixels in the QR code. The mandatory TLV types ensure that S2 devices produced prior to the official release of the Smart Start technology can be firmware upgraded to perform as native Smart Start devices. silabs.com Building a more connected world. Page of 10

Table 1, Z-Wave QR Code format Field name Dec digit Description blocksize Lead-in 2 Must be 90, representing ASCII character Z. Allows for an initial detection of Z-Wave QR codes. An application MUST also validate the checksum before evaluating other fields. Version 2 MUST be set to 0 for S2-only devices. MUST be set to 1 for Smart Start enabled devices. Checksum This field allows an application to ensure that the actual QR code does indeed contain valid Z-Wave Smart Start data. It serves as a simple checksum and has no cryptographic purpose. This field MUST advertise a digit decimal value representing the first two bytes of the SHA-1 hash calculated over all digits following this field. When calculating the SHA-1 value, the digits MUST be treated as ASCII characters. Requested Keys DSK (8 blocks) TypeCritical (T) Example: If the string "012346789" follows after the Checksum field, the first two bytes of the SHA-1 value are "87AC". The Checksum value 0x87AC in decimal representation is 34732. 3 This field carries an 8 bit value as 3 decimal digits. The value MUST reflect the Requested Keys byte as defined by the S2 specification. This field MUST carry a full 16 byte DSK as defined by the S2 specification. The field MUST be organized as 8 groups of decimal digits without any delimiter characters. If any data follows the DSK, it MUST be a TypeCritical field. 2 This field advertises the type of data carried in this TLV block and the criticality of this information. The Type MUST be encoded in bits 7..1. The Critical flag MUST be encoded in bit 0. Refer to section 3.1.1 and [2]. A Length field MUST follow this field. Len (L) 2 This field MUST advertise the number of decimal digits carried in the Value field of this TLV block. Refer to 3.1.1 and [2]. A Value field MUST follow this field. Value (V) (depends on type) Data complying with the advertised type and length. Refer to 3.1.1 and [2]. Another TLV block MAY follow this field. If any data follows the Value field, it MUST be a TypeCritical field silabs.com Building a more connected world. Page 6 of 10

3.1.1 QR Code TLV representation The TLV fields indicated in [2] MUST be mapped into the QR Code format described below. TypeCritical (2 decimal digits) When carried in a QR code, the Critical flag and the Type field MUST be combined into one 8-bit value, where the Type is mapped to bits 7..1 and the Critical flag is mapped to bit 0. That combined value MUST be in the range 0..99. Length (2 decimal digits) In QR Codes, the length MUST indicate the number of decimal digits used to represent the Value field. Value (variable length) In QR Codes, 8 bits value fields with allowed values in the range 0..99 MUST be represented using decimal representation with 2 decimal digits. In QR Codes, 8 bits value fields with allowed values higher than 99 MUST be represented using decimal representation with 3 decimal digits. In QR Codes, 16 bits value fields MUST be represented using decimal representation with decimal digits. In QR Codes, multiple of 16 bits value fields MUST be represented using decimal representation with N blocks of decimal digits each representing 16 bits. silabs.com Building a more connected world. Page 7 of 10

3.2 S2 QR code presentation requirements Based on QR code scanning experiments with smart phone cameras, it is RECOMMENDED that QR codes are at least 7x7mm. Printing technology may be the constraining factor when printing on plastics, e.g. a light bulb, causing QR code edges to be slightly blurred. In that case, the QR code SHOULD be made slightly bigger. The combination of different TLV blocks may cause the information density to grow. A QR code grows in significant steps. Assuming that a low level of data correction and that numeric text encoding is used, the following applies. QR Version Pixels Decimal digits Sample Table 2, QR Code block sizes Comment 1 21x21 1..41 (too small for S2 and Smart Start) 2 2x2 42..77 (too small for S2 and Smart Start) 3 29x29 78..127 A basic Smart Start code occupies 90 digits. 4 33x33 128..187 A Smart Start code with UUID16 occupies 134 digits Most Smart Start devices will fit into a QR Version 3 QR code while the addition of significant amounts of data, such as a UUID16 field, may necessitate QR Version 4. An S2 QR code has the same size as a basic Smart Start QR code. silabs.com Building a more connected world. Page 8 of 10

3.3 QR code examples 3.3.1 Acme Light Dimmer A Smart Start device advertises Z-Wave QR code version 1. Field name Decimal Dec digit block size Comment Lead-in 90 2 ASCII character Z Version 01 2 Version 1: SmartStart device Checksum 32782 First 16 bits of SHA-1; covering all following bytes. 16 bit decimal representation. Requested Keys 003 3 Requesting [S2 Unauthenticated] + [S2 Authenticated] keys. 8 bit decimal representation. DSK 12 34 41424 3444 31323 3343 21222 3242 (8 blocks) S2 DSK. TypeCritical 00 2 ProductType, 16 bit decimal representation. Len 10 2 Number of digits in ProductType ProductType 0433 0137 (2 blocks) QRProductType: Z-Wave Device Type = [Light Dimmer Switch] 0x11.0x01 = 0433 Z-Wave Installer Icon Type = LIGHT_DIMMER_SWITCH_PLUGIN = 0x0601 = 0137 TypeCritical 02 2 ProductID, 16 bit decimal representation. Len 20 2 Number of digits in ProductID ProductID 620 00100 00003 0078 (4 blocks) QRProductID: Z-Wave Manufacturer ID = Acme Corp = 0xFFF0 = 620 Z-Wave Product Type = 00100 (0x0064) Z-Wave Product ID = 00003 Z-Wave Application Version = 0x02.0x42 = 0078 silabs.com Building a more connected world. Page 9 of 10

The checksum is calculated over all fields following the checksum field, according to section 3.1. String to be encoded in QR code: 9001327820031234414243444313233343212223242001004330137022062000100000030078 (QR Code Error Correction Level L ) 3.3.2 Oscorp Door Lock w. UUID A Smart Start device advertises Z-Wave QR code version 1. In addition to basic Smart Start QR code fields, this QR code also carries a 16 byte UUID field. Field name Decimal block size Dec digit Comment Lead-in 90 2 ASCII character Z Version 01 2 Version 1: Smart Start enabled Checksum 34623 First 16 bits of SHA-1; covering all following bytes. 16 bit decimal representation. Requested Keys 007 3 Requesting [S2 Unauthenticated] + [S2 Authenticated] keys. 8 bit decimal representation. DSK 12 34 (8 blocks) S2 DSK. 41424 3444 31323 3343 21222 3242 TypeCritical 00 2 ProductType, 16 bit decimal representation. Len 10 2 Number of digits in ProductType ProductType 16387 00768 (2 blocks) QR ProductType: Z-Wave Device Type = [Door Lock - Keypad] 0x40.0x03 = 16387 Z-Wave Installer Icon Type = DOOR_LOCK_KEYPAD = 0x0300 = 00768 TypeCritical 02 2 ProductID, 16 bit decimal representation. silabs.com Building a more connected world. Page 10 of 10

Len 20 2 Number of digits in ProductID ProductID 621 01000 00017 00288 (4 blocks) QR ProductID: Z-Wave Manufacturer ID = Oscorp Inc = 0xFFF1 = 621 Z-Wave Product Type = 01000 (0x03E8) Z-Wave Product ID = 00017 (0x0011) Z-Wave Application Version = 0x01.0x20 = 00288 TypeCritical 06 2 UUID16, 16 bytes in 16 bit decimal representation. Len 42 2 Number of digits in UUID16 UUID16 00 21222 3242 41424 3444 11121 3141 31323 3343 (2 digits followed by 8 blocks of digits) QR UUID16: Presentation Format = 00 UUID = The checksum is calculated over all fields following the checksum field, according to section 3.1. String to be encoded in QR code: 90013462300712344142434443132333432122232420010163870076802206210100000017002880642002122232424142434441112131413 13233343 (QR Code Error Correction Level L ) 3.3.3 Acme Light Dimmer (S2 only not SmartStart) An S2 device advertises a basic Smart Start QR code but the Z-Wave QR code version field is set to 0. Field name Decimal Dec digit block size Comment Lead-in 90 2 ASCII character Z Version 00 2 Version 0: S2 device Checksum 32782 First 16 bits of SHA-1; covering all following bytes. 16 bit decimal representation. Requested Keys 003 3 Requesting [S2 Unauthenticated] + [S2 Authenticated] keys. 8 bit decimal representation. silabs.com Building a more connected world. Page 11 of 10

DSK 12 34 41424 3444 31323 3343 21222 3242 (8 blocks) S2 DSK. TypeCritical 00 2 ProductType, 16 bit decimal representation. Len 10 2 Number of digits in ProductType ProductType 0433 0137 (2 blocks) QRProductType: Z-Wave Device Type = [Light Dimmer Switch] 0x11.0x01 = 0433 Z-Wave Installer Icon Type = LIGHT_DIMMER_SWITCH_PLUGIN = 0x0601 = 0137 TypeCritical 02 2 ProductID, 16 bit decimal representation. Len 20 2 Number of digits in ProductID ProductID 620 00100 00003 0078 (4 blocks) QRProductID: Z-Wave Manufacturer ID = Acme Corp = 0xFFF0 = 620 Z-Wave Product Type = 00100 (0x0064) Z-Wave Product ID = 00003 Z-Wave Application Version = 0x02.0x42 = 0078 The checksum is calculated over all fields following the checksum field, according to section 3.1. String to be encoded in QR code: 9000327820031234414243444313233343212223242001004330137022062000100000030078 (QR Code Error Correction Level L ) silabs.com Building a more connected world. Page 12 of 10

REFERENCES [1] Silicon Labs, SDS1374, Security 2 Command Class Specification [2] Silicon Labs, SDS13944, Smart Start Provisioning Information Type Registry silabs.com Building a more connected world. Page 13 of 10

Smart. Connected. Energy-Friendly. Products www.silabs.com/products Quality www.silabs.com/quality Support and Community community.silabs.com Disclaimer Silicon Labs intends to provide customers with the latest, accurate, and in-depth documentation of all peripherals and modules available for system and software implementers using or intending to use the Silicon Labs products. Characterization data, available modules and peripherals, memory sizes and memory addresses refer to each specific device, and "Typical" parameters provided can and do vary in different applications. Application examples described herein are for illustrative purposes only. Silicon Labs reserves the right to make changes without further notice and limitation to product information, specifications, and descriptions herein, and does not give warranties as to the accuracy or completeness of the included information. Silicon Labs shall have no liability for the consequences of use of the information supplied herein. This document does not imply or express copyright licenses granted hereunder to design or fabricate any integrated circuits. The products are not designed or authorized to be used within any Life Support System without the specific written consent of Silicon Labs. A "Life Support System" is any product or system intended to support or sustain life and/or health, which, if it fails, can be reasonably expected to result in significant personal injury or death. Silicon Labs products are not designed or authorized for military applications. Silicon Labs products shall under no circumstances be used in weapons of mass destruction including (but not limited to) nuclear, biological or chemical weapons, or missiles capable of delivering such weapons. Trademark Information Silicon Laboratories Inc., Silicon Laboratories, Silicon Labs, SiLabs and the Silicon Labs logo, Bluegiga, Bluegiga Logo, Clockbuilder, CMEMS, DSPLL, EFM, EFM32, EFR, Ember, Energy Micro, Energy Micro logo and combinations thereof, "the world s most energy friendly microcontrollers", Ember, EZLink, EZRadio, EZRadioPRO, Gecko, ISOmodem, Micrium, Precision32, ProSLIC, Simplicity Studio, SiPHY, Telegesis, the Telegesis Logo, USBXpress, Zentri, Z-Wave and others are trademarks or registered trademarks of Silicon Labs. ARM, CORTEX, Cortex-M3 and THUMB are trademarks or registered trademarks of ARM Holdings. Keil is a registered trademark of ARM Limited. All other products or brand names mentioned herein are trademarks of their respective holders. Silicon Laboratories Inc. 400 West Cesar Chavez Austin, TX 78701 USA http://www.silabs.com