ST FP-SNS-6LPNODE1, STM32Cube Quick Start Manual

Page 1
Version 1.4 (April.10, 2019)
Quick Start Guide
STM32Cube Function Pack for IoT sensor node connection to 6LoWPAN networks through sub-1GHz RF communication (FP-SNS-6LPNODE1)
Page 2
Quick Start Guide Contents
2
Hardware and Software overview
Setup & Demo Examples
Documents & Related Resources
STM32 Open Development Environment: Overview
Page 3
Sub-1 GHz RF expansion boards
Hardware Overview (1/5)
3
S2-LP
X-NUCLEO-S2868A1 Hardware description
The X-NUCLEO-S2868A1 is an evaluation board
based on the S2-LP radio and operates in the 868 MHz ISM frequency band
The expansion board is compatible with ST morpho
and Arduino UNO R3 connectors. The X-NUCLEO­S2868A1 interfaces with the STM32 Nucleo microcontroller via SPI connections and GPIO pins.
Ultra-low power consumption: 7 mA RX and 10 mA
TX at +10 dBm
Arduino UNO R3 connector
Key products on board
S2-LP
S2-LP narrow band ultra-low power sub-1 GHz
transceiver tuned for 860 - 940 MHz frequency
band
Latest info available at www.st.com
X-NUCLEO-S2868A1
Page 4
Sub-1 GHz RF expansion boards
Hardware Overview (2/5)
4
SPSGRF-868 or SPSGRF-915 (*)
X-NUCLEO-IDS01A4/5 Hardware description
The X-NUCLEO-IDS01A4, X-NUCLEO-IDS01A5
are evaluation boards based on the SPIRIT1 RF modules SPSGRF-868 and SPSGRF-915
The SPIRIT1 module communicates with the
STM32 Nucleo developer board host microcontroller though an SPI link available on the Arduino UNO R3 connector.
EEPROM
Arduino UNO R3 connector
Key products on board
SPSGRF
Sub-GHz (868 or 915 MHz) low power programmable RF transceiver modules
SPIRIT1
Low data-rate, low-power sub-1GHz transceiver) module
M95640-R
64 Kbit SPI bus EEPROM with high-speed clock
Latest info available at www.st.com
X-NUCLEO-IDS01A4
X-NUCLEO-IDS01A5
(*) Identification of the operating frequency of the X-NUCLEO­IDS01Ax (x=4 or 5) is performed through two resistors (R14 and R15).
Page 5
LPS25HB
HTS221
Key Product on board
LSM6DS0: MEMS 3D accelerometer (±2/±4/±8 g) + 3D gyroscope
(±245/±500/±2000 dps)
LIS3MDL: MEMS 3D magnetometer (±4/ ±8/ ±12/ 16 gauss)
LPS25HB: MEMS pressure sensor, 260-1260 hPa absolute digital
output barometer
HTS221: capacitive digital relative humidity and temperature
DIL 24-pin: socket available for additional MEMS adapters and
other sensors
DIL 24-pin
Motion MEMS and environmental sensors expansion board
Hardware Overview (3/5)
5
X-NUCLEO-IKS01A1 Hardware Description
The X-NUCLEO-IKS01A1 is a motion MEMS and environmental
sensor evaluation board system.
It is compatible with the Arduino UNO R3 connector layout, and is
designed around ST’s latest sensors.
Arduino UNO R3 connector
ST morpho connector**
** Connector for the STM32 Nucleo Board
LSM6DS0
LIS3MDL
Latest info available at www.st.com
X-NUCLEO-IKS01A1
Key Features
The X-NUCLEO-IKS01A1 is a motion MEMS and environmental
sensor evaluation board system.
All sensors are connected on a single I²C bus
Sensor I²C address selection
Each sensor has separate power supply lines allowing power
consumption measurement
Sensor disconnection (disconnect the I²C bus as well as the
power supply)
Interrupt and DRDY signals from sensors
DIL24 socket (Compatible to STEVAL-MKI***V* MEMS adapter
boards, i.e. STEVAL-MKI160V1)
OPTIONAL
Page 6
Key products on board
LSM6DSL
MEMS 3D accelerometer (±2/±4/±8/±16 g) + 3D gyroscope (±125/±245/±500/±1000/±2000 dps)
LSM303AGR
MEMS 3D magnetometer (±50 gauss) + MEMS 3D accelerometer (±2/±4/±8/±16 g)
LPS22HB
MEMS pressure sensor, 260-1260 hPa absolute digital
output barometer
HTS221
Capacitive digital relative humidity and temperature
DIL 24-pin
Socket available for additional MEMS adapters and other sensors (UV index)
DIL 24-pin
Motion MEMS and environmental sensor expansion board
Hardware overview (4/5)
6
X-NUCLEO-IKS01A2 Hardware description
The X-NUCLEO-IKS01A2 is a motion MEMS and
environmental sensor evaluation board system.
It is compatible with the Arduino UNO R3 connector layout,
and is designed around ST’s latest sensors.
Arduino UNO R3 connector
ST morpho connector**
** Connector for the STM32 Nucleo Board
HTS221
LPS22HB
LSM6DSL LSM303AGR
Latest info available at www.st.com
X-NUCLEO-IKS01A2
OPTIONAL
Page 7
VL6180X
Proximity, gesture and ambient light sensor expansion board
Hardware Overview (5/5)
7
X-NUCLEO-6180XA1 Hardware Description
The X-NUCLEO-6180XA1 is proximity and
ambient light sensor evaluation and development board system, designed around VL6180X, a device based on ST’s FlightSenseTM, Time-of- Flight technology.
The VL6180X communicates with STM32 Nucleo
developer board host microcontroller through an I2C link available on the Arduino UNO R3 connector.
ALS or Range VL6180X satellites
Key Products on board
VL6180X
Proximity, gesture and Ambient Light sensor (ALS) Selection between Ranging and ALS measurement Possibility to add 3x VL6180X external satellite
boards (order code: VL6180X-SATEL – 2 satellites)
Arduino UNO R3 connectors
Latest info available at www.st.com
X-NUCLEO-6180XA1
OPTIONAL
Page 8
FP-SNS-6LPNODE1
Software Overview
8
Overall Software Architecture
Latest info available at www.st.com
FP-SNS-6LPNODE1
FP-SNS-6LPNODE1 Software Description
FP-SNS-6LPNODE1 is an STM32Cube Function Pack. Thanks to this package you can connect your IoT node to a 6LoWPAN
Wireless Sensors Network and expose the sensors and actuator
resources using standard application layer protocols. This software package provides a sample application that allows RESTful access to the sensors and actuators resources on the IoT node by the means of the OMA Lightweight M2M (LWM2M) standard protocol, using the IPSO Smart Objects Guidelines for data representation.
Key features
Complete firmware to connect an IoT node with sensors and
actuators to a 6LoWPAN network, using sub-1GHz RF communication technology
Middleware library with Contiki OS and Contiki 6LoWPAN
protocol stack 3.0
Support for mesh networking technology by the means of the
standard RPL protocol
IPSO Smart Objects data representation of the node resources
(sensors and actuators)
Access to the node from a remote server by the means of the
OMA Lightweight M2M (LWM2M) standard
Example implementation available for X-NUCLEO-S2868A1 or X-
NUCLEO-IDS01A4 or X-NUCLEO-IDS01A5 RF boards, X­NUCLEO-IKS01A1 or X-NUCLEO-IKS01A2, and X-NUCLEO­6180X1 sensors boards, when connected to a NUCLEO-F401RE or NUCLEO-L152RE board
Easy portability across different MCU families, thanks to
STM32Cube
Free, user-friendly license terms
Page 9
Quick Start Guide Contents
9
FP-SNS-6LPNODE1: STM32Cube Function Pack for IoT sensor node connection to 6LoWPAN networks through sub-1GHz RF communication
Hardware and Software overview
Setup & Demo Examples
Documents & Related Resources
STM32 Open Development Environment: Overview
Page 10
Setup & Demo Examples
HW prerequisites (1/2)
1x STM32 Nucleo Sub-1GHz RF expansion board
(X-NUCLEO-S2868A1 or X-NUCLEO-IDS01A4 or X-
NUCLEO-IDS01A5)
1x Motion MEMS and environmental sensor expansion
board (optional) (X-NUCLEO-IKS01A1 or X-NUCLEO-IKS01A2)
1x STM32 Nucleo proximity, gesture and ambient light
expansion board (optional) (*) (X-NUCLEO-6180XA1)
1x STM32 Nucleo development board
(NUCLEO-F401RE or NUCLEO-L152RE)
1x PC with Windows 7, 8 or 10
1x USB type A to Mini-B USB cable
The FP-SNS-6LPNODE1 package contains some
sample applications for demonstration and evaluation purpose for three different wireless node configurations, as shown in the following pictures
10
Mini USB
NUCLEO-F401RE
or NUCLEO-L152RE
X-NUCLEO-
IKS01A1
(optional)
Node Configuration “ipso-nosensors
NUCLEO-F401RE or NUCLEO-L152RE
+ X-NUCLEO-IDS01A4
(or X-NUCLEO-IDS01A5)
Node Configuration “ipso-mems
NUCLEO-F401RE or NUCLEO-L152RE
+ X-NUCLEO-IDS01A4
(or X-NUCLEO-IDS01A5)
+ X-NUCLEO-IKS01A1
Node Configuration “ipso-flightsense
NUCLEO-F401RE (*)
+ X-NUCLEO-IDS01A4
(or X-NUCLEO-IDS01A5)
+ X-NUCLEO-6180XA1
X-NUCLEO-6180XA1
(optional)
X-NUCLEO-S2868A1
X-NUCLEO-
IKS01A2
(optional)
(*) configuration only available with NUCLEO-F401RE
X-NUCLEO-IDS01A4 X-NUCLEO-IDS01A5
Page 11
Setup & Demo Examples
HW prerequisites (2/2)
Important Note
If using X-NUCLEO-IKS01A1 and X-NUCLEO-S2868A1, to avoid a resource
usage conflict, the 0 Ω resistor at position SB21 on the X-NUCLEO-IKS01A1 must be
removed
11
Page 12
Setup & Demo Examples
SW prerequisites
12
STSW-LINK009:
ST-LINK/V2-1 USB driver
STSW-LINK007:
ST-LINK/V2-1 firmware upgrade
FP-SNS-6LPNODE1
Copy the .zip file content into a folder on your PC
The package will contain source code example (Keil, IAR, System Workbench for STM32) based
only on NUCLEO-F401RE
Page 13
FP-SNS-6LPNODE1
Start coding in few minutes
13
Download & unpack
FP-SNS-6LPNODE1
Go to www.st.com/stm32ode-fp
1
Select FP-SNS-6LPNODE1
2
3
4
5
Open project example, e.g. “ipso-mems
6
Download and install
STM32 Nucleo
ST-LINK/V2-1 USB driver
Modify and build the application
HTML Docs BSP, HAL and Drivers
6LoWPAN stack
Application examples
FP-SNS-6LPNODE1 package structure
Page 14
FP-SNS-6LPNODE1
System Overview – End-to-End Deployment Example
14
6LoWPAN-WiFi Bridge
Hardware: B-L475E-IOT01A + X-
NUCLEO-S2868A1 (sub-1 GHz)
Software: FP-NET-6LPWIFI1 package,
WiFi-Bridge” sample application
Wireless Sensors Node (example)
Hardware: NUCLEO-F401RE or
NUCLEO-L152RE + X-NUCLEO-S2868A1 (sub-1 GHz) + X-NUCLEO-IKS01A2 (Environmental & Motion sensors)
Software: FP-SNS-6LPNODE1 package,
“ipso-memsapplication
Application
Server
(e.g. Leshan LWM2M)
IPv6/6LoWPAN
Network
REST Access to the
Wireless Nodes Resources
Wi-Fi
Router
internet
Wireless Sensors Node (example)
Hardware: NUCLEO-F410RE + X-NUCLEO-
S2868A1 (sub-1 GHz) + X-NUCLEO-6180XA1 (Time of flight sensor)
Software: FP-SNS-6LPNODE1 package,
“ipso-flightsense” application
Page 15
FP-SNS-6LPNODE1
6LoWPAN-to-Wi-Fi Bridge Setup
15
USB type A to Mini-B USB cable
6LoWPAN to Wi-Fi bridge Setup
Go to www.st.com/stm32ode-fp Select the FP-NET-6LPWIFI1 package Follow the installation instructions to configure and connect the bridge to a Wi-Fi AP/Router
6LoWPAN-WiFi Bridge
FP-NET-6LPWIFI1 Package
1
Wi-Fi AP/Router
Successful connection to the Wi-Fi AP/Router
Page 16
FP-SNS-6LPNODE1
Wireless Sensors Node Setup (1/4)
16
USB type A to Mini-B USB cable
Go to www.st.com/stm32ode-fp Select the FP-SNS-6LPNODE1 package, download and extract the zip file
Select one of the three supported wireless nodes hardware configuration, assemble the STM32 Nucleo
and X-NUCLEO expansion boards, connect the
STM32 Nucleo board to the host PC and program the binary firmware that is provided for the chosen configuration
Example: Configuration for “ipso-mems” sample application
NUCLEO-F401RE development board
+ X-NUCLEO-S2868A1 (Sub-1GHz RF communication based on S2-LP)
+ X-NUCLEO-IKS01A1 or X-NUCLEO-IKS01A2 (temperature, humidity, motion sensors)
2
6
Wireless Sensors Node
Open a serial line monitor utility, select the serial port name to which the board is connected and configure it with the following parameters: Baud Rate = 115200, Parity = None, Data Bit = 8, Stop bits = 1
Reset the MCU. The application will run: it demonstrates how a node can interact with a remote server by
the means of the OMA Lightweight M2M (LWM2M) standard protocol.
In this example application, the node will attempt, for evaluation purpose, to connect to a public online OMA Lightweight M2M server called “Leshan” (located at: http://leshan.eclipseprojects.io)
Note: The simplest way to program the sensor node is to “drag and drop” the selected binary file on the device with removable storage associated to the corresponding STM32 Nucleo board (e.g. “NODE_F401RE”)
Page 17
FP-SNS-6LPNODE1
Wireless Sensors Node Setup (2/4)
17
Wait for the node (acting in this example as a LWM2M client) to complete the registration with the LWM2M server.
If the client registration is successful, this will be notified by the node. Take note of the client ID (see the red box)
7
Open a web browser and go to http://leshan.eclipseprojects.iothen find the endpoint whose client ID matches the one in the previous step
8
Note: in case the node registration is not successful, try again by doing a reset of the STM32 Nucleo board
Page 18
FP-SNS-6LPNODE1
Wireless Sensors Node Setup (3/4)
18
9
Click on the corresponding Client Endpoint to visualize the client homepage on the Leshan server: the available resources hosted on the wireless sensor node are listed on the web page
Page 19
FP-SNS-6LPNODE1
Wireless Sensors Node Setup (4/4)
19
10
Click either on “Observe” or “Read” to access one or more resources on the node (for example the temperature sensor data). “Observe” is a feature that enables to get updates of sensor data when they
change, while “Read” can be used to obtain an instantaneous reading of the sensor data
Current Temperature sensor value read from the 6LoWPAN node
Page 20
FP-NET-6LPNODE1
Additional LWM2M Demo Setup Tips (1/2)
It is recommended - especially when using the public Leshan LWM2M server – to avoid
using a host PC that is inside a network behind a proxy (which typically happens in corporate networks) this proxy may create issues, in particular with the visualization of the notifications
It may happen that the web page does not show notifications: most of the time it is
because the host PC went in sleep mode try to refresh the web page, there is no need to click on the “Observe” button again
When you click on the “Observe” button, there is no need to also click on the “Read”
one. To cancel the observation you just need to click on the black square button near
the “Observe” button.
Please allow several seconds when you boot a node to have it registered to the public
Leshan server
20
Page 21
FP-NET-6LPNODE1
Additional LWM2M Demo Setup Tips (2/2)
The following table contains a list of actually observable resources
Note that observing other resources not listed here might have side effects due to the current LWM2M server
implementation
Note that in case of observation some thresholds and timers apply. For example, don’t expect the presence sensor to react in less than one second, or a new temperature sensor reading to be sent every few seconds
21
Object
Description
Object IDResource Description Resource IDs Default
Timers (1)
Default
Threshold (2)
Magnetometer 3314 3 axis (X,Y,Z) 5702, 5703, 5704 10 sec -
Accelerometer 3313 3 axis (X,Y,Z) 5702, 5703, 5704 1 sec -
Temperature 3303 min, max, actual value 5601, 5602, 5700 60 sec 0.5 °C
Humidity 3304 min, max, actual value 5601, 5602, 5700 60 sec 1 % rH
Barometer 3315 min, max, actual value 5601, 5602, 5700 60 sec 1 hPa
Digital Input
(button)
3200 Digital input state and
counter
5500, 5501 - -
Presence Sensor
(3)
3302 Sensor state 5500 1 sec -
(1) Time elapsed to get a new value of the sensor, this affects notification periods (when using “Observe”) (2) If, compared to the previous reading, the new sensor value is changed less than this threshold, then notifications
are not sent
(3) The Presence sensor range is configured by default to 2 cm
Page 22
Documents & Related Resources
FP-SNS-6LPNODE1:
DB3010: STM32Cube Function Pack for IoT sensor node connection to 6LoWPAN networks through sub-1GHz RF communication
Data brief
UM2100: Getting started with FP-SNS-6LPNODE1 software for IoT sensor node connection to 6LoWPAN networks using sub-
1GHz RF User Manual
Software setup file
X-NUCLEO-S2868A1:
Gerber files, BOM, and schematics
DB3602: Sub-1 GHz 868 MHz RF expansion board based on S2-LP radio for STM32 Nucleo – Data brief
UM2405: Getting started with the X-NUCLEO-S2868A1 Sub-1 GHz 868 MHz RF expansion board based on S2-LP radio for STM32
Nucleo – User Manual
X-NUCLEO-IDS01A4:
Gerber files, BOM, and schematics
DB2552: Sub-1 GHz RF expansion board based on the SPSGRF-868 module for STM32 Nucleo – Data brief
UM1872: Getting started with the Sub-1 GHz expansion board based on the SPSGRF-868 and SPSGRF-915 modules for STM32 –
User Manual
X-NUCLEO-IDS01A5:
Gerber files, BOM, and schematics
DB2553: Sub-1 GHz RF expansion board based on the SPSGRF-915 module for STM32 Nucleo – Data brief
UM1872: Getting started with the Sub-1GHz expansion board based on the SPSGRF-868 and SPSGRF-915 modules for STM32 –
User Manual
22
All documents are available in the DESIGN tab of the related products webpage
Consult www.st.com for the complete list
Page 23
Documents & Related Resources
X-NUCLEO-IKS01A1
Gerber files, BOM, Schematic
DS10619: Motion MEMS and environmental sensor expansion board for STM32 Nucleo data brief
UM1820: Getting started with motion MEMS and environmental sensor expansion board for STM32 Nucleo user manual
X-NUCLEO-IKS01A2
Gerber files, BOM, Schematic
DB3009: Motion MEMS and environmental sensor expansion board for STM32 Nucleo data brief
UM2121: Getting started with the X-NUCLEO-IKS01A2 motion MEMS and environmental sensor expansion board for STM32
Nucleo – user manual
X-NUCLEO-6180XA1:
Gerber files, BOM, Schematic
DB2473: Proximity and ambient light sensor expansion board based on VL6180X for STM32 Nucleo – Data brief
AN4663: VL6180X expansion boards - Description of version 1 and version 2 – Application note
UM1852: Proximity and ambient light sensor expansion board based on VL6180X for STM32 Nucleo – User manual
23
All documents are available in the DESIGN tab of the related products webpage
Consult www.st.com for the complete list
Page 24
Quick Start Guide Contents
24
FP-SNS-6LPNODE1: STM32Cube Function Pack for IoT sensor node connection to 6LoWPAN networks through sub-1GHz RF communication
Hardware and Software overview
Setup & Demo Examples
Documents & Related Resources
STM32 Open Development Environment: Overview
Page 25
STM32 Open Development Environment
Fast, affordable Prototyping and Development
25
The STM32 Open Development Environment (ODE) consists of a set of stackable boards
and a modular open SW environment designed around the STM32 microcontroller family.
www.st.com/stm32ode
Function Packs
(FP)
STM32Cube
development software
STM32 Nucleo
expansion boards
(X-NUCLEO)
STM32 Nucleo
development boards
STM32Cube
expansion software
(X-CUBE)
Page 26
Power supply
through USB or external source
Integrated debugging
and programming
ST -LINK probe
STM32 microcontroller
Complete product range
from ultra-low power to high-performance
ST morpho extension header
STM32 Nucleo
Development Boards (NUCLEO)
A comprehensive range of affordable development boards for all the STM32
microcontroller series, with unlimited unified expansion capabilities and integrated debugger/programmer functionality.
26
www.st.com/stm32nucleo
Arduino™ UNO R3 extension headers
Page 27
Move/ActuatePower InteractConnect
Sense
STM32 Nucleo
Expansion Boards (X-NUCLEO)
Boards with additional functionality that can be plugged directly on top of the STM32
Nucleo development board directly or stacked on another expansion board.
27
DIL24 support for
new devices
Motion MEMS sensors
Environmental sensors
www.st.com/x-nucleo
Example of STM32 expansion board (X-NUCLEO-IKS01A1)
Page 28
STM32 Open Development Environment
Software components
STM32Cube software (CUBE) - A set
of free tools and embedded software bricks to enable fast and easy development on the STM32, including a Hardware Abstraction Layer and middleware bricks.
STM32Cube expansion software
(X-CUBE) - Expansion software provided
free for use with the STM32 Nucleo expansion board and fully compatible with the STM32Cube software framework. It provides abstracted access to expansion board functionality through high-level APIs and sample applications.
28
www.st.com/x-cube
Compatibility with multiple Development Environments - The STM32 Open Development
Environment is compatible with a number of IDEs including IAR EWARM, Keil MDK, and GCC-based environments. Users can choose from three IDEs from leading vendors, which are free of charge and deployed in close cooperation with ST. These include Eclipse-based IDEs such as Ac6 System Workbench for STM32 and the MDK-ARM environment.
Tools&IDEs
Applicationexamples
(e.g.basedonST OpenSoftwareX)
Hardware
SampleapplicationsApplications
IAREWARM,KeilMDK-ARM,GCC-basedIDEs
(e.g.Ac6SystemWorkbenchfor STM32)
STM32CubeHardwareAbstractionLayer(HAL)
STM32Cube middleware
Upperlevel middleware
(e.g.ST OpenSoftwareX)
Middleware
Hardware Abstraction
STM32Cubeexpansionmiddleware
STM32 Nucleo expansion boards (X-NUCLEO)
STM32 Nucleo developer boards
OPEN LICENSE MODELS: STM32Cube software and sample applications are covered by a
mix of fully open source BSD license and ST licenses with very permissive terms.
www.st.com/stm32cube
Page 29
STM32 Open Development Environment
Building block approach
29
The building blocks Your need Our answer
Move /
Actuate
Connect
Power
Sense
Process
Inertial modules, magnetometer
Proximity, microphone
Pressure, temperature, humidity
Bluetooth LE, Sub-GHz radio
NFC, Wi-Fi, GNSS
Energy management & battery
General-purpose microcontrollers
Stepper motor driver
DC & BLDC motor driver
Audio amplifier
COLLECT
TRANSMIT
ACCESS
CREATE
POWER
PROCESS
Software
Secure microcontrollers
Touch controller
Operation Amplifier
Accelerometer, gyroscope
Translate
Industrial input / output
www.st.com/stm32ode
Loading...