Getting started with the FP-NET-6LPBLE1 function pack for 6LoWPAN IoT node connection to a smartphone via BLE interface

Similar documents
Getting started with the FP-SNS-ALLMEMS1 Bluetooth low energy and sensors software expansion for STM32Cube

Quick Start Guide. STM32 ODE Function Pack for connecting 6LoWPAN IoT Nodes to smartphone through a BLE interface (FP-NET-6LPBLE1)

Getting started with FP-SNS-6LPNODE1 software for IoT sensor node connection to 6LoWPAN networks using sub-1ghz RF

Getting started with X-CUBE-LED channel LED driver software expansion based on LED1642GW for STM32Cube

Getting started with the FP-IND-PLCWIFI1 function pack for PLC management via Wi-Fi

UM2045 User manual. Getting started with the X-CUBE-NFC3 near field communication transceiver software expansion for STM32Cube.

Getting started with the X-CUBE-NFC5 high performance HF reader / NFC initiator IC software expansion for STM32Cube

AN4624 Application note

Running a simple 6LowPAN network consisting of one receiver node and one or more sensor nodes in a Sub-1GHz RF band

NUCLEO-L433RC-P NUCLEO-L452RE-P

NUCLEO-L496ZG. STM32 Nucleo-144 board. Features. Description

Getting started with STEVAL-IDB007V1 and STEVAL-IDB008V1 evaluation boards

STSW-BNRG-Mesh. Mesh over Bluetooth low energy. Features. Description. Applications

Getting started with the X-CUBE-53L1A1 Time-of-Flight long distance ranging sensor software expansion for STM32Cube

Getting started with the X-CUBE-MEMS1 motion MEMS and environmental sensor software expansion for STM32Cube

Bluetooth low energy profiles for the X-CUBE-BLE1 expansion for STM32Cube. Description

Quick Start Guide. Bluetooth Low Energy expansion board based on SPBTLE-RF module for STM32 Nucleo (X-NUCLEO-IDB05A1) Version 1.

Getting started with the X-CUBE-IKA02A1 multifunctional software expansion for STM32Cube

Quick Start Guide STM32 ODE Function Pack for IoT sensor node connection to 6LoWPAN networks through sub-1ghz RF communication (FP-SNS-6LPNODE1)

Getting started with MotionPM real-time pedometer library in X CUBE-MEMS1 expansion for STM32Cube

Getting started with osxmotiongc gyroscope calibration library for X-CUBE-MEMS1 expansion for STM32Cube

UM2350. Getting started with MotionPW real-time pedometer for wrist library in X-CUBE-MEMS1 expansion for STM32Cube. User manual.

Version (Apr 28, 2016)

Getting started with MotionPM real-time pedometer library in X-CUBE-MEMS1 expansion for STM32Cube

P-NUCLEO-USB001. STM32 Nucleo pack for USB Type-C and Power Delivery. Features. Description

Quick Start Guide. Bluetooth low energy, sensors and NFC tag software for STM32Cube (BLUEMICROSYSTEM3) Version (September 15, 2016)

IoT node with BLE connectivity, digital microphone, environmental and motion sensors, motion and audio middleware libraries.

UM2216 User manual. Getting started with MotionFA fitness activity library in X CUBE MEMS1 expansion for STM32Cube. Introduction

UM2276. Getting started with MotionSD standing vs sitting desk detection library in X-CUBE-MEMS1 expansion for STM32Cube. User manual.

Quick Start Guide. Bluetooth Low Energy expansion board based on BlueNRG for STM32 Nucleo (X-NUCLEO-IDB04A1) Version 1.

STSW-BLUENRG1-DK. BlueNRG-1, BlueNRG-2 DK SW package

Quick Start Guide. High power stepper motor driver expansion board based on powerstep01 for STM32 Nucleo (X-NUCLEO-IHM03A1)

P-NUCLEO-USB001. STM32 Nucleo pack for USB Type-C and Power Delivery Data brief. Features. Description

UM2194. Getting started with MotionAW activity recognition for wrist library in X-CUBE-MEMS1 expansion for STM32Cube. User manual.

Getting started with the FP-CLD-AWS1 software package for IoT node with Wi-Fi and sensors, connected to Amazon AWS IoT cloud

Quick Start Guide. Stepper motor driver expansion board based on L6474 for STM32 Nucleo (X-NUCLEO-IHM01A1) Version 1.2.

Getting started with osxmotionar activity recognition library for X-CUBE-MEMS1 expansion for STM32Cube

Quick Start Guide. Bipolar stepper motor driver expansion board based on L6208 for STM32 Nucleo (X-NUCLEO-IHM05A1) Version 1.1.

USB Type-C and Power Delivery Nucleo pack with NUCLEO-F072RB expansion board based on STUSB1602. Description

Getting started with the STM32 Nucleo pack for USB Type-C and Power Delivery with the Nucleo-F072RB board and the STUSB1602

Getting started with osxmotionmc magnetometer calibration library for X-CUBE-MEMS1 expansion for STM32Cube

UM2361. Getting started with the ST BlueNRG-Mesh ios application. User manual. Introduction

Quick Start Guide. Dynamic NFC/RFID tag IC expansion board based on ST25DV04K for STM32 Nucleo (X-NUCLEO-NFC04A1) Version 1.

Getting started with MotionMC magnetometer calibration library in X-CUBE-MEMS1 expansion for STM32Cube

UM1853 User manual. STM32CubeF1 Nucleo demonstration firmware. Introduction

USB Type-C and Power Delivery Nucleo pack with NUCLEO-F072RB expansion board based on the STUSB1602

Getting started with MotionAR activity recognition library in X-CUBE-MEMS1 expansion for STM32Cube

Getting started with the STSW-BCNKT01 software package for STEVAL-BCNKT01V1 based on STM32Cube

Quick Start Guide. Long distance ranging ToF sensor expansion board based on VL53L1X for STM32 Nucleo (X-NUCLEO-53L1A1) Version (February 20, 2018)

32F412GDISCOVERY. Discovery kit with STM32F412ZG MCU. Features. Description

32L476GDISCOVERY. Discovery kit with STM32L476VG MCU. Features. Description

32F469IDISCOVERY. Discovery kit with STM32F469NI MCU. Features. Description

Getting started with MotionAR activity recognition library in X-CUBE-MEMS1 expansion for STM32Cube

Sub-1 GHz RF expansion board based on the SPSGRF-868 module for STM32 Nucleo. Description

EVALKITSTKNX. Miniature transceiver STKNX evaluation and development kit. Features

Getting started with the software package for STEVAL-STLKT01V1 based on STM32Cube

Quick Start Guide. STM32 ODE Function Pack for Building a PLC controlled via Wi-Fi (FP-IND-PLCWIFI1) Version 1.1 (Oct 16, 2017)

Quick Start Guide. STM32Cube function pack for IoT sensor node with telemetry and device control applications for Amazon AWS Cloud (FP-CLD-AWS1)

P-NUCLEO-53L1A1. VL53L1X nucleo pack with X-NUCLEO-53L1A1 expansion board and STM32F401RE nucleo board. Description. Features

X-NUCLEO-53L1A1. Long distance ranging Time-of-Flight sensor expansion board based on VL53L1X for STM32 Nucleo. Description.

P-NUCLEO-IKA02A1. STM32 Nucleo pack: electrochemical toxic gas sensor expansion board with CO sensor. Description. Features

STM32 Open Development Environment

STM32L4R9I-EVAL. Evaluation board with STM32L4R9AI MCU. Features

Quick Start Guide. Sound terminal expansion board based on STA350BW for STM32 NUCLEO (X-NUCLEO-CCA01M1) Version 1.1.

P-NUCLEO-53L0A1. VL53L0X Nucleo pack with ranging, gesture detection sensor expansion board and STM32F401RE. Description. Features

STSW-BNRGUI. BlueNRG GUI SW package. Data brief. Features. Description

32F746GDISCOVERY. Discovery kit with STM32F746NG MCU. Features. Description

Quick Start Guide. GNSS expansion board based on Teseo-LIV3F module for STM32 Nucleo (X-NUCLEO-GNSS1A1) Version 2.1 (Nov 9, 2018)

Quick Start Guide. Version 3.0 (June 12, 2017)

STEVAL-STLKT01V1. SensorTile development kit. Description. Features

Getting started with the X-CUBE-SPN2 two-axis stepper motor driver software expansion for STM32Cube

UM2192. Getting started with MotionMC magnetometer calibration library in X-CUBE-MEMS1 expansion for STM32Cube. User manual.

Quick Start Guide. Dual-channel high side driver expansion board based on VPS2535H for STM32 Nucleo (X-NUCLEO-IPS02A1) Version 1.0 (Sept.

Quick Start Guide. STM32 ODE function pack for IoT node with BLE connectivity and environmental and motion sensors (FP-SNS-MOTENV1)

UM2084 User manual. Getting started with the ultra-low-power STM32 and LoRa Nucleo pack. Introduction

Getting started with the X-CUBE-SPN3 high power stepper motor driver software expansion for STM32Cube

Quick Start Guide. STM32Cube function pack for IoT node with dynamic NFC tag, environmental and motion sensors (FP-SNS-SMARTAG1)

Quick Start Guide STM32Cube function pack for creating a BLE star network connected via Wi-Fi to IBM Watson IoT cloud (FP-NET-BLESTAR1)

X-NUCLEO-53L0A1. Ranging and gesture detection sensor expansion board based on VL53L0X for STM32 Nucleo. Description. Features

Getting started with VL53L0X ranging and gesture detection sensor software expansion for STM32Cube

Getting started with X-NUCLEO-IHM06A1 low voltage stepper motor driver expansion board based on STSPIN220 for STM32 Nucleo

How to upgrade the firmware on the STEVAL-USBC2DP USB Type-C to DisplayPort adapter

Quick Start Guide. Version 3.1 (August 8, 2018)

Quick Start Guide. Contiki OS and 6LoWPAN sub-1ghz RF communication software expansion for STM32 Cube (Contiki6LP) Version 1.3 (December 10, 2018)

DT0095 Design tip. Datalogging the SensorTile through a PC. Purpose and benefits. Description

STEVAL-STLKT01V1. SensorTile development kit. Description. Features

Getting started with the software package for L6474 stepper motor driver X-CUBE-SPN1 expansion for STM32Cube

Getting started with the digital MEMS microphone expansion board based on MP34DT01-M for STM32 Nucleo

UM2495. High performance HF reader / NFC initiator IC software expansion for NUCLEO-8S208RB. User manual. Introduction

UM1727 User manual. Getting started with STM32 Nucleo board software development tools. Introduction

Getting started with the STM32 ODE function pack for IoT node with NFC, BLE connectivity and environmental, motion and Time-of-Flight sensors

Getting started with the ultra-low-power STM32 and LoRa Nucleo pack

UM1982 User manual. Multi-Sensor RF 868 MHz platform. Introduction

STM32H7x3I-EVAL. Evaluation board with STM32H7x3XI MCUs. Data brief. Features

STEVAL-STLKT01V1. SensorTile development kit. Description. Features

STEVAL-BCNKT01V1. BlueCoin Starter kit. Features. Description

Getting started with the software package for digital MEMS microphones in X-CUBE-MEMSMIC1 expansion for STM32Cube

P-NUCLEO-6180X2. Proximity, gesture, ambient light sensor expansion board based on VL6180X for STM32L053R8. Description. Features

Getting started with osxacousticsl real-time sound source localization software expansion for STM32Cube

AN4869 Application note

Transcription:

User manual Getting started with the FP-NET-6LPBLE1 function pack for 6LoWPAN IoT node connection to a smartphone via BLE interface Introduction FP-NET-6LPBLE1 is an STM32 ODE function pack. This package provides application layer bridging functionality to connect a 6LoWPAN network consisting of SPIRIT1-based sub-1 GHz RF communication sensor nodes to a smartphone or tablet device in a BLE network, allowing control of the sensor nodes with an application. This package allows jumpstarting end-to-end IoT development to save time in the integration of essential functions required for 6LoWPAN node connection to smartphones using the BLE interface. The software runs on the STM32 microcontroller and includes drivers for the BLE module (SPBTLE-RF) and SPIRIT1-based sub-1 GHz RF communication modules (SPSGRF-868 or SPSGRF-915); the software also comes with binary firmware ready for wireless sensor nodes. September 2016 DocID029644 Rev 1 1/23 www.st.com

Contents UM2102 Contents 1 Acronyms and abbreviations... 5 2 FP-NET-6LPBLE1 software expansion for STM32Cube... 6 2.1 Overview... 6 2.2 Architecture... 6 2.3 Folder structure... 7 2.4 APIs... 8 2.5 Android application... 8 2.6 Border router sample application... 8 2.6.1 Connecting the border router to your smartphone... 9 2.7 Sensor node sample application... 10 2.7.1 Connecting the sensor node to the smartphone... 10 3 System setup guide... 12 3.1 Hardware description... 12 3.1.1 STM32 Nucleo platform... 12 3.1.2 X-NUCLEO-IDB05A1 expansion board... 12 3.1.3 X-NUCLEO-IDS01A4 and X-NUCLEO-IDS01A5 expansion board. 13 3.1.4 X-NUCLEO-IKS01A1 expansion board... 14 3.2 Software description... 15 3.3 Hardware and software setup... 15 3.3.1 Hardware setup... 15 3.3.2 Software setup... 17 4 Revision history... 22 2/23 DocID029644 Rev 1

List of tables List of tables Table 1: List of acronyms... 5 Table 2: Document revision history... 22 DocID029644 Rev 1 3/23

List of figures List of figures UM2102 Figure 1: FP-NET-6LPBLE1 software architecture... 7 Figure 2: FP-NET-6LPBLE1 package folder structure... 7 Figure 3: System connecting smartphone app to nodes via border router... 9 Figure 4: Installing an Android file explorer app... 10 Figure 5: Connecting nodes to PC via Mini-USB... 11 Figure 6: STM32 Nucleo board... 12 Figure 7: X-NUCLEO-IDB05A1 expansion board... 13 Figure 8: X-NUCLEO-IDS01A4 / X-NUCLEO-IDS01A5 expansion board... 14 Figure 9: X-NUCLEO-IKS01A1 expansion board... 14 Figure 10: STM32 Nucleo plus X-NUCLEO-IDS01A4 plus X-NUCLEO-IDB05A1... 15 Figure 11: STM32 Nucleo plus X-NUCLEO-IKS01A1 plus X-NUCLEO-IDS01A4... 16 Figure 12: Icon of Smart Sensor Android application... 17 Figure 13: Smart Sensor start screen... 18 Figure 14: Smart Sensor overflow menu... 18 Figure 15: Smart Sensor device scan... 19 Figure 16: Smart Sensor ST_SMARTLIGHT selection... 19 Figure 17: Connection between device and smartphone established... 20 Figure 18: Smart Sensor discovered sensor nodes... 20 Figure 19: Node sensor data... 21 Figure 20: Mesh network tree... 21 4/23 DocID029644 Rev 1

Acronyms and abbreviations 1 Acronyms and abbreviations Table 1: List of acronyms Acronym Description BLE Bluetooth low energy 6LoWPAN IPv6 over low power wireless personal area networks IoT internet of things IDE integrated development environment BSP board support package HAL hardware abstraction layer UDP user datagram protocol MCU microcontroller unit MEMS micro electro-mechanical systems DocID029644 Rev 1 5/23

FP-NET-6LPBLE1 software expansion for STM32Cube UM2102 2 FP-NET-6LPBLE1 software expansion for STM32Cube 2.1 Overview The key features of the package are: Firmware package with Contiki 6LoWPAN protocol stack 3.x and related applications running on an STM32 Nucleo board with sub-1 GHz RF, BLE connectivity and optional sensor expansion board Middleware library with BLE and Contiki 6LoWPAN protocol stack 3.x Support for mesh networking technology through the standard RPL protocol Sample application to connect a border router to a sensor node using 6LoWPAN mesh network technology and to display mesh network tree and sensor data on an Android device Sample implementation for X-NUCLEO-IDS01A4 or X-NUCLEO-IDS01A5 and X- NUCLEO-IDB05A1 boards connected to a NUCLEO-F401RE board Easy portability across different MCU families, thanks to STM32Cube Free, user-friendly license terms 2.2 Architecture The software is based on the STM32CubeHAL, the hardware abstraction layer for the STM32 microcontroller. The package extends STM32Cube by providing a board support package (BSP) for the X-NUCLEO-IDS01A4 or X-NUCLEO-IDS01A5 and X-NUCLEO- IDB05A1 expansion boards. The drivers abstract low-level details of the hardware and allow the middleware components and applications to access sensor data in a hardwareindependent manner to access and control the BLE module (SPBTLE-RF) and SPIRIT1 based sub-1 GHz RF communication modules (SPSGRF-868 or SPSGRF-915). The package also includes some middleware libraries to support BLE and 6LoWPAN stacks, along with sample application for accessing sensors and actuators resources on the 6LoWPAN nodes, using Embedded Bluetooth low energy protocol stack such as GAP and GATT. Developers can use it to prototype end-to-end IoT applications. The software layers used by the application software to access and use both the X- NUCLEO-IDS01A4 or X-NUCLEO-IDS01A5 and X-NUCLEO-IDB05A1 expansion boards are the following: STM32Cube HAL layer: consists of a simple, generic and multi-instance set of APIs (application programming interfaces) to interact with the upper application, library and stack layers. These generic and extension APIs are directly built around a generic architecture and allow layers like the middleware layer built on top of them to implement their functions without requiring specific hardware configuration information for given microcontroller units (MCU). This structure improves library code re-usability and guarantees easy portability across other devices. Board support package (BSP) layer: supports the peripherals on the STM32 Nucleo board, except the MCU. This limited set of APIs provides a programming interface for certain board specific peripherals like the LED and user button. This interface also helps in identifying the specific board version. 6/23 DocID029644 Rev 1

Figure 1: FP-NET-6LPBLE1 software architecture FP-NET-6LPBLE1 software expansion for STM32Cube 2.3 Folder structure Figure 2: FP-NET-6LPBLE1 package folder structure The following folders are included in the software package: Documentation: contains a compiled HTML file generated from the source code, detailing the software components and APIs. Drivers: contains the HAL drivers, the board specific drivers for each supported board or hardware platform (including the onboard component drivers) and the CMSIS vendor-independent hardware abstraction layer for the Cortex-M processor series. Middlewares: contains libraries for the Contiki OS and the interface for the BLE expansion software. Projects: contains the border router and sensor node sample application that implements application-level functions to bridge a 6LoWPAN network with a BLE using the NUCLEO-F401RE development board. DocID029644 Rev 1 7/23

FP-NET-6LPBLE1 software expansion for STM32Cube 2.4 APIs UM2102 Utilities: contains the Android -ready (.apk file) application allowing a node in the 6LoWPAN network to connect to the BLE and share its sensor and actuator resources. Detailed function and parameter descriptions regarding the user-apis are available in a compiled HTML file in the software package Documentation folder. 2.5 Android application A local user can access the nodes using Bluetooth connectivity on smartphones with an Android application to pair the phone to border router and access the node functionality. The Android application is available in Utilities folder (\Utilities\android_apk\ Smart_Sensor_V1.1.apk) The application has been validated for the following smartphones: Samsung galaxy S5 (Android V5.0) Nexus 5 Nexus 7 (Android V5.1) Nexus 9 Nexus 6P Redmi Note3 (Android V5.1.1) Gionee s plus 2.6 Border router sample application A sample border router application for the X-NUCLEO-IDS01A4 or X-NUCLEO-IDS01A5 and X-NUCLEO-IDB05A1 expansion boards on top of a NUCLEO-F401RE board is located in the Projects directory. Ready-to-build projects are available for multiple IDEs. This application lets you create a bridge between a 6LoWPAN network and the BLE network using Contiki OS and the BLE module. The application supports the UDP protocol and uses NAT64 technology to translate IPv6 to IPv4 packets. The BLE bridge seamlessly forward every packet from the node in the mesh network to your smartphone. The following figure outlines a system connecting an application on the smartphone to nodes in a 6LoWPAN network via a 6LoWPAN to BLE bridge. 8/23 DocID029644 Rev 1

FP-NET-6LPBLE1 software expansion for STM32Cube Figure 3: System connecting smartphone app to nodes via border router 2.6.1 Connecting the border router to your smartphone The application has been validated on the following smartphones: Samsung galaxy S5 Nexus 5 Nexus 7 Nexus 9 Nexus 6P Redmi Note3 Gionee s plus DocID029644 Rev 1 9/23

FP-NET-6LPBLE1 software expansion for UM2102 STM32Cube 1 If you do not have one, download and install an appropriate file explorer app from Google Play store. Figure 4: Installing an Android file explorer app 2 Copy Smart_Sensor.apk to your Android smartphone memory. 3 Use the File Explorer app to locate Smart_Sensor.apk and install it on your phone. 4 Launch the application. 2.7 Sensor node sample application The sensor node sample application is a pre-compiled and ready-to-use binary file, which implements a bridge between a 6LoWPAN network and a BLE network so you can deploy and test your end-to-end application involving wireless sensor nodes. The sensor node system (X-NUCLEO-IDS01A4 + X-NUCLEO-IDS01A1 + NUCLEO- F401RE) is connected to the border router system (X-NUCLEO-IDB05A1 + X-NUCLEO- IDS01A4 + NUCLEO-F401RE) via 6LoWPAN network. The node transmits data at an interval of 2 (default) to 180 seconds, which is configurable from the smartphone device; the border router receives node data passes it to the smartphone via BLE interface. Users have access to: node IPv6 addresses sensor values the mesh network tree 2.7.1 Connecting the sensor node to the smartphone 1 Power the STM32 Nucleo board using a Mini-B USB cable connected to the PC. 10/23 DocID029644 Rev 1

FP-NET-6LPBLE1 software expansion for STM32Cube 2 Program the firmware onto the STM32 Nucleo board by copying (drag and drop) the binary file created in the USB mass storage when you plug the STM32 Nucleo board to a PC. The binaries can be found in: Border router: Applications/STM32_Nucleo_BorderRouter/Binary/STM32F401RE-Nucleo/ STM32F401RE-Nucleo_BorderRouter.bin Sensor node: Applications/STM32_Nucleo_SensorNode/Binary/STM32F401RE-Nucleo/ STM32F401RE-Nucleo_SensorNode.bin 3 Reset the MCU via the black button on the STM32 Nucleo board. Figure 5: Connecting nodes to PC via Mini-USB DocID029644 Rev 1 11/23

System setup guide UM2102 3 System setup guide 3.1 Hardware description This section describes the hardware components required to develop a sensor-based application with sensor nodes and border routers. 3.1.1 STM32 Nucleo platform The STM32 Nucleo boards provide an affordable and flexible way for users to try out new ideas and build prototypes with any STM32 microcontroller lines. The Arduino connectivity support and ST morpho headers make it easy to expand the functionality of the STM32 Nucleo open development platform with a wide range of specialized expansion boards to choose from. The STM32 Nucleo board does not require any separate probe as it integrates the ST-LINK/V2-1 debugger/programmer. The STM32 Nucleo board comes with the comprehensive STM32 software HAL library together with various packaged software examples. Information regarding the STM32 Nucleo board is available on www.st.com at http://www.st.com/stm32nucleo Figure 6: STM32 Nucleo board 3.1.2 X-NUCLEO-IDB05A1 expansion board The X-NUCLEO-IDB05A1 is a Bluetooth low energy evaluation board based on the SPBTLE-RF BlueNRG-MS RF module to allow expansion of the STM32 Nucleo boards. The SPBTLE-RF module is FCC (FCC ID: S9NSPBTLERF) and IC certified (IC: 8976C- 12/23 DocID029644 Rev 1

System setup guide SPBTLERF). The BlueNRG-MS is a very low power Bluetooth low energy (BLE) singlemode network processor, compliant with Bluetooth specification v4.2. X-NUCLEO-IDB05A1 is compatible with the ST morpho and Arduino UNO R3 connector layout. This expansion board can be plugged into the Arduino UNO R3 connectors of any STM32 Nucleo board. Figure 7: X-NUCLEO-IDB05A1 expansion board Information about the X-NUCLEO-IDB05A1 expansion board is available on www.st.com at http://www.st.com/x-nucleo 3.1.3 X-NUCLEO-IDS01A4 and X-NUCLEO-IDS01A5 expansion board The X-NUCLEO-IDS01A4 and X-NUCLEO-IDS01A5 expansion boards provide a platform to test the features and capabilities of the SPSGRF modules, based on the SPIRIT1 low data rate, low power, sub-1 GHz transceiver device. These expansion boards can be plugged into the Arduino UNO R3 connectors of any STM32 Nucleo board. The user can mount ST morpho connectors if required. Other expansion boards can easily be stacked to allow evaluation of different devices using sub-1 GHz communication. The boards are equipped with the following features: Onboard SPSGRF module based on the SPIRIT1 sub-1 GHz transceiver device SPI EEPROM for saving parameters LED for user interface Jumper at 3V3 for checking the current consumption of the expansion board DocID029644 Rev 1 13/23

System setup guide Figure 8: X-NUCLEO-IDS01A4 / X-NUCLEO-IDS01A5 expansion board UM2102 3.1.4 X-NUCLEO-IKS01A1 expansion board The X-NUCLEO-IKS01A1 is a sensor expansion board for the STM32 Nucleo system. It is also compatible with Arduino UNO R3 connector layout and is designed around STMicroelectronics humidity (HTS221), pressure (LPS25HB) and motion (LIS3MDL and LSM6DS0) sensing devices. The X-NUCLEO-IKS01A1 interfaces with the STM32 MCU via the I²C pin, and the user can change the default I²C port and the device IRQ by changing a resistor on the evaluation board. You can attach the LSM6DS3 DIL24 expansion component and use it instead of the one of the LSM6DS0 sensors. Figure 9: X-NUCLEO-IKS01A1 expansion board 14/23 DocID029644 Rev 1

System setup guide Information about the X-NUCLEO-IKS01A1 expansion board is available on www.st.com at http://www.st.com/x-nucleo. 3.2 Software description To set up a suitable development environment for creating applications for the STM32 Nucleo board plus RF expansion board, the following software components are required: 1. FP-NET-6LPBLE1 software available on www.st.com. 2. Development tool-chain and Compiler: The STM32Cube expansion software supports the following environments: IAR Embedded Workbench for ARM (EWARM) toolchain + ST-LINK RealView Microcontroller Development Kit (MDK-ARM) toolchain + ST-LINK System Workbench for STM32 (SW4STM32) + ST-LINK 3.3 Hardware and software setup This section describes the hardware and software setup procedures. It also describes the system setup needed for the above. 3.3.1 Hardware setup 3.3.1.1 Border router system Hardware requirements: 1. One STM32 Nucleo development platform (order code: NUCLEO-F401RE) 2. One Bluetooth low energy expansion board (order code: X-NUCLEO-IDB05A1) 3. One Sub-1 GHz RF expansion board order code: X-NUCLEO-IDS01A4 or X- NUCLEO-IDS01A5) 4. USB type A to Mini-B USB cable to connect the STM32 Nucleo board to the PC Figure 10: STM32 Nucleo plus X-NUCLEO-IDS01A4 plus X-NUCLEO-IDB05A1 DocID029644 Rev 1 15/23

System setup guide UM2102 The STM32 Nucleo board integrates the ST-LINK/V2-1 debugger/programmer. You can download the ST-LINK/V2-1 USB driver by searching the STSW-LINK009 software on www.st.com 1. Connect the X-NUCLEO-IDB05A1 BLE expansion board and X-NUCLEO-IDS01A4 or X-NUCLEO-IDS01A5 SPIRIT1 expansion board to the NUCLEO-F401RE development board through the Arduino UNO R3 extension connector, as shown in the figure above. 2. The path to the border router application binary file is: \Applications\STM32_Nucleo_BorderRouter\Binary\STM32F401RE-Nucleo\ STM32F401RE-Nucleo_BorderRouter.bin 3. Reset the MCU via the black button on the STM32 Nucleo board. 3.3.1.2 Sensor node system Hardware requirements: 1. One STM32 Nucleo development platform (order code: NUCLEO-F401RE) 2. One sub-1 GHz RF expansion board (order code: X-NUCLEO-IDS01A4 or X- NUCLEO-IDS01A5) 3. One sensor expansion board (order code: X-NUCLEO-IKS01A1) 4. USB type A to Mini-B USB cable to connect the STM32 Nucleo board to the PC Figure 11: STM32 Nucleo plus X-NUCLEO-IKS01A1 plus X-NUCLEO-IDS01A4 The STM32 Nucleo board integrates the ST-LINK/V2-1 debugger/programmer. You can download the ST-LINK/V2-1 USB driver by searching the STSW-LINK009 software on www.st.com. 1. Connect the X-NUCLEO-IKS01A1 sensor expansion board and X-NUCLEO-IDS01A4 or X-NUCLEO-IDS01A5 SPIRIT1 expansion board to the NUCLEO-F401RE development board through the Arduino UNO R3 extension connector, as shown in the figure above 16/23 DocID029644 Rev 1

System setup guide 2. The path to the sensor node application binary file is: \Applications\STM32_Nucleo_SensorNode\Binary\STM32F401RE-Nucleo\ STM32F401RE-Nucleo_SensorNode.bin 3. Reset the MCU via the black button on the STM32 Nucleo board. 3.3.2 Software setup 1 Use any Android file explore app to find and run the Smart Sensor.apk installation file. The Smart Sensor app becomes available on your device. Figure 12: Icon of Smart Sensor Android application DocID029644 Rev 1 17/23

System setup guide UM2102 2 Launch the app to open the start screen. Figure 13: Smart Sensor start screen 3 Click Select BLE Module on the overflow menu. Figure 14: Smart Sensor overflow menu 18/23 DocID029644 Rev 1

System setup guide 4 Click on Scan for devices in the next screen. Figure 15: Smart Sensor device scan 5 Select ST_SMARTLIGHT to establish a connection between all nodes and smartphone. Figure 16: Smart Sensor ST_SMARTLIGHT selection DocID029644 Rev 1 19/23

System setup guide UM2102 6 The first time, it will prompt you to perform pairing, click on the Pair button. When the Bluetooth module on the Smart Sensor board connects with the smartphone Bluetooth interface, LED LD2 on the STM32 Nucleo board will toggle. On successful connection, Smart Sensor opens a new screen and the Connected popup message appears. Figure 17: Connection between device and smartphone established 7 Select 6LoWPAN nodes to obtain a list of the nodes connected to the Smart Sensor. Figure 18: Smart Sensor discovered sensor nodes 20/23 DocID029644 Rev 1

System setup guide 8 Select the IP address of the nodes to see their sensor values. Figure 19: Node sensor data 9 Select 6LoWPAN Mesh option to show the mesh network tree of the connected nodes. Figure 20: Mesh network tree DocID029644 Rev 1 21/23

Revision history UM2102 4 Revision history Table 2: Document revision history Date Version Changes 01-Sep-2016 1 Initial release. 22/23 DocID029644 Rev 1

IMPORTANT NOTICE PLEASE READ CAREFULLY STMicroelectronics NV and its subsidiaries ( ST ) reserve the right to make changes, corrections, enhancements, modifications, and improvements to ST products and/or to this document at any time without notice. Purchasers should obtain the latest relevant information on ST products before placing orders. ST products are sold pursuant to ST s terms and conditions of sale in place at the time of order acknowledgement. Purchasers are solely responsible for the choice, selection, and use of ST products and ST assumes no liability for application assistance or the design of Purchasers products. No license, express or implied, to any intellectual property right is granted by ST herein. Resale of ST products with provisions different from the information set forth herein shall void any warranty granted by ST for such product. ST and the ST logo are trademarks of ST. All other product or service names are the property of their respective owners. Information in this document supersedes and replaces information previously supplied in any prior versions of this document. 2016 STMicroelectronics All rights reserved DocID029644 Rev 1 23/23