B-L072Z-LRWAN1 Discovery kit
Follow this tutorial to program the B-L072Z-LRWAN1 LoRa®Discovery kit using the System Workbench for STM32 IDE.
Get the ST Micro Resources
- Log into your ST Micro account or create an account if you don’t already have one
- Download the ST Micro I-CUBE-LRWAN SDK
- Unzip the I-CUBE-LRWAN SDK file
en.i-cube_lrwan.zipyou just downloaded
System Workbench STM32 IDE
- Download & Install the System Workbench for STM32 IDE
I-CUBE-LRWAN SDK in the System Workbench IDE
- Open the System Workbench IDE
- Click
File> Open Projects from File System… - Click
Directory> Browse to theen.i-cube_lrwandirectory that was created when you unzipped the en.i-cube_lrwan.zip file - Continue browsing to
/Projects/Multi/Applications/LoRa/End_Node/SW4STM32/B-L072Z-LRWAN1/ - Select the
mlm32l07x01directory > ClickOK - Check the box next to the
mlm32l07x01directory - Click
Finish
Initial Build of the mlm32l07x01 Project
At this point you’ve opened the mlm32l07x01 project and now you must build all the SDK libraries.
- In the Project Explorer you should see the
mlm32l07x01directory - Click the
ProjectMenu >Build Allor Press CTRL-B to build - When the build completes you should see success messages such as this
15:13:22 Build Finished (took 22s.424ms)
Configure Global Environment Settings
If you are in the USA you must change the LoRaWAN frequency to 915MHZ in the project’s Preprocessor setting within the IDE
- In the Project Explorer window find the
mlm32l07x01project - Right Click the
mlm32l07x01directory > ClickProperties - Expand
C/C++ Buildtree > ClickSettings - Click
Tools Settingstab > Expand theMCU GCC Compilertree - Click
Preprocessordirectory > Double Click theREGION_EU868value in the Defined Symbols section - Replace the REGION_EU868 value with
REGION_US915> ClickOK> ClickOKagain - Recompile with new settings > Click the
ProjectMenu >Build Allor Press CTRL-B to build
After the project compiles successfully you’re ready to being programming the B-L072Z-LRWAN1 device to join a LoRaWAN network such as Senet
Provision B-L072Z-LRWAN1 Discovery Kit on Senet
Before you begin programming the device to join the Senet LoRaWan network you must add your device to your Senet Developer account profile.
Register for a Senet Developer Account
If you don’t have a Senet account go over to the Senet website & apply for a developer account. When your Senet Developer account is approved you must log into the Developer Portal and register your new device using the Over The Air OTAA activation using the Senet Device Registration instructions.
When registering a new device in the Senet portal interface do the following.
- Generate a
DevEUIby clicking theSenet’s EUI Registrylink under the DevEUI Field. This will assign the device a DevEUI in the platform. - Activate Type:
OTAA - Device Type:
Nucleo + ST SX1276 Shield
Capture Required LoRa Device Keys
After adding your new device be sure to capture the MSB Hex Formated Numbers which resembles this example {0x00,0x22,0x09,0x00,0x00,0x01,0x03,0x04}
Get the values for the following keys:
-
Device EUI - You’ll have to convert the
DevEUIvalue from the Senet portal to theMSB Hexformatted number mentioned above. For example if you have the number12345678theMSB Hexvalue is:{ 0x12, 0x34, 0x56, 0x78 }. Break the values into pairs then prefix the number pairs with0xand use a comma to separate the pairs. Braces{ }must surround the entireMSBformatted value - App EUI - You can click the
Copyicon next to the MSB number - AppKey - You can click the
Copyicon next to the MSB number
You will program the device with these values.
Configure the Devices for OTAA Activation
Here you’re going to change the values to some variables in the source code to match the values assigned to your device in the Senet platform.
In the System Workbench IDE:
- Expand the
mlm32l07x01project in the Project Explorer - Expand the
Includesdirectory - Find the Project’s Include files which is normally the last directory in this list. The file path is similar to this
< filepath to your project directory>/Projects/Multi/Applications/LoRa/End_Node/incwhere the< filepath to your project directory>value is the location of your project on disk. - Expand the
incdirectory and open these files in the IDE:hw_conf.hCommissioning.h
Open main.c file
- Expand the
Projects\End_Node\directory - Open the
main.cfile
Configure hw_conf.h File
The hw_conf.h file has some variables that should be set when using a sensor shield or when you need to debug your application.
- If you have a sensor shield attached the device then unComment the
#define SENSOR_ENABLEDstatement
Configure Commissioning.h File
At this point you’re ready to configure the Senet OTAA values for your device.
Open the Commissioning.h file. Find the following statements in the code & replace their values
- #define STATIC_DEVICE_EUI
1 - #define LORAWAN_DEVICE_EUI
Device EUI value from Senet Platform converted to MSB Hexidecimal format - #define LORAWAN_APPLICATION_EUI
App EUI value from Senet Platform - #define LORAWAN_APPLICATION_KEY
AppKey value from Senet Platform - Save your changes
Configure main.c File
The payload data that this device is sending will be formatted using the Cayenne LPP format
- Uncomment the
//#define CAYENNE_LPPstatement - #define LORAWAN_ADR_ON
1 - #define LORAWAN_CONFIRMED_MSG
ENABLE
Build the Binary
After configuring the device with the appropriate values from the Senet platform you can now build/compile the project which will produce an application binary file.
- Click the
ProjectMenu >Build Allor Press CTRL-B to build - You should see a Successful Build message in the IDE’s Console Tab
Program the Device
The binary file is ready to be uploaded to the device.
- Connect the device via USB to your computer
- Open a file explorer window and find the attached device. It should appear as an external device and have a name similar to
DIS_L072Z
Now you need to grab the binary and upload to the device.
- Browse to
< filepath to your project directory> /Projects/Multi/Applications/LoRa/End_Node/SW4STM32/B-L072Z-LRWAN1/mlm32l07x01/Debug/where the< filepath to your project directory>value is the location of your project on disk. - Find the
mlm32l07x01.binfile and Copy/Paste or Drag & Drop it into theDIS_L072Zdevice listed in your operating systems file explorer - The device led will flash green & red while the device is being programmed and will remain solid green or red when complete.
Congratulations! The device is now running the code that you compiled. Next we’ll check the Senet dashboard to see actual LoRaWAN traffic being collected from your device.
Confirm the Device is Transmitting to Senet
Log into the Senet Portal and click on your registered B-L072Z device. If the device is transmitting properly then you should see data in the Senet device portal in a few minutes. Use the Senet User Interface Documentation to learn about the Senet UI
If you’re not seeing any data after a few minutes then:
- Confirm you properly configured the code with the proper values from this tutorial
- Ensure the code compiled without any Errors
- Copy the
.binfile to the device again using steps inProgramming the Devicesection - Ensure that you are withing range of a Senet LoRaWAN Gateway or in an area within Senet Outdoor coverage check the coverage map here
Stream IoT packets from Senet to Microshare
Follow this Senet tutorial to set up a redirection of IoT packets to the Microshare platform.